Example #1
0
        private List <Aula> OrganizarLista(List <Aula> Lista)
        {
            // Reorganizar lista por ordem certa
            List <Aula> NewLista = new List <Aula>(Lista);
            Ginasio     gym      = HttpContext.RequestServices.GetRequiredService <HealthUpContext>().Ginasios.SingleOrDefault();
            double      cont     = gym.Hora_Abertura.TotalMinutes;

            foreach (Aula item in Lista)
            {
                // se é null, continuar
                if (item == null)
                {
                    continue;
                }
                if (item != null)
                {
                    double ordem = (item.HoraInicio.TotalMinutes - gym.Hora_Abertura.TotalMinutes) / 50;
                    //var index = NewLista.FindIndex(p => p.IdAula == item.IdAula);
                    //NewLista[index] = null;
                    NewLista[(int)ordem] = item;
                }

                cont += 50;
            }
            return(NewLista);
        }
Example #2
0
        public IActionResult Index()
        {
            Ginasio gym = _context.Ginasios.SingleOrDefault();

            string[] coordenadas = gym.LocalizacaoGps.Split(',');
            ViewBag.Latitude  = coordenadas[0];
            ViewBag.Longitude = coordenadas[1];
            return(View(gym));
        }
        // GET: Ginasios/Edit/5
        public IActionResult Edit()
        {
            Ginasio ginasio = _context.Ginasios.FirstOrDefault();

            if (ginasio.Telemovel.Length > 9)
            {
                ginasio.Telemovel = ginasio.Telemovel.Substring(4, 9);
            }
            // apagar o indicativo
            return(View(ginasio));
        }
Example #4
0
        public async Task <IActionResult> Edit(int id, [Bind("IdAula,Nome,NumProfessor,NumAdmin,ValidoDe,ValidoAte,Lotacao,HoraInicio,DiaSemana,FotografiaDivulgacao,VideoDivulgacao,Descricao")] Aula aula)
        {
            if (id != aula.IdAula)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(aula);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!AulaExists(aula.IdAula))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            List <string> Horas = new List <string>();

            ViewData["NumProfessor"] = new SelectList(_context.Professores, "NumCC", "NumCC", aula.NumProfessor);
            List <string> dias = new List <string>()
            {
                "Segunda-Feira", "Terça-Feira", "Quarta-Feira", "Quinta-Feira", "Sexta-Feira", "Sábado", "Domingo"
            };

            ViewData["DiaSemana"] = new SelectList(dias);
            Ginasio gym = _context.Ginasios.SingleOrDefault();
            int     numero_aulas_diarias = Convert.ToInt32(((gym.Hora_Fecho.TotalMinutes - gym.Hora_Abertura.TotalMinutes)) / 50);
            int     min_cont             = (int)gym.Hora_Abertura.TotalMinutes;

            for (int i = 0; i < numero_aulas_diarias; i++)
            {
                // timespan do total de minutos
                Horas.Add(new TimeSpan(0, min_cont, 0).ToString(@"hh\:mm"));
                min_cont += 50;
            }
            ViewData["HorasInicio"] = new SelectList(Horas);


            return(View(aula));
        }
        public async Task <IActionResult> Edit(IFormCollection dados)
        {
            Ginasio g = _context.Ginasios.FirstOrDefault();

            if (dados["Id"] != g.Id.ToString())
            {
                return(NotFound());
            }

            g.Telemovel      = "+" + dados["Indicativo"] + dados["Telemovel"];
            g.NumAdmin       = HttpContext.Session.GetString("UserId");
            g.Id             = int.Parse(dados["Id"]);
            g.LocalizacaoGps = dados["LocalizacaoGps"];
            g.Email          = dados["Email"];
            g.Endereco       = dados["Endereco"];
            g.Nome           = dados["Nome"];

            g.Hora_Abertura = TimeSpan.Parse(dados["Hora_Abertura"]);
            g.Hora_Fecho    = TimeSpan.Parse(dados["Hora_Fecho"]);
            if (ModelState.IsValid)
            {
                try
                {
                    _context.Ginasios.Update(g);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!GinasioExists(g.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index), "Home"));
            }
            return(RedirectToAction(nameof(Index), "Home"));
        }
