public async Task <OperacionDto <LoginRespuestaDto> > Login(LoginPeticionDto peticion) { var operacionValidacion = ValidacionUtilitario.ValidarModelo <LoginRespuestaDto>(peticion); if (!operacionValidacion.Completado) { return(operacionValidacion); } var usuario = await _usuarioRepositorio.BuscarPorUserName(peticion.UserName); if (usuario == null) { return(new OperacionDto <LoginRespuestaDto>(CodigosOperacionDto.AccesoInvalido, "Usuario o Contraseña inválida")); } if (!Md5Utilitario.Cifrar(peticion.Password, usuario.PasswordSalt).Equals(usuario.Password)) { return(new OperacionDto <LoginRespuestaDto>(CodigosOperacionDto.AccesoInvalido, "Usuario o Contraseña inválida")); } var token = $"{peticion.UserName}___{DateTime.UtcNow.ToBinary()}___HERMOZA_BIBLOMAX"; var dto = new LoginRespuestaDto() { Suceso = true, Descripcion = "Login correcto", Token = RijndaelUtilitario.EncryptRijndaelToBase64(token) }; return(new OperacionDto <LoginRespuestaDto>(dto)); }
public async Task <OperacionDto <CambiarContraseniaRespuestaDto> > CambiarContrasenia(CambiarContraseniaPeticionDto peticion) { var validaModelo = ValidacionUtilitario.ValidarModelo <CambiarContraseniaRespuestaDto>(peticion); if (!validaModelo.Completado) { return(validaModelo); } var entidad = await _usuarioRepositorio.BuscarPorId(peticion.IdUsuario); if (entidad == null) { return(new OperacionDto <CambiarContraseniaRespuestaDto>(CodigosOperacionDto.NoExiste, "Usuario no existe")); } if (!Md5Utilitario.Cifrar(peticion.Password, entidad.PasswordSalt).Equals(entidad.Password)) { return(new OperacionDto <CambiarContraseniaRespuestaDto>(CodigosOperacionDto.UsuarioIncorrecto, "Contraseña inválida")); } var password = Md5Utilitario.Cifrar(peticion.NewPassword, entidad.PasswordSalt); entidad.Password = password; await _usuarioRepositorio.EditarUsuario(entidad); return(new OperacionDto <CambiarContraseniaRespuestaDto>(new CambiarContraseniaRespuestaDto() { Mensaje = "Contraseña cambiada correctamente", Suceso = true })); }
public async Task <OperacionDto <RecuperarContraseniaRespuestaDto> > RecuperarContrasenia(RecuperarContraseniaPeticionDto peticion) { var validadModelo = ValidacionUtilitario.ValidarModelo <RecuperarContraseniaRespuestaDto>(peticion); if (!validadModelo.Completado) { return(validadModelo); } var entidad = await _usuarioRepositorio.BuscarPorUserName(peticion.UserName); if (entidad == null) { return(new OperacionDto <RecuperarContraseniaRespuestaDto>(CodigosOperacionDto.NoExiste, "Usuario no existe")); } var persona = await _personaRepositorio.ObtenerPorIdUsuario(entidad.IdUsuario); var nombreCompleto = default(string); if (persona != null) { nombreCompleto = $@"{persona.Nombre}, {persona.APaterno} {persona.AMaterno}"; } var password = RandomChars.RandomString(10); password = Regex.Replace(password, @"[^a-zA-Z0-9]", m => "9"); entidad.Password = Md5Utilitario.Cifrar(password, entidad.PasswordSalt); var html = File.ReadAllText(_appConfiguraciones.RutaTemplateRecuperarContrasenia); html = html.Replace("%%Nombre%%", nombreCompleto); html = html.Replace("%%Contrasenia%%", password); var asunto = "Nueva Contraseña"; var cuerpo = html; var destinatarios = new List <string>(); destinatarios.Add(persona.Correo); CorreoUtiliario.EnviarCorreo(asunto, destinatarios, cuerpo); await _usuarioRepositorio.EditarUsuario(entidad); return(new OperacionDto <RecuperarContraseniaRespuestaDto>(new RecuperarContraseniaRespuestaDto() { Mensaje = "Correo Enviado", Suceso = true })); }
public async Task <OperacionDto <OperacionComplejoRespuestaDto> > RegistrarComplejo(RegistrarComplejoPeticionDto peticion) { var validaModelo = ValidacionUtilitario.ValidarModelo <RegistrarComplejoPeticionDto>(peticion); if (!validaModelo.Completado) { return(new OperacionDto <OperacionComplejoRespuestaDto>(CodigosOperacionDto.CamposRequeridos, validaModelo.Mensajes)); } var entidad = await _complejoRepositorio.BuscarPorId(peticion.IdComplejo); if (entidad != null) { return(new OperacionDto <OperacionComplejoRespuestaDto>(new OperacionComplejoRespuestaDto() { Mensaje = "Error al registrar Complejo", Suceso = false })); } peticion.IdSede = RijndaelUtilitario.DecryptRijndaelFromBase64 <int>(peticion.SedeCifrado); var complejo = new Complejo() { Localidad = peticion.Localidad, Jefe = peticion.Jefe, AreaTotal = peticion.AreaTotal, IdSede = peticion.IdSede }; var valorComplejo = await _complejoRepositorio.Registro(complejo); if (valorComplejo <= 0) { return(new OperacionDto <OperacionComplejoRespuestaDto>(new OperacionComplejoRespuestaDto() { Mensaje = "Error al registrar Complejo", Suceso = false })); } return(new OperacionDto <OperacionComplejoRespuestaDto>(new OperacionComplejoRespuestaDto() { Mensaje = "Complejo registrado correctamente", Suceso = true })); }
public async Task <OperacionDto <OperacionComplejoRespuestaDto> > EditarComplejo(RegistrarComplejoPeticionDto peticion) { var validaModelo = ValidacionUtilitario.ValidarModelo <RegistrarComplejoPeticionDto>(peticion); if (!validaModelo.Completado) { return(new OperacionDto <OperacionComplejoRespuestaDto>(CodigosOperacionDto.CamposRequeridos, validaModelo.Mensajes)); } var idComplejo = RijndaelUtilitario.DecryptRijndaelFromBase64 <int>(peticion.Id); var entidad = await _complejoRepositorio.BuscarPorId(idComplejo); if (entidad == null) { return(new OperacionDto <OperacionComplejoRespuestaDto>(new OperacionComplejoRespuestaDto() { Mensaje = "Error al obtener datos de Complejo", Suceso = false })); } peticion.IdSede = RijndaelUtilitario.DecryptRijndaelFromBase64 <int>(peticion.SedeCifrado); entidad.Localidad = peticion.Localidad; entidad.Jefe = peticion.Jefe; entidad.AreaTotal = peticion.AreaTotal; entidad.IdSede = peticion.IdSede; var valorComplejo = await _complejoRepositorio.EditarComplejo(entidad); if (valorComplejo <= 0) { return(new OperacionDto <OperacionComplejoRespuestaDto>(new OperacionComplejoRespuestaDto() { Mensaje = "Error al actualizar Complejo", Suceso = false })); } return(new OperacionDto <OperacionComplejoRespuestaDto>(new OperacionComplejoRespuestaDto() { Mensaje = "Complejo actualizado correctamente", Suceso = true })); }
public async Task <OperacionDto <OperacionSedeRespuestaDto> > RegistrarSede(RegistrarSedePeticionDto peticion) { var validaModelo = ValidacionUtilitario.ValidarModelo <RegistrarSedePeticionDto>(peticion); if (!validaModelo.Completado) { return(new OperacionDto <OperacionSedeRespuestaDto>(CodigosOperacionDto.CamposRequeridos, validaModelo.Mensajes)); } var entidad = await _sedeRepositorio.BuscarPorId(peticion.IdSede); if (entidad != null) { return(new OperacionDto <OperacionSedeRespuestaDto>(new OperacionSedeRespuestaDto() { Mensaje = "Error al registrar Sede", Suceso = false })); } var sede = new Sede() { Nombre = peticion.Nombre, Ubicacion = peticion.Ubicacion, NroComplejos = peticion.NroComplejos, Presupuesto = peticion.Presupuesto }; var valorSede = await _sedeRepositorio.Registro(sede); if (valorSede <= 0) { return(new OperacionDto <OperacionSedeRespuestaDto>(new OperacionSedeRespuestaDto() { Mensaje = "Error al registrar Sede", Suceso = false })); } return(new OperacionDto <OperacionSedeRespuestaDto>(new OperacionSedeRespuestaDto() { Mensaje = "Sede registrada correctamente", Suceso = true })); }
public async Task <OperacionDto <OperacionSedeRespuestaDto> > EditarSede(RegistrarSedePeticionDto peticion) { var validaModelo = ValidacionUtilitario.ValidarModelo <RegistrarSedePeticionDto>(peticion); if (!validaModelo.Completado) { return(new OperacionDto <OperacionSedeRespuestaDto>(CodigosOperacionDto.CamposRequeridos, validaModelo.Mensajes)); } var idSede = RijndaelUtilitario.DecryptRijndaelFromBase64 <int>(peticion.Id); var entidad = await _sedeRepositorio.BuscarPorId(idSede); if (entidad == null) { return(new OperacionDto <OperacionSedeRespuestaDto>(new OperacionSedeRespuestaDto() { Mensaje = "Error al obtener datos de Sede", Suceso = false })); } entidad.Nombre = peticion.Nombre; entidad.Ubicacion = peticion.Ubicacion; entidad.NroComplejos = peticion.NroComplejos; entidad.Presupuesto = peticion.Presupuesto; var valorSede = await _sedeRepositorio.EditarSede(entidad); if (valorSede <= 0) { return(new OperacionDto <OperacionSedeRespuestaDto>(new OperacionSedeRespuestaDto() { Mensaje = "Error al actualizar Sede", Suceso = false })); } return(new OperacionDto <OperacionSedeRespuestaDto>(new OperacionSedeRespuestaDto() { Mensaje = "Sede actualizada correctamente", Suceso = true })); }
public async Task <OperacionDto <RegistrarUsuarioRespuestaDto> > RegistrarUsuario(RegistrarUsuarioPeticionDto peticion) { var validaModelo = ValidacionUtilitario.ValidarModelo <RegistrarUsuarioPeticionDto>(peticion); if (!validaModelo.Completado) { return(new OperacionDto <RegistrarUsuarioRespuestaDto>(CodigosOperacionDto.CamposRequeridos, validaModelo.Mensajes)); } //var password = RandomChars.RandomString(10); var password = peticion.Password; var passwordSalt = RijndaelUtilitario.EncryptRijndaelToBase64(password); var username = "******" + DateTime.UtcNow.Year.ToString() + RandomChars.RandomFecha(5, DateTime.UtcNow.Millisecond.ToString()); var entidad = await _usuarioRepositorio.BuscarPorUserName(username); while (entidad != null) { username = "******" + DateTime.UtcNow.Year.ToString() + RandomChars.RandomFecha(5, DateTime.UtcNow.Millisecond.ToString()); if (!entidad.Username.Equals(username)) { break; } } var usuario = new Usuario() { Username = username, Password = Md5Utilitario.Cifrar(password, passwordSalt), PasswordSalt = passwordSalt }; var valorUsuario = await _usuarioRepositorio.Registro(usuario); if (valorUsuario <= 0) { return(new OperacionDto <RegistrarUsuarioRespuestaDto>(new RegistrarUsuarioRespuestaDto() { Mensaje = "Error al crear Usuario", Suceso = false })); } var persona = new Persona() { Nombre = peticion.Nombre, APaterno = peticion.APaterno, AMaterno = peticion.AMaterno, Telefono = peticion.Telefono, Correo = peticion.Correo, FechaNacimiento = peticion.FechaNacimiento, IdUsuario = usuario.IdUsuario, Direccion = peticion.Direccion }; var valorPersona = await _personaRepositorio.Registro(persona); if (valorPersona <= 0) { return(new OperacionDto <RegistrarUsuarioRespuestaDto>(new RegistrarUsuarioRespuestaDto() { Mensaje = "Error al crear Usuario", Suceso = false })); } return(new OperacionDto <RegistrarUsuarioRespuestaDto>(new RegistrarUsuarioRespuestaDto() { Mensaje = "Usuario creado correctamente", Suceso = true })); }