public ActionResult SearchData(PerformanceComercialViewModel fr) { DateTime fechaInicial = Convert.ToDateTime(fr.MesDesde.ToString() + "-" + "01-" + fr.AnoDesde.ToString(), CultureInfo.InvariantCulture); DateTime fechaFinal = Convert.ToDateTime(fr.MesHasta.ToString() + "-" + "01-" + fr.AnoHasta.ToString(), CultureInfo.InvariantCulture); PerformanceComercialResultViewModel resultViewModel = new PerformanceComercialResultViewModel(); if (fr.SelectedConsultorIds != null && fechaInicial <= fechaFinal) { resultViewModel.ListRelatorio = new List <RelatorioViewModel>(); int diferenciaMeses = Common.MonthDifference(fechaFinal, fechaInicial); foreach (string consultor in fr.SelectedConsultorIds) { RelatorioViewModel relatorioViewModel = new RelatorioViewModel(); relatorioViewModel.ListGanancia = new List <GananciaViewModel>(); relatorioViewModel.Consultor = _gananciaLogica.ObtenerNombreConsulto(consultor); var i = 0; while (i <= diferenciaMeses) { DateTimeFormatInfo mfi = new DateTimeFormatInfo(); string strMonthName = mfi.GetMonthName(fechaInicial.AddMonths(i).Month).ToString(); GananciaViewModel gananciaViewModel = new GananciaViewModel(); gananciaViewModel.Periodo = strMonthName + " del " + fechaInicial.AddMonths(i).Year.ToString(); gananciaViewModel.ReceitaLiquida = _gananciaLogica.CalcularReceitaLiquidaPorMes(fechaInicial.AddMonths(i), consultor); gananciaViewModel.CustoFixo = _gananciaLogica.CalcularCustoFixo(consultor); gananciaViewModel.Comissao = _gananciaLogica.CalcularComissaoPorMes(fechaInicial.AddMonths(i), consultor); gananciaViewModel.Lucro = gananciaViewModel.ReceitaLiquida - (gananciaViewModel.CustoFixo + gananciaViewModel.Comissao); if (gananciaViewModel.ReceitaLiquida != 0) { relatorioViewModel.ListGanancia.Add(gananciaViewModel); } i++; } if (relatorioViewModel.ListGanancia.Count() > 0) { resultViewModel.ListRelatorio.Add(relatorioViewModel); } } } return(PartialView("_Result", resultViewModel)); }
public JsonResult PizzaGrafico(PerformanceComercialViewModel fr) { List <PizzaViewModel> resultViewModel = new List <PizzaViewModel>(); DateTime fechaInicial = Convert.ToDateTime(fr.MesDesde.ToString() + "-" + "01-" + fr.AnoDesde.ToString(), CultureInfo.InvariantCulture); DateTime fechaFinal = Convert.ToDateTime(fr.MesHasta.ToString() + "-" + "01-" + fr.AnoHasta.ToString(), CultureInfo.InvariantCulture); if (fr.SelectedConsultorIds != null && fechaInicial <= fechaFinal) { int diferenciaMeses = Common.MonthDifference(fechaFinal, fechaInicial); foreach (string consultor in fr.SelectedConsultorIds) { PizzaViewModel pizzaViewModel = new PizzaViewModel(); RelatorioViewModel relatorioViewModel = new RelatorioViewModel(); relatorioViewModel.ListGanancia = new List <GananciaViewModel>(); pizzaViewModel.Consultor = _gananciaLogica.ObtenerNombreConsulto(consultor); var i = 0; while (i <= diferenciaMeses) { DateTimeFormatInfo mfi = new DateTimeFormatInfo(); string strMonthName = mfi.GetMonthName(fechaInicial.AddMonths(i).Month).ToString(); GananciaViewModel gananciaViewModel = new GananciaViewModel(); gananciaViewModel.Periodo = strMonthName + " del " + fechaInicial.AddMonths(i).Year.ToString(); gananciaViewModel.ReceitaLiquida = _gananciaLogica.CalcularReceitaLiquidaPorMes(fechaInicial.AddMonths(i), consultor); if (gananciaViewModel.ReceitaLiquida != 0) { relatorioViewModel.ListGanancia.Add(gananciaViewModel); } i++; } pizzaViewModel.Percentagem = int.Parse(Math.Round(relatorioViewModel.ListGanancia.Sum(g => g.ReceitaLiquida)).ToString()); resultViewModel.Add(pizzaViewModel); } } return(Json(resultViewModel, JsonRequestBehavior.AllowGet)); }