示例#1
0
        public UsuarioRespost CadastraUsuario(UsuarioRequest UsuarioValue)
        {
            if (UsuarioValue.IdUsuario != Guid.Empty)
            {
                return(EditaUsuario(UsuarioValue.IdUsuario, UsuarioValue));
            }

            DadosSessao StatusSessao = DefRepositorioUsuario.StatusSessao(UsuarioValue.IdSessao, this.DBContext);

            if (StatusSessao == null)
            {
                return new UsuarioRespost()
                       {
                           IdSessao = Guid.Empty
                       }
            }
            ;

            Usuario UsuarioAdiciona = (Usuario)UsuarioValue;

            UsuarioAdiciona.InstituicaoID = StatusSessao.Usuario.InstituicaoID;
            UsuarioAdiciona.VerificaSenha = true;

            UsuarioRespost Retorn = new UsuarioRespost()
            {
                IdSessao = UsuarioValue.IdSessao
            };

            UsuarioAdiciona.ExecuteValidationRoutine();
            if (UsuarioAdiciona.ItsValid && (UsuarioValue.Senha.Equals(UsuarioValue.ReSenha)))
            {
                MapUsuario UsuarioSalvo = (MapUsuario)UsuarioAdiciona;

                DBContext.Usuarios.Add(UsuarioSalvo);
                DBContext.SaveChanges();
                Retorn.Menssagem = MensagensEntidades.UsuarioSalvo;
                Retorn.IdCadasto = UsuarioSalvo.Id;
                Retorn.DefineSucess();
            }
            else
            {
                Retorn.ErrorMessage = String.Format(MensagensEntidades.ErroAoRealizarOperacao, Operacaoes.CadastroUsuario);
                Retorn.Alertas      = UsuarioAdiciona.Notifications;
                Retorn.DefineErro();
            }
            return(Retorn);
        }
示例#2
0
        public UsuarioRespost EditaUsuario(Guid IdUsuario, UsuarioRequest Usuario)
        {
            DadosSessao StatusSessao = DefRepositorioUsuario.StatusSessao(Usuario.IdSessao, this.DBContext);

            if (StatusSessao == null)
            {
                return new UsuarioRespost()
                       {
                           IdSessao = Guid.Empty
                       }
            }
            ;

            MapUsuario BaseUsuario = DBContext.Usuarios.Find(IdUsuario);

            if (BaseUsuario == null)
            {
                return(null);
            }
            Usuario        UC      = (Usuario)Usuario;
            UsuarioRespost retorno = new UsuarioRespost()
            {
            };

            //se a senha for igual o id do usuario não sera editada a senha
            UC.VerificaSenha = !(Usuario.Senha.ToUpper().Equals(IdUsuario.ToString().ToUpper()));
            UC.ExecuteValidationRoutine();
            if (UC.ItsValid)
            {
                #region Edita Usuario
                if (!BaseUsuario.Nome.Equals(UC.Nome))
                {
                    BaseUsuario.Nome = UC.Nome;
                }
                if (!BaseUsuario.Email.Equals(UC.Email))
                {
                    BaseUsuario.Email = UC.Email;
                }
                if (BaseUsuario.Ativo != UC.Ativo)
                {
                    BaseUsuario.Ativo = UC.Ativo;
                }
                if (!UC.Senha.ToUpper().Equals(BaseUsuario.Id.ToString().ToUpper()) && !BaseUsuario.Senha.Equals(Util.HashSHA256(UC.Senha)))
                {
                    BaseUsuario.Senha = Util.HashSHA256(UC.Senha);
                }
                if (!BaseUsuario.Login.Equals(UC.Login))
                {
                    BaseUsuario.Login = UC.Login;
                }
                DBContext.SaveChanges();
                #endregion

                retorno.Menssagem = MensagensEntidades.UsuarioSalvo;
                retorno.IdCadasto = Usuario.IdUsuario;
                retorno.DefineSucess();
            }
            else
            {
                retorno.ErrorMessage = String.Format(MensagensEntidades.ErroAoRealizarOperacao, Operacaoes.CadastroUsuario);
                retorno.Alertas      = UC.Notifications;
                retorno.DefineErro();
            }

            return(retorno);
        }