Esempio n. 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);
            }
        }
Esempio n. 2
0
        public List <TubeLine> GetTubeLineToMore(List <TubeLine> tlInput)
        {
            LTContext       dc          = new LTContext(ConfigurationManager.ConnectionStrings["LondonTube"].ConnectionString);
            List <TubeLine> tsE         = new List <TubeLine>();
            List <TubeLine> tsTot       = new List <TubeLine>();
            string          ToStation   = "";
            string          FromStation = "";

            if (tlInput.Count > 0)
            {
                List <StationModel> smlD = new List <StationModel>();
                for (int d = 0; d < tlInput.Count; d++)
                {
                    StationModel smD = new StationModel();
                    smD.FromStation = tlInput[d].FromStation;
                    smD.ToStation   = tlInput[d].ToStation;
                    smlD.Add(smD);
                    ToStation   = tlInput[d].ToStation;
                    FromStation = tlInput[d].FromStation;
                    tsE         = (from tls in dc.TubeLines
                                   where tls.ToStation == FromStation &&
                                   tls.FromStation != ToStation
                                   select tls).ToList();
                    foreach (var t in tsE)
                    {
                        tsTot.Add(t);
                    }
                }
            }
            return(tsTot);
        }
Esempio n. 3
0
        public List <StationModel> GetStationModelFrom(string StationName, int NoOfStation)
        {
            List <StationModel> newsm = new List <StationModel>();
            LTContext           dc    = new LTContext(ConfigurationManager.ConnectionStrings["LondonTube"].ConnectionString);
            List <TubeLine>     tsA   = (from tls in dc.TubeLines
                                         where tls.FromStation == StationName
                                         select tls).ToList();

            int             iCount = 1;
            List <TubeLine> tsA_Ex = new List <TubeLine>();

            while (iCount < NoOfStation)
            {
                List <StationModel> smlA = new List <StationModel>();
                List <TubeLine>     tsB  = GetTubeLineFromMore(tsA);
                if (tsB.Count > 0)
                {
                    tsA = tsB;
                }
                iCount += 1;
            }
            if (iCount == NoOfStation)
            {
                if (tsA.Count > 0)
                {
                    foreach (var s in GetTubeLineEnd(tsA))
                    {
                        newsm.Add(s);
                    }
                }
            }
            return(newsm);
        }
Esempio n. 4
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);
        }
Esempio n. 5
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);
                }
            }
        }
Esempio n. 6
0
        public List <TubeLine> GetTubeLineExpress(TubeLine tlInput)
        {
            LTContext       dc         = new LTContext(ConfigurationManager.ConnectionStrings["LondonTube"].ConnectionString);
            TubeLine        tsTo       = new TubeLine();
            TubeLine        tsFrom     = new TubeLine();
            List <TubeLine> tsRegsFrom = new List <TubeLine>();
            List <TubeLine> tsRegsTo   = new List <TubeLine>();
            List <TubeLine> tsTot      = new List <TubeLine>();

            string ToStation    = "";
            string FromStation  = "";
            string TubeLineName = "";

            ToStation    = tlInput.ToStation;
            FromStation  = tlInput.FromStation;
            TubeLineName = tlInput.TubeLineName;
            tsTo         = (from tls in dc.TubeLines
                            where (tls.ToStation == ToStation) &&
                            tls.TubeLineName != TubeLineName &&
                            tls.Express == true
                            select tls).FirstOrDefault();
            tsFrom = (from tls in dc.TubeLines
                      where (tls.FromStation == ToStation) &&
                      tls.TubeLineName != TubeLineName &&
                      tls.Express == true
                      select tls).FirstOrDefault();
            tsRegsTo = (from tls in dc.TubeLines
                        where (tls.ToStation == ToStation) &&
                        tls.TubeLineName != TubeLineName &&
                        tls.Express == false
                        select tls).ToList();
            tsRegsFrom = (from tls in dc.TubeLines
                          where (tls.FromStation == ToStation) &&
                          tls.TubeLineName != TubeLineName &&
                          tls.Express == false
                          select tls).ToList();
            if (tsFrom != null)
            {
                tsTot.Add(tsFrom);
            }
            if (tsTo != null)
            {
                tsTot.Add(new TubeLine {
                    FromStation = tsTo.ToStation, ToStation = tsTo.FromStation, TubeLineName = tsTo.TubeLineName, Express = tsTo.Express
                });
            }
            foreach (var tf in tsRegsFrom)
            {
                tsTot.Add(tf);
            }
            foreach (var tt in tsRegsTo)
            {
                tsTot.Add(new TubeLine {
                    FromStation = tt.ToStation, ToStation = tt.FromStation, TubeLineName = tt.TubeLineName, Express = tt.Express
                });
            }

            return(tsTot);
        }
Esempio n. 7
0
        public void BuscarDiretorios(UsuarioViewModel usuarioVM)
        {
            BLLResponse <Usuario> response = new BLLResponse <Usuario>();

            using (LTContext ctx = new LTContext())
            {
                List <Diretorio> diretorios = ctx.Diretorios.ToList();
            }
        }