Example #6
0
        // GET: Aulas/Create
        public IActionResult Create()
        {
            List <string> Horas = new List <string>();

            ViewData["NomeProfessor"] = new SelectList(_context.Professores.Include(x => x.NumProfessorNavigation), "NumProfessorNavigation.NumCC", "NumProfessorNavigation.Nome");
            List <string> dias = new List <string>()
            {
                "Segunda-Feira", "Terça-Feira", "Quarta-Feira", "Quinta-Feira", "Sexta-Feira", "Sábado", "Domingo"
            };

            ViewData["DiaSemana"] = new SelectList(dias);
            Ginasio gym = _context.Ginasios.SingleOrDefault();
            int     numero_aulas_diarias = Convert.ToInt32(((gym.Hora_Fecho.TotalMinutes - gym.Hora_Abertura.TotalMinutes)) / 50);
            int     min_cont             = (int)gym.Hora_Abertura.TotalMinutes;

            for (int i = 0; i < numero_aulas_diarias; i++)
            {
                // timespan do total de minutos
                Horas.Add(new TimeSpan(0, min_cont, 0).ToString(@"hh\:mm"));
                min_cont += 50;
            }
            ViewData["HorasInicio"] = new SelectList(Horas);
            return(View());
        }
Example #7
0
        // GET: Aulas/Edit/5
        public async Task <IActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            Aula aula = await _context.Aulas.FindAsync(id);

            if (aula == null)
            {
                return(NotFound());
            }
            List <string> Horas = new List <string>();

            ViewData["NumProfessor"] = new SelectList(_context.Professores, "NumCC", "NumCC", aula.NumProfessor);
            List <string> dias = new List <string>()
            {
                "Segunda-Feira", "Terça-Feira", "Quarta-Feira", "Quinta-Feira", "Sexta-Feira", "Sábado", "Domingo"
            };

            ViewData["DiaSemana"] = new SelectList(dias);
            Ginasio gym = _context.Ginasios.SingleOrDefault();
            int     numero_aulas_diarias = Convert.ToInt32(((gym.Hora_Fecho.TotalMinutes - gym.Hora_Abertura.TotalMinutes)) / 50);
            int     min_cont             = (int)gym.Hora_Abertura.TotalMinutes;

            for (int i = 0; i < numero_aulas_diarias; i++)
            {
                // timespan do total de minutos
                Horas.Add(new TimeSpan(0, min_cont, 0).ToString(@"hh\:mm"));
                min_cont += 50;
            }
            ViewData["HorasInicio"] = new SelectList(Horas);

            return(View(aula));
        }
        public static void Iniciar(HealthUpContext context)
        {
            //verifica e garante que a BD existe
            context.Database.EnsureCreated();

            // analiza a(s) tabela(s) onde pretendemos garantir os dados
            if (context.Pessoas.Any() == false)
            {
                // prepara os dados para a tabela...

                Pessoa p1 = new Pessoa()
                {
                    NumCC          = "48715473",
                    Username       = "******",
                    Sexo           = "M",
                    DataNascimento = new DateTime(1999, 6, 23).Date,
                    Fotografia     = "admin.jpg",
                    Email          = "*****@*****.**",
                    Nacionalidade  = "PT",
                    Nome           = "Diogo Silva",
                    Telemovel      = "+351937372277",
                    Password       = SecurePasswordHasher.Hash("admin"),
                    Admin          = new Admin()
                };

                context.Pessoas.Add(p1);
                Pessoa p2 = new Pessoa()
                {
                    NumCC          = "87654321",
                    Username       = "******",
                    Sexo           = "M",
                    DataNascimento = new DateTime(1999, 6, 23).Date,
                    Fotografia     = "admin.jpg",
                    Email          = "*****@*****.**",
                    Nacionalidade  = "PT",
                    Nome           = "João Soares",
                    Telemovel      = "+351696969696",
                    Password       = SecurePasswordHasher.Hash("admin"),
                    Admin          = new Admin()
                };
                context.Pessoas.Add(p2);
                Pessoa p3 = new Pessoa
                {
                    NumCC          = "48715479",
                    Username       = "******",
                    Sexo           = "M",
                    DataNascimento = new DateTime(1999, 6, 23).Date,
                    Fotografia     = "admin.jpg",
                    Email          = "*****@*****.**",
                    Nacionalidade  = "PT",
                    Nome           = "Diogo Silva",
                    Telemovel      = "+351937372277",
                    Password       = SecurePasswordHasher.Hash("prof"),
                    Professor      = new Professor()
                };
                p3.Professor.Especialidade = "KUNGFU";

                context.Pessoas.Add(p3);

                Pessoa p4 = new Pessoa
                {
                    NumCC          = "48725479",
                    Username       = "******",
                    Sexo           = "M",
                    DataNascimento = new DateTime(1999, 6, 23).Date,
                    Fotografia     = "admin.jpg",
                    Email          = "*****@*****.**",
                    Nacionalidade  = "PT",
                    Nome           = "Diogo Silva",
                    Telemovel      = "+351937372277",
                    Password       = SecurePasswordHasher.Hash("socio"),
                };
                p4.Socio = new Socio(p4)
                {
                    Peso   = 50,
                    Altura = "150"
                };
                context.Pessoas.Add(p4);
                context.Socios.Add(p4.Socio);
                context.Cota.Add(p4.Socio.Cotas);
            }
            if (context.Ginasios.Any() == false)
            {
                Ginasio gym = new Ginasio()
                {
                    Email          = "*****@*****.**",
                    Endereco       = "HealthUp Street",
                    Telemovel      = "+351938778987",
                    LocalizacaoGps = "41.297073600000004,-7.735144830710286",
                    Nome           = "HealthUp",
                    Hora_Abertura  = new TimeSpan(6, 0, 0),
                    Hora_Fecho     = new TimeSpan(22, 0, 0)
                };

                context.Ginasios.Add(gym);
            }


            context.SaveChanges();
        }
