コード例 #1
0
        public void ExcluiUsuario(Usuario itemGravar)
        {
            Usuario itemExcluir = Context.Usuarios.Where(f => f.Id == itemGravar.Id).FirstOrDefault();

            Context.Entry<Usuario>(itemExcluir).State = System.Data.Entity.EntityState.Deleted;
            Context.SaveChanges();
        }
コード例 #2
0
        /// <summary>
        /// Retorna o usuário com id solicidado
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public Usuario Get(int id)
        {
            Usuario ResultadoBusca = new Usuario();
            try
            {
                VerificaAutenticacao(Constantes.FuncionalidadeUsuarioConsulta, Constantes.FuncionalidadeNomeUsuarioConsulta, biz);
                
                //API
                ResultadoBusca = biz.RetornaUsuario_Id(id);

                if (!biz.IsValid())
                    throw new InvalidDataException();

                if (ResultadoBusca != null)
                    ResultadoBusca.Senha = null;
            }
            catch (InvalidDataException)
            {
                GeraErro(HttpStatusCode.InternalServerError, biz.serviceResult);
            }
            catch (UnauthorizedAccessException)
            {
                GeraErro(HttpStatusCode.Unauthorized, biz.serviceResult);
            }
            catch (Exception ex)
            {
                GeraErro(HttpStatusCode.BadRequest, ex);
            }

            return ResultadoBusca;
        }
コード例 #3
0
        public void SalvaUsuario(Usuario itemGravar)
        {
            Usuario itemBase = Context.Usuarios.Include("Perfis").Where(f => f.Id == itemGravar.Id).FirstOrDefault();
            if (itemBase == null)
            {
                itemBase = Context.Usuarios.Create();
                itemBase.Perfis = new List<PerfilUsuario>();
                Context.Entry<Usuario>(itemBase).State = System.Data.Entity.EntityState.Added;
            }
            AtualizaPropriedades<Usuario>(itemBase, itemGravar);

            foreach (PerfilUsuario itemPerfilUsuario in new List<PerfilUsuario>(itemBase.Perfis))
            {
                if (!itemGravar.Perfis.Where(f => f.Id == itemPerfilUsuario.Id).Any())
                {
                    Context.Entry<PerfilUsuario>(itemPerfilUsuario).State = System.Data.Entity.EntityState.Deleted;
                }
            }
            foreach (PerfilUsuario itemPerfilUsuario in new List<PerfilUsuario>(itemGravar.Perfis))
            {
                PerfilUsuario itemBasePerfilUsuario = !itemPerfilUsuario.Id.HasValue ? null : itemBase.Perfis.Where(f => f.Id == itemPerfilUsuario.Id).FirstOrDefault();
                if (itemBasePerfilUsuario == null)
                {
                    itemBasePerfilUsuario = Context.PerfilUsuarios.Create();
                    itemBase.Perfis.Add(itemBasePerfilUsuario);
                }
                AtualizaPropriedades<PerfilUsuario>(itemBasePerfilUsuario, itemPerfilUsuario);
            }

            Context.SaveChanges();
            itemGravar.Id = itemBase.Id;
        }
コード例 #4
0
 public void GeraEmailEsqueciSenha(Usuario itemGravar, string novaSenha)
 {
     Email email = new Email();
     email.Assunto = Constantes.AssuntoEmailEsqueciSenha;
     email.Corpo = string.Format(Constantes.CorpoEmailEsqueciSenha, itemGravar.Nome, novaSenha);
     email.DataInclusao = DateTime.Now;
     email.FuncionalidadeId = Convert.ToInt32(Constantes.FuncionalidadeAlterarSenha);
     email.Destinatario = itemGravar.Email;
     SalvaEmail(email);
 }
コード例 #5
0
 public void SalvaUsuario(Usuario itemGravar)
 {
     LimpaValidacao();
     ValidateService(itemGravar);
     ValidaRegrasSalvar(itemGravar);
     if (IsValid())
     {
         using (UsuarioData data = new UsuarioData())
         {
             data.SalvaUsuario(itemGravar);
             IncluiSucessoBusiness("Usuario_SalvaUsuarioOK");
         }
     }
 }
コード例 #6
0
 public void GeraEmailEsqueciSenha(Usuario itemGravar, string novaSenha)
 {
     EmailBusiness biz = new EmailBusiness();
     biz.GeraEmailEsqueciSenha(itemGravar, novaSenha);
 }
コード例 #7
0
 public void ValidaExistencia(Usuario itemGravar)
 {
     if (itemGravar == null)
         IncluiErroBusiness("Usuario_NaoEncontrado");
 }
コード例 #8
0
        public void ValidaRegrasGerarNovaSenha(ref Usuario itemGravar)
        {
            LimpaValidacao();
            if (string.IsNullOrEmpty(itemGravar.Email))
                IncluiErroBusiness("Usuario_Email");

            if (IsValid())
            {
                UsuarioBusiness bizUsuario = new UsuarioBusiness();
                Usuario itemBase = bizUsuario.RetornaUsuario_Email(itemGravar.Email);

                if (itemBase == null)
                    IncluiErroBusiness("Usuario_EmailInvalido");

                if (IsValid())
                    itemGravar = itemBase;
            }
        }
