public async Task <IHttpActionResult> GuardarUsuario(Seg_Usuario_InsercionDTO seg_UsuarioI) { List <Seg_Usuario> usuarios = db.Seg_Usuario.Where(X => X.Estado == true).ToList(); foreach (Seg_Usuario usuario in usuarios) { if (usuario.Usuario == seg_UsuarioI.Usuario) { return(Content(HttpStatusCode.BadRequest, "Ya existe un usuario activo con este nombre de usuario.")); } } Mapper.Initialize(cfg => cfg.CreateMap <Seg_Usuario_InsercionDTO, Seg_Usuario>()); Seg_Usuario seg_Usuario = Mapper.Map <Seg_Usuario>(seg_UsuarioI); seg_Usuario.FechaCreacion = DateTime.Now; seg_Usuario.Clave = MD5Hash(seg_UsuarioI.Clave); seg_Usuario.Estado = true; if (!ModelState.IsValid) { return(BadRequest(ModelState)); } db.Seg_Usuario.Add(seg_Usuario); await db.SaveChangesAsync(); //return CreatedAtRoute("DefaultApi", new { id = seg_Usuario.IdSegUsuario }, GetSeg_Usuario(seg_Usuario.IdSegUsuario)); return(Ok(BuscarUsuarioXID(seg_Usuario.IdSegUsuario))); }
public async Task <IHttpActionResult> DesactivarUsuario(Seg_Usuario_ModificacionDTO seg_UsuarioM) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } Seg_Usuario seg_Usuario = await db.Seg_Usuario.FindAsync(seg_UsuarioM.IdSegUsuario); seg_Usuario.Estado = false; seg_Usuario.FechaModificacion = DateTime.Now; seg_Usuario.UsuarioModificador = seg_UsuarioM.UsuarioModificador; db.Entry(seg_Usuario).State = EntityState.Modified; try { await db.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!VerificarUsuario(seg_UsuarioM.IdSegUsuario)) { return(NotFound()); } else { throw; } } return(Ok(ListarUsuario())); }
public async Task <IHttpActionResult> ModificarUsuario(int id, Seg_Usuario_ModificacionDTO seg_UsuarioM) { //var errors = ModelState.Values.SelectMany(v => v.Errors); if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != seg_UsuarioM.IdSegUsuario) { return(BadRequest()); } Seg_Usuario seg_Usuario = await db.Seg_Usuario.FindAsync(id); //seg_Usuario.Estado = seg_UsuarioM.Estado; seg_Usuario.FechaModificacion = DateTime.Now; seg_Usuario.Nombres = seg_UsuarioM.Nombres; seg_Usuario.ApellidoMaterno = seg_UsuarioM.ApellidoMaterno; seg_Usuario.ApellidoPaterno = seg_UsuarioM.ApellidoPaterno; seg_Usuario.IdSegTipoUsuario = seg_UsuarioM.IdSegTipoUsuario; seg_Usuario.UsuarioModificador = seg_UsuarioM.UsuarioModificador; if (seg_Usuario.Clave != seg_UsuarioM.Clave) { seg_Usuario.Clave = MD5Hash(seg_UsuarioM.Clave); } db.Entry(seg_Usuario).State = EntityState.Modified; try { await db.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!VerificarUsuario(id)) { return(NotFound()); } else { throw; } } //return StatusCode(HttpStatusCode.NoContent); //Seg_Usuario_ConsultaDTO resultado = GetSeg_Usuario(); //return Ok(db.Seg_Usuario); return(Ok(ListarUsuario())); }
public async Task <IHttpActionResult> Login(Seg_Usuario seg_UsuarioL) { string clave = MD5Hash(seg_UsuarioL.Clave); Seg_Usuario seg_Usuario = await db.Seg_Usuario.Where(u => u.Usuario == seg_UsuarioL.Usuario && u.Clave == clave).FirstOrDefaultAsync(); if (seg_Usuario == null) { return(NotFound()); } return(Ok(seg_Usuario)); }
public ActionResult <Seg_Usuario> GetById([FromHeader] string ibge, [FromRoute] int id) { try { ibge = _configuration.GetConnectionString(Connection.GetConnection(ibge)); Seg_Usuario user = _seguserRepository.GetSegUsuarioById(id, ibge); return(Ok(user)); } catch (System.Exception ex) { var response = TrataErro.GetResponse(ex.Message, true); return(StatusCode((int)HttpStatusCode.InternalServerError, response)); } }
public ActionResult <Seg_Usuario> GetLogin([FromBody] UserParameters model, [FromHeader] string ibge) { try { ibge = _configuration.GetConnectionString(Connection.GetConnection(ibge)); Seg_Usuario user = new Seg_Usuario(); user = _seguserRepository.GetLogin(ibge, model.login, model.senha); if (user == null) { var response = TrataErro.GetResponse("Login não encontrado! Verifique seu usuário ou senha!", true); return(StatusCode((int)HttpStatusCode.BadRequest, response)); } if (user.tipo_usuario != 1 && user.tipo_usuario != 2) { var permissao = _seguserRepository.GetPermissaoUser(ibge, (int)user.id); if (permissao == 0) { var response = TrataErro.GetResponse("O usuário informado não possui permissão de acesso.", true); return(StatusCode((int)HttpStatusCode.BadRequest, response)); } } var userinfo = new UserInfo { Email = user.email_1, Password = user.senha }; var classtoken = new Token(_configuration); var token = classtoken.BuildToken(userinfo, (int)user.id); //user.Token = token.Token; UserReturnViewModel retorno = new UserReturnViewModel(); retorno.user = user; retorno.Token = token.Token; retorno.chave_configuracao = _seguserRepository.GetConfigUsuario(ibge, (int)user.id); retorno.versao = new Versionamento { versao = Helper.GetVersao }; return(Ok(retorno)); } catch (System.Exception ex) { var response = TrataErro.GetResponse(ex.Message, true); return(StatusCode((int)HttpStatusCode.InternalServerError, response)); } }
public ActionResult EditarUser([FromHeader] string ibge, [FromBody] Seg_Usuario model, [FromRoute] int id) { try { ibge = _configuration.GetConnectionString(Connection.GetConnection(ibge)); model.id = id; _seguserRepository.UpdatetUser(ibge, model); return(Ok(model)); } catch (System.Exception ex) { var response = TrataErro.GetResponse(ex.Message, true); return(StatusCode((int)HttpStatusCode.InternalServerError, response)); } }
public ActionResult RecuperarSenha([FromBody] UserParameters model, [FromHeader] string ibge) { try { ibge = _configuration.GetConnectionString(Connection.GetConnection(ibge)); Seg_Usuario user = _seguserRepository.GetTelefoneByUser(ibge, model.login); if (user == null) { return(BadRequest(TrataErro.GetResponse("Não há cadastro de usuário que possua este login!", true))); } //grava a nova senha provisória var senhaprovisoria = Helper.GerarSenhaProvisoria(); var senhacriptografada = Helper.GerarHashMd5(senhaprovisoria).ToUpper(); _seguserRepository.AtualizarSenhaProvisoria(ibge, (int)user.id, senhacriptografada); string telefone = string.Empty; if (string.IsNullOrWhiteSpace(user.telefone_1) && string.IsNullOrWhiteSpace(user.telefone_2)) { return(BadRequest(TrataErro.GetResponse("Telefone inválido ou faltando, favor entrar em contato com Suporte Técnico para recuperar senha.", true))); } else if (!string.IsNullOrWhiteSpace(user.telefone_1)) { telefone = user.telefone_1; } else if (!string.IsNullOrWhiteSpace(user.telefone_2)) { telefone = user.telefone_2; } //envia sms de nova senha de usuário var texto = $@"A nova senha de acesso para o usuário {user.nome} é: {senhaprovisoria}"; var smsmodel = new Services.ViewModels.SmsViewModel(); smsmodel.mensagem = texto; smsmodel.numero = Helper.RemoveCaracteresTelefone(telefone); Services.EnvioSms.RecuperarSenha.SmsContato(smsmodel); return(Ok()); } catch (System.Exception ex) { var response = TrataErro.GetResponse(ex.Message, true); return(StatusCode((int)HttpStatusCode.InternalServerError, response)); } }
public void UpdatetUser(string ibge, Seg_Usuario model) { try { Helpers.HelperConnection.ExecuteCommand(ibge, conn => conn.Execute(_segusercommand.Update, new { @login = model.login, @senha = model.senha, @nome = model.nome, @administrador = model.administrador, @csi_id_ultima_versao = model.csi_id_ultima_versao, @csi_exibir_versao = model.csi_exibir_versao, @timeout = model.timeout, @status = model.status, @id_grupo = model.id_grupo, @email_1 = model.email_1, @email_2 = model.email_2, @telefone_1 = model.telefone_1, @telefone_2 = model.telefone_2, @layout_consulta = model.layout_consulta, @data_alteracao_serv = model.data_alteracao_serv, @senha_nao_expira = model.senha_nao_expira, @usa_tablet = model.usa_tablet, @uuid_usuario = model.uuid_usuario, @possui_certificado_digital = model.possui_certificado_digital, @chave_privada = model.chave_privada, @acessar_app_indicador = model.acessar_app_indicador, @email_3 = model.email_3, @tipo_usuario = model.tipo_usuario, @id = model.id })); } catch (Exception ex) { throw ex; } }
public UserReturnViewModel() { user = new Seg_Usuario(); chave_configuracao = new Configuracao_Usuario(); versao = new Versionamento(); }