Example #1
0
        // 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();
 }