public async Task CreateOrUpdate_Update_Success( Vendor pVendorInput, Vendor pVendorResult, [Frozen] IBlue10AsyncClient pBlue10AsyncCLient, VendorService pVendorService) { // Setup services pBlue10AsyncCLient.EditVendorAsync(Arg.Any <Vendor>()).Returns(pVendorResult); // Test var fResult = await pVendorService.CreateOrUpdate(pVendorInput); // Validate pBlue10AsyncCLient.Received(1); await pBlue10AsyncCLient.Received().EditVendorAsync(Arg.Is <Vendor>(x => x.Equals(pVendorInput))); fResult.Should().BeOfType <BaseResultModel <Vendor> >(); fResult.ErrorMessage.Should().BeNull(); fResult.Object.Should().Be(pVendorResult); }
public async void PurchaseOrderHeadersByVendorID_Not_Exists() { var mock = new ServiceMockFacade <IVendorRepository>(); mock.RepositoryMock.Setup(x => x.PurchaseOrderHeadersByVendorID(default(int), It.IsAny <int>(), It.IsAny <int>())).Returns(Task.FromResult <List <PurchaseOrderHeader> >(new List <PurchaseOrderHeader>())); var service = new VendorService(mock.LoggerMock.Object, mock.RepositoryMock.Object, mock.ModelValidatorMockFactory.VendorModelValidatorMock.Object, mock.BOLMapperMockFactory.BOLVendorMapperMock, mock.DALMapperMockFactory.DALVendorMapperMock, mock.BOLMapperMockFactory.BOLProductVendorMapperMock, mock.DALMapperMockFactory.DALProductVendorMapperMock, mock.BOLMapperMockFactory.BOLPurchaseOrderHeaderMapperMock, mock.DALMapperMockFactory.DALPurchaseOrderHeaderMapperMock); List <ApiPurchaseOrderHeaderResponseModel> response = await service.PurchaseOrderHeadersByVendorID(default(int)); response.Should().BeEmpty(); mock.RepositoryMock.Verify(x => x.PurchaseOrderHeadersByVendorID(default(int), It.IsAny <int>(), It.IsAny <int>())); }
public async void ByAccountNumber_Not_Exists() { var mock = new ServiceMockFacade <IVendorRepository>(); mock.RepositoryMock.Setup(x => x.ByAccountNumber(It.IsAny <string>())).Returns(Task.FromResult <Vendor>(null)); var service = new VendorService(mock.LoggerMock.Object, mock.RepositoryMock.Object, mock.ModelValidatorMockFactory.VendorModelValidatorMock.Object, mock.BOLMapperMockFactory.BOLVendorMapperMock, mock.DALMapperMockFactory.DALVendorMapperMock, mock.BOLMapperMockFactory.BOLProductVendorMapperMock, mock.DALMapperMockFactory.DALProductVendorMapperMock, mock.BOLMapperMockFactory.BOLPurchaseOrderHeaderMapperMock, mock.DALMapperMockFactory.DALPurchaseOrderHeaderMapperMock); ApiVendorResponseModel response = await service.ByAccountNumber(default(string)); response.Should().BeNull(); mock.RepositoryMock.Verify(x => x.ByAccountNumber(It.IsAny <string>())); }
public async void Get_null_record() { var mock = new ServiceMockFacade <IVendorRepository>(); mock.RepositoryMock.Setup(x => x.Get(It.IsAny <int>())).Returns(Task.FromResult <Vendor>(null)); var service = new VendorService(mock.LoggerMock.Object, mock.RepositoryMock.Object, mock.ModelValidatorMockFactory.VendorModelValidatorMock.Object, mock.BOLMapperMockFactory.BOLVendorMapperMock, mock.DALMapperMockFactory.DALVendorMapperMock, mock.BOLMapperMockFactory.BOLProductVendorMapperMock, mock.DALMapperMockFactory.DALProductVendorMapperMock, mock.BOLMapperMockFactory.BOLPurchaseOrderHeaderMapperMock, mock.DALMapperMockFactory.DALPurchaseOrderHeaderMapperMock); ApiVendorResponseModel response = await service.Get(default(int)); response.Should().BeNull(); mock.RepositoryMock.Verify(x => x.Get(It.IsAny <int>())); }
public async Task addVendor() { VendorService service = new VendorService(); var model = new AddVendorModel() { Title = "test", UserId = Guid.NewGuid(), MainImage = "test.jpg", CategoryId = 10, Lng = 51.2063269, Lat = 35.6140752, PhoneNumber = "09123135143", Description = "توضیحات", Facilities = new List <int>() { 1, 2 } }; await service.AddVendor(model); }
public async Task <ActionResult> EditStand(int standId, int expoId) { var standsViewModel = new StandsViewModel(); switch (Properties.Settings.Default.GetDataFrom) { case "db": break; case "Json": var stand = await standsService.GetStandAsync(expoId, standId); standsViewModel = new StandsViewModel { Title = "Изменение стенда", AddButtonTitle = "Сохранить", RedirectUrl = Url.Action("DetailsOfExpo", "Expos", new { _idExpo = expoId }), standId = stand.standId, expoId = stand.expoId, description = stand.description, statusId = stand.statusId, vendorId = stand.vendorId, hall = stand.hall }; IVendorService vendorService = new VendorService(new Repository.VendorRepository()); IEnumerable <VendorFromJson.Vendor> vendors = await vendorService.getVendorsAsync(); List <SelectListItem> ObjItem = new List <SelectListItem>(); foreach (var vendor in vendors) { ObjItem.Add(new SelectListItem() { Text = vendor.vendorName, Value = vendor.vendorId.ToString(), Selected = stand.vendorId == stand.vendorId }); } standsViewModel.vendorCombo = ObjItem; break; } return(View(standsViewModel)); }
public ActionResult Search(int vendorId, string number) { if (vendorId == 0) { return(NotFound()); } var vendor = VendorService.GetByPK(vendorId); if (vendor == null) { return(NotFound()); } var model = new ExamSearchVM { Vendor = vendor, Number = number, Exams = number.IsEmpty() ? new List <Exam>() : ExamService.GetAll(x => x.Vendor_ID == vendorId && x.Exam_TC.Contains(number) && x.Available).Take(20).ToList() }; return(View(model)); }
public virtual MainPageVM Get() { var sections = SectionService.GetAll().IsActive().Where(s => s.ForMainPage) .ByWebOrder().ToList(); var professions = ProfessionService.GetAll().IsActive() .Where(p => p.ForMainPage).ToList() .OrderBy(x => StringUtils.IsBasicLetter(x.Name.First())).ThenBy(x => x.Name).ToList(); var vendors = VendorService.GetAll().IsActive() .Where(p => p.ForMainPage).ByWebOrder().ToList(); var products = ProductService.GetAll().IsActive() .Where(p => p.ForMainPage).ToList().OrderBy(x => x.Name).ToList(); var siteterms = SiteTermService.GetAll().IsActive() .Where(p => p.ForMainPage).ToList().OrderBy(x => x.Name).ToList(); VideoService.LoadWith(x => x.VideoCategory); var videos = VideoService.GetAll(x => x.CategoryId == VideoCategories.CoursePresentation) .OrderByDescending(x => x.UpdateDate).Take(3).ToList(); return (new MainPageVM { Professions = professions, Vendors = vendors, Sections = sections, Products = products, Banners = BannerService.GetBanner(CommonConst.SiteRoot + "/") .ShufflePriority(x => x.Priority), News = NewsService.GetAllForMain().ToList(), SiteTerms = siteterms, Videos = videos, Documents = CertTypeService .GetAll(c => CertTypes.ForMain.Contains(c.UrlName)).ToList(), About = SimplePageService.GetAll().BySysName(SimplePages.MainPage) }); }
public async void Delete() { var mock = new ServiceMockFacade <IVendorRepository>(); var model = new ApiVendorRequestModel(); mock.RepositoryMock.Setup(x => x.Delete(It.IsAny <int>())).Returns(Task.CompletedTask); var service = new VendorService(mock.LoggerMock.Object, mock.RepositoryMock.Object, mock.ModelValidatorMockFactory.VendorModelValidatorMock.Object, mock.BOLMapperMockFactory.BOLVendorMapperMock, mock.DALMapperMockFactory.DALVendorMapperMock, mock.BOLMapperMockFactory.BOLProductVendorMapperMock, mock.DALMapperMockFactory.DALProductVendorMapperMock, mock.BOLMapperMockFactory.BOLPurchaseOrderHeaderMapperMock, mock.DALMapperMockFactory.DALPurchaseOrderHeaderMapperMock); ActionResponse response = await service.Delete(default(int)); response.Should().NotBeNull(); mock.RepositoryMock.Verify(x => x.Delete(It.IsAny <int>())); mock.ModelValidatorMockFactory.VendorModelValidatorMock.Verify(x => x.ValidateDeleteAsync(It.IsAny <int>())); }
public async void Create() { var mock = new ServiceMockFacade <IVendorRepository>(); var model = new ApiVendorRequestModel(); mock.RepositoryMock.Setup(x => x.Create(It.IsAny <Vendor>())).Returns(Task.FromResult(new Vendor())); var service = new VendorService(mock.LoggerMock.Object, mock.RepositoryMock.Object, mock.ModelValidatorMockFactory.VendorModelValidatorMock.Object, mock.BOLMapperMockFactory.BOLVendorMapperMock, mock.DALMapperMockFactory.DALVendorMapperMock, mock.BOLMapperMockFactory.BOLProductVendorMapperMock, mock.DALMapperMockFactory.DALProductVendorMapperMock, mock.BOLMapperMockFactory.BOLPurchaseOrderHeaderMapperMock, mock.DALMapperMockFactory.DALPurchaseOrderHeaderMapperMock); CreateResponse <ApiVendorResponseModel> response = await service.Create(model); response.Should().NotBeNull(); mock.ModelValidatorMockFactory.VendorModelValidatorMock.Verify(x => x.ValidateCreateAsync(It.IsAny <ApiVendorRequestModel>())); mock.RepositoryMock.Verify(x => x.Create(It.IsAny <Vendor>())); }
public async void All() { var mock = new ServiceMockFacade <IVendorRepository>(); var records = new List <Vendor>(); records.Add(new Vendor()); mock.RepositoryMock.Setup(x => x.All(It.IsAny <int>(), It.IsAny <int>())).Returns(Task.FromResult(records)); var service = new VendorService(mock.LoggerMock.Object, mock.RepositoryMock.Object, mock.ModelValidatorMockFactory.VendorModelValidatorMock.Object, mock.BOLMapperMockFactory.BOLVendorMapperMock, mock.DALMapperMockFactory.DALVendorMapperMock, mock.BOLMapperMockFactory.BOLProductVendorMapperMock, mock.DALMapperMockFactory.DALProductVendorMapperMock, mock.BOLMapperMockFactory.BOLPurchaseOrderHeaderMapperMock, mock.DALMapperMockFactory.DALPurchaseOrderHeaderMapperMock); List <ApiVendorResponseModel> response = await service.All(); response.Should().HaveCount(1); mock.RepositoryMock.Verify(x => x.All(It.IsAny <int>(), It.IsAny <int>())); }
public object Format(PrintTemplate template, PrintTemplateItem item, OrderReturn or) { string vendorName = ""; var ss = or.GoodsInfo.Split(new char[] { ',', ' ' }, StringSplitOptions.RemoveEmptyEntries); if (ss.Length > 0) { vendorName = ss[0]; } if (string.IsNullOrWhiteSpace(vendorName)) { return(""); } var vens = ServiceContainer.GetService <VendorService>().GetVendorAddress_InCach(vendorName); if (string.IsNullOrWhiteSpace(vens)) { return(""); } var door = VendorService.FormatVendorDoor(vens); return(door); }
/// <summary> /// Initializes a new instance of the class. /// </summary> public RegistrationApiController() { _context = new AllTheSameDbContext(); _vendorCredentialService = new VendorCredentialService(new UnitOfWork(_context), new VendorCredentialRepository(_context)); _industryService = new IndustryService(new UnitOfWork(_context), new IndustryRepository(_context)); _organizationService = new OrganizationService(new UnitOfWork(_context), new OrganizationRepository(_context)); _orgTypeService = new OrgTypeService(new UnitOfWork(_context), new OrgTypeRepository(_context)); _vendorService = new VendorService(new UnitOfWork(_context), new VendorRepository(_context)); _vendorTypeService = new VendorTypeService(new UnitOfWork(_context), new VendorTypeRepository(_context)); _vendorAdminService = new VendorAdminService(new UnitOfWork(_context), new VendorAdminRepository(_context)); _vendorWorkerService = new VendorWorkerService(new UnitOfWork(_context), new VendorWorkerRepository(_context)); _vendorCredDocumentService = new VendorCredDocumentService(new UnitOfWork(_context), new VendorCredDocumentRepository(_context)); _addressService = new AddressService(new UnitOfWork(_context), new AddressRepository(_context)); //var vendorCredentialList = _context.VendorCredentials; //var industryList = _context.Industries; //var organizationList = _context.Organizations; //var orgTypeList = _context.OrgTypes; //var vendorList = _context.Vendors; //var vendorTypeList = _context.VendorTypes; //var vendorAdminList = _context.VendorAdmins; //var vendorWorkerList = _context.VendorWorkers; //var vendorCredDocumentList = _context.VendorCredDocuments; //var addressList = _context.Addresses; //var c = Repository<Person>.Instance.Count; //var c2 = Repository<Person>.Instance.Count; //var s = new ServiceProxy<Person,IPersonRepository>().Count; }
public ProductController(ProductService productService, VendorService vendorService) { _productService = productService; _vendorService = vendorService; }
public Dictionary <int?, DatabaseModel.Vendor> GetActiveVendors(Dictionary <int?, Customer> allActiveCustomers, VendorService vendorService, RecurringInvoices.Frequency paymentFrequency) { var activeVendors = vendorService.GetByPaymentFrequency(paymentFrequency) .Where(x => allActiveCustomers.ContainsKey(x.QuickBooksOnlineId)) .ToDictionary(x => x.QuickBooksOnlineId); return(activeVendors); }
private void btnPrint_Click(object sender, RoutedEventArgs e) { if (this.OrderReturns.Count < 1) { MessageBox.Show("没有需要打印的数据"); return; } try { string printer = LocalConfigService.GetValue(SystemNames.CONFIG_PRINTER_A4, ""); if (string.IsNullOrWhiteSpace(printer)) { throw new Exception("请在系统配置里面,配置要使用的打印机"); } if (MessageBox.Show("是否使用打印机:" + printer + Environment.NewLine + "打印?", "提示", MessageBoxButton.YesNo, MessageBoxImage.Question) != MessageBoxResult.Yes) { return; } var pd = PrintUtil.GetPrinter(printer); VendorService vs = ServiceContainer.GetService <VendorService>(); var goodsCountDoc = new OrderReturnOutPrintDocument(); List <GoodsCount> counts = new List <GoodsCount>(); foreach (var item in this.OrderReturns) { string[] infos = item.Source.GoodsInfo.Split(new char[] { ' ', ',' }, StringSplitOptions.RemoveEmptyEntries); if (infos.Length < 4) { MessageBox.Show("退货信息不正确,请检查:" + item.Source.Id); continue; } var vendor = vs.GetByAll(infos[0], "", "", "", 0, 0).First; if (vendor == null) { vendor = vs.GetByAll(infos[0] + infos[1], "", "", "", 0, 0).First; } if (vendor == null) { MessageBox.Show("退货信息厂家找不到,请检查:" + item.Source.Id); continue; } GoodsCount count = null; if (infos.Length >= 5) { count = counts.FirstOrDefault( obj => obj.Vendor == VendorService.FormatVendorName(infos[0]) && obj.Number == infos[1] && obj.Edtion == infos[2] && obj.Color == infos[3] && obj.Size == infos[4]); } else { count = counts.FirstOrDefault( obj => obj.Vendor == VendorService.FormatVendorName(infos[0]) && obj.Number == infos[1] && obj.Color == infos[2] && obj.Size == infos[3]); } if (count == null) { count = new GoodsCount { Vendor = infos[0].Trim(), Number = infos[1].Trim(), Money = (int)(item.Source.GoodsMoney / item.Source.Count), Count = 0, FirstPayTime = item.Source.ProcessTime, }; if (infos.Length >= 5) { count.Edtion = infos[2].Trim(); count.Color = infos[3].Trim(); count.Size = infos[4].Trim(); } else { count.Edtion = ""; count.Color = infos[2].Trim(); count.Size = infos[3].Trim(); } count.Address = vendor.MarketAddressShort; count.Vendor = VendorService.FormatVendorName(count.Vendor); counts.Add(count); } foreach (var c in counts.Where(obj => obj.Vendor == count.Vendor && obj.Number == count.Number && obj.Edtion == count.Edtion)) { //取消最大金额值 if (c.Money < count.Money) { c.Money = count.Money; } else { count.Money = c.Money; } } if (count.FirstPayTime >= item.Source.ProcessTime) { count.FirstPayTime = item.Source.ProcessTime; } count.Count += item.Source.Count; } IComparer <GoodsCount> comparer = new OrderGoodsCountSortByDoor(); counts.Sort(comparer); //拿货地址 counts.Sort(comparer); //货号 counts.Sort(comparer); //版本 counts.Sort(comparer); //颜色 counts.Sort(comparer); //尺码 goodsCountDoc.PageSize = new Size(793, 1122.24); goodsCountDoc.SetGoodsCount(counts.ToArray()); pd.PrintDocument(goodsCountDoc, "退货统计"); foreach (var item in this.OrderReturns) { this.OrderReturnService.Update(item.Source); } MessageBox.Show("打印完成"); } catch (Exception ex) { MessageBox.Show(ex.Message, "打印出错"); } }
public VendorController(VendorService vendorService) { _vendorService = vendorService; }
public LoginController(VendorService vendorService, CustomerService customerService) { _vendorService = vendorService; _customerService = customerService; }
public VendorController() { _vendorService = new VendorService(); _vendortypeService = new VendorTypeService(); }
public GoodsReportController(GoodsItemService objGoodsItemService, VendorService ObjVendorService, Vendor ObjGoods) { this.ObjVendorService = ObjVendorService; this.objGoodsItemService = objGoodsItemService; this.context = BeanContext.GetInstance(); }
public async Task AddVendor(CreateVendorRequest Vendor) { await VendorService.AddNewVendorAsync(Vendor); await ModalInstance.CloseAsync(); }
public async Task Refresh() { Vendors = await VendorService.GetAllVendorsAsync(); }
public VendorServiceTests() { mockRepository = new Mock <IVendorRepository>(); service = new VendorService(mockRepository.Object); }
public vendorController(VendorService VendorService) { _vendorService = VendorService; }
public VendorController(VendorService <VendorViewModel, Vendor> vendorService) { _vendorService = vendorService; }
public PreventiveMaintenanceController(SiteService siteService, PlantService plantService, LineService lineService, MachineService machineService, UserService userService, PreventiveMaintenanceService pmServices, UserAssignmentsService uaServices, PreventiveWorkDescriptionService pwdServices, PreventiveReviewHistoryService prhServices, ScheduleTypeService pstServices, VendorCategoryService vcServices, VendorService vendorServices) { this._siteService = siteService; this._plantService = plantService; this._lineService = lineService; this._machineService = machineService; this._userService = userService; this._pmServices = pmServices; this._uaServices = uaServices; this._pwdServices = pwdServices; this._prhServices = prhServices; this._pstServices = pstServices; this._vcServices = vcServices; this._vendorServices = vendorServices; }
public ItemController(ItemsServices ItemsService, VendorService vendorServices) { this._ItemsService = ItemsService; this._vendorServices = vendorServices; }
public HomeController() { this.treeService = new TreeService(this.Logger, this.User); this.vendorService = new VendorService(this.Logger, this.User); }
public void VendorServiceConstructorTest() { VendorService target = new VendorService(); Assert.IsNotNull(target); }
private void btnQuery_Click(object sender, RoutedEventArgs e) { try { long shopId = this.cbbShops.SelectedItem == null ? 0 : (this.cbbShops.SelectedItem as Shop).Id; var scs = ServiceContainer.GetService <OrderGoodsService>().GetSaleCount(shopId, this.cbbOrderTypes.GetSelectedEnum <OrderType>(), this.cbbTimeType.SelectedIndex, this.dpStart.Value.Value, this.dpEnd.Value.Value, 0, 0).Datas.ToArray(); //订单信息金额汇总 List <SaleInfo> sis = new List <SaleInfo>(); //根据一个订单包含多个子订单重新计算每一双鞋子应该的价格,根据比例 var ordersGroupById = scs.GroupBy(obj => obj.OrderId).Where(obj => obj.Count() > 1).ToArray(); foreach (var or in ordersGroupById) { float total = or.Select(obj => obj.Count * obj.PopPrice).Sum(); foreach (var o in or) { o.PopSellerGetMoney = o.PopSellerGetMoney * o.Count * o.PopPrice / total; } } SaleCount[] targetScs = null; //左下分析,有货号,则分析商品SKU卖出情况 string vendor = this.tbVendorName.Text.Trim(); string goodsId = this.tbGoodsId.Text.Trim(); //根据商品编号查询 if (string.IsNullOrWhiteSpace(goodsId) == false) { targetScs = scs.Where(obj => obj.GoodsId.ToString() == goodsId).ToArray(); float total = targetScs.Select(obj => obj.PopSellerGetMoney).Sum(); int count = targetScs.Length; this.FillSaleMoneyInfo(targetScs); //左下统计SKU详情 var skuGroup = targetScs.GroupBy(obj => obj.Color + ":" + obj.Size + "," + obj.Edtion); this.dgvCountInfo2.ItemsSource = skuGroup .Select(obj => new SaleCountInfo { VendorName = obj.Key, Count = obj.Count(), SaleMoney = obj.Select(o => o.PopSellerGetMoney).Sum(), PerSaleMoney = obj.Select(o => o.PopSellerGetMoney).Sum() * 100F / total }).OrderByDescending(obj => obj.PerSaleMoney).ToArray(); //右下统计每日销售占比 List <SaleCountInfo> scis = new List <SaleCountInfo>(); var dateGroup = targetScs .GroupBy(obj => this.cbbTimeType.SelectedIndex == 0 ? obj.PopPayTime.Date : obj.DeliveryTime.Date).ToArray(); foreach (var dg in dateGroup) { SaleCountInfo sc = new SaleCountInfo { VendorName = dg.Key.ToString("yyyy-MM-dd"), Number = string.Join(",", dg.Select(obj => obj.Number).Distinct()), Count = dg.Count(), SaleMoney = dg.Select(obj => obj.PopSellerGetMoney).Sum() }; var matchScs = scs.Where(obj => (this.cbbTimeType.SelectedIndex == 0 ? obj.PopPayTime.Date : obj.DeliveryTime.Date) == dg.Key); sc.PerCount = sc.Count * 100F / matchScs.Count(); sc.PerSaleMoney = sc.SaleMoney * 100F / matchScs.Select(obj => obj.PopSellerGetMoney).Sum(); scis.Add(sc); } this.dgvGoodsInfo.ItemsSource = scis.OrderByDescending(obj => obj.VendorName).ToArray(); } else if (string.IsNullOrWhiteSpace(vendor) == false) { targetScs = scs.Where(obj => VendorService.FormatVendorName(obj.Vendor) == VendorService.FormatVendorName(vendor)).ToArray(); float total = targetScs.Select(obj => obj.PopSellerGetMoney).Sum(); int count = targetScs.Length; //厂家查询 this.FillSaleMoneyInfo(targetScs); //左下统计货号卖出详情 var numberGroup = targetScs.GroupBy(obj => obj.Number).ToArray(); this.dgvCountInfo2.ItemsSource = numberGroup .Select(obj => new SaleCountInfo { VendorName = obj.Key, Number = obj.Key, Count = obj.Count(), SaleMoney = obj.Select(o => o.PopSellerGetMoney).Sum(), PerCount = obj.Count() * 100F / count, PerSaleMoney = obj.Select(o => o.PopSellerGetMoney).Sum() * 100F / total }).OrderByDescending(obj => obj.PerSaleMoney).ToArray(); //右下统计每日销售占比 List <SaleCountInfo> scis = new List <SaleCountInfo>(); var dateGroup = targetScs .GroupBy(obj => this.cbbTimeType.SelectedIndex == 0 ? obj.PopPayTime.Date : obj.DeliveryTime.Date).ToArray(); foreach (var dg in dateGroup) { SaleCountInfo sc = new SaleCountInfo { VendorName = dg.Key.ToString("yyyy-MM-dd"), Number = string.Join(",", dg.Select(obj => obj.Number).Distinct()), Count = dg.Count(), SaleMoney = dg.Select(obj => obj.PopSellerGetMoney).Sum() }; var matchScs = scs.Where(obj => (this.cbbTimeType.SelectedIndex == 0 ? obj.PopPayTime.Date : obj.DeliveryTime.Date) == dg.Key); sc.PerCount = sc.Count * 100F / matchScs.Count(); sc.PerSaleMoney = sc.SaleMoney * 100F / matchScs.Select(obj => obj.PopSellerGetMoney).Sum(); scis.Add(sc); } this.dgvGoodsInfo.ItemsSource = scis.OrderByDescending(obj => obj.VendorName).ToArray(); } else { targetScs = scs; //所有 this.FillSaleMoneyInfo(targetScs.ToArray()); float total = targetScs.Select(obj => obj.PopSellerGetMoney).Sum(); int count = targetScs.Length; //左下统计厂家占比 var vGroup = targetScs.GroupBy(obj => VendorService.FormatVendorName(obj.Vendor)).ToArray(); this.dgvCountInfo2.ItemsSource = vGroup .Select(obj => new SaleCountInfo { VendorName = obj.Key, SaleMoney = obj.Select(o => o.PopSellerGetMoney).Sum(), Count = obj.Count(), Number = "", PerCount = obj.Count() * 100.0F / count, PerSaleMoney = (100.0F * obj.Select(o => o.PopSellerGetMoney).Sum() / total) }).OrderByDescending(obj => obj.PerSaleMoney).ToArray(); //右下统计商品销售占比 var gGroup = targetScs.GroupBy(obj => obj.GoodsId).ToArray(); this.dgvGoodsInfo.ItemsSource = gGroup .Select(obj => new SaleCountInfo { VendorName = obj.First().Vendor, Number = string.Join(",", obj.Select(o => o.Number).Distinct()), Count = obj.Count(), SaleMoney = obj.Select(o => o.PopSellerGetMoney).Sum(), PerCount = obj.Count() * 100F / count, PerSaleMoney = obj.Select(o => o.PopSellerGetMoney).Sum() * 100F / total }).OrderByDescending(obj => obj.PerSaleMoney).ToArray(); } var ordersGroupByState = targetScs.GroupBy(obj => obj.State).OrderBy(obj => obj.Key).ToArray(); foreach (var ogroup in ordersGroupByState) { sis.Add(new SaleInfo { State = EnumUtil.GetEnumValueDescription(ogroup.Key), Count = ogroup.Select(obj => obj.OrderId).Distinct().Count(), SaleMoney = ogroup.Select(obj => obj.PopSellerGetMoney).Sum(), CostMoney = ogroup.Select(obj => obj.ERPOrderGoodsMoney * obj.Count + obj.ERPOrderDeliveryMoney + obj.PopSellerGetMoney * GetCommissionPer(obj.ShopId)).Sum() }); } this.dgvCountInfo.ItemsSource = sis; } catch (Exception ex) { MessageBox.Show(ex.Message); } }