private ODataDefinition GetODataDefinition(string entityName, CrudAction crudAction) { var entityConfiguration = odataMapperConfigurationSection?.Value?.FirstOrDefault(m => string.Equals(entityName, m.Name, StringComparison.OrdinalIgnoreCase)); if (entityConfiguration == null) { return(null); } ODataDefinition storedProcedureConfiguration = entityConfiguration.CommandName(crudAction); return(storedProcedureConfiguration); }
public string GetServiceUrl(object criteria, CrudAction crudAction) { var entityName = criteria?.GetType()?.FullName; if (string.IsNullOrWhiteSpace(entityName)) { return(string.Empty); } var odataCriteria = criteria as IODataCriteria; ODataDefinition definition = GetODataDefinition(entityName, crudAction); var connetionString = !string.IsNullOrWhiteSpace(definition?.ConnectionStringName) ? configuration.GetConnectionString(definition.ConnectionStringName) : null; if (!string.IsNullOrWhiteSpace(connetionString)) { var filter = odataCriteria.GetServiceUrl(); return(connetionString + (!string.IsNullOrWhiteSpace(filter) ? $"?$filter={filter}" : "")); } return(""); }
public ODataDefinition CommandName(CrudAction crudAction) { ODataDefinition commandDefinition = null; if (crudAction == CrudAction.Select) { commandDefinition = Select; } if (crudAction == CrudAction.Delete) { commandDefinition = Delete; } if (crudAction == CrudAction.Insert) { commandDefinition = Insert; } if (crudAction == CrudAction.Update) { commandDefinition = Update; } if (commandDefinition != null) { return(commandDefinition); } if (Crud != null) { commandDefinition = Crud; } return(commandDefinition); }