Exemple #1
0
        public bool ReSendConfirmationEmail([FromBody] ResendEmailViewModel model)
        {
            if (!model.IsValid())
            {
                return(false);
            }
            model.Trim();
            model.Correo = model.Correo.ToUpper();

            var oldregistries = _dbContext.Registros.Where(x => x.Usuario.Correo.ToUpper() == model.Correo);

            if (oldregistries != null)
            {
                _dbContext.RemoveRange(oldregistries);
                _dbContext.SaveChanges();
            }

            var user = _dbContext.Usuarios.FirstOrDefault(x => x.Correo.ToUpper() == model.Correo);

            if (user is null)
            {
                return(false);
            }

            var register = new Registro(user);

            _dbContext.Registros.Add(register);
            _dbContext.SaveChanges();

            _mail.SendConfirmationMail(user.Correo, $"{user.Nombre} {user.Apellidos}", register.Token);

            return(true);
        }
Exemple #2
0
        public bool Update([FromBody] AspirantViewModel model)
        {
            if (model is null || !model.IsValid())
            {
                return(false);
            }
            model.Trim();

            bool exists = _dbContext.Candidatos.Any(x => x.Estado == Estado.Activo && (x.Cedula.ToUpper() == model.Cedula.ToUpper() || x.Correo.ToUpper() == model.Correo.ToUpper()) && x.CandidatoId != model.CandidatoId);

            if (exists)
            {
                return(false);
            }

            var item = _dbContext.Candidatos.Include(x => x.Usuario)
                       .Include(x => x.Competencias)
                       .Include(x => x.Idiomas)
                       .Include(x => x.Capacitaciones)
                       .Include(x => x.ExperienciasLaboral)
                       .FirstOrDefault(x => x.CandidatoId == model.CandidatoId);
            var asp = model.ToCandidato();

            item.Cedula         = asp.Cedula;
            item.Nombre         = asp.Nombre;
            item.Apellidos      = asp.Apellidos;
            item.Telefono       = asp.Telefono;
            item.Correo         = asp.Correo;
            item.SalarioAspira  = asp.SalarioAspira;
            item.RecomendadoPor = asp.RecomendadoPor;
            item.Puesto         = _dbContext.Puestos.Include(x => x.Departamento).FirstOrDefault(x => x.PuestoId == asp.Puesto.PuestoId);
            if (asp.Usuario?.UsuarioId > 0)
            {
                item.Usuario = _dbContext.Usuarios.FirstOrDefault(x => x.UsuarioId == asp.Usuario.UsuarioId);
            }
            item.Estado = asp.Estado;

            if (item.Competencias != null)
            {
                _dbContext.RemoveRange(item.Competencias);
            }
            if (item.Capacitaciones != null)
            {
                _dbContext.RemoveRange(item.Capacitaciones);
            }
            if (item.ExperienciasLaboral != null)
            {
                _dbContext.RemoveRange(item.ExperienciasLaboral);
            }
            if (item.Idiomas != null)
            {
                _dbContext.RemoveRange(item.Idiomas);
            }

            item.Competencias        = asp.Competencias;
            item.Capacitaciones      = asp.Capacitaciones;
            item.ExperienciasLaboral = asp.ExperienciasLaboral;
            item.Idiomas             = asp.Idiomas;

            // Update the user basic info too.
            if (item.Usuario != null)
            {
                item.Usuario.Nombre        = item.Nombre;
                item.Usuario.Apellidos     = item.Apellidos;
                item.Usuario.Telefono      = item.Telefono;
                item.Usuario.NombreUsuario = item.Usuario.Correo = item.Correo;
                item.Usuario.Cedula        = item.Cedula;
            }

            _dbContext.Update(item);
            _dbContext.SaveChanges();

            return(true);
        }