private void DevinePriceWork() { double currentConsume = consumeMonth; for (double i = 1; i <= rankElectricWorkList.Count; i++) { var E = (rankElectricWork)rankElectricWorkList[i]; double moneyEachRank = E.Price * E.quantityAllowed; if (currentConsume < moneyEachRank) { E.usedPrice = currentConsume; currentConsume = 0; rankElectricWorkList[i] = E; break; } else { currentConsume -= moneyEachRank; E.usedPrice = moneyEachRank; rankElectricWorkList[i] = E; } } double index = rankElectricWorkList.Count; rankElectricWork El = (rankElectricWork)rankElectricWorkList[index]; El.usedPrice += currentConsume; rankElectricWorkList[index] = El; }
private void ReadDataExcel(int index) { try { rankE = null; soGioNangHashtable.Clear(); rankE = new SortedList <object, rankElectricWork>(); string path = @Properties.Settings.Default.pathDataExcel; using (ExcelPackage MaNS = new ExcelPackage(new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))) { ExcelWorksheet workSheet = MaNS.Workbook.Worksheets[0]; for (int i = workSheet.Dimension.Start.Row + 1; i <= workSheet.Dimension.End.Row; i++) { soGioNangHashtable.Add(workSheet.Cells[i, 2].Value, workSheet.Cells[i, 3].Value); } workSheet = MaNS.Workbook.Worksheets[index]; switch (index) { case 1: { for (int i = workSheet.Dimension.Start.Row + 1; i <= workSheet.Dimension.End.Row; i++) { rankElectricWork E = new rankElectricWork(); E.Price = (double)workSheet.Cells[i, 2].Value; E.quantityAllowed = (double)workSheet.Cells[i, 3].Value; rankE.Add(workSheet.Cells[i, 1].Value, E); // rankElectricWorkPrice.Add(, ); // rankElectricWorkCount.Add(workSheet.Cells[i, 1].Value, ); normalConsume = new NormalConsume() { rankElectricWorkList = rankE }; } break; } default: for (int i = workSheet.Dimension.Start.Row + 1; i <= workSheet.Dimension.End.Row; i++) { rankElectricWork E = new rankElectricWork(); E.Price = (double)workSheet.Cells[i, 2].Value; rankE.Add(workSheet.Cells[i, 1].Value, E); // rankElectricWorkPrice.Add(, ); // rankElectricWorkCount.Add(workSheet.Cells[i, 1].Value, ); normalConsume = new NormalConsume() { rankElectricWorkList = rankE }; } break; } // normalConsume = new NormalConsume(700, 3100, 1000) // normalConsume = new NormalConsume(5000000) // { // rankElectricWorkList = rankE // }; } khuvucComboBox.ItemsSource = soGioNangHashtable.Keys; } catch (Exception ex) { MessageBox.Show(ex.ToString(), "Error", MessageBoxButton.OK, MessageBoxImage.Error); throw; } }