public GenericResponse <TrabajadorDto> Login(LoginModel usuario) { GenericResponse <TrabajadorDto> response = new GenericResponse <TrabajadorDto>(); try { TrabajadorDto trabajador = servicio.Login(new TrabajadorDto { Usuario = usuario.Usuario, Contrasenia = usuario.Contrasenia }); if (trabajador != null) { trabajador.Token = JwtUtil.CrearToken(trabajador.Id, trabajador.Usuario, trabajador.Roles); TrabajadorDto data = trabajador; response.Data = data; response.Codigo = 200; // OK response.Error = false; response.Mensaje = "OK"; } else { throw new CustomResponseException("Credenciales incorrectas", 403); } } catch (CustomResponseException ex) { throw ex; } catch (Exception ex) { throw new CustomResponseException(ex.Message, 500); } return(response); }
public void Crear(TrabajadorDto trabajador) { string hash = BCrypt.Net.BCrypt.HashPassword(trabajador.Contrasenia, 10); trabajador.Contrasenia = hash; repositorio.Crear(TrabajadorMapper.ToTrabajador(trabajador)); }
public IActionResult NullUserId([FromBody] TrabajadorDto trabajadorDto, int id) { var t = context.Trabajadores.Find(id); t.UserId = null; context.Update(t); context.SaveChanges(); return(Ok()); }
public IActionResult PUT([FromBody] TrabajadorDto trabajadorDto, int id) { var sexo = new Sexo(); string fecha = ""; DateTime fechaNac = new DateTime(); IFormatProvider culture = new System.Globalization.CultureInfo("en-US", true); if (ModelState.IsValid) { var t = context.Trabajadores.Find(id); if (t != null) { t.Nombre = trabajadorDto.Nombre; t.Apellidos = trabajadorDto.Apellidos; t.Direccion = trabajadorDto.Direccion; t.Correo = trabajadorDto.Correo; t.MunicipioId = trabajadorDto.MunicipioId; t.TelefonoMovil = trabajadorDto.TelefonoMovil; t.TelefonoFijo = trabajadorDto.TelefonoFijo; //Cambio del sexo y fecha Nacimiento en caso de que cambie el CI if (t.CI != trabajadorDto.CI) { if (trabajadorDto.CI != null) { var sexoCI = int.Parse(trabajadorDto.CI.Substring(9, 1)); if (sexoCI % 2 == 0) { sexo = Sexo.M; } else { sexo = Sexo.F; } var siglo = int.Parse(trabajadorDto.CI.Substring(6, 1)); if (siglo >= 0 && siglo <= 5) { fecha = "19" + trabajadorDto.CI.Substring(0, 6); } if (siglo >= 6 && siglo <= 8) { fecha = "20" + trabajadorDto.CI.Substring(0, 6); } t.Sexo = sexo; fechaNac = DateTime.ParseExact(fecha, "yyyyMMdd", culture); t.Fecha_Nac = fechaNac; } } t.CI = trabajadorDto.CI; context.Update(t); } return(NotFound()); } return(BadRequest(ModelState)); }
public void Actualizar(TrabajadorDto trabajador) { Trabajador trabajadorActual = repositorio.BuscarPorId(trabajador.Id); trabajadorActual.Nombre = (trabajador.Nombre != null && trabajador.Nombre.Trim() != "") ? trabajador.Nombre : trabajadorActual.Nombre; trabajadorActual.Apellido = (trabajador.Apellido != null && trabajador.Apellido.Trim() != "") ? trabajador.Apellido : trabajadorActual.Apellido; trabajadorActual.Telefono = (trabajador.Telefono != null && trabajador.Telefono.Trim() != "") ? trabajador.Telefono : trabajadorActual.Telefono; trabajadorActual.Dni = (trabajador.Dni != null && trabajador.Dni.Trim() != "") ? trabajador.Dni : trabajadorActual.Dni; trabajadorActual.Email = (trabajador.Email != null && trabajador.Email.Trim() != "") ? trabajador.Email : trabajadorActual.Email; trabajadorActual.Direccion = (trabajador.Direccion != null && trabajador.Direccion.Trim() != "") ? trabajador.Direccion : trabajadorActual.Direccion; trabajadorActual.Sexo = (trabajador.Sexo != null && trabajador.Sexo.Trim() != "") ? trabajador.Sexo : trabajadorActual.Sexo; trabajadorActual.Usuario = (trabajador.Usuario != null && trabajador.Usuario.Trim() != "") ? trabajador.Usuario : trabajadorActual.Usuario; trabajadorActual.Roles = (trabajador.Roles != null && trabajador.Roles.Count() > 0) ? RolMapper.ToRoles(trabajador.Roles) : trabajadorActual.Roles; if (trabajador.Contrasenia != null && trabajador.Contrasenia.Trim() != "") { string hash = BCrypt.Net.BCrypt.HashPassword(trabajador.Contrasenia, 10); trabajadorActual.Contrasenia = hash; } else { Trabajador trabActual = repositorio.BuscarPorId(trabajador.Id); trabajador.Contrasenia = trabActual.Contrasenia; //trabajador.Nombre = (trabajador.Nombre == null || trabajador.Nombre == "") ? trabActual.Nombre : trabajador.Nombre; } repositorio.Actualizar(trabajadorActual); }
public GenericResponse <String> Post([FromBody] TrabajadorDto trabajador) { GenericResponse <String> response = new GenericResponse <String>(); try { servicio.Crear(trabajador); response = ResponseUtil.CrearRespuestaOk(dataMsg: "El trabajador se creó satisfactoriamente"); } catch (Exception ex) { throw new CustomResponseException(ex.Message, 500); } return(response); }
public GenericResponse <String> Put(int id, [FromBody] TrabajadorDto trabajador) { GenericResponse <String> response = new GenericResponse <String>(); try { trabajador.Id = id; servicio.Actualizar(trabajador); response = ResponseUtil.CrearRespuestaOk(dataMsg: "El trabajador se actualizado satisfactoriamente"); } catch (Exception ex) { throw new CustomResponseException(ex.Message, 500); } return(response); }
public GenericResponse <TrabajadorDto> Get(int id) { GenericResponse <TrabajadorDto> response = new GenericResponse <TrabajadorDto>(); try { TrabajadorDto data = servicio.BuscarPorId(id); response.Data = data; response.Codigo = 200; // OK response.Error = false; response.Mensaje = "OK"; } catch (Exception ex) { throw new CustomResponseException(ex.Message, 500); } return(response); }
public TrabajadorDto Login(TrabajadorDto usuario) { // Chequeo contraseña Trabajador trabajador = repositorio.Login(usuario.Usuario); if (trabajador == null) { return(null); } bool contraseniaOk = BCrypt.Net.BCrypt.Verify(usuario.Contrasenia, trabajador.Contrasenia); if (!contraseniaOk) { return(null); } return(TrabajadorMapper.ToTrabajadorDto(trabajador)); }
public GenericResponse <String> EditarCuenta([FromBody] TrabajadorDto trabajador) { JwtDecodeModel model = (JwtDecodeModel)Thread.CurrentPrincipal; GenericResponse <String> response = new GenericResponse <String>(); try { trabajador.Id = model.Id; trabajador.Roles = null; servicio.Actualizar(trabajador); response = ResponseUtil.CrearRespuestaOk(dataMsg: "El trabajador se actualizado satisfactoriamente"); } catch (Exception ex) { throw new CustomResponseException(ex.Message, 500); } return(response); }
public static Trabajador ToTrabajador(TrabajadorDto dto) { if (dto == null) { return(null); } return(new Trabajador { Id = dto.Id, Nombre = dto.Nombre, Apellido = dto.Apellido, Direccion = dto.Direccion, Dni = dto.Dni, Email = dto.Email, Sexo = dto.Sexo, Telefono = dto.Telefono, Usuario = dto.Usuario, Roles = RolMapper.ToRoles(dto.Roles), Contrasenia = dto.Contrasenia, Activo = dto.Activo }); }
public IActionResult POST([FromBody] TrabajadorDto trabajadorDto) { if (ModelState.IsValid) { var trab = context.Trabajadores.FirstOrDefault(s => s.CI == trabajadorDto.CI); if (trab != null) { if (trab.EstadoTrabajador == EstadoTrabajador.Descartado) { return(BadRequest($"El trabajador ya está en el sistema y fue descartado de la bolsa")); } return(BadRequest($"El trabajador ya está en el sistema")); } else { // Saber sexo y fecha de cumpleaños por el CI var sexo = new Sexo(); string fecha = ""; DateTime fechaNac = new DateTime(); IFormatProvider culture = new System.Globalization.CultureInfo("en-US", true); if (trabajadorDto.CI != null) { var sexoCI = int.Parse(trabajadorDto.CI.Substring(9, 1)); if (sexoCI % 2 == 0) { sexo = Sexo.M; } else { sexo = Sexo.F; } var siglo = int.Parse(trabajadorDto.CI.Substring(6, 1)); if (siglo >= 0 && siglo <= 5) { fecha = "19" + trabajadorDto.CI.Substring(0, 6); } if (siglo >= 6 && siglo <= 8) { fecha = "20" + trabajadorDto.CI.Substring(0, 6); } fechaNac = DateTime.ParseExact(fecha, "yyyyMMdd", culture); } //Crear Trabajadores var trabajador = new Trabajador() { Nombre = trabajadorDto.Nombre, Apellidos = trabajadorDto.Apellidos, CI = trabajadorDto.CI, Sexo = sexo, Direccion = trabajadorDto.Direccion, Correo = trabajadorDto.Correo, TelefonoMovil = trabajadorDto.TelefonoMovil, TelefonoFijo = trabajadorDto.TelefonoFijo, EstadoTrabajador = EstadoTrabajador.Bolsa, Fecha_Nac = fechaNac, }; context.Trabajadores.Add(trabajador); context.SaveChanges(); } } return(BadRequest(ModelState)); }