Example #9
0
        public IActionResult Create(IFormCollection dados, IFormFile FotografiaDivulgacao, IFormFile VideoDivulgacao)
        {
            Aula aula = new Aula
            {
                // Guardar o id do admin que criou
                NumAdmin = HttpContext.Session.GetString("UserId"),
                // Guardar o professor associado a esta aula
                NumProfessor = dados["IdProfessor"],
                // alterar
                DiaSemana = HelperFunctions.GetDay(dados["DiaSemana"]),

                HoraInicio           = TimeSpan.Parse(dados["HoraInicio"] + ":00"),
                Lotacao              = int.Parse(dados["Lotacao"]),
                ValidoDe             = DateTime.Parse(dados["ValidoDe"]),
                ValidoAte            = DateTime.Parse(dados["ValidoAte"]),
                Nome                 = dados["Nome"],
                Descricao            = dados["Descricao"],
                FotografiaDivulgacao = Path.GetFileName(FotografiaDivulgacao.FileName),
                VideoDivulgacao      = Path.GetFileName(VideoDivulgacao.FileName)
            };

            if (ModelState.IsValid)
            {
                _context.Add(aula);
                _context.SaveChanges();

                //guardar ficheiros no wwwroot
                string caminho          = Path.Combine(_hostEnvironment.ContentRootPath, "wwwroot\\Ficheiros");
                string nome_ficheiro    = Path.GetFileName(FotografiaDivulgacao.FileName);
                string caminho_completo = Path.Combine(caminho, nome_ficheiro);

                FileStream f = new FileStream(caminho_completo, FileMode.Create);
                FotografiaDivulgacao.CopyTo(f);

                f.Close();


                string caminho1          = Path.Combine(_hostEnvironment.ContentRootPath, "wwwroot\\Ficheiros");
                string nome_ficheiro1    = Path.GetFileName(VideoDivulgacao.FileName);
                string caminho_completo1 = Path.Combine(caminho1, nome_ficheiro1);

                FileStream ff = new FileStream(caminho_completo1, FileMode.Create);
                VideoDivulgacao.CopyTo(ff);

                ff.Close();

                return(RedirectToAction(nameof(Index)));
            }
            List <string> Horas = new List <string>();

            ViewData["NomeProfessor"] = new SelectList(_context.Professores.Include(x => x.NumProfessorNavigation), "NumProfessorNavigation.NumCC", "NumProfessorNavigation.Nome");
            List <string> dias = new List <string>()
            {
                "Segunda-Feira", "Terça-Feira", "Quarta-Feira", "Quinta-Feira", "Sexta-Feira", "Sábado", "Domingo"
            };

            ViewData["DiaSemana"] = new SelectList(dias);
            Ginasio gym = _context.Ginasios.SingleOrDefault();
            int     numero_aulas_diarias = Convert.ToInt32(((gym.Hora_Fecho.TotalMinutes - gym.Hora_Abertura.TotalMinutes)) / 50);
            int     min_cont             = (int)gym.Hora_Abertura.TotalMinutes;

            for (int i = 0; i < numero_aulas_diarias; i++)
            {
                // timespan do total de minutos
                Horas.Add(new TimeSpan(0, min_cont, 0).ToString(@"hh\:mm"));
                min_cont += 50;
            }
            ViewData["HorasInicio"] = new SelectList(Horas);

            return(View(aula));
        }
