Validate entity properties
        Performs validation on entity properties to return a result object.
        :param model:  object or dict
        :param context: object, dict or None
        :return: shiftschema.result.Result

def validate_entities(self, model, context=None):
        """
        Validate entity properties
        Performs validation on entity properties to return a result object.
        :param model:  object or dict
        :param context: object, dict or None
        :return: shiftschema.result.Result
        """
        result = Result()
        for property_name in self.entities:
            prop = self.entities[property_name]
            value = self.get(model, property_name)

            errors = prop.validate(
                value=value,
                model=model,
                context=context
            )
            if len(errors):
                result.add_entity_errors(
                    property_name=property_name,
                    direct_errors=errors
                )

            if value is None:
                continue

            schema_valid = prop.validate_with_schema(
                model=value,
                context=context
            )
            if schema_valid == False:
                result.add_entity_errors(
                    property_name,
                    schema_errors=schema_valid.errors
                )

        return result