private static void addOrderToSalespersonOrderList(SalesOrderV2 currentOrder, string salesperson) { if (!salespersonOrderListDict.ContainsKey(salesperson)) { salespersonOrderListDict.Add(salesperson, new List <SalesOrderV2>()); } salespersonOrderListDict[salesperson].Add(currentOrder); if (salespersonSupervisorDict.ContainsKey(salesperson) && salespersonSupervisorDict[salesperson] != "") { addOrderToSalespersonOrderList(currentOrder, salespersonSupervisorDict[salesperson]); } }
public static int loadSalesPersonOrderList(string orderFilePath) { salespersonOrderListDict = new Dictionary <string, List <SalesOrderV2> >(); List <List <string> > orderSheet = ExcelParser.GetExcelSheetRows(orderFilePath, SalesOrderV2.excelSheetName); Dictionary <string, int> headerIndexDict = new Dictionary <string, int>(); int rowCount = -1; foreach (List <string> row in orderSheet) { if (row.Count() < 3) { continue; } //read headers if (rowCount < 0) { int columnCount = 0; foreach (string c in row) { headerIndexDict.Add(c, columnCount); columnCount++; } rowCount++; continue; } //process each record SalesOrderV2 currentOrder = new SalesOrderV2(row[headerIndexDict[SalesOrderV2.OrderNumberHeader]], row[headerIndexDict[SalesOrderV2.PatientNameHeader]], row[headerIndexDict[SalesOrderV2.CancerTypeHeader]], row[headerIndexDict[SalesOrderV2.CheckupTypeHeader]], row[headerIndexDict[SalesOrderV2.OrderDateHeader]].Split('T')[0], row[headerIndexDict[SalesOrderV2.CurrentStateHeader]], row[headerIndexDict[SalesOrderV2.ReportDateHeader]].Split('T')[0], row[headerIndexDict[SalesOrderV2.HospitalHeader]], row[headerIndexDict[SalesOrderV2.DepartmentHeader]], row[headerIndexDict[SalesOrderV2.DoctorNameHeader]], row[headerIndexDict[SalesOrderV2.SalespersonHeader]], row[headerIndexDict[SalesOrderV2.PaymentStatusHeader]], row[headerIndexDict[SalesOrderV2.CityHeader]], row[headerIndexDict[SalesOrderV2.ProvinceHeader]]); if (row[headerIndexDict[SalesOrderV2.SalespersonHeader]] == "") { continue; } else { addOrderToSalespersonOrderList(currentOrder, currentOrder.Salesperson); rowCount++; } } return(rowCount); }