Example #1
0
        /// <summary>
        /// Método utilizado via Web API para alteração de login de um usuário
        /// </summary>
        /// <param name="data">Parametros de entrada: Id Entidade, login antigo, login novo</param>
        /// <param name="entityUsuarioAPI">Usuário da API usado para gravar log de ação</param>
        public static void UpdateLogin(AlterarLoginEntradaDTO data, CFG_UsuarioAPI entityUsuarioAPI)
        {
            if (data.ent_id == Guid.Empty || string.IsNullOrWhiteSpace(data.usu_login_antigo) || string.IsNullOrWhiteSpace(data.usu_login_novo))
            {
                throw new ValidationException("Todos os campos são obrigatórios.");
            }

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

            SYS_UsuarioBO.GetSelectBy_ent_id_usu_login(entity);

            if (!entity.IsNew)
            {
                //Validação de usuário padrão do sistema
                if (entity.usu_situacao == (byte)SYS_UsuarioBO.eSituacao.Padrao_Sistema)
                {
                    throw new ValidationException("Não é possível alterar dados do usuário padrão do sistema.");
                }

                entity.usu_login = data.usu_login_novo;
            }
            else
            {
                throw new ValidationException("Usuário não existe.");
            }

            SYS_UsuarioBO.Save(entity);

            #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.AlteracaoLogin
            }
            );

            #endregion
        }
Example #2
0
        public HttpResponseMessage UpdateLogin([FromBody] AlterarLoginEntradaDTO data)
        {
            try
            {
                //Recupera usuário da API
                CFG_UsuarioAPI entityUsuarioAPI = CFG_UsuarioAPIBO.SelecionaPorUsername(Util.ReturnCredentialUserName(Request));

                //Atualiza login do usuário
                Usuario.UpdateLogin(data, entityUsuarioAPI);

                return(Request.CreateResponse(HttpStatusCode.OK, "Login alterado com sucesso."));
            }
            catch (ValidationException ex)
            {
                Util.GravarErro(ex);
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex.Message));
            }
            catch (Exception ex)
            {
                Util.GravarErro(ex);
                return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex.Message));
            }
        }