private bool UpdateTrashSystemPrice(CustomerCheckBillSheet customerCheckBillSheet, int newPrice) { int updateCount = TrashModule.UpdateInvoSubPrice(customerCheckBillSheet, newPrice, CheckBillDate); bool updateTrashSystemsuccess = CustomerCheckBillSheets.Where(w => w.I_01 == customerCheckBillSheet.I_01 && w.F_01 == customerCheckBillSheet.F_01).Count() == updateCount; return(updateTrashSystemsuccess); }
public DefaultPriceViewModel() { IEnumerable <TrashItem> trashItemList = TrashModule.GetTrashItems(); IEnumerable <AccountTextile> accountTextileList = AccountSystemModule.GetAccountTextile(); IEnumerable <AccountTextile> accountTextiles = from trashItems in trashItemList join accountTextile in accountTextileList on new { x1 = trashItems.F_01, x2 = trashItems.I_01 } equals new { x1 = accountTextile.FactoryID, x2 = accountTextile.ItemID } into leftjoin from trashItemListLeft in leftjoin.DefaultIfEmpty() select new AccountTextile { ItemID = trashItems.I_01, FactoryID = trashItems.F_01, ItemName = trashItems.I_03, DefaultPrice = trashItemListLeft == null ? 0 : trashItemListLeft.DefaultPrice }; AccountTextiles = new ObservableCollection <AccountTextile>(accountTextiles); }
public CustomerOrderHistoryByFeatureViewModel(TrashItem trashItem) { TrashItem = trashItem; RaisePropertyChanged("TrashItem"); TrashCustomerShippeds = TrashModule.GetCustomerShippedListByFeature(trashItem).OrderByDescending(o => o.IN_DATE); }
public FeatureSearchViewModel() { _trashItemList = new ObservableCollection <TrashItem>(TrashModule.GetTrashItems().OrderBy(o => o.I_01)); //TrashModule.UpdateProductName("TC1X12275/黑鬍子"); }
private void ButtonExportCustomerExecute() { IEnumerable <TrashCustomerShipped> trashCustomerShippedList = TrashModule.GetCustomerShippedList(CustomerName, CustomerDatePickerBegin, CustomerDatePickerEnd) .GroupBy(g => new { g.C_Name, g.I_03 }) .Select(s => new TrashCustomerShipped { C_Name = s.Key.C_Name, I_03 = s.Key.I_03, Quantity = s.Sum(item => item.Quantity) }); IEnumerable <TrashCustomerShipped> trashCustomerShippeds = string.IsNullOrEmpty(TextileName) ? trashCustomerShippedList.OrderBy(o => o.I_03) : trashCustomerShippedList.Where(w => w.I_03.Contains(TextileName)).OrderBy(o => o.I_03); IOrderedEnumerable <IGrouping <string, TrashCustomerShipped> > groupCustomerShippeds = trashCustomerShippeds .OrderByDescending(o => o.Quantity) .GroupBy(g => g.C_Name) .OrderByDescending(o => o.Select(s => s.Quantity).Sum()); ExcelContent excelContent = new ExcelContent { FileName = string.Concat(TextileName + "客戶出貨紀錄", DateTime.Now.ToString("yyyyMMdd")), ExcelSheetContents = new List <ExcelSheetContent>(), }; List <ExcelSheetContent> excelSheetContents = new List <ExcelSheetContent>(); foreach (IGrouping <string, TrashCustomerShipped> customerShippeds in groupCustomerShippeds) { ExcelSheetContent excelSheetContent = new ExcelSheetContent(); excelSheetContent.SheetName = customerShippeds.Key; excelSheetContent.ExcelColumnContents = new List <ExcelColumnContent>() { new ExcelColumnContent() { CellValue = "客戶名稱", Width = 3000 }, new ExcelColumnContent() { CellValue = "布種名稱", Width = 5200 }, new ExcelColumnContent() { CellValue = "重量", Width = 3000 } }; excelSheetContent.ExcelRowContents = new List <ExcelRowContent>(); foreach (TrashCustomerShipped customerShipped in customerShippeds) { excelSheetContent.ExcelRowContents.Add(new ExcelRowContent() { ExcelCellContents = new List <ExcelCellContent>() { new ExcelCellContent() { CellValue = customerShipped.C_Name }, new ExcelCellContent() { CellValue = customerShipped.I_03 }, new ExcelCellContent() { CellValue = customerShipped.Quantity.ToString() } } }); } excelSheetContents.Add(excelSheetContent); } var customerTotals = groupCustomerShippeds.Select(s => new { customerName = s.Key, totalQuantity = s.Sum(sum => sum.Quantity) }); ExcelSheetContent excelSheetContentTotal = new ExcelSheetContent() { SheetName = "客戶排名", ExcelColumnContents = new List <ExcelColumnContent>() { new ExcelColumnContent() { CellValue = "客戶名稱", Width = 3000 }, new ExcelColumnContent() { CellValue = "總出貨數", Width = 3000 } }, ExcelRowContents = new List <ExcelRowContent>() }; foreach (var customerTotal in customerTotals) { List <ExcelRowContent> excelRowContent = new List <ExcelRowContent>() { new ExcelRowContent() { ExcelCellContents = new List <ExcelCellContent>() { new ExcelCellContent() { CellValue = customerTotal.customerName }, new ExcelCellContent() { CellValue = customerTotal.totalQuantity.ToString() } } } }; excelSheetContentTotal.ExcelRowContents.AddRange(excelRowContent); } List <ExcelSheetContent> excelSheetContentTotals = new List <ExcelSheetContent>(); excelSheetContentTotals.Add(excelSheetContentTotal); excelContent.ExcelSheetContents.AddRange(excelSheetContentTotals); excelContent.ExcelSheetContents.AddRange(excelSheetContents); ExcelHelper excelHelper = new ExcelHelper(); IWorkbook wb = new XSSFWorkbook(); excelHelper.CreateExcelFile(wb, excelContent); }
private void ExportShippingCheckExecute() { List <StoreSearchData <StoreSearchColorDetail> > excelDailyShippedList = ExcelModule.GetExcelDailyShippedList(ShippingCheckDate); IEnumerable <TrashShipped> trashShipped = TrashModule.GetTrashShippedQuantitySum(ShippingCheckDate, ShippingCheckDate); ExternalDataHelper externalDataHelper = new ExternalDataHelper(); IEnumerable <TextileNameMapping> textileNameMappings = externalDataHelper.GetTextileNameMappings(); List <OriginalSource> trashItems = new List <OriginalSource>(); foreach (TrashShipped shipped in trashShipped) { trashItems.Add(new OriginalSource { DateTime = shipped.IN_DATE, TextileNo = shipped.I_01, TextileColorName = shipped.I_03, Weight = shipped.Quantity }); } List <Container> trashPrimary = new List <Container>(); foreach (OriginalSource trashItem in trashItems) { int priviousDistance = 10; string textileName = string.Empty; string textileColor = string.Empty; int shippedCount = 0; foreach (StoreSearchData <StoreSearchColorDetail> excelDailyShippedItem in excelDailyShippedList) { TextileNameMapping textileNameMapping = textileNameMappings.ToList().Find(f => f.Inventory.Contains(excelDailyShippedItem.TextileName)) ?? new TextileNameMapping(); foreach (StoreSearchColorDetail colorDetail in excelDailyShippedItem.StoreSearchColorDetails) { string accountMapping = textileNameMapping.Account == null ? string.Empty : textileNameMapping.Account.FirstOrDefault(); if (trashItem.TextileColorName == string.Concat(accountMapping.Split('*')[0], colorDetail.ColorName.Split('-')[0])) { textileColor = colorDetail.ColorName; textileName = excelDailyShippedItem.TextileName; priviousDistance = 0; shippedCount = colorDetail.ShippedCount; break; } } } trashPrimary.Add(new Container() { OriginalSource = trashItem, TextileName = textileName, ColorName = textileColor, ShippedCount = shippedCount, Distance = priviousDistance }); } List <Container> excelPrimary = new List <Container>(); foreach (StoreSearchData <StoreSearchColorDetail> excelDailyShippedItem in excelDailyShippedList) { var priviousDistance = 10; var textileName = string.Empty; var textileColor = string.Empty; foreach (var colorDetail in excelDailyShippedItem.StoreSearchColorDetails) { TextileNameMapping textileNameMapping = textileNameMappings.ToList().Find(f => f.Inventory.Contains(excelDailyShippedItem.TextileName)) ?? new TextileNameMapping(); OriginalSource originalSource = new OriginalSource(); foreach (var trashItem in trashItems) { string accountMapping = textileNameMapping.Account == null ? string.Empty : textileNameMapping.Account.FirstOrDefault(); if (trashItem.TextileColorName == string.Concat(accountMapping.Split('*')[0], colorDetail.ColorName.Split('-')[0])) { originalSource.DateTime = trashItem.DateTime; originalSource.TextileColorName = trashItem.TextileColorName; originalSource.Weight = trashItem.Weight; originalSource.TextileNo = trashItem.TextileNo; break; } } excelPrimary.Add(new Container() { OriginalSource = originalSource, TextileName = excelDailyShippedItem.TextileName, ColorName = colorDetail.ColorName, ShippedCount = colorDetail.ShippedCount, Distance = priviousDistance }); } } ExcelHelper excelHelper = new ExcelHelper(); IWorkbook wb = new XSSFWorkbook(); ICellStyle positionStyle = wb.CreateCellStyle(); positionStyle.WrapText = true; positionStyle.Alignment = HorizontalAlignment.Center; positionStyle.VerticalAlignment = VerticalAlignment.Center; ICellStyle estyle = wb.CreateCellStyle(); estyle.FillForegroundColor = NPOI.HSSF.Util.HSSFColor.Yellow.Index; estyle.FillPattern = FillPattern.SolidForeground; ICellStyle a2style = wb.CreateCellStyle(); a2style.FillForegroundColor = NPOI.HSSF.Util.HSSFColor.Coral.Index; a2style.FillPattern = FillPattern.SolidForeground; List <ExcelRowContent> trashPrimaryExcelRowContent = new List <ExcelRowContent>(); foreach (var item in trashPrimary.OrderByDescending(t => t.OriginalSource.TextileColorName == null).ThenBy(t => t.TextileName).ThenBy(o => o.ColorName)) { var approximateNumber = item.OriginalSource.Weight / 20; var round = Math.Round(approximateNumber, 0, MidpointRounding.AwayFromZero); var isEqual = round == item.ShippedCount; ExcelRowContent excelCellContents = new ExcelRowContent { ExcelCellContents = new List <ExcelCellContent> { new ExcelCellContent { CellValue = item.OriginalSource.TextileColorName, CellStyle = positionStyle }, new ExcelCellContent { CellValue = item.OriginalSource.Weight.ToString(), CellStyle = positionStyle }, new ExcelCellContent { CellValue = (approximateNumber).ToString(), CellStyle = positionStyle }, new ExcelCellContent { CellValue = item.TextileName, CellStyle = positionStyle }, new ExcelCellContent { CellValue = item.ColorName, CellStyle = positionStyle }, new ExcelCellContent { CellValue = item.ShippedCount.ToString(), CellStyle = isEqual ? positionStyle : estyle }, } }; trashPrimaryExcelRowContent.Add(excelCellContents); } ; List <ExcelRowContent> excelPrimaryExcelRowContent = new List <ExcelRowContent>(); foreach (var item in excelPrimary.OrderByDescending(t => t.OriginalSource.TextileColorName == null).ThenBy(t => t.TextileName).ThenBy(o => o.ColorName)) { var approximateNumber = item.OriginalSource.Weight / 20; var round = Math.Round(approximateNumber, 0, MidpointRounding.AwayFromZero); var isEqual = round == item.ShippedCount; ExcelRowContent excelCellContents = new ExcelRowContent { ExcelCellContents = new List <ExcelCellContent> { new ExcelCellContent { CellValue = item.OriginalSource.TextileColorName, CellStyle = positionStyle }, new ExcelCellContent { CellValue = item.OriginalSource.Weight.ToString(), CellStyle = positionStyle }, new ExcelCellContent { CellValue = (approximateNumber).ToString(), CellStyle = positionStyle }, new ExcelCellContent { CellValue = item.TextileName, CellStyle = positionStyle }, new ExcelCellContent { CellValue = item.ColorName, CellStyle = positionStyle }, new ExcelCellContent { CellValue = item.ShippedCount.ToString(), CellStyle = isEqual ? positionStyle : estyle } } }; excelPrimaryExcelRowContent.Add(excelCellContents); } ; ExcelContent excelContent = new ExcelContent { FileName = string.Concat("庫存對照清單", ShippingCheckDate.ToString("yyyy-MM-dd")), ExcelSheetContents = new List <ExcelSheetContent> { new ExcelSheetContent { SheetName = "Super為主", ExcelColumnContents = new List <ExcelColumnContent> { new ExcelColumnContent { CellValue = "Super布種名稱顏色", Width = 6450 }, new ExcelColumnContent { CellValue = "出貨重量", Width = 2800 }, new ExcelColumnContent { CellValue = "約略出貨數", Width = 2000 }, new ExcelColumnContent { CellValue = "布種名稱", Width = 4550 }, new ExcelColumnContent { CellValue = "顏色", Width = 5550 }, new ExcelColumnContent { CellValue = "出貨數量", Width = 1850 } }, ExcelRowContents = trashPrimaryExcelRowContent }, new ExcelSheetContent { SheetName = "Excel為主", ExcelColumnContents = new List <ExcelColumnContent> { new ExcelColumnContent { CellValue = "Super布種名稱顏色", Width = 6450 }, new ExcelColumnContent { CellValue = "出貨重量", Width = 2800 }, new ExcelColumnContent { CellValue = "約略出貨數", Width = 2000 }, new ExcelColumnContent { CellValue = "布種名稱", Width = 4550 }, new ExcelColumnContent { CellValue = "顏色", Width = 5550 }, new ExcelColumnContent { CellValue = "出貨數量", Width = 1850 } }, ExcelRowContents = excelPrimaryExcelRowContent } } }; excelHelper.CreateExcelFile(wb, excelContent); }
private void ButtonExportExecute() { _trashShippeds.AddRange(TrashModule.GetTrashShippedQuantitySum(DatePickerBegin, DatePickerEnd)); #region OleDB //string databaseDirectory = AppSettingConfig.DbfFilePath(); //string sql4 = "SELECT invosub.IN_DATE,invosub.I_01,item.I_03,SUM(invosub.QUANTITY) FROM INVOSUB.dbf invosub " + // "INNER JOIN ITEM.dbf item ON invosub.I_01 = item.I_01 AND invosub.F_01 = item.F_01 " + // "WHERE invosub.IN_DATE Between cDate('" + DatePickerBegin.ToString() + "') and cDate('" + DatePickerEnd.ToString() + "') " + // "GROUP BY invosub.IN_DATE,invosub.I_01,item.I_03 " + // "ORDER BY invosub.IN_DATE,invosub.I_01"; //DataTable dt4 = GetOleDbDbfDataTable(databaseDirectory, sql4); //DataGridInCash_Copy3.ItemsSource = dt4.DefaultView; #endregion var originalSources = new List <OriginalSource>(); foreach (var shipped in _trashShippeds) { originalSources.Add(new OriginalSource { DateTime = shipped.IN_DATE, TextileNo = shipped.I_01, TextileColorName = shipped.I_03, Weight = shipped.Quantity }); } var filterText = FilterText; var filterOriginalSources = string.IsNullOrEmpty(filterText) == true?originalSources.Select(s => s.TextileNo).Distinct() : originalSources.Where(w => w.TextileColorName.Contains(filterText)).Select(s => s.TextileNo).Distinct();; var everyDate = originalSources.Select(s => s.DateTime).Distinct(); var everyTextileNo = filterOriginalSources; var textileDatas = new List <TextileData>(); foreach (var date in everyDate) { textileDatas.Add(new TextileData { DateTime = date, TextileColors = originalSources.Where(w => w.DateTime == date).Select(s => new TextileColor { TextileNo = s.TextileNo, Weight = s.Weight, TextileColorName = s.TextileColorName }).ToList() }); } IWorkbook wb = new XSSFWorkbook(); ISheet ws = wb.CreateSheet("Report"); XSSFRow row = (XSSFRow)ws.CreateRow(0); var textileNameNumber = 1; ExcelHelper.CreateCell(row, 0, "時間", null); var priviousWeightList = new Dictionary <string, double>(); foreach (var item in everyTextileNo) { ExcelHelper.CreateCell(row, textileNameNumber, originalSources.Where(w => w.TextileNo == item).First().TextileColorName, null); priviousWeightList.Add(item, 0); textileNameNumber++; } var rowNumber = 1; var priviousYear = textileDatas.First().DateTime.ToString("yyyy"); foreach (var textiles in textileDatas) { var columnNumber = 1; XSSFRow rowTextile = (XSSFRow)ws.CreateRow(rowNumber); ExcelHelper.CreateCell(rowTextile, 0, textiles.DateTime.ToString("yyyy/MM/dd"), null); if (textiles.DateTime.ToString("yyyy") != priviousYear) { priviousYear = textiles.DateTime.ToString("yyyy"); foreach (var item in everyTextileNo) { priviousWeightList[item] = 0; } } foreach (var textileNo in everyTextileNo) { var textileData = textiles.TextileColors.Where(w => w.TextileNo == textileNo); var weight = textileData.Count() == 0 ? priviousWeightList[textileNo] : textileData.First().Weight + priviousWeightList[textileNo]; ExcelHelper.CreateCell(rowTextile, columnNumber, weight.ToString(), null); priviousWeightList[textileNo] = weight; columnNumber++; } rowNumber++; } FileStream file = new FileStream(string.Concat(AppSettingConfig.ReportsFilePath(), @"\", filterText, "報表", DatePickerBegin.ToString("yyyyMMdd"), "-", DatePickerEnd.ToString("yyyyMMdd"), ".xlsx"), FileMode.Create);//產生檔案 wb.Write(file); file.Close(); }
private void ExportToExcel() { //建立Excel 2003檔案 IWorkbook wb = new XSSFWorkbook(); ISheet ws = wb.CreateSheet("Class"); XSSFRow row = (XSSFRow)ws.CreateRow(0); row.Height = 440; ws.SetColumnWidth(0, 3000); ws.SetColumnWidth(1, 3150); ws.SetColumnWidth(2, 1700); ws.SetColumnWidth(4, 1700); ICellStyle positionStyle = wb.CreateCellStyle(); positionStyle.WrapText = true; positionStyle.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center; positionStyle.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.Center; ICellStyle greyStyle = wb.CreateCellStyle(); greyStyle.WrapText = true; greyStyle.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center; greyStyle.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.Center; greyStyle.FillForegroundColor = NPOI.HSSF.Util.HSSFColor.Grey25Percent.Index; greyStyle.FillPattern = FillPattern.SolidForeground; ICellStyle lightGreenStyle = wb.CreateCellStyle(); lightGreenStyle.WrapText = true; lightGreenStyle.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center; lightGreenStyle.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.Center; lightGreenStyle.FillForegroundColor = NPOI.HSSF.Util.HSSFColor.LightGreen.Index; lightGreenStyle.FillPattern = FillPattern.SolidForeground; ICellStyle lightTurquoiseStyle = wb.CreateCellStyle(); lightTurquoiseStyle.WrapText = true; lightTurquoiseStyle.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center; lightTurquoiseStyle.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.Center; lightTurquoiseStyle.FillForegroundColor = NPOI.HSSF.Util.HSSFColor.LightTurquoise.Index; lightTurquoiseStyle.FillPattern = FillPattern.SolidForeground; ICellStyle coralStyle = wb.CreateCellStyle(); coralStyle.WrapText = true; coralStyle.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center; coralStyle.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.Center; coralStyle.FillForegroundColor = NPOI.HSSF.Util.HSSFColor.Coral.Index; coralStyle.FillPattern = FillPattern.SolidForeground; ExcelHelper.CreateCell(row, 0, "布種", positionStyle); ExcelHelper.CreateCell(row, 1, "顏色", positionStyle); ExcelHelper.CreateCell(row, 2, "織廠", positionStyle); ExcelHelper.CreateCell(row, 3, "整理", positionStyle); ExcelHelper.CreateCell(row, 4, "出貨量", positionStyle); ExcelHelper.CreateCell(row, 5, "計算庫存量", positionStyle); ExcelHelper.CreateCell(row, 6, "時間", positionStyle); ExcelHelper.CreateCell(row, 7, "10天內", positionStyle); ExcelHelper.CreateCell(row, 8, "20天內", positionStyle); ExcelHelper.CreateCell(row, 9, "30天內", positionStyle); ExcelHelper.CreateCell(row, 10, "60天內", positionStyle); int rowIndex = 1; string textileName = string.Empty; ExternalDataHelper externalDataHelper = new ExternalDataHelper(); IEnumerable <TextileNameMapping> textileNameMappings = externalDataHelper.GetTextileNameMappings(); IEnumerable <TrashItem> trashItems = TrashModule.GetTrashItems().Where(w => w.I_03 != null).OrderBy(o => o.I_01); DateTime tenDays = DateTime.Now.Date.AddDays(-10); DateTime twentyDays = DateTime.Now.Date.AddDays(-20); DateTime thirtyDays = DateTime.Now.Date.AddDays(-30); List <TrashShipped> xtrashCustomerShippeds = TrashModule.GetTrashShippedList(DateTime.Now.AddDays(-60), DateTime.Now).ToList(); foreach (StoreData storeData in ShippingHistoryStoreDataList) { XSSFRow rowTextile = (XSSFRow)ws.CreateRow(rowIndex); ExcelHelper.CreateCell(rowTextile, 0, storeData.TextileName, positionStyle); if (!string.IsNullOrEmpty(storeData.TextileName)) { textileName = storeData.TextileName; rowIndex++; continue; } TrashItem trashItem = externalDataHelper.GetTrashItemFromInventoryMapping(trashItems, textileName, storeData.ColorName.Split('-')[0], textileNameMappings); List <TrashShipped> trashShippeds = new List <TrashShipped>(); if (trashItem != null) { trashShippeds = xtrashCustomerShippeds.Where(w => w.I_03 == trashItem.I_03).ToList(); } ExcelHelper.CreateCell(rowTextile, 1, storeData.ColorName, positionStyle); ExcelHelper.CreateCell(rowTextile, 2, storeData.FabricFactory, positionStyle); ExcelHelper.CreateCell(rowTextile, 3, storeData.ClearFactory, positionStyle); ExcelHelper.CreateCell(rowTextile, 4, storeData.ShippedCount.ToString(), positionStyle); ExcelHelper.CreateCell(rowTextile, 5, storeData.CountInventory, positionStyle); ExcelHelper.CreateCell(rowTextile, 6, storeData.CheckDate, positionStyle); ExcelHelper.CreateCell(rowTextile, 7, Math.Round(trashShippeds.Where(w => w.IN_DATE.Date >= tenDays).Sum(s => s.Quantity) / 22, 0), greyStyle); ExcelHelper.CreateCell(rowTextile, 8, Math.Round(trashShippeds.Where(w => w.IN_DATE.Date >= twentyDays).Sum(s => s.Quantity) / 22, 0), lightGreenStyle); ExcelHelper.CreateCell(rowTextile, 9, Math.Round(trashShippeds.Where(w => w.IN_DATE.Date >= thirtyDays).Sum(s => s.Quantity) / 22, 0), lightTurquoiseStyle); ExcelHelper.CreateCell(rowTextile, 10, Math.Round(trashShippeds.Sum(s => s.Quantity) / 22, 0), coralStyle); rowIndex++; } var selectedDateTime = ShippingHistoryDate == null?DateTime.Now.ToString("yyyyMMdd") : ShippingHistoryDate.ToString("yyyyMMdd"); FileStream file = new FileStream(string.Concat(AppSettingConfig.StoreSearchFilePath(), "出貨查詢", selectedDateTime, ".xlsx"), FileMode.Create);//產生檔案 wb.Write(file); file.Close(); }
public CheckBillViewModel() { TrashCustomerList = TrashModule.GetCustomerList(); ItemsViewOriginal = (CollectionView)CollectionViewSource.GetDefaultView(TrashCustomerList); }
private void ComboBoxCustomerSelectionChangedExecute() { if (priviousTrashCustomer == SelectedTrashCustomer && priviousCheckBillDate.ToString("yyyy/MM") == CheckBillDate.ToString("yyyy/MM")) { return; } if (SelectedTrashCustomer == null) { return; } ; priviousTrashCustomer = SelectedTrashCustomer; priviousCheckBillDate = CheckBillDate; List <TrashCustomerShipped> invoSubList = new List <TrashCustomerShipped>(TrashModule.GetInvoSub(CheckBillDate) .Where(w => w.C_01 == SelectedTrashCustomer.CARD_NO)); IEnumerable <AccountTextile> accountTextiles = AccountSystemModule.GetAccountTextile(); IEnumerable <CustomerTextilePrice> customerTextilePrices = AccountSystemModule.GetCustomerTextilePrice(SelectedTrashCustomer.CARD_NO); IEnumerable <CustomerCheckBillSheet> customerCheckBillSheets = AccountSystemModule.GetCheckBillSheet(accountTextiles, customerTextilePrices, invoSubList).OrderBy(o => o.IN_DATE).ThenBy(t => t.Time); CustomerCheckBillSheets = new ObservableCollection <CustomerCheckBillSheet>(customerCheckBillSheets); OnPropertyChanged("CustomerCheckBillSheets"); }