예제 #1
0
        private RespostaBE GravarContato(ContatoBE contato)
        {
            var retorno = RespostaBE.NovaResposta();

            try
            {
                using (var tran = contexto.Database.BeginTransaction())
                {
                    if (contato.IdContato == 0)
                    {
                        contexto.ContatoDB.Add(contato);
                    }
                    else
                    {
                        contexto.Entry(contato).State = System.Data.Entity.EntityState.Modified;
                    }
                    contexto.SaveChanges();
                    tran.Commit();
                }
            }
            catch (Exception ex)
            {
                retorno.Erro = true;
                retorno.Mensagem.Add(ex.Message);
            }

            return(retorno);
        }
예제 #2
0
        private RespostaBE GravarUsuario(UsuarioBE usuario)
        {
            var retorno = RespostaBE.NovaResposta();

            try
            {
                using (var tran = contexto.Database.BeginTransaction())
                {
                    if (usuario.IdUsuario == 0)
                    {
                        contexto.UsuarioDB.Add(usuario);
                    }
                    else
                    {
                        var atUsuario = contexto.UsuarioDB.Find(usuario.IdUsuario);
                        atUsuario.Email = usuario.Email;
                        atUsuario.Nome  = usuario.Nome;
                        contexto.Entry(atUsuario).State = System.Data.Entity.EntityState.Modified;
                    }
                    contexto.SaveChanges();
                    tran.Commit();
                }
            }
            catch (Exception ex)
            {
                retorno.Erro = true;
                retorno.Mensagem.Add(ex.Message);
            }

            return(retorno);
        }
예제 #3
0
        public RespostaBE IncluirUsuario(UsuarioBE usuario)
        {
            var retorno = RespostaBE.NovaResposta();

            try
            {
                var validacao = UsuarioValido(usuario);
                if (validacao.Erro)
                {
                    return(validacao);
                }
                if (ExisteEmail(usuario.Email))
                {
                    retorno.Erro = true;
                    retorno.Mensagem.Add("Este e-mail já está cadastrado");
                    return(retorno);
                }
                usuario.Senha = Criptografia.Encrypt(usuario.Senha);

                retorno = GravarUsuario(usuario);

                return(retorno);
            }
            catch (Exception ex)
            {
                retorno.Erro = true;
                retorno.Mensagem.Add(ex.Message);
                return(retorno);
            }
        }
예제 #4
0
        private RespostaBE AtualizarSenhaUsuario(UsuarioBE usuario)
        {
            var retorno = RespostaBE.NovaResposta();

            try
            {
                using (var tran = contexto.Database.BeginTransaction())
                {
                    if (usuario.IdUsuario == 0)
                    {
                        throw new Exception("Usuário inválido!");
                    }
                    else
                    {
                        contexto.Entry(usuario).State = System.Data.Entity.EntityState.Modified;
                    }
                    contexto.SaveChanges();
                    tran.Commit();
                }
            }
            catch (Exception ex)
            {
                retorno.Erro = true;
                retorno.Mensagem.Add(ex.Message);
            }

            return(retorno);
        }
예제 #5
0
        public RespostaBE AlterarSenha(UsuarioBE usuario)
        {
            var resposta = RespostaBE.NovaResposta();

            try
            {
                var usuarioAlt = UsuarioBO.CarregarUsuarioPorId(usuario.IdUsuario);
                usuarioAlt.Senha = Criptografia.Encrypt(usuario.Senha);
                usuario          = usuarioAlt;
                var validacao = UsuarioValido(usuario);

                if (validacao.Erro)
                {
                    return(validacao);
                }

                resposta = AtualizarSenhaUsuario(usuario);
            }
            catch (Exception ex)
            {
                resposta.Erro = true;
                resposta.Mensagem.Add(ex.Message);
            }

            return(resposta);
        }
예제 #6
0
        private RespostaBE UsuarioValido(UsuarioBE usuario)
        {
            var retorno = RespostaBE.NovaResposta();

            if (usuario == null)
            {
                retorno.Mensagem.Add("Nenhum usuário foi informado");
                retorno.Erro = true;
                return(retorno);
            }
            if (string.IsNullOrEmpty(usuario.Nome))
            {
                retorno.Erro = true;
                retorno.Mensagem.Add("Nome inválido");
            }
            if (string.IsNullOrEmpty(usuario.Email))
            {
                retorno.Erro = true;
                retorno.Mensagem.Add("Email inválido");
            }
            if (string.IsNullOrEmpty(usuario.Senha))
            {
                retorno.Erro = true;
                retorno.Mensagem.Add("Senha inválida");
            }

            return(retorno);
        }
예제 #7
0
        public RespostaBE ConfirmarResetSenha(UsuarioBE usuario)
        {
            var resposta = new RespostaBE()
            {
                Erro     = false,
                Mensagem = new List <string>()
            };

            var confirmacaoUsuario = UsuarioBO.CarregarUsuarioPorId(usuario.IdUsuario);

            if (confirmacaoUsuario.Senha != usuario.Senha)
            {
                resposta.Erro = true;
                resposta.Mensagem.Add("Informações inválidas");
            }

            return(resposta);
        }
예제 #8
0
        public RespostaBE IncluirOuAlterarContato(ContatoBE contato)
        {
            var resposta = RespostaBE.NovaResposta();

            try
            {
                var validacao = ContatoValido(contato);
                if (validacao.Erro)
                {
                    return(validacao);
                }
                resposta = GravarContato(contato);
            }
            catch (Exception ex)
            {
                resposta.Erro = true;
                resposta.Mensagem.Add(ex.Message);
            }
            return(resposta);
        }
