public static List <OrderDiscount> Search(OrderDiscountParam param, Pagination paging) { var sql = Sql.Builder; if (!Equals(param.Term, string.Empty)) { sql.Where(string.Format("SearchMeta like '%{0}%'", param.Term.RemoveUnicode())); } if (param.IDCustomer > 0) { sql.Where("IDCustomer =@0", param.IDCustomer); } if (param.Year > 0) { sql.Where("Year =@0", param.Year); } if (param.Quater > 0) { sql.Where("Quater =@0", param.Quater); } if (param.Type > 0) { sql.Where("Type =@0", param.Type); } return(UseInstance.GetListOrDefault(sql, paging)); }
public ActionResult Index() { var searchParam = new OrderDiscountParam().BindData(DATA); var orderDiscounts = OrderDiscountRepository.Search(searchParam, Paging); var idOrderString = Utils.GetStringJoin(",", orderDiscounts.Select(t => t.IDOrders)); var idOrders = idOrderString.ToLongSplit(',').Distinct().ToArray(); var quaters = Utils.EnumToDictionary <Quater>(); var years = Enumerable.Range(2000, 100).ToList(); var orders = OrderRepository.UseInstance.GetByIdsOrDefault(idOrders); var customers = CustomerRepository.UseInstance.GetListOrDefault(); var orderTypes = Utils.EnumToDictionary <OrderType>(); SetTitle("Danh sách chiết khấu"); return(GetCustResultOrView(new ViewParam { Data = new OrderDiscountModel { OrderDiscounts = orderDiscounts, Quaters = quaters, Years = years, Customers = customers, Orders = orders, OrderTypes = orderTypes, SearchParam = searchParam, }, ViewName = "Index", ViewNameAjax = "OrderDiscounts" })); }
public ActionResult OrderDiscountExportPDF() { var path = ""; var temp = "OrderDiscount.pdf"; var fileName = "Danh sách chiết khấu.pdf"; var dataTable = new DataTable(); dataTable.TableName = string.Format("Danh sách chiết khấu"); dataTable.Columns.Add(new DataColumn { ColumnName = "STT", Caption = "Num" } ); dataTable.Columns.Add(new DataColumn { ColumnName = "Thông tin đơn chiết khấu", Caption = "OrderInfo" } ); dataTable.Columns.Add(new DataColumn { ColumnName = "Chi tiết đơn hàng", Caption = "DetailOrders" }); dataTable.Columns.Add(new DataColumn { ColumnName = "Chiết khấu(%)", Caption = "Discount" }); dataTable.Columns.Add(new DataColumn { ColumnName = "Hỗ trợ Event(VNĐ)", Caption = "Event" }); dataTable.Columns.Add(new DataColumn { ColumnName = "Tổng tiền(VNĐ)", Caption = "Total" }); var searchParm = new OrderDiscountParam().BindData(DATA); var orderDiscounts = OrderDiscountRepository.Search(searchParm, null); var idOrderString = Utils.GetStringJoin(",", orderDiscounts.Select(t => t.IDOrders)); var idOrders = idOrderString.ToLongSplit(',').Distinct().ToArray(); var quaters = Utils.EnumToDictionary <Quater>(); var years = Enumerable.Range(2000, 100).ToList(); var orders = OrderRepository.UseInstance.GetByIdsOrDefault(idOrders); var customers = CustomerRepository.UseInstance.GetListOrDefault(); var orderTypes = Utils.EnumToDictionary <OrderType>(); var i = 0; orderDiscounts.ForEach(t => { var customer = customers.FirstOrDefault(c => c.ID == t.IDCustomer) ?? new Customer(); var idOrderFors = t.IDOrders.ToIntSplit(','); var orderFors = orders.Where(o => idOrderFors.Contains(o.ID)).ToList(); var time = t.Quater != (int)(Quater.All) ? string.Format("{0} - {1}", Utils.GetDescription <Quater>(t.Quater), t.Year) : string.Format("Năm {0}", t.Year); var orderDetails = ""; orderFors.ForEach(o => { orderDetails += string.Format("{0}: {1}", o.PONo, o.RealValue > 0 ? string.Format("{0:0,0}", o.RealValue) : "0") + Environment.NewLine; }); var sumOrderDetails = orderFors.Sum(o => o.RealValue); orderDetails += string.Format("Tổng :{0}", sumOrderDetails > 0 ? string.Format("{0:0,0}", sumOrderDetails) : "0"); i++; dataTable.Rows.Add( i, string.Format("Mã CK: {0}", t.Code) + Environment.NewLine + string.Format("Khách hàng: {0}", customer.Name) + Environment.NewLine + string.Format("Thời điểm: {0}", time) + Environment.NewLine + string.Format("Loại đơn: {0}", Utils.GetDescription <OrderType>(t.Type)), orderDetails, t.Percent, t.Event > 0 ? string.Format("{0:0,0}", t.Event) : "0", t.RealTotal > 0 ? string.Format("{0:0,0}", t.RealTotal) : "0" ); }); var widths = new float[] { 30f, 150f, 150f, 50f, 90f, 90f }; var header = string.Format("Danh sách chiết khấu"); var footer = string.Format("Có tất cả {0} đơn chiết khấu", orderDiscounts.Count); CUtils.ExportToPdf(dataTable, temp, out path, header, footer, widths); return(FileResult(path, fileName)); }