Esempio n. 1
0
        /// <summary>
        /// Cria um novo usuário na API e no banco de dados local
        /// </summary>
        /// <param name="novaSenha">Senha gerada para o novo usuário</param>
        /// <returns>Usuário criado</returns>
        private Usuario CriaUsuario(string novaSenha)
        {
            Usuario    usuarioLogado = (Usuario)this.Session[ConstantesGlobais.USUARIO];
            Usuario    usuario       = new Usuario();
            UsuarioApi usuarioApi;
            string     novoNome  = this.TxtNome.Text;
            string     novoEmail = this.TxtEmail.Text;

            this.DivMensagem.Visible             = true;
            this.DivMensagem.Attributes["class"] = ConstantesGlobais.CLASSE_MENSAGEM_ERRO;

            if (!this.ValidaPreenchimento(usuario.Id, usuario.IdApi, novoNome, novoEmail))
            {
                return(null);
            }

            usuario.Nome          = novoNome;
            usuario.Email         = novoEmail;
            usuario.Perfil        = (PerfilUsuario)Convert.ToByte(this.DdPerfil.SelectedValue);
            usuario.UsuarioSpedia = usuarioLogado.UsuarioSpedia;
            usuario.SenhaSpedia   = usuarioLogado.SenhaSpedia;

            usuarioApi = new UsuarioApi()
            {
                Nome = usuario.Nome, Email = usuario.Email
            };

            usuario.IdApi = GerenciamentoUsuario.CriaUsuarioApi(usuarioApi);

            if (!usuario.IdApi.HasValue)
            {
                this.LblMensagem.Text = MENSAGEM_ERRO_INCLUSAO_API;
                return(null);
            }


            if (GerenciamentoUsuario.CriaUsuario(usuario, novaSenha) == null)
            {
                this.LblMensagem.Text = MENSAGEM_ERRO_INCLUSAO;
                return(null);
            }

            this.DivMensagem.Attributes["class"] = ConstantesGlobais.CLASSE_MENSAGEM_SUCESSO;
            this.LblMensagem.Text = MENSAGEM_SUCESSO_INCLUSAO;

            this.ReiniciaControles();

            return(usuario);
        }