// public List<List<string>> GetBusinessOrderReports() // { // var businessOrders = BusinessOrdersData.GetBusinessOrders(); // var stops = BusinessOrdersData.GetStops(); // List<string> reasons = stops.Select(p => p.Reason).Distinct().OrderBy(p => p).ToList(); // var headers = new List<string>(); // headers.Add("İş Emri"); // headers.AddRange(reasons); // headers.Add("Toplam"); // List<List<string>> table = new List<List<string>>(); // table.Add(headers); // List<double> reasonTotal = new List<double>(); // foreach (var reason in reasons) // { // reasonTotal.Add(0); // } // foreach (var businessOrder in businessOrders) // { // var stopsForBusinessOrder = GetStopsByTime(stops, businessOrder.StartTime, businessOrder.EndTime); // var row = new List<string>(); // row.Add(businessOrder.Id.ToString()); // int i = 0; // foreach (var reason in reasons) // { // double value = stopsForBusinessOrder.Where(p => p.Key == reason).Select(p => p.Value) // .FirstOrDefault(); // row.Add(((int)value).ToString()); // reasonTotal[i++] += value; // } // var sum = stopsForBusinessOrder.Select(p => p.Value).Sum(); // row.Add(sum.ToString()); // table.Add(row); // } // var total = new List<string>(); // total.Add("Toplam"); // int j = 0; // foreach (var reason in reasons) // { // total.Add(reasonTotal[j++].ToString()); // } // total.Add(reasonTotal.Sum().ToString()); // table.Add(total); // return table; // } public DataTable GetBusinessOrderReportsDataTable() { DataTable table = new DataTable(); table.Columns.Add("İş Emri"); var stops = BusinessOrdersData.GetStops(); List <string> reasons = stops.Select(p => p.Reason).Distinct().OrderBy(p => p).ToList(); List <double> reasonTotal = new List <double>(); foreach (var reason in reasons) { table.Columns.Add(reason); reasonTotal.Add(0); } table.Columns.Add("Toplam"); var businessOrders = BusinessOrdersData.GetBusinessOrders(); foreach (var businessOrder in businessOrders) { var stopsForBusinessOrder = GetStopsByTime(stops, businessOrder.StartTime, businessOrder.EndTime); var row = new List <string>(); row.Add(businessOrder.Id.ToString()); int i = 0; foreach (var reason in reasons) { double value = stopsForBusinessOrder.Where(p => p.Key == reason).Select(p => p.Value) .FirstOrDefault(); row.Add(((int)value).ToString()); reasonTotal[i++] += value; } var sum = stopsForBusinessOrder.Select(p => p.Value).Sum(); row.Add(sum.ToString()); table.Rows.Add(row.ToArray()); } var total = new List <string>(); total.Add("Toplam"); int j = 0; foreach (var reason in reasons) { total.Add(reasonTotal[j++].ToString()); } total.Add(reasonTotal.Sum().ToString()); table.Rows.Add(total.ToArray()); return(table); }
public BusinessOrdersServiceTest() { businessOrders = BusinessOrdersData.GetBusinessOrders(); stops = BusinessOrdersData.GetStops(); }