コード例 #1
0
        public BLLResponse <Usuario> Update(UsuarioViewModel userVM)
        {
            BLLResponse <Usuario> response = new BLLResponse <Usuario>();
            Usuario user = new Usuario();

            if (userVM.Frase != null && userVM.Frase.Length > 100)
            {
                response.Mensagem = "Frase de apresentação deve possuir até 100 caracteres";
                return(response);
            }
            if (userVM.Descricao != null && userVM.Descricao.Length > 300)
            {
                response.Mensagem = "Descrição deve possuir até 300 caracteres";
                return(response);
            }

            using (LTContext ctx = new LTContext())
            {
                user = ctx.Usuarios.Find(userVM.ID);
                if (user != null)
                {
                    response.Sucesso = true;
                    CopiarInformacoes(userVM, user);
                    ctx.SaveChanges();
                    response.Sucesso  = true;
                    response.Mensagem = "Dados atualizados com sucesso!";
                    return(response);
                }
                response.Mensagem = "Algo de errado ocorreu";
                return(response);
            }
        }
コード例 #2
0
        public BLLResponse <Usuario> UpdateProfilePic(int id, string folder, byte[] imagem, string pathRelativo)
        {
            BLLResponse <Usuario> response = new BLLResponse <Usuario>();

            using (LTContext ctx = new LTContext())
            {
                Usuario user = ctx.Usuarios.Find(id);

                if (user != null)
                {
                    response.Sucesso = true;

                    string     nomeFoto = Guid.NewGuid() + ".png";
                    string     path     = Path.Combine(folder, nomeFoto);
                    FileStream stream   = new FileStream(path, FileMode.Create);
                    stream.Write(imagem, 0, imagem.Length);
                    stream.Flush();

                    if (user.PathFotoPerfil != PATH_IMAGEM_PADRAO)
                    {
                        ApagarProfilePicAnterior(folder, user.PathFotoPerfil);
                    }

                    user.PathFotoPerfil = Path.Combine(pathRelativo, nomeFoto);
                    ctx.SaveChanges();

                    response.Data = user;
                }
            }
            return(response);
        }
コード例 #3
0
        public BLLResponse <Usuario> UpdatePassword(Usuario usuario, string senhaAntiga)
        {
            BLLResponse <Usuario> response = new BLLResponse <Usuario>();

            using (LTContext ctx = new LTContext())
            {
                Usuario userDoDb      = ctx.Usuarios.Find(usuario.ID);
                bool    EhSenhaAntiga = Criptografia.Verificar(senhaAntiga, userDoDb.Salt, userDoDb.Hash);

                if (!EhSenhaAntiga)
                {
                    response.Mensagem = "Senha atual incorreta.";
                    return(response);
                }
                if (userDoDb == null)
                {
                    response.Mensagem = "Algo de errado ocorreu.";
                    return(response);
                }
                else
                {
                    userDoDb.Senha = usuario.Senha;
                    Criptografia.EncriptografarEGuardarSalt(userDoDb);
                    ctx.SaveChanges();

                    response.Sucesso  = true;
                    response.Mensagem = "Senha atualizada com sucesso!";
                    response.Data     = userDoDb;
                    return(response);
                }
            }
        }
コード例 #4
0
        public void BuscarDiretorios(UsuarioViewModel usuarioVM)
        {
            BLLResponse <Usuario> response = new BLLResponse <Usuario>();

            using (LTContext ctx = new LTContext())
            {
                List <Diretorio> diretorios = ctx.Diretorios.ToList();
            }
        }
コード例 #5
0
        public BLLResponse <Usuario> LerTodos()
        {
            BLLResponse <Usuario> response = new BLLResponse <Usuario>();

            using (LTContext ctx = new LTContext())
            {
                response.DataList = ctx.Usuarios.ToList();
            }
            return(response);
        }
コード例 #6
0
        //implementar filtro da coordenada
        public BLLResponse <Usuario> GetUsuariosComFiltro
            (byte minTags = 1, byte idadeMin = 18, byte idadeMax = 80, Genero generos = Genero.Masculino | Genero.Feminino | Genero.Indeterminado)
        {
            BLLResponse <Usuario> response = new BLLResponse <Usuario>();

            using (LTContext ctx = new LTContext())
            {
                var filtroIdade = ctx.Usuarios.Where(u => u.DataNascimento == DateTime.Now);
            }
            return(response);
        }
