public ActionResult ObtenerKardexCombustible(PagingInfo paginacion, string ANIO = null, string MES = null)
        {
            //string mes, anio;
            try
            {


                if (ANIO == null && MES == null)
                {
                    //DateTime fecha = DateTime.Now;
                    MES = DateTime.Now.ToString("MM");
                    ANIO = DateTime.Now.ToString("yyyy");
                }
                string date = string.Format("01/{0}/{1}", MES, ANIO);
                //"01/08/2008";
                DateTime dt = Convert.ToDateTime(date);
                _serKcm.SP_ActualizarKardex(dt, 0);
                List<KardexCombustibleModel> listas = new List<KardexCombustibleModel>();
                var kardex = _serKcm.ObtenerKardexCombustible(MES, ANIO);
                var grupo = kardex.GroupBy(x => x.FECHA);
                var diesel = kardex.Where(x => x.SG_COMBUSTIBLES.NOMBRE == "DIESEL").OrderBy(x => x.FECHA);
                //diesel.Where(x=>x.)
                var gasolina = kardex.Where(x => x.SG_COMBUSTIBLES.NOMBRE == "GASOLINA").OrderBy(x => x.FECHA);
                foreach (var item in grupo)
                {
                    KardexCombustibleModel venDia = new KardexCombustibleModel
                    {
                        FECHA = item.Key,
                        //SALDO_INICIAL_DIE = diesel.where(y=>y.FECHA == item.Key).fi
                    };
                    var die = diesel.Where(x => x.FECHA == item.Key).FirstOrDefault();
                    var gas = gasolina.Where(x => x.FECHA == item.Key).FirstOrDefault();
                    venDia.SALDO_INICIAL_DIE = die.SALDO_INICIAL;
                    venDia.COMPRAS_DIE = (decimal)die.COMPRAS;
                    venDia.VENTAS_DIE = (decimal)die.VENTAS;
                    venDia.AJUSTES_DIE = (decimal)die.AJUSTES;
                    venDia.ACUMULADO_DIE = (decimal)die.ACUMULADOS;

                    venDia.VENTAS_GAS = (decimal)gas.VENTAS;
                    venDia.COMPRAS_GAS = (decimal)gas.COMPRAS;
                    venDia.AJUSTES_GAS = (decimal)gas.AJUSTES;
                    venDia.SALDO_INICIAL_GAS = gas.SALDO_INICIAL;
                    venDia.ACUMULADO_GAS = (decimal)gas.ACUMULADOS;
                    listas.Add(venDia);
                }
                listas = listas.OrderBy(x => x.FECHA).ToList();
                listas.Add(new KardexCombustibleModel()
                {
                    COMPRAS_DIE = listas.Sum(x => x.COMPRAS_DIE),
                    VENTAS_DIE = listas.Sum(x => x.VENTAS_DIE),
                    AJUSTES_DIE = listas.Sum(x => x.AJUSTES_DIE),
                    COMPRAS_GAS = listas.Sum(x => x.COMPRAS_GAS),
                    VENTAS_GAS = listas.Sum(x => x.VENTAS_GAS),
                    AJUSTES_GAS = listas.Sum(x => x.AJUSTES_GAS)

                });
                JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer();
                string callback1 = paginacion.callback + "(" + javaScriptSerializer.Serialize(new { Rows = listas, Total = paginacion.total }) + ");";
                return JavaScript(callback1);
            }
            catch (Exception)
            {

                throw;
            }

        }
示例#2
0
 public IEnumerable<KardexCombustibleModel> ReporteTanques(string ANIO = null, string MES = null)
 {
     List<KardexCombustibleModel> result = new List<KardexCombustibleModel>();
     if (ANIO == null && MES == null)
     {
         //DateTime fecha = DateTime.Now;
         MES = DateTime.Now.ToString("MM");
         ANIO = DateTime.Now.ToString("yyyy");
     }
     string date = string.Format("01/{0}/{1}", MES, ANIO);
     //"01/08/2008";
     DateTime dt = Convert.ToDateTime(date);
     var _serKcm = new KardexCombustibleServices();
     var kardex = _serKcm.ObtenerKardexCombustible(MES, ANIO);
     var grupo = kardex.GroupBy(x => x.FECHA);
     var diesel = kardex.Where(x => x.SG_COMBUSTIBLES.NOMBRE == "DIESEL").OrderBy(x => x.FECHA);
     //diesel.Where(x=>x.)
     var gasolina = kardex.Where(x => x.SG_COMBUSTIBLES.NOMBRE == "GASOLINA").OrderBy(x => x.FECHA);
     foreach (var item in grupo)
     {
         KardexCombustibleModel venDia = new KardexCombustibleModel
         {
             FECHA = item.Key,
             //SALDO_INICIAL_DIE = diesel.where(y=>y.FECHA == item.Key).fi
         };
         venDia.MES = ObtenerMesEspanol(item.Key.Month);
         var die = diesel.Where(x => x.FECHA == item.Key).FirstOrDefault();
         var gas = gasolina.Where(x => x.FECHA == item.Key).FirstOrDefault();
         venDia.SALDO_INICIAL_DIE = die.SALDO_INICIAL;
         venDia.COMPRAS_DIE = (decimal)die.COMPRAS;
         venDia.VENTAS_DIE = (decimal)die.VENTAS;
         venDia.AJUSTES_DIE = (decimal)die.AJUSTES;
         venDia.ACUMULADO_DIE = (decimal)die.ACUMULADOS;
         
         venDia.VENTAS_GAS = (decimal)gas.VENTAS;
         venDia.COMPRAS_GAS = (decimal)gas.COMPRAS;
         venDia.SALDO_INICIAL_GAS = gas.SALDO_INICIAL;
         venDia.ACUMULADO_GAS = (decimal)gas.ACUMULADOS;
         venDia.AJUSTES_GAS = (decimal)gas.AJUSTES;
         result.Add(venDia);
     }
     result = result.OrderBy(x => x.FECHA).ToList();
     return result;
 }