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); }
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); }