Esempio n. 8
0
        public BLLResponse <Usuario> LerTodos()
        {
            BLLResponse <Usuario> response = new BLLResponse <Usuario>();

            using (LTContext ctx = new LTContext())
            {
                response.DataList = ctx.Usuarios.ToList();
            }
            return(response);
        }
Esempio n. 9
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);
        }
Esempio n. 10
0
 private bool EmailJaExiste(Usuario item, List <ErrorField> errors)
 {
     using (LTContext context = new LTContext())
     {
         Usuario usuario = context.Usuarios.FirstOrDefault(u => u.Email == item.Email);
         if (usuario == null)
         {
             return(false);
         }
         return(true);
     }
 }
Esempio n. 11
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);
        }
Esempio n. 12
0
        public List <Usuario> GetUsersComFiltro(int idadeMin, int idadeMax, int tagsComum, int userID)
        {
            using (LTContext ctx = new LTContext())
            {
                Usuario userDb = ctx.Usuarios.Find(userID);

                DateTime menor = new DateTime(DateTime.Now.Year - idadeMin, DateTime.Now.Month, DateTime.Now.Day);
                DateTime maior = new DateTime(DateTime.Now.Year - idadeMax, DateTime.Now.Month, DateTime.Now.Day);

                var filtroEunao = ctx.Usuarios.Where(u => u.ID != userID);
                var filtroIdade = filtroEunao.Where(u => u.DataNascimento <menor && u.DataNascimento> maior);
                var filtroTags  = filtroIdade.AsEnumerable().Where(u => TagsEmComum(u.Tags, userDb.Tags, tagsComum)).ToList();

                return(filtroTags);
            }
        }
Esempio n. 13
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);
        }
Esempio n. 14
0
        public List <CustomListItem> GetStations()
        {
            LTContext             dc = new LTContext(ConfigurationManager.ConnectionStrings["LondonTube"].ConnectionString);
            IEnumerable <Station> ss = new List <Station>();

            ss = (from sts in dc.Stations
                  select sts).ToList();
            List <CustomListItem> cli = new List <CustomListItem>();

            foreach (var e in ss)
            {
                CustomListItem c = new CustomListItem();
                c.text  = e.StationName;
                c.value = e.StationId;
                cli.Add(c);
            }
            return(cli.OrderBy(cl => cl.text).ToList());
        }
Esempio n. 15
0
        public List <CustomListItem> GetTubeLines()
        {
            LTContext dc = new LTContext(ConfigurationManager.ConnectionStrings["LondonTube"].ConnectionString);
            IEnumerable <TubeLine> ts = new List <TubeLine>();

            ts = (from tls in dc.TubeLines
                  orderby tls.TubeLineName
                  select tls).ToList();
            List <CustomListItem> cli = new List <CustomListItem>();

            foreach (var e in ts)
            {
                CustomListItem c = new CustomListItem();
                c.text  = e.TubeLineName;
                c.value = e.TubeLineId;
                cli.Add(c);
            }
            return(cli.OrderBy(cl => cl.text).ToList());
        }
Esempio n. 16
0
        public ActionResult Index(LondonTubeModel model)
        {
            LondonTubeModel ltm = new LondonTubeModel();

            if (ModelState.IsValid)
            {
                LTContext dc = new LTContext(ConfigurationManager.ConnectionStrings["LondonTube"].ConnectionString);

                Station s = (from ss in dc.Stations
                             where ss.StationId == model.StationId
                             select ss).FirstOrDefault();

                List <TubeLine>     tbls   = new List <TubeLine>();
                List <StationModel> smFrom = GetStationModelFrom(s.StationName, model.NoOfStation);
                List <StationModel> smTo   = GetStationModelTo(s.StationName, model.NoOfStation);
                ltm.StationModelList = new List <StationModel>();
                for (int i = 0; i < smFrom.Count; i++)
                {
                    string ToStation = smFrom[i].ToStation;
                    if (!ltm.StationModelList.Any(l => l.ToStation == ToStation))
                    {
                        ltm.StationModelList.Add(smFrom[i]);
                    }
                }
                for (int j = 0; j < smTo.Count; j++)
                {
                    StationModel smToj = new StationModel();
                    smToj.FromStation = smTo[j].ToStation;
                    smToj.ToStation   = smTo[j].FromStation;

                    if (!ltm.StationModelList.Any(l => l.ToStation == smToj.ToStation))
                    {
                        ltm.StationModelList.Add(smToj);
                    }
                }
                ltm.StationModelList = ltm.StationModelList.OrderBy(l => l.ToStation).ToList();
            }


            return(View(ltm));
        }
Esempio n. 17
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);
        }
Esempio n. 18
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);
        }
Esempio n. 19
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);
            }
        }
Esempio n. 20
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);
        }