コード例 #9
0
        public void ValidaRegrasAlterarSenha(ref Usuario itemGravar)
        {
            LimpaValidacao();
            if (string.IsNullOrEmpty(itemGravar.Email))
                IncluiErroBusiness("Usuario_Email");

            if (string.IsNullOrEmpty(itemGravar.Senha))
                IncluiErroBusiness("Usuario_Senha");

            if (string.IsNullOrEmpty(itemGravar.NovaSenha))
                IncluiErroBusiness("Usuario_NovaSenha");

            if (string.IsNullOrEmpty(itemGravar.SenhaConfirmacao))
                IncluiErroBusiness("Usuario_NovaSenhaConfirmacao");

            if (IsValid())
            {
                UsuarioBusiness bizUsuario = new UsuarioBusiness();
                Usuario itemBase = bizUsuario.RetornaUsuario_Email(itemGravar.Email);

                if (itemBase == null)
                    IncluiErroBusiness("Usuario_EmailInvalido");

                if (IsValid() && !PasswordHash.ValidatePassword(itemGravar.Senha, itemBase.Senha))
                    IncluiErroBusiness("Usuario_SenhaInvalida");

                if(IsValid())
                {
                    itemBase.Senha = itemGravar.NovaSenha;
                    itemBase.SenhaConfirmacao = itemGravar.SenhaConfirmacao;
                    itemGravar = itemBase;
                }
            }
        }
コード例 #10
0
        public void ValidaRegrasExcluir(Usuario itemGravar)
        {
            if (IsValid())
                ValidaExistencia(itemGravar);

            if (IsValid())
            {
                PerfilUsuarioBusiness biz = new PerfilUsuarioBusiness();
                var PerfisAssociados = biz.RetornaPerfilUsuarios_PerfilId_UsuarioId(null, itemGravar.Id);

                if (PerfisAssociados.Count > 0)
                    IncluiErroBusiness("Usuario_CadastroUtilizado");
            }

            if (IsValid())
            {
                LogBusiness biz = new LogBusiness();
                if (biz.ExisteLog_UsuarioId((int)itemGravar.Id))
                    IncluiErroBusiness("Usuario_CadastroUtilizado");
            }

        }
コード例 #11
0
        public void ValidaRegrasSalvar(Usuario itemGravar)
        {
            if (IsValid() && string.IsNullOrWhiteSpace(itemGravar.Nome))
                IncluiErroBusiness("Usuario_Nome");

            if (IsValid() && string.IsNullOrWhiteSpace(itemGravar.Email))
                IncluiErroBusiness("Usuario_Email");

            if (IsValid())
            {
                Usuario itemBase = RetornaUsuario_Email(itemGravar.Email);
                if (itemBase != null && itemGravar.Id != itemBase.Id)
                    IncluiErroBusiness("Usuario_CadastroDuplicado");
            }
            if (IsValid())
            {
                if (itemGravar.Id.HasValue)
                {
                    Usuario itemBase = RetornaUsuario_Id((int)itemGravar.Id);
                    ValidaExistencia(itemBase);
                    if (IsValid())
                    {
                        itemGravar.DataInclusao = itemBase.DataInclusao;
                        itemGravar.DataAlteracao = DateTime.Now;

                        if (string.IsNullOrWhiteSpace(itemGravar.Senha) && string.IsNullOrWhiteSpace(itemGravar.SenhaConfirmacao))
                            itemGravar.Senha = itemBase.Senha;
                        else
                        {
                            if (string.IsNullOrWhiteSpace(itemGravar.Senha))
                                IncluiErroBusiness("Usuario_Senha");

                            if (IsValid() && string.IsNullOrWhiteSpace(itemGravar.SenhaConfirmacao))
                                IncluiErroBusiness("Usuario_SenhaConfirmacao");

                            if (IsValid() && !itemGravar.Senha.Equals(itemGravar.SenhaConfirmacao))
                                IncluiErroBusiness("Usuario_SenhaConfirmacao_Incorreta");

                            if (IsValid())
                                itemGravar.Senha = PasswordHash.HashPassword(itemGravar.Senha);
                        }
                    }
                }
                else
                {
                    itemGravar.DataInclusao = DateTime.Now;
                    itemGravar.Ativo = true;

                    if (string.IsNullOrWhiteSpace(itemGravar.Senha))
                        IncluiErroBusiness("Usuario_Senha");

                    if (IsValid() && string.IsNullOrWhiteSpace(itemGravar.SenhaConfirmacao))
                        IncluiErroBusiness("Usuario_SenhaConfirmacao");

                    if (IsValid() && !itemGravar.Senha.Equals(itemGravar.SenhaConfirmacao))
                        IncluiErroBusiness("Usuario_SenhaConfirmacao_Incorreta");

                    if (IsValid())
                        itemGravar.Senha = PasswordHash.HashPassword(itemGravar.Senha);
                }
            }


        }
コード例 #12
0
        public void GeraNovaSenha(Usuario itemGravar)
        {
            LimpaValidacao();
            ValidaRegrasGerarNovaSenha(ref itemGravar);
            if (IsValid())
            {
                string novaSenha = string.Empty;
                novaSenha = PasswordHash.GenerateRandomPassword();
                itemGravar.Senha = novaSenha;
                itemGravar.SenhaConfirmacao = novaSenha;

                ValidateService(itemGravar);
                ValidaRegrasSalvar(itemGravar);
                if (IsValid())
                {
                    using (UsuarioData data = new UsuarioData())
                    {
                        data.SalvaUsuario(itemGravar);
                        IncluiSucessoBusiness("Usuario_NovaSenhaGeradaOK");

                        GeraEmailEsqueciSenha(itemGravar, novaSenha);
                    }
                }
            }
        }
コード例 #13
0
 public void AlteraSenha(Usuario itemGravar)
 {
     LimpaValidacao();
     ValidaRegrasAlterarSenha(ref itemGravar);
     if (IsValid())
     {
         ValidateService(itemGravar);
         ValidaRegrasSalvar(itemGravar);
         if (IsValid())
         {
             using (UsuarioData data = new UsuarioData())
             {
                 data.SalvaUsuario(itemGravar);
                 IncluiSucessoBusiness("Usuario_SenhaAlteradaOK");
             }
         }
     }
 }