예제 #1
0
        public IActionResult Editar(PersonaLicencia personaLicencia)
        {
            if (_contextAccessor.HttpContext.User.Identity.IsAuthenticated)
            {
                if (_licenciaRepository.ValidarFechasLicencia(personaLicencia))
                {
                    personaLicencia.CodigoUsuario = _contextAccessor.HttpContext.User.Identity.Name;
                    var resultado = _licenciaRepository.RegistrarLicencia(personaLicencia);
                    if (resultado != 0)
                    {
                        TempData["TipoMensaje"] = "success";
                        TempData["Mensaje"]     = "Guardado correctamente";
                        return(RedirectToAction("Crear", "Licencia"));
                    }

                    TempData["TipoMensaje"] = "error";
                    TempData["Mensaje"]     = "Ocurrió un error al guardar";
                    return(RedirectToAction("Crear", "Licencia"));
                }
                TempData["TipoMensaje"] = "error";
                TempData["Mensaje"]     = "Las fechas de expedicion y vencimientos estan registradas en otra licencia";
                return(RedirectToAction("Crear", "Licencia"));
            }
            return(RedirectToAction("Login", "Usuario"));
        }
예제 #2
0
 public int RegistrarLicencia(PersonaLicencia personaLicencia)
 {
     if (personaLicencia.IdLicenciaPersona != 0)
     {
         _db.Attach(personaLicencia);
         _db.Entry(personaLicencia).Property(p => p.CodigoLicencia).IsModified  = true;
         _db.Entry(personaLicencia).Property(p => p.FechaRenovacion).IsModified = true;
         _db.Entry(personaLicencia).Property(p => p.FechaInicio).IsModified     = true;
         _db.Entry(personaLicencia).Property(p => p.FechaFin).IsModified        = true;
     }
     else
     {
         personaLicencia.IdLicenciaPersona = _db.PersonaLicencia
                                             .Where(p => p.IdPersona == personaLicencia.IdPersona)
                                             .Select(p => p.IdLicenciaPersona)
                                             .DefaultIfEmpty(0)
                                             .Max()
                                             + 1;
         personaLicencia.FechaUsuario = DateTime.Now;
         personaLicencia.Estacion     = Environment.MachineName;
         personaLicencia.IpEstacion   = Utilidad.ObtenerIpv4();
         personaLicencia.IdEmpresa    = 1;
         _db.PersonaLicencia.Add(personaLicencia);
     }
     return(_db.SaveChanges());
 }
예제 #3
0
        public bool ValidarFechasLicencia(PersonaLicencia personaLicencia)
        {
            var x = _db.PersonaLicencia
                    .Where(p => p.IdPersona == personaLicencia.IdPersona)
                    .Where(p => personaLicencia.FechaInicio.Date > p.FechaInicio.Date && personaLicencia.FechaInicio.Date < p.FechaFin.Date)
                    .Count();

            var y = _db.PersonaLicencia
                    .Where(p => p.IdPersona == personaLicencia.IdPersona)
                    .Where(p => personaLicencia.FechaFin.Date > p.FechaInicio.Date && personaLicencia.FechaFin.Date < p.FechaFin.Date)
                    .Count();

            return(!(x + y > 0));
        }