示例#1
0
        public async Task <IActionResult> Create([Bind("ModeloProyeccionId,Fecha,ModVentasNetas,ModCostosVentas,ModGastosAdmin,ModGastosVentas,ModGastosOperativos,ModOtrosGastos")] ModeloProyeccion modeloProyeccion)
        {
            if (ModelState.IsValid)
            {
                _context.Add(modeloProyeccion);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(modeloProyeccion));
        }
 public async Task <IActionResult> Create([Bind("HistorialERId,Fecha,VentasNetas,CostosVentas,GastosAdmin,GastosVentas,GastosOperativos,OtrosGastos,Utilidad,IR,UtilidadNeta")] HistorialER historialER)
 {
     if (ModelState.IsValid)
     {
         ModeloProyeccion modproyeccion;
         //TODO:Primero Ingresar un ModeloPRoyeccion de 0.0%
         if (_context.ModeloProyeccion.Count() == 0)
         {
             modproyeccion = new ModeloProyeccion {
                 Fecha               = DateTime.Today,
                 ModVentasNetas      = Convert.ToDecimal(0.00),
                 ModCostosVentas     = Convert.ToDecimal(0.00),
                 ModGastosAdmin      = Convert.ToDecimal(0.00),
                 ModGastosVentas     = Convert.ToDecimal(0.00),
                 ModGastosOperativos = Convert.ToDecimal(0.00),
                 ModOtrosGastos      = Convert.ToDecimal(0.00),
                 ModUtilidad         = Convert.ToDecimal(0.00),
                 ModIR               = Convert.ToDecimal(0.00),
                 ModUtilidadNeta     = Convert.ToDecimal(0.00),
                 HistotialesER       = new List <HistorialER>
                 {
                     historialER
                 }
             };
             _context.Add(modproyeccion);
             _context.SaveChanges();
         }
         else
         {
             var modelo  = _context.ModeloProyeccion.Include(a => a.HistotialesER).FirstOrDefault(a => a.ModeloProyeccionId == 1);
             var firstEr = modelo.HistotialesER.FirstOrDefault(a => a.HistorialERId == 1);
             //modelo.ModVentasNetas = firstEr.VentasNetas;
             //modelo.ModCostosVentas = firstEr.CostosVentas;
             //modelo.ModGastosAdmin = firstEr.GastosAdmin;
             //modelo.ModGastosVentas = firstEr.GastosVentas;
             //modelo.ModGastosOperativos = firstEr.GastosOperativos;
             //modelo.ModOtrosGastos = firstEr.OtrosGastos;
             //modelo.ModUtilidad = firstEr.Utilidad;
             //modelo.ModIR = firstEr.IR;
             //modelo.ModUtilidadNeta = firstEr.UtilidadNeta;
             modelo.HistotialesER.Add(historialER);
             List <HistorialER> lister = modelo.HistotialesER.Where(a => a.HistorialERId != 1).ToList();
             foreach (var item in lister)
             {
                 modelo.ModVentasNetas      = Convert.ToDecimal(Math.Round((item.VentasNetas / firstEr.VentasNetas), 2));
                 modelo.ModCostosVentas     = Convert.ToDecimal(Math.Round((item.CostosVentas / firstEr.CostosVentas), 2));
                 modelo.ModGastosAdmin      = Convert.ToDecimal(Math.Round((item.GastosAdmin / firstEr.GastosAdmin), 2));
                 modelo.ModGastosVentas     = Convert.ToDecimal(Math.Round((item.GastosVentas / firstEr.GastosVentas), 2));
                 modelo.ModGastosOperativos = Convert.ToDecimal(Math.Round((item.GastosOperativos / firstEr.GastosOperativos), 2));
                 modelo.ModOtrosGastos      = Convert.ToDecimal(Math.Round((item.OtrosGastos / firstEr.OtrosGastos), 2));
                 modelo.ModUtilidad         = Convert.ToDecimal(Math.Round((item.Utilidad / firstEr.Utilidad), 2));
                 modelo.ModIR           = Convert.ToDecimal(Math.Round((item.IR / firstEr.IR), 2));
                 modelo.ModUtilidadNeta = Convert.ToDecimal(Math.Round((item.UtilidadNeta / firstEr.UtilidadNeta), 2));
             }
             _context.Update(modelo);
             await _context.SaveChangesAsync();
         }
         return(RedirectToAction(nameof(Index)));
     }
     return(View(historialER));
 }