// GET: Agendamentos/Create
        public IActionResult Create()
        {
            ViewBag.Periodo  = Combos.retornarOpcoesPeriodo();
            ViewBag.TipoSala = Combos.retornarOpcoesSala();

            return(View());
        }
        public async Task <IActionResult> Create(AgendamentoDto dto)
        {
            ViewBag.Periodo  = Combos.retornarOpcoesPeriodo();
            ViewBag.TipoSala = Combos.retornarOpcoesSala();

            dto.Validate();
            if (dto.Invalid)
            {
                TempData["Notificacao"] = new BadRequestDto(dto.Notifications, TipoNotificacao.Warning);
                return(View(dto));
            }

            await _agendamentoService.CriarAsync(dto);

            if (_agendamentoService.Invalid)
            {
                TempData["Notificacao"] = new BadRequestDto(_agendamentoService.Notifications, TipoNotificacao.Warning);
                return(View(dto));
            }

            TempData["Notificacao"] = new BadRequestDto(new List <Notification>()
            {
                new Notification("CadastrarAgendamento", "Agendamento cadastrado com sucesso.")
            }, TipoNotificacao.Success);
            ViewBag.Controller = "Agendamentos";
            return(View("_Confirmacao"));
        }
        //GET: Agendamentos/Edit/5
        public async Task <IActionResult> Edit(Guid id)
        {
            var agendamento = await _agendamentoService.ObterAsync(id);

            if (_agendamentoService.Invalid)
            {
                TempData["Notificacao"] = new BadRequestDto(_agendamentoService.Notifications, TipoNotificacao.Warning);
                ViewBag.Controller      = "Agendamentos";
                return(View("_Confirmacao"));
            }

            ViewBag.Tipo = (int)agendamento.Sala.Tipo;
            ViewBag.Sala = agendamento.SalaId;

            ViewBag.Periodo  = Combos.retornarOpcoesPeriodo();
            ViewBag.TipoSala = Combos.retornarOpcoesSala();

            return(View(new AgendamentoDto(agendamento)));
        }