Beispiel #1
0
        public HttpResponseMessage Delete([FromBody] DeletarUsuarioDTO data)
        {
            try
            {
                //Recupera usuário da API
                CFG_UsuarioAPI entityUsuarioAPI = CFG_UsuarioAPIBO.SelecionaPorUsername(Util.ReturnCredentialUserName(Request));

                return(Usuario.Delete(data, entityUsuarioAPI, Request));
            }
            catch (Exception ex)
            {
                Util.GravarErro(ex);
                return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex.Message));
            }
        }
Beispiel #2
0
        /// <summary>
        /// Método utilizado via Web API para deleção de um usuário
        /// </summary>
        /// <param name="data">Parametros de entrada: Id Entidade, login, senha</param>
        /// <param name="entityUsuarioAPI">Usuário da API usado para gravar log de ação</param>
        public static HttpResponseMessage Delete(DeletarUsuarioDTO data, CFG_UsuarioAPI entityUsuarioAPI, HttpRequestMessage request)
        {
            try
            {
                //Verifica se todos os dados vieram
                if (data.ent_id == Guid.Empty || string.IsNullOrWhiteSpace(data.usu_login) || string.IsNullOrWhiteSpace(data.senha))
                {
                    return(request.CreateErrorResponse(HttpStatusCode.BadRequest, "Todos os campos são obrigatórios."));
                }

                SYS_Usuario entity = new SYS_Usuario
                {
                    ent_id    = data.ent_id,
                    usu_login = data.usu_login
                };

                SYS_UsuarioBO.GetSelectBy_ent_id_usu_login(entity);

                //Validação de usuário padrão do sistema
                if (entity.usu_situacao == (byte)SYS_UsuarioBO.eSituacao.Padrao_Sistema)
                {
                    return(request.CreateErrorResponse(HttpStatusCode.BadRequest, "Não é possível alterar um usuário padrão do sistema."));
                }

                // Verifica se o id do usuário enviado existe na base de dados.
                if (entity.IsNew)
                {
                    return(request.CreateErrorResponse(HttpStatusCode.NotFound, "Usuário não encontrado."));
                }

                var senhaDescriptografada = new SymmetricAlgorithm(SymmetricAlgorithm.Tipo.TripleDES).Decrypt(entity.usu_senha);

                if (data.senha != senhaDescriptografada)
                {
                    return(request.CreateErrorResponse(HttpStatusCode.Unauthorized, "Não foi possível excluir usuário. Acesso negado."));
                }

                SYS_UsuarioBO.Delete(entity, null);

                #region [ Log de ação]

                LOG_UsuarioAPIBO.Save
                (
                    new LOG_UsuarioAPI
                {
                    usu_id = entity.usu_id
                    ,
                    uap_id = entityUsuarioAPI.uap_id
                    ,
                    lua_dataHora = DateTime.Now
                    ,
                    lua_acao = (byte)LOG_UsuarioAPIBO.eAcao.DelecaoUsuario
                }
                );

                #endregion

                return(request.CreateResponse(HttpStatusCode.OK, "Usuário excluído com sucesso."));
            }
            catch (Exception ex)
            {
                Util.GravarErro(ex);
                return(request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex.Message));
            }
        }