Пример #1
0
        public ActionResult Edit(NewNominaViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                var nomina = viewModel.Nomina;

                // Get each record in the DB
                var nominaInDb    = db.Nomina.Single(n => n.Codigo_Nomina == nomina.Codigo_Nomina);
                var afpInDb       = db.Retencion.Single(r => r.Codigo_Retencion == viewModel.Afp.Codigo_Retencion);
                var sfsInDb       = db.Retencion.Single(r => r.Codigo_Retencion == viewModel.Sfs.Codigo_Retencion);
                var isrInDb       = db.Retencion.Single(r => r.Codigo_Retencion == viewModel.Isr.Codigo_Retencion);
                var seguroMedInDb = db.Retencion.Single(r => r.Codigo_Retencion == viewModel.SeguroMedico.Codigo_Retencion);

                // Modify records in DB accordingly
                nominaInDb.Sueldo         = nomina.Sueldo;
                nominaInDb.Bonificaciones = viewModel.Nomina.Bonificaciones;
                nominaInDb.Horas_Extras   = viewModel.Nomina.Horas_Extras;
                afpInDb.Cantidad          = viewModel.Afp.Cantidad;
                sfsInDb.Cantidad          = viewModel.Sfs.Cantidad;
                isrInDb.Cantidad          = viewModel.Isr.Cantidad;
                seguroMedInDb.Cantidad    = viewModel.SeguroMedico.Cantidad;

                // Save changes
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(viewModel));
        }
Пример #2
0
        public ActionResult Create()
        {
            // Initialize a ViewModel
            var viewModel = new NewNominaViewModel
            {
                Nomina       = new Nomina(),
                Afp          = new Retencion(),
                Sfs          = new Retencion(),
                Isr          = new Retencion(),
                SeguroMedico = new Retencion()
            };

            // Init Nomina's Fecha to current Month and Year, with Day set to the 31st
            viewModel.Nomina.Fecha = new DateTime(DateTime.Today.Year, DateTime.Today.Month, 28);

            // Make a list of empleados to populate a Dropdown List in the View
            var empleados = db.Empleado.AsEnumerable().Select(e => new
            {
                e.Codigo_Empleado,
                Empleado = $"{e.Codigo_Empleado}: {e.Nombre} {e.Apellido}"
            }).ToList();

            // Set the list of empleados in a ViewBag (subject to change to a model prop)
            ViewBag.Codigo_Empleado = new SelectList(empleados, "Codigo_Empleado", "Empleado");

            return(View(viewModel));
        }
Пример #3
0
        public ActionResult Create(NewNominaViewModel viewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View(viewModel));
            }

            try
            {
                // Initialize Nomina with posted values
                // Set each Retencion's Nombre accordingly
                var nomina = new Nomina(viewModel.Nomina.Sueldo, viewModel.Nomina.Bonificaciones,
                                        viewModel.Nomina.Horas_Extras, viewModel.Nomina.Codigo_Empleado, viewModel.Nomina.Fecha)
                {
                    Retencion = new List <Retencion>
                    {
                        new Retencion
                        {
                            Cantidad = viewModel.Afp.Cantidad,
                            Nombre   = "AFP"
                        },
                        new Retencion
                        {
                            Cantidad = viewModel.Sfs.Cantidad,
                            Nombre   = "SFS"
                        },
                        new Retencion
                        {
                            Cantidad = viewModel.Isr.Cantidad,
                            Nombre   = "ISR"
                        },
                        new Retencion
                        {
                            Cantidad = viewModel.SeguroMedico.Cantidad,
                            Nombre   = "Seguro Medico"
                        },
                    }
                };

                db.Nomina.Add(nomina);
                db.SaveChanges();
            }
            catch (DataException)
            {
                ModelState.AddModelError("", "Unable to save changes. Try again, and if the problem persists, see your system administrator.");
            }

            return(RedirectToAction("Index"));

            //ViewBag.Codigo_Empleado = new SelectList(db.Empleado, "Codigo_Empleado", "Nombre", nomina.Codigo_Empleado);
            //return View(viewModel);
        }
Пример #4
0
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            Nomina nomina = db.Nomina.Find(id);

            if (nomina == null)
            {
                return(HttpNotFound());
            }

            // Initialize a ViewModel with the Nomina from DB
            var viewModel = new NewNominaViewModel
            {
                Nomina = nomina
            };

            // Set ViewModels Retenciones based on the values from DB (nombre)
            foreach (var retencion in nomina.Retencion)
            {
                if (retencion.Nombre == "AFP")
                {
                    viewModel.Afp = retencion;
                }
                else if (retencion.Nombre == "SFS")
                {
                    viewModel.Sfs = retencion;
                }
                else if (retencion.Nombre == "ISR")
                {
                    viewModel.Isr = retencion;
                }
                else if (retencion.Nombre == "Seguro Medico")
                {
                    viewModel.SeguroMedico = retencion;
                }
            }

            return(View(viewModel));
        }