Exemplo n.º 1
0
        private Control CreateReport()
        {
            var result     = new TemplateBillReport();
            var parameters = new Dictionary <string, object>();



            parameters.Add("$CurrentUserName", BLContext.User.Name);


            AddParameters(parameters);

            var autoAdd = new Dictionary <string, object>();

            foreach (KeyValuePair <string, object> pair in parameters)
            {
                if (pair.Value != null && pair.Value is ICollection)
                {
                    string newKey = pair.Key + "_RecordCount";
                    if (!parameters.ContainsKey(newKey))
                    {
                        autoAdd.Add(newKey, ((ICollection)pair.Value).Count);
                    }
                }
                else if (pair.Value != null && pair.Value is LoadArguments)
                {
                    string newKey = pair.Key + "_RecordCount";
                    if (!parameters.ContainsKey(newKey))
                    {
                        var loadArguments = new LoadArguments(((LoadArguments)pair.Value).DQuery.Clone() as DQueryDom);
                        loadArguments.DQuery.Range = SelectRange.Top(0);
                        var adapater = new DFDataAdapter(loadArguments);
                        var table    = adapater.PagedFill();
                        autoAdd.Add(newKey, table.TotalCount);
                    }
                }
            }
            foreach (KeyValuePair <string, object> pair in autoAdd)
            {
                parameters.Add(pair.Key, pair.Value);
            }

            var printTemplateFile = Path.Combine(Wpf.Settings.ConfigFolder, GetTemplateFile());

            result.ParseTemplate(FS.OpenRead(printTemplateFile), parameters);
            return(result);
        }
Exemplo n.º 2
0
        public static ListData Query(ListData data)
        {
            var queryobj = (ProductInStoreQueryObj)data.QueryObject;
            var query    = new DQueryDom(new JoinAlias(typeof(ProductInStore)));

            query.Columns.Add(DQSelectColumn.Field("ID"));
            query.Columns.Add(DQSelectColumn.Field("BillState"));
            query.Columns.Add(DQSelectColumn.Field("AccountingUnit_Name"));
            query.Columns.Add(DQSelectColumn.Field("Department_Name"));
            query.Columns.Add(DQSelectColumn.Field("Employee_Name"));
            query.Columns.Add(DQSelectColumn.Field("Store_Name"));
            query.Columns.Add(DQSelectColumn.Field("InStoreType_Name"));
            query.Columns.Add(DQSelectColumn.Field("InStoreDate"));
            query.Columns.Add(DQSelectColumn.Field("CheckEmployee_Name"));
            query.Columns.Add(DQSelectColumn.Field("CheckDate"));
            query.Columns.Add(DQSelectColumn.Field("ProductInStoreTemplate_Name"));
            query.OrderBy.Expressions.Add(DQOrderByExpression.Create("ID", true));
            HippoUtil.AddEQ(query, "ID", queryobj.ID);
            HippoUtil.AddEQ(query, "BillState", queryobj.BillState);
            HippoUtil.AddEQ(query, "AccountingUnit_ID", queryobj.AccountingUnit_ID);
            HippoUtil.AddEQ(query, "Department_ID", queryobj.Department_ID);
            HippoUtil.AddEQ(query, "Employee_ID", queryobj.Employee_ID);
            HippoUtil.AddEQ(query, "Store_ID", queryobj.Store_ID);
            HippoUtil.AddEQ(query, "InStoreType_ID", queryobj.InStoreType_ID);
            HippoUtil.AddEQ(query, "ProductPlan_ID", queryobj.ProductPlan_ID);
            if (queryobj.MinInStoreDate.HasValue)
            {
                query.Where.Conditions.Add(DQCondition.GreaterThanOrEqual("InStoreDate", queryobj.MinInStoreDate.Value));
            }
            if (queryobj.MaxInStoreDate.HasValue)
            {
                query.Where.Conditions.Add(DQCondition.LessThanOrEqual("InStoreDate", queryobj.MaxInStoreDate.Value));
            }
            query.Where.Conditions.Add(DQCondition.EQ("Domain_ID", DomainContext.Current.ID));
            query.Range = new SelectRange(data.Start, data.Count);
            OrganizationUtil.AddOrganizationLimit(query, typeof(ProductInStore));
            var pagedData = new DFDataAdapter(new LoadArguments(query)).PagedFill();

            data.Start = 0;
            data.Count = (int)pagedData.TotalCount;
            data.Data  = pagedData.Data;
            return(data);
        }