public ActionResult GetTable(TableQueryParameters parameters)
        {
            var resources = _resourceManagementService.GetParametricalResources(parameters);
            var model     = GetGridModel(resources);

            return(PartialView("EditTable/_EditTableRows", model));
        }
Example #2
0
        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;
        }
Example #3
0
        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));
        }
Example #4
0
        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));
        }
Example #5
0
        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);
        }
Example #6
0
 private bool CheckForNull(TableQueryParameters parameters)
 {
     return(parameters.Comparator != new TableQueryParameters.Comparators() && parameters.PropertyName != null);
 }