public ActionResult GetTable(TableQueryParameters parameters) { var resources = _resourceManagementService.GetParametricalResources(parameters); var model = GetGridModel(resources); return(PartialView("EditTable/_EditTableRows", model)); }
public IEnumerable<ResourceModel> GetParametricalResources(TableQueryParameters parameters) { var resources = _resourceUOW.Resources.GetAllWithParameters(parameters).ToList(); List<ResourceModel> models = new List<ResourceModel>(); if (resources != null) foreach (var item in resources) models.Add(new ResourceModel(item)); return models; }
public QueryBuilder( string tableName, TableQueryParameters parameters, IEnumerable <ConditionsForFK> specialConditions) { TableName = tableName; Parameters = parameters; SpecialConditions = specialConditions; ValidKeys = ValidateParameters(); ConditionsProperties = new HashSet <string>(SpecialConditions.Select(c => c.PropertyName)); }
public IEnumerable <IResourceAdapter> GetAllWithParameters(TableQueryParameters parameters) { var tableName = "Resources"; var specialConditions = new List <ConditionsForFK>() { new ConditionsForFK( "StockId", " join Stocks on Stocks.Id=Resources.StockId", "Stocks.Name") }; var queryBuilder = new QueryBuilder <Resource>(tableName, parameters, specialConditions); var query = queryBuilder.GetQueryWithParameters(); return(_db.Resources.SqlQuery(query)); }
private Expression GenerateExpression(ParameterExpression exParameter, TableQueryParameters parameters) { Expression exProperty = Expression.Property(exParameter, parameters.PropertyName); Expression exValue = Expression.Constant(parameters.Value); var info = (PropertyInfo)((MemberExpression)exProperty).Member; if (info.PropertyType == typeof(decimal) || info.PropertyType == typeof(decimal?)) { throw new Exception("Can not query against decimal values, ATS does not support decimals."); } switch (parameters.Comparator) { case TableQueryParameters.Comparators.EqualTo: { return(Expression.Equal(exProperty, exValue)); } case TableQueryParameters.Comparators.GreaterThan: { return(Expression.GreaterThan(exProperty, exValue)); } case TableQueryParameters.Comparators.LessThan: { return(Expression.LessThan(exProperty, exValue)); } case TableQueryParameters.Comparators.GreaterThanOrEqualTo: { return(Expression.GreaterThanOrEqual(exProperty, exValue)); } case TableQueryParameters.Comparators.LessThanOrEqualTo: { return(Expression.LessThanOrEqual(exProperty, exValue)); } } return(null); }
private bool CheckForNull(TableQueryParameters parameters) { return(parameters.Comparator != new TableQueryParameters.Comparators() && parameters.PropertyName != null); }