Пример #1
0
        public override JsStoreData LoadList(ILoadListQuery clientQuery)
        {
            Contract.Requires(clientQuery != null);

            using (var session = _sessionFactory.OpenSession())
            {
                var query = session.Query <WmsReport2Entity>()
                            .Where(p => p.ObjectName_r == "CSTREQCUSTOMS")
                            .Select(p => p.Report_r);

                query = (IQueryable <WmsReport>)_linqQueryBuilder.ApplyConditions(query, clientQuery.Conditions.OfType <IFieldValueCondition>(), Bindings);
                var count = _linqQueryBuilder.Count(query);

                query = (IQueryable <WmsReport>)_linqQueryBuilder.ApplySorting(query, clientQuery.SortItems, Bindings);
                if (clientQuery.Page.IsDefined)
                {
                    query = (IQueryable <WmsReport>)_linqQueryBuilder.ApplyPaging(query, clientQuery.Page.StartRow, clientQuery.Page.Size);
                }

                var dynamicQuery = _linqQueryBuilder.ApplyProjection(query, Bindings);
                var listObj      = _linqQueryBuilder.List(dynamicQuery);

                var dataTable = _dataTableByBindingsFactory.CreateDataTable(Bindings);
                _bindingDataTableFiller.FillTableFromList(dataTable, listObj, Bindings);

                var dataPage = new DataPage(dataTable, count);
                return(TableSerializer.Serialize(dataPage.Data, dataPage.Count));
            }
        }
Пример #2
0
        public JsStoreData LoadList(ILoadListQuery query)
        {
            var dataPage = _entitiesLoader.LoadList(EntityDescriptor.EntityType,
                                                    Bindings,
                                                    query.SortItems,
                                                    query.Conditions.OfType <IFieldValueCondition>(),
                                                    query.Page,
                                                    true);

            return(TableSerializer.Serialize(dataPage.Data, dataPage.Count));
        }
Пример #3
0
        public JsStoreData LoadList(ILoadListQuery clientQuery)
        {
            Contract.Requires(clientQuery != null);
            using (var session = _sessionFactory.OpenSession())
            {
                var query = session.Query <WmsIWB>().Where(i => !session.Query <CstReqCustoms2WB>().Any(j => j.IWB.IWBID == i.IWBID));

                var mandantIDField = clientQuery.Conditions.OfType <IFieldValueCondition>().SingleOrDefault(f => f.Field.Name == "MandantID");
                if (mandantIDField != null)
                {
                    var mandantEntityID = (EntityReference)mandantIDField.Value.Single();
                    var mandantID       = mandantEntityID.GetConvertedId <Int32>();;
                    query = query.Where(i => i.Partner.PartnerID == mandantID);
                }
                else
                {
                    query = query.Where(i => 1 == 0);
                }

                var typeField = clientQuery.Conditions.OfType <IFieldValueCondition>().SingleOrDefault(f => f.Field.Name == "WBType");
                if (typeField != null && typeField.Value.Any())
                {
                    var valueType = typeField.Value.Single().ToString();
                    if (!string.IsNullOrEmpty(valueType))
                    {
                        query = query.Where(i => i.IWBType == valueType);
                    }
                }

                query = (IQueryable <WmsIWB>)_linqQueryBuilder.ApplyConditions(query, clientQuery.Conditions.OfType <IFieldValueCondition>(), Bindings);
                var count = _linqQueryBuilder.Count(query);

                query = (IQueryable <WmsIWB>)_linqQueryBuilder.ApplySorting(query, clientQuery.SortItems, Bindings);
                if (clientQuery.Page.IsDefined)
                {
                    query = (IQueryable <WmsIWB>)_linqQueryBuilder.ApplyPaging(query, clientQuery.Page.StartRow, clientQuery.Page.Size);
                }

                var dynamicQuery = _linqQueryBuilder.ApplyProjection(query, Bindings);
                var listObj      = _linqQueryBuilder.List(dynamicQuery);

                var dataTable = _dataTableByBindingsFactory.CreateDataTable(Bindings);
                _bindingDataTableFiller.FillTableFromList(dataTable, listObj, Bindings);

                var dataPage = new DataPage(dataTable, count);
                return(TableSerializer.Serialize(dataPage.Data, dataPage.Count));
            }
        }
Пример #4
0
 public override JsStoreData LoadList(ILoadListQuery loadListQuery)
 {
     return(base.LoadList(loadListQuery));
 }