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 static void UnitTest() { CurrentContainer = new IoCContainer(); IO.Container = CurrentContainer; SettingsService.InclVat(); VatCalculationStrategy.OverParts(); Logger.Mock(); UwebshopConfiguration.UseType <UwebshopConfiguration>(); // todo no UseType? (slow) UwebshopRequestService.Use(MockConstructors.CreateMockUwebshopRequestService()); OrderDiscountRepository.SetupFake(); CategoryService.Use(MockConstructors.CreateMockEntityService <ICategoryService, Category>()); ProductVariantService.Use(MockConstructors.CreateMockEntityService <IProductVariantService, ProductVariant>()); CouponCodeService.Mock(); StoreRepository.Use(new TestStoreRepository()); CMSEntityRepository.Use(new TestCMSEntityRepository()); CountryRepository.Use(new TestCountryRepository()); VATCountryRepository.Use(new TestVATCountryRepository()); OrderRepository.Mock(); ProductDiscountRepository.Mock(); ProductRepository.Mock(); ProductVariantGroupRepository.Mock(); CategoryRepository.Mock(); ProductVariantRepository.Mock(); CMSApplication.Use(new StubCMSApplicationNotInBackend()); HttpContextWrapper.Mock(); DiscountService.UseType <FakeDiscountService>(); StoreService.Use(new TestStoreService()); OrderService.Use(new TestOrderService()); ProductService.Use(new TestProductService()); CMSDocumentTypeService.Use(new StubCMSDocumentTypeService()); OrderUpdatingService.Mock(); OrderNumberService.Mock(); CatalogUrlResolvingService.Mock(); PaymentProviderService.Mock(); StoreFromUrlDeterminationService.Mock(); StockService.Mock(); ApplicationCacheService.Mock(); UwebshopRequestService.Use(new StubUwebshopRequestService()); CurrentContainer.SetDefaultServiceFactory(new MockServiceFactory()); ModuleFunctionality.Register(CurrentContainer); CurrentContainer.RegisterType <IContentTypeAliassesXmlService, StubContentTypeAliassesXmlService>(); CurrentContainer.RegisterType <IProductVariantGroupService, ProductVariantGroupService>(); InitializeServiceLocators(); }
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)); }