Example #1
0
        public async Task <IActionResult> Create(Agenda agenda)
        {
            if (ModelState.IsValid)
            {
                agenda.Valor    = agenda.Valor + ",00";
                agenda.Paciente = await _context.Paciente.Where(x => x.Cpf == agenda.Paciente.Cpf).FirstOrDefaultAsync();

                agenda.Profissional = await _context.Profissional.Where(x => x.Cpf == agenda.Profissional.Cpf).FirstOrDefaultAsync();

                if (agenda.Repetir > 0)
                {
                    var datas = _agendaServ.BuscaDatas(agenda.Repetir, agenda.DataHora);

                    foreach (var item in datas)
                    {
                        var ag = new Agenda
                        {
                            Criado           = agenda.Criado,
                            CriadoData       = agenda.CriadoData,
                            Profissional     = agenda.Profissional,
                            DataHora         = item,
                            Local            = agenda.Local,
                            Paciente         = agenda.Paciente,
                            TipoAtendimento  = agenda.TipoAtendimento,
                            Presenca         = agenda.Presenca,
                            FaltaJustificada = agenda.FaltaJustificada,
                            Falta            = agenda.Falta,
                            Reagendar        = agenda.Reagendar,
                            Anotações        = agenda.Anotações,
                            Repetir          = agenda.Repetir,
                            Valor            = agenda.Valor
                        };
                        _context.Add(ag);
                    }
                    await _context.SaveChangesAsync();

                    return(RedirectToAction(nameof(Index)));
                }
                else
                {
                    _context.Add(agenda);
                    await _context.SaveChangesAsync();

                    return(RedirectToAction(nameof(Index)));
                }
            }
            return(View(agenda));
        }