public IActionResult Cadastro(AgendaCastramovel model, string horaInicio, string horaFim, int intervalo) { if (model == null) { return(NotFound()); } if (Convert.ToDateTime(horaFim) < Convert.ToDateTime(horaInicio)) { ModelState.AddModelError(string.Empty, "A hora de término deve ser maior do que a de início."); return(View()); } if (_context.AgendasCastramovel.Where(c => c.Data == model.Data).Any()) { ModelState.AddModelError(string.Empty, "Já existe um agendamento nessa data."); return(View()); } if (model.Data < DateTime.Today) { ModelState.AddModelError(string.Empty, "A data deve ser maior do que o dia atual."); return(View()); } if (intervalo < 1) { ModelState.AddModelError(string.Empty, "O intervalo deve ser maior que 0."); return(View()); } _context.AgendasCastramovel.Add(model); _context.SaveChanges(); GerarHorarios(model, intervalo, DateTime.Parse(horaInicio), DateTime.Parse(horaFim)); return(RedirectToAction(nameof(Index))); }
public IActionResult Editar(int id, AgendaCastramovel model) { if (id != model.Id) { return(NotFound()); } try { AgendaCastramovel agenda = _context.AgendasCastramovel.Find(id); agenda = model; _context.AgendasCastramovel.Update(agenda); _context.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (!AgendaCastramovelExists(model.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); }
private Boolean verificaHorario(Agendamento model) { AgendaCastramovel dia = (AgendaCastramovel)_context.AgendasCastramovel.Where(d => d.Id == model.AgendaCastramovelId); List <Horarios> horas = _context.Horarios.Where(d => d.AgendaCastramovelId == dia.Id).ToList(); foreach (Horarios hora in horas) { if (model.Horarios.Horario == hora.Horario) { return(object.Equals(hora.Disponivel, true)); } } return(false); }
public IActionResult CadastrarEmMassa(AgendaCastramovel model, DateTime dataInicial, DateTime dataFinal) { DateTime data = dataInicial; while (data <= dataFinal) { model.Id = 0; model.Data = data; _context.AgendasCastramovel.Add(model); data = data.AddDays(1); _context.SaveChanges(); } return(View()); }
public IActionResult Editar(int?id) { if (id == null) { return(NotFound()); } AgendaCastramovel agenda = _context.AgendasCastramovel.Include(a => a.Data).First(a => a.Id == id); if (agenda == null) { return(NotFound()); } return(View(agenda)); }
private void GerarHorarios(AgendaCastramovel model, int intervalo, DateTime horaInicio, DateTime horaFim) { DateTime hora = horaInicio; Horarios horarios = new Horarios(); horarios.AgendaCastramovelId = model.Id; horarios.Disponivel = true; while (hora != horaFim) { if (hora.Hour != 12) { horarios.Id = 0; horarios.Horario = hora.ToString("H:mm"); _context.Horarios.Add(horarios); _context.SaveChanges(); } hora = hora.AddMinutes(intervalo); } }