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); }
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)); }
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")); }
// 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()); }
// 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(); }
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)); }
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()); }