Example #1
0
        public IEnumerable<UtilidadVentaBruta> ReporteUtilidadVentaEstimada(string ANIO = null, string MES = null)
        {
            List<UtilidadVentaBruta> result = new List<UtilidadVentaBruta>();
            UtilidadVentaBruta result1 = new UtilidadVentaBruta()
            {
                EXC_DIESEL_VALORADO = 0,
                EXC_GASOLINA_VALORADO = 0,
                PER_DIESEL_VALORADO = 0,
                PER_GASOLINA_VALORADO = 0,
                EXC_DIESEL_FISICO = 0,
                EXC_GASOLINA_FISICO = 0,
                PER_DIESEL_FISICO = 0,
                PER_GASOLINA_FISICO = 0

            };
            var puntosVentaService = new PosTurnosServices();
            var comprasService = new ComprasServices();
            var ventas = puntosVentaService.ObtenerPosTurnosPorFecha(ANIO, MES);
            var compras = comprasService.ObtenerComprasPaginado(null, ANIO, MES);
            decimal? totalegresoGas = 0;
            decimal? totalcostoegresoGas = 0;
            decimal? totalegresoDie = 0;
            decimal? totalcostoegresoDie = 0;
            foreach (var item in compras)
            {
                if (item.ID_COMBUSTIBLE == 1)
                {
                    totalegresoGas = totalegresoGas + item.CANTIDAD;
                    totalcostoegresoGas = totalcostoegresoGas + (item.CANTIDAD * item.PRECIO);

                }
                else
                {
                    totalegresoDie = totalegresoDie + item.CANTIDAD;
                    totalcostoegresoDie = totalcostoegresoDie + (item.CANTIDAD * item.PRECIO);
                }
            }
            result1.EGR_GASOLINA_FISICO = (decimal)totalegresoGas;
            result1.EGR_DIESEL_FISICO = (decimal)totalegresoDie;
            result1.EGR_DIESEL_VALORADO = (decimal)totalcostoegresoDie;
            result1.EGR_GASOLINA_VALORADO = (decimal)totalcostoegresoGas;

            var totales = ventas.GroupBy(x => new { x.FECHA, x.SG_POS.ID_COMBUSTIBLE }).Select(y => new { FECHA = y.Key.FECHA, ID_COMBUSTIBLE = y.Key.ID_COMBUSTIBLE, TOTALVENTA = y.Sum(x => x.TOTAL_VENTA), TOTALCOSTO = y.Sum(x => x.TOTAL_COSTO), TOTAL_CANTIDAD = y.Sum(x => x.TOTAL) });
            decimal? totalventaGas = 0;
            decimal? totalCantidadGas = 0;
            decimal? totalventaDie = 0;
            decimal? totalCantidadDie = 0;
            foreach (var item in totales)
            {
                if (item.ID_COMBUSTIBLE == 1)
                {
                    totalventaGas = totalventaGas + item.TOTALVENTA;
                    totalCantidadGas = totalCantidadGas + item.TOTAL_CANTIDAD;

                }
                else
                {
                    totalventaDie = totalventaDie + item.TOTALVENTA;
                    totalCantidadDie = totalCantidadDie + item.TOTAL_CANTIDAD;
                }

            }
            result1.ING_DIESEL_FISICO = (decimal)totalCantidadDie;
            result1.ING_GASOLINA_FISICO = (decimal)totalCantidadGas;
            result1.ING_DIESEL_VALORADO = (decimal)totalventaDie;
            result1.ING_GASOLINA_VALORADO = (decimal)totalventaGas;
            result.Add(result1);
            return result;
        }
Example #2
0
        public IEnumerable<UtilidadVentaBruta> ReporteUtilidadVentaBruta(string ANIO = null, string MES = null)
        {
            List<UtilidadVentaBruta> result = new List<UtilidadVentaBruta>();
            UtilidadVentaBruta result1 = new UtilidadVentaBruta()
            {
                ING_DIESEL_VALORADO = 1284385.28m,
                ING_GASOLINA_VALORADO = 605709.08m,
                EGR_DIESEL_VALORADO = 1222237.60m,
                EGR_GASOLINA_VALORADO = 570079.14m,
                EXC_DIESEL_VALORADO = 0,
                EXC_GASOLINA_VALORADO = 0,
                PER_DIESEL_VALORADO = 0,
                PER_GASOLINA_VALORADO = 0,
                ING_DIESEL_FISICO = 345264.86m,
                ING_GASOLINA_FISICO = 161954.30m,
                EGR_DIESEL_FISICO = 345264.86m,
                EGR_GASOLINA_FISICO = 161954.30m,
                EXC_DIESEL_FISICO = 0,
                EXC_GASOLINA_FISICO = 0,
                PER_DIESEL_FISICO = 0,
                PER_GASOLINA_FISICO = 0

            };
            var puntosVentaService = new PosTurnosServices();
            var ventas = puntosVentaService.ObtenerPosTurnosPorFecha(ANIO, MES);
            var totales = ventas.GroupBy(x => new { x.FECHA, x.SG_POS.ID_COMBUSTIBLE }).Select(y => new { FECHA = y.Key.FECHA, ID_COMBUSTIBLE = y.Key.ID_COMBUSTIBLE, TOTALVENTA = y.Sum(x => x.TOTAL_VENTA), TOTALCOSTO = y.Sum(x => x.TOTAL_COSTO), TOTAL_CANTIDAD = y.Sum(x => x.TOTAL) });
            decimal? totalventaGas = 0;
            decimal? totalcostoGas = 0;
            decimal? totalCantidadGas = 0;
            decimal? totalventaDie = 0;
            decimal? totalCantidadDie = 0;
            decimal? totalcostoDie = 0;
            foreach (var item in totales)
            {
                if (item.ID_COMBUSTIBLE == 1)
                {
                    totalventaGas = totalventaGas + item.TOTALVENTA;
                    totalCantidadGas = totalCantidadGas + item.TOTAL_CANTIDAD;
                    totalcostoGas = totalcostoGas + item.TOTALCOSTO;

                }
                else
                {
                    totalventaDie = totalventaDie + item.TOTALVENTA;
                    totalCantidadDie = totalCantidadDie + item.TOTAL_CANTIDAD;
                    totalcostoDie = totalcostoDie + item.TOTALCOSTO;
                }

            }
            result1.ING_DIESEL_FISICO = (decimal)totalCantidadDie;
            result1.ING_GASOLINA_FISICO = (decimal)totalCantidadGas;
            result1.ING_DIESEL_VALORADO = (decimal)totalventaDie;
            result1.ING_GASOLINA_VALORADO = (decimal)totalventaGas;
            result1.EGR_GASOLINA_FISICO = (decimal)totalCantidadGas;
            result1.EGR_DIESEL_FISICO = (decimal)totalCantidadDie;
            result1.EGR_DIESEL_VALORADO = (decimal)totalcostoDie;
            result1.EGR_GASOLINA_VALORADO = (decimal)totalcostoGas;
            //result1.ING_DIESEL_FISICO
            result.Add(result1);
            return result;
        }