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); }
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); }