コード例 #7
0
        public BLLResponse <Usuario> LerPorId(int id)
        {
            BLLResponse <Usuario> response = new BLLResponse <Usuario>();
            Usuario user = new Usuario();

            using (LTContext ctx = new LTContext())
            {
                user = ctx.Usuarios.Include(u => u.DiretoriosImagens).FirstOrDefault(u => u.ID == id);
            }
            response.Sucesso = user != null;
            response.Data    = user;
            return(response);
        }
コード例 #8
0
        public BLLResponse <Usuario> GetUsuariosSemFiltro()
        {
            BLLResponse <Usuario> response = new BLLResponse <Usuario>();

            using (LTContext ctx = new LTContext())
            {
                var users = ctx.Usuarios.ToList();
                if (users.Any())
                {
                    response.DataList = users;
                    response.Sucesso  = true;
                    return(response);
                }
            }
            return(response);
        }
コード例 #9
0
        public BLLResponse <Coordenada> SalvarCoordenadas(Coordenada coordenada, int id)
        {
            BLLResponse <Coordenada> response = new BLLResponse <Coordenada>();

            using (LTContext ctx = new LTContext())
            {
                Usuario userDoDb = ctx.Usuarios.Find(id);
                if (userDoDb != null)
                {
                    userDoDb.Latitude  = coordenada.Latitude;
                    userDoDb.Longitude = coordenada.Longitude;
                    ctx.SaveChanges();

                    response.Mensagem = "Local salvo com sucesso";
                    response.Sucesso  = true;
                    return(response);
                }
            }
            response.Mensagem = "Algo de errado ocorreu";
            return(response);
        }
コード例 #10
0
        public BLLResponse <Usuario> IsLoginValido(Usuario item)
        {
            BLLResponse <Usuario> response = new BLLResponse <Usuario>();

            response.Erros = new List <ErrorField>();

            using (LTContext ctx = new LTContext())
            {
                Usuario userDoBanco = ctx.Usuarios.FirstOrDefault(u => u.Email == item.Email);
                if (userDoBanco == null)
                {
                    response.Erros.Add(new ErrorField(fieldName: nameof(userDoBanco.Email),
                                                      message: MensagensPadrao.UserOuSenhaInvalidosMessage()));
                    return(response);
                }
                response.Sucesso = Criptografia.Verificar(item.Senha, userDoBanco.Salt, userDoBanco.Hash);
                if (response.Sucesso)
                {
                    response.Data = userDoBanco;
                }
            }
            return(response);
        }
コード例 #11
0
        //fazer trocar a foto direito
        public BLLResponse <Usuario> AtualizarFotosAlbum(int id, string pathRelativo)
        {
            BLLResponse <Usuario> response = new BLLResponse <Usuario>();
            Usuario user = new Usuario();

            using (LTContext ctx = new LTContext())
            {
                user = ctx.Usuarios.Find(id);

                if (user != null)
                {
                    response.Sucesso = true;
                    Diretorio diretorio = new Diretorio();
                    diretorio.PathRelativo = pathRelativo;
                    diretorio.Usuario      = user;
                    List <Diretorio> diretorios = new List <Diretorio>();
                    diretorios.Add(diretorio);
                    user.DiretoriosImagens = diretorios;
                    ctx.SaveChanges();
                }
                return(response);
            }
        }
コード例 #12
0
        public BLLResponse <Usuario> Registrar(Usuario item, string senhaRepetida)
        {
            List <ErrorField>     erros    = ValidarUsuarioParaRegistro(item, senhaRepetida);
            BLLResponse <Usuario> response = new BLLResponse <Usuario>();

            response.Erros = erros;
            if (response.HasErros)
            {
                response.Sucesso = false;
                return(response);
            }

            Criptografia.EncriptografarEGuardarSalt(item);

            using (LTContext ctx = new LTContext())
            {
                item.PathFotoPerfil = "/UserImages/DefaultCropped.png";
                ctx.Usuarios.Add(item);
                ctx.SaveChanges();
            }
            response.Sucesso = true;
            response.Data    = item;
            return(response);
        }