public void DashboardDados(EntitiesRelatorio obj) { relatorios = new ModelRelatorios(); relatorios.GraficoCategorias(obj); relatorios.GraficoProdutos(obj); relatorios.DashBoardDados(obj); relatorios.GraficoVendas(obj); }
public void createSalesOrderReport(DateTime fromDate, DateTime toDate) { //implement dates reportDate = DateTime.Now; startDate = fromDate; endDate = toDate; //create seles listing relatorios = new ModelRelatorios(); var result = relatorios.Vendas(fromDate, toDate); saleList = new List <SaleListing>(); foreach (DataRow row in result.Rows) { var salesModel = new SaleListing() { ID_Venda = Convert.ToInt32(row[0]), DT_Venda = Convert.ToDateTime(row[1]), NM_Cliente = Convert.ToString(row[2]), NM_Funcionario = Convert.ToString(row[3]), NM_Produto = Convert.ToString(row[4]), VL_Total = Convert.ToString(row[5]), VL_TotalD = Convert.ToDouble(row[5]), VL_Custo = Convert.ToString(row[6]), }; saleList.Add(salesModel); // calculate total net sales totalNetSales += Convert.ToDouble(row[5]); } //create net sales by period //create temp list net sales by date var listSalesByDate = (from sales in saleList group sales by sales.DT_Venda into listSales select new { date = listSales.Key, amount = listSales.Sum(item => item.VL_TotalD) }).AsEnumerable(); int totalDays = Convert.ToInt32((toDate - fromDate).Days); //group period by days if (totalDays <= 7) { netSaleByPeriod = (from sales in listSalesByDate group sales by sales.date.ToString("dd-MMM-yyyy") into listSales select new NetSaleByPeriod { periodo = listSales.Key, netSales = listSales.Sum(item => item.amount) }).ToList(); } //group period by week else if (totalDays <= 30) { netSaleByPeriod = (from sales in listSalesByDate group sales by System.Globalization.CultureInfo.CurrentCulture.Calendar.GetWeekOfYear( sales.date, System.Globalization.CalendarWeekRule.FirstDay, DayOfWeek.Monday) into listSales select new NetSaleByPeriod { periodo = "Semana " + listSales.Key.ToString(), netSales = listSales.Sum(item => item.amount) }).ToList(); } //group period by months else if (totalDays <= 365) { netSaleByPeriod = (from sales in listSalesByDate group sales by sales.date.ToString("MMM-yyyy") into listSales select new NetSaleByPeriod { periodo = listSales.Key, netSales = listSales.Sum(item => item.amount) }).ToList(); } //group period by years else { netSaleByPeriod = (from sales in listSalesByDate group sales by sales.date.ToString("yyyy") into listSales select new NetSaleByPeriod { periodo = listSales.Key, netSales = listSales.Sum(item => item.amount) }).ToList(); } }