public async Task <IActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var obj = await _consultaService.FindByIdAsync(id.Value);

            if (obj == null)
            {
                return(NotFound());
            }

            List <Medicamento>    medicamentos  = _listMedicamentoService.FindAll();
            List <Veterinario>    veterinarios  = _listVeterinarioService.FindAll();
            List <Animal>         animals       = _listAnimalService.FindAll();
            List <Especie>        especies      = _listEspecieService.FindAll();
            List <Proprietario>   proprietarios = _listProprietarioService.FindAll();
            ConsultaFormViewModel viewModel     = new ConsultaFormViewModel {
                Consulta = obj, Proprietarios = proprietarios, Especies = especies, Animal = animals, Medicamentos = medicamentos, Veterinarios = veterinarios
            };

            return(View(viewModel));
        }
示例#2
0
        public async Task <IActionResult> Create(Consulta consulta)
        {
            try
            {
                consulta.ConsultaSituacaoId = (int)ConsultaSituacaoEnum.Aberta;

                if (!ModelState.IsValid)
                {
                    List <Medico> medicos = await _medicoService.GetAllMedicos();

                    ConsultaFormViewModel consultaFormViewModel = new ConsultaFormViewModel
                    {
                        Consulta = consulta,
                        Medicos  = medicos
                    };

                    return(View(consultaFormViewModel));
                }

                if (await _consultaService.VerificaDuplicidadeDeConsultaPorMedicoeHorario(consulta))
                {
                    return(RedirectToAction(nameof(Erro), new { mensagem = "Já existe consulta marcada para a data e horário informados com o mesmo médico" }));
                }

                await _consultaService.AddConsultaAsync(consulta);

                return(RedirectToAction(nameof(Index)));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
示例#3
0
        public async Task <IActionResult> Create(Consulta consulta)
        {
            if (!ModelState.IsValid)
            {
                var medicos = await _medicoService.FindAllAsync();

                var viewModel = new ConsultaFormViewModel {
                    Consulta = consulta, Medicos = medicos
                };
                return(View(viewModel));
            }

            //A data final não pode ser menor que a data inicial
            if (consulta.DiaHoraFinalConsulta <= consulta.DiaHoraInicialConsulta)
            {
                return(RedirectToAction(nameof(Error), new { message = "Dia e hora final da consulta não permitido" }));
            }

            //O sistema não deve permitir o agendamento de duas ou mais consultas no mesmo range de datas
            var obj = await _consultaService.FindByDateAsync(consulta.DiaHoraInicialConsulta, consulta.DiaHoraFinalConsulta, consulta.MedicoId);

            if (obj == null)
            {
                await _consultaService.InsertAsync(consulta);

                return(RedirectToAction(nameof(Index)));
            }
            else
            {
                return(RedirectToAction(nameof(Error), new { message = "Data e hora já agendada para este médico" }));
            }
        }
示例#4
0
        public async Task <IActionResult> Edit(int id, Consulta consulta)
        {
            if (!ModelState.IsValid)
            {
                var medicos = await _medicoService.FindAllAsync();

                var viewModel = new ConsultaFormViewModel {
                    Consulta = consulta, Medicos = medicos
                };
                return(View(viewModel));
            }

            if (id != consulta.Id)
            {
                return(RedirectToAction(nameof(Error), new { message = "Id não corresponde" }));
            }

            try
            {
                await _consultaService.UpdateAsync(consulta);

                return(RedirectToAction(nameof(Index)));
            }
            catch (ApplicationException e)
            {
                return(RedirectToAction(nameof(Error), new { message = e.Message }));
            }
        }
示例#5
0
        // GET : Consultas
        public async Task <IActionResult> Create()
        {
            var medicos = await _medicoService.FindAllAsync();

            var viewModel = new ConsultaFormViewModel {
                Medicos = medicos
            };

            return(View(viewModel));
        }
        public async Task <IActionResult> Create()
        {
            var especialistas = await _especialistaService.FindAllAsync();

            var clientes = await _clienteService.FindAllAsync();

            var viewModel = new ConsultaFormViewModel {
                Especialista = especialistas, Cliente = clientes
            };

            return(View(viewModel));
        }
        public IActionResult Create()
        {
            var medicamentos  = _listMedicamentoService.FindAll();
            var especies      = _listEspecieService.FindAll();
            var proprietarios = _listProprietarioService.FindAll();
            var animals       = _listAnimalService.FindAll();
            var veterinarios  = _listVeterinarioService.FindAll();
            var viewModel     = new ConsultaFormViewModel {
                Veterinarios = veterinarios, Animal = animals, Especies = especies, Proprietarios = proprietarios, Medicamentos = medicamentos
            };

            return(View(viewModel));
        }
        public async Task <IActionResult> Edit(int?id)
        {
            var obj = await _consultaService.FindByIdAsync(id.Value);                      //iremos procurar se existe a id da consulta

            List <Especialista> especialistas = await _especialistaService.FindAllAsync(); //vamos refazer a lista de  todo especialistas

            List <Cliente> clientes = await _clienteService.FindAllAsync();                //vamos refazer a lista de  todo cliente

            ConsultaFormViewModel viewModel = new ConsultaFormViewModel {
                Consulta = obj, Especialista = especialistas, Cliente = clientes
            };

            return(View(viewModel));
        }
        public async Task <IActionResult> Create(Cliente cliente)
        {
            if (!ModelState.IsValid)
            {
                var clien = await _clienteService.FindAllAsync();

                var viewModel = new ConsultaFormViewModel {
                    Cliente = clien
                };
                return(View(viewModel));
            }
            await _clienteService.InsertAsync(cliente);

            return(RedirectToAction(nameof(Index)));
        }
示例#10
0
        public async Task <IActionResult> Create()
        {
            try
            {
                List <Medico> medicos = await _medicoService.GetAllMedicos();

                var consultaViewModel = new ConsultaFormViewModel {
                    Medicos = medicos
                };
                return(View(consultaViewModel));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public async Task <IActionResult> Create(Consulta consulta)
        {
            if (!ModelState.IsValid)//validação do JavaScript estiver desabilitado
            {
                var cliente = await _clienteService.FindAllAsync();

                var especialisa = await _especialistaService.FindAllAsync();

                var viewModel = new ConsultaFormViewModel {
                    Cliente = cliente, Especialista = especialisa, Consulta = consulta
                };
                return(View(viewModel));
            }
            await _consultaService.InsertAsync(consulta);

            return(RedirectToAction(nameof(Index)));
        }
示例#12
0
        public async Task <IActionResult> AgendarConsulta(ConsultaFormViewModel agendamentoConsulta, IFormCollection form)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    List <Medico> medicos = await _medicoService.GetAllMedicos();

                    ConsultaFormViewModel consultaFormViewModel = new ConsultaFormViewModel
                    {
                        Consulta = agendamentoConsulta.Consulta,
                        Medico   = agendamentoConsulta.Medico
                    };

                    return(View(consultaFormViewModel));
                }

                agendamentoConsulta.Consulta.ConsultaSituacaoId = (int)ConsultaSituacaoEnum.Pendente;
                int idMedico = Convert.ToInt32(Request.Form["Medicos"]);
                agendamentoConsulta.Consulta.Medico = await _medicoService.ObterMedicoByIdAsync(idMedico);

                if (await _consultaService.VerificaDuplicidadeDeConsultaPorMedicoeHorario(agendamentoConsulta.Consulta))
                {
                    return(RedirectToAction(nameof(Erro), new { mensagem = "Já existe consulta marcada para a data e horário informados com o mesmo médico" }));
                }

                if (!_pacienteService.ExistePacienteByNomeAsync(agendamentoConsulta.Paciente.Nome))
                {
                    await _pacienteService.AdicionarPacienteAsync(agendamentoConsulta.Paciente);
                }

                agendamentoConsulta.Consulta.Paciente = await _pacienteService.ObterPacienteByNomeAsync(agendamentoConsulta.Paciente.Nome);

                await _consultaService.AddConsultaAsync(agendamentoConsulta.Consulta);

                return(RedirectToAction(nameof(Index)));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
示例#13
0
        //GET : Edit
        public async Task <IActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(RedirectToAction(nameof(Error), new { message = "Id nulo" }));
            }

            var obj = await _consultaService.FindByIdAsync(id.Value);

            if (obj == null)
            {
                return(RedirectToAction(nameof(Error), new { message = "Id não encontrado" }));
            }

            List <Medico> medicos = await _medicoService.FindAllAsync();

            ConsultaFormViewModel viewModel = new ConsultaFormViewModel {
                Consulta = obj, Medicos = medicos
            };

            return(View(viewModel));
        }