예제 #9
0
        public static RespostaBE LembrarSenha(string email, string emailSMTP, string senhaSMTP)
        {
            var resposta = RespostaBE.NovaResposta();

            var contexto = new DB.Contexto();
            var usuario  = contexto.UsuarioDB.Where(u => u.Email.Trim().ToLower() == email.Trim().ToLower()).FirstOrDefault();

            if (usuario == null)
            {
                resposta.Erro = true;
                resposta.Mensagem.Add("E-mail não localizado");
                return(resposta);
            }

            var mail = new Mail(emailSMTP, senhaSMTP);

            resposta = mail.LembrarEmail(usuario);

            return(resposta);
        }
예제 #10
0
        public RespostaBE LembrarEmail(UsuarioBE usuario)
        {
            var resposta = RespostaBE.NovaResposta();

            if (usuario == null)
            {
                resposta.Erro = true;
                resposta.Mensagem.Add("Usuário não informado");
                return(resposta);
            }

            var corpoEmail = MontarEmail(usuario);

            if (string.IsNullOrEmpty(corpoEmail))
            {
                resposta.Erro = true;
                resposta.Mensagem.Add("Erro ao montar o corpo do e-mail");
                return(resposta);
            }
            return(EnviarEmail(usuario, corpoEmail));
        }
예제 #11
0
        //public RespostaBE AlterarContato(ContatoBE contato)
        //{
        //    var resposta = RespostaBE.NovaResposta();
        //    try
        //    {
        //        var validacao = ContatoValido(contato);
        //        if (validacao.Erro)
        //        {
        //            return validacao;
        //        }

        //        GravarContato(contato);
        //    }
        //    catch (Exception ex)
        //    {
        //        resposta.Erro = true;
        //        resposta.Mensagem.Add(ex.Message);
        //    }
        //    return resposta;
        //}

        private RespostaBE ContatoValido(ContatoBE contato)
        {
            var retorno = RespostaBE.NovaResposta();

            if (contato == null)
            {
                retorno.Mensagem.Add("Nenhum contato foi informado");
                retorno.Erro = true;
                return(retorno);
            }
            if (string.IsNullOrEmpty(contato.Nome))
            {
                retorno.Erro = true;
                retorno.Mensagem.Add("Nome inválido");
            }
            if (string.IsNullOrEmpty(contato.Email))
            {
                retorno.Erro = true;
                retorno.Mensagem.Add("Email inválido");
            }
            if (contato.DDD <= 0)
            {
                retorno.Erro = true;
                retorno.Mensagem.Add("DDD inválido");
            }
            if (string.IsNullOrEmpty(contato.Telefone))
            {
                retorno.Erro = true;
                retorno.Mensagem.Add("Número do telefone inválido");
            }
            if (contato.IdUsuario <= 0)
            {
                retorno.Erro = true;
                retorno.Mensagem.Add("Usuário inválido");
            }

            return(retorno);
        }
예제 #12
0
        private RespostaBE EnviarEmail(UsuarioBE usuario, string corpoEmail)
        {
            var resposta = RespostaBE.NovaResposta();

            try
            {
                MailMessage mail = new MailMessage();

                mail.From = new MailAddress("*****@*****.**");
                mail.To.Add(usuario.Email);
                mail.Subject = "Envio de senha";
                mail.Body    = corpoEmail;

                SmtpClient smtp = new SmtpClient("smtp.gmail.com");

                smtp.EnableSsl      = true;
                smtp.Port           = 587;
                smtp.DeliveryMethod = SmtpDeliveryMethod.Network;

                smtp.UseDefaultCredentials = false;
                smtp.Credentials           = new NetworkCredential(EnderecoEmail, SenhaEmail);

                smtp.Send(mail);

                resposta.Mensagem.Add("E-mail enviado com sucesso.");
                //smtp.SendCompleted += (s, e) =>
                //{
                //    smtp.Dispose();
                //};
                //smtp.SendAsync(mail, null);
            }
            catch (Exception ex)
            {
                resposta.Erro = true;
                resposta.Mensagem.Add(ex.Message);
            }
            return(resposta);
        }
예제 #13
0
        public static RespostaBE InativarContato(int idContato)
        {
            var resposta = RespostaBE.NovaResposta();

            if (idContato <= 0)
            {
                return(null);
            }
            try
            {
                var contexto = new DB.Contexto();
                var contato  = contexto.ContatoDB.Find(idContato);

                if (contexto == null)
                {
                    resposta.Erro = true;
                    resposta.Mensagem.Add("Nenhum contato foi localizado com este id");
                    return(resposta);
                }

                using (var tran = contexto.Database.BeginTransaction())
                {
                    contato.Ativo = false;

                    contexto.Entry(contato).State = System.Data.Entity.EntityState.Modified;
                    contexto.SaveChanges();
                    tran.Commit();
                }
            }
            catch (Exception ex)
            {
                resposta.Erro = true;
                resposta.Mensagem.Add(ex.Message);
            }

            return(resposta);
        }
예제 #14
0
        public RespostaBE ExcluirContato(int idContato)
        {
            var resposta = RespostaBE.NovaResposta();

            try
            {
                var contato = contexto.ContatoDB.Find(idContato);
                if (contato == null)
                {
                    resposta.Erro = true;
                    resposta.Mensagem.Add(string.Format("Nenhum contato foi localizado com o id {0}", idContato.ToString()));
                    return(resposta);
                }

                contato.Ativo = false;
                GravarContato(contato);
            }
            catch (Exception ex)
            {
                resposta.Erro = true;
                resposta.Mensagem.Add(ex.Message);
            }
            return(resposta);
        }