Example #10
0
        public IActionResult MapaAulas()
        {
            Ginasio gym = _context.Ginasios.SingleOrDefault();
            int     numero_aulas_diarias = Convert.ToInt32(((gym.Hora_Fecho.TotalMinutes - gym.Hora_Abertura.TotalMinutes)) / 50);
            // Listas de aulas diarias
            List <Aula> ListaAulas_SegundaFeira = new List <Aula>(numero_aulas_diarias);
            List <Aula> ListaAulas_TercaFeira   = new List <Aula>(numero_aulas_diarias);
            List <Aula> ListaAulas_QuartaFeira  = new List <Aula>(numero_aulas_diarias);
            List <Aula> ListaAulas_QuintaFeira  = new List <Aula>(numero_aulas_diarias);
            List <Aula> ListaAulas_SextaFeira   = new List <Aula>(numero_aulas_diarias);
            List <Aula> ListaAulas_Sabado       = new List <Aula>(numero_aulas_diarias);
            List <Aula> ListaAulas_Domingo      = new List <Aula>(numero_aulas_diarias);


            foreach (Aula item in _context.Aulas.ToList())
            {
                // verificar se a aula vai ocorrer esta semana na segunda feira
                if (item.IsAulaInCurrentWeek() && item.GetDiaSemana() == "Segunda-Feira")
                {
                    ListaAulas_SegundaFeira.Add(item); // se sim, adicionar a lista
                }
                // verificar se a aula vai ocorrer esta semana na terca feira
                if (item.IsAulaInCurrentWeek() && item.GetDiaSemana() == "Terça-Feira")
                {
                    ListaAulas_TercaFeira.Add(item); // se sim, adicionar a lista
                }
                // verificar se a aula vai ocorrer esta semana na quarta feira
                if (item.IsAulaInCurrentWeek() && item.GetDiaSemana() == "Quarta-Feira")
                {
                    ListaAulas_QuartaFeira.Add(item); // se sim, adicionar a lista
                }
                // verificar se a aula vai ocorrer esta semana na quinta feira
                if (item.IsAulaInCurrentWeek() && item.GetDiaSemana() == "Quinta-Feira")
                {
                    ListaAulas_QuintaFeira.Add(item); // se sim, adicionar a lista
                }
                // verificar se a aula vai ocorrer esta semana na sexta feira
                if (item.IsAulaInCurrentWeek() && item.GetDiaSemana() == "Sexta-Feira")
                {
                    ListaAulas_SextaFeira.Add(item); // se sim, adicionar a lista
                }
                // verificar se a aula vai ocorrer esta semana no sabado
                if (item.IsAulaInCurrentWeek() && item.GetDiaSemana() == "Sábado")
                {
                    ListaAulas_Sabado.Add(item); // se sim, adicionar a lista
                }
                // verificar se a aula vai ocorrer esta semana no domingo
                if (item.IsAulaInCurrentWeek() && item.GetDiaSemana() == "Domingo")
                {
                    ListaAulas_Domingo.Add(item); // se sim, adicionar a lista
                }
            }
            for (int i = ListaAulas_SegundaFeira.Count + 1; i <= ListaAulas_SegundaFeira.Capacity; i++)
            {
                ListaAulas_SegundaFeira.Add(null);
            }

            for (int i = ListaAulas_TercaFeira.Count + 1; i <= ListaAulas_SegundaFeira.Capacity; i++)
            {
                ListaAulas_TercaFeira.Add(null);
            }

            for (int i = ListaAulas_QuartaFeira.Count + 1; i <= ListaAulas_QuartaFeira.Capacity; i++)
            {
                ListaAulas_QuartaFeira.Add(null);
            }

            for (int i = ListaAulas_QuintaFeira.Count + 1; i <= ListaAulas_QuintaFeira.Capacity; i++)
            {
                ListaAulas_QuintaFeira.Add(null);
            }

            for (int i = ListaAulas_SextaFeira.Count + 1; i <= ListaAulas_SextaFeira.Capacity; i++)
            {
                ListaAulas_SextaFeira.Add(null);
            }

            for (int i = ListaAulas_Sabado.Count + 1; i <= ListaAulas_Sabado.Capacity; i++)
            {
                ListaAulas_Sabado.Add(null);
            }

            for (int i = ListaAulas_Domingo.Count + 1; i <= ListaAulas_Domingo.Capacity; i++)
            {
                ListaAulas_Domingo.Add(null);
            }

            ViewBag.SegundaFeira = OrganizarLista(ListaAulas_SegundaFeira);
            ViewBag.TercaFeira   = OrganizarLista(ListaAulas_TercaFeira);
            ViewBag.QuartaFeira  = OrganizarLista(ListaAulas_QuartaFeira);
            ViewBag.QuintaFeira  = OrganizarLista(ListaAulas_QuintaFeira);
            ViewBag.SextaFeira   = OrganizarLista(ListaAulas_SextaFeira);
            ViewBag.Sabado       = OrganizarLista(ListaAulas_Sabado);
            ViewBag.Domingo      = OrganizarLista(ListaAulas_Domingo);

            return(View());
        }