Esempio n. 1
0
        public ActionResult AddEditTrabajador(Int32?TrabajadorId)
        {
            AddEditTrabajadorViewModel ViewModel = new AddEditTrabajadorViewModel();

            ViewModel.TrabajadorId = TrabajadorId;
            ViewModel.Fill(CargarDatosContext());
            return(View(ViewModel));
        }
Esempio n. 2
0
        public ActionResult AddEditTrabajador(AddEditTrabajadorViewModel ViewModel)
        {
            if (!ModelState.IsValid)
            {
                ViewModel.Fill(CargarDatosContext());
                TryUpdateModel(ViewModel);
                PostMessage(MessageType.Error);
                return(View(ViewModel));
            }

            if (ViewModel.FotoFile != null)
            {
                string extension = Path.GetExtension(ViewModel.FotoFile.FileName).ToLower();
                if (extension != ".jpg" && extension != ".jpeg")
                {
                    ViewModel.Fill(CargarDatosContext());
                    TryUpdateModel(ViewModel);
                    PostMessage(MessageType.Info, "Solo se aceptan los formatos de imagen .jpg y .jpeg");
                    return(View(ViewModel));
                }
            }



            try
            {
                using (var transaction = new TransactionScope())
                {
                    if (ViewModel.TrabajadorId.HasValue)
                    {
                        Trabajador trabajador = context.Trabajador.FirstOrDefault(x => x.TrabajadorId == ViewModel.TrabajadorId.Value);
                        trabajador.Nombres   = ViewModel.Nombres;
                        trabajador.Apellidos = ViewModel.Apellidos;
                        if (ViewModel.AFP != 0)
                        {
                            trabajador.AFPId = ViewModel.AFP;
                        }
                        else
                        {
                            trabajador.AFPId = null;
                        }
                        trabajador.DNI             = ViewModel.DNI;
                        trabajador.FechaNacimiento = ViewModel.FechaNacimiento.ToDateTime();

                        if (ViewModel.FotoFile != null)
                        {
                            string ruta = Path.Combine(Server.MapPath("~/Resources/Fotos"), Path.GetFileNameWithoutExtension(ViewModel.FotoFile.FileName) + Path.GetExtension(ViewModel.FotoFile.FileName));
                            trabajador.Foto = Path.GetFileName(ViewModel.FotoFile.FileName);
                            if (!System.IO.Directory.Exists(Path.Combine(Server.MapPath("~/Resources/Fotos"))))
                            {
                                Directory.CreateDirectory(Path.Combine(Server.MapPath("~/Resources/Fotos")));
                            }
                            ViewModel.FotoFile.SaveAs(ruta);

                            ruta = Path.Combine(Server.MapPath("~/Resources/Files"), Path.GetFileNameWithoutExtension(ViewModel.FotoFile.FileName) + Path.GetExtension(ViewModel.FotoFile.FileName));

                            ViewModel.FotoFile.SaveAs(ruta);
                        }


                        if (ViewModel.AntecedenteFile != null)
                        {
                            string nombre = Guid.NewGuid().ToString().Substring(0, 6) + Path.GetExtension(ViewModel.AntecedenteFile.FileName);
                            string ruta   = Path.Combine(Server.MapPath("~/Resources/Files"), nombre);
                            trabajador.AntecedentesPoliciales = nombre;
                            if (!System.IO.Directory.Exists(Path.Combine(Server.MapPath("~/Resources/Files"))))
                            {
                                Directory.CreateDirectory(Path.Combine(Server.MapPath("~/Resources/Files")));
                            }
                            ViewModel.AntecedenteFile.SaveAs(ruta);
                        }

                        if (ViewModel.PartidaFile != null)
                        {
                            string nombre = Guid.NewGuid().ToString().Substring(0, 6) + Path.GetExtension(ViewModel.PartidaFile.FileName);

                            string ruta = Path.Combine(Server.MapPath("~/Resources/Files"), nombre);
                            trabajador.PartidaNacimiento = nombre;
                            if (!System.IO.Directory.Exists(Path.Combine(Server.MapPath("~/Resources/Files"))))
                            {
                                Directory.CreateDirectory(Path.Combine(Server.MapPath("~/Resources/Files")));
                            }
                            ViewModel.PartidaFile.SaveAs(ruta);
                        }

                        trabajador.Cargo      = ViewModel.Cargo;
                        trabajador.CUSSP      = "";
                        trabajador.EdificioId = ViewModel.EdificioId;
                        if (ViewModel.Comision.HasValue)
                        {
                            trabajador.Comision = 0;
                        }
                        trabajador.FechaIngreso     = ViewModel.FechaIngreso;
                        trabajador.Modalidad        = "";
                        trabajador.SueldoBase       = 0;
                        trabajador.MontoHoras25     = 0;
                        trabajador.MontoHoras35     = 0;
                        trabajador.MontoFeriado     = 0;
                        trabajador.AdelantoQuincena = 0;
                        trabajador.ComisionFlujo    = "";

                        context.Entry(trabajador).State = System.Data.Entity.EntityState.Modified;
                    }
                    else
                    {
                        DetalleQuincena detalle = new DetalleQuincena();
                        detalle.BonoPorMovilidad = true;
                        detalle.Bonificacion     = true;
                        detalle.Seguro           = true;
                        detalle.TotalQuincena    = true;
                        context.DetalleQuincena.Add(detalle);
                        context.SaveChanges();

                        DetalleMensualidad detalleMensualidad = new DetalleMensualidad();
                        detalleMensualidad.CTS     = true;
                        detalleMensualidad.Essalud = true;
                        context.DetalleMensualidad.Add(detalleMensualidad);
                        context.SaveChanges();


                        Trabajador trabajador = new Trabajador();
                        trabajador.EdificioId = ViewModel.EdificioId;
                        trabajador.Estado     = ConstantHelpers.EstadoActivo;
                        trabajador.Nombres    = ViewModel.Nombres;
                        trabajador.Apellidos  = ViewModel.Apellidos;
                        if (ViewModel.AFP != 0)
                        {
                            trabajador.AFPId = ViewModel.AFP;
                        }
                        else
                        {
                            trabajador.AFPId = null;
                        }
                        trabajador.EdificioId      = ViewModel.EdificioId;
                        trabajador.DNI             = ViewModel.DNI;
                        trabajador.FechaNacimiento = ViewModel.FechaNacimiento.ToDateTime();

                        if (ViewModel.FotoFile != null)
                        {
                            string ruta = Path.Combine(Server.MapPath("~/Resources/Fotos"), Path.GetFileNameWithoutExtension(ViewModel.FotoFile.FileName) + Path.GetExtension(ViewModel.FotoFile.FileName));
                            trabajador.Foto = Path.GetFileName(ViewModel.FotoFile.FileName);
                            if (!System.IO.Directory.Exists(Path.Combine(Server.MapPath("~/Resources/Fotos"))))
                            {
                                Directory.CreateDirectory(Path.Combine(Server.MapPath("~/Resources/Fotos")));
                            }
                            ViewModel.FotoFile.SaveAs(ruta);
                        }

                        if (ViewModel.AntecedenteFile != null)
                        {
                            string ruta = Path.Combine(Server.MapPath("~/Resources/Files"), Path.GetFileNameWithoutExtension(ViewModel.AntecedenteFile.FileName) + Path.GetExtension(ViewModel.AntecedenteFile.FileName));
                            trabajador.AntecedentesPoliciales = Path.GetFileName(ViewModel.AntecedenteFile.FileName);
                            if (!System.IO.Directory.Exists(Path.Combine(Server.MapPath("~/Resources/Files"))))
                            {
                                Directory.CreateDirectory(Path.Combine(Server.MapPath("~/Resources/Files")));
                            }
                            ViewModel.AntecedenteFile.SaveAs(ruta);
                        }

                        if (ViewModel.PartidaFile != null)
                        {
                            string ruta = Path.Combine(Server.MapPath("~/Resources/Files"), Path.GetFileNameWithoutExtension(ViewModel.PartidaFile.FileName) + Path.GetExtension(ViewModel.PartidaFile.FileName));
                            trabajador.PartidaNacimiento = Path.GetFileName(ViewModel.PartidaFile.FileName);
                            if (!System.IO.Directory.Exists(Path.Combine(Server.MapPath("~/Resources/Files"))))
                            {
                                Directory.CreateDirectory(Path.Combine(Server.MapPath("~/Resources/Files")));
                            }
                            ViewModel.PartidaFile.SaveAs(ruta);
                        }

                        trabajador.Cargo = ViewModel.Cargo;
                        trabajador.CUSSP = ViewModel.CUSSP;
                        if (ViewModel.Comision.HasValue)
                        {
                            trabajador.Comision = ViewModel.Comision.ToDecimal();
                        }
                        trabajador.FechaIngreso         = ViewModel.FechaIngreso;
                        trabajador.Modalidad            = "REG";
                        trabajador.SueldoBase           = 0;
                        trabajador.MontoHoras25         = ViewModel.MontoHoras25.ToDecimal();
                        trabajador.MontoHoras35         = ViewModel.MontoHoras35.ToDecimal();
                        trabajador.MontoFeriado         = ViewModel.MontoFeriado.ToDecimal();
                        trabajador.AdelantoQuincena     = null;
                        trabajador.ComisionFlujo        = "REG";
                        trabajador.DetalleQuincenaId    = null;
                        trabajador.DetalleMensualidadId = null;
                        context.Trabajador.Add(trabajador);
                    }
                    context.SaveChanges();
                    transaction.Complete();
                    PostMessage(MessageType.Success);
                }
            }
            catch
            {
                InvalidarContext();
                PostMessage(MessageType.Error);
            }
            return(RedirectToAction("LstTrabajadorAdmin"));
        }