Пример #1
0
        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)));
        }
Пример #2
0
        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)));
        }
Пример #3
0
        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);
        }
Пример #4
0
        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());
        }
Пример #5
0
        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));
        }
Пример #6
0
        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);
            }
        }