Пример #1
0
        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));
        }
Пример #2
0
        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));
        }