Example #1
0
        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)));
        }
Example #2
0
        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()));
        }
Example #3
0
        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()));
        }
Example #4
0
        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));
        }
Example #5
0
 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));
     }
 }
Example #6
0
        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));
            }
        }
Example #7
0
 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));
     }
 }
Example #8
0
        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));
            }
        }
Example #9
0
 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;
     }
 }
Example #10
0
 public UserReturnViewModel()
 {
     user = new Seg_Usuario();
     chave_configuracao = new Configuracao_Usuario();
     versao             = new Versionamento();
 }