public Models.TbConsulta RemarcarConsulta(Models.Request.RemarcacaoRequest request)
        {
            Models.TbConsulta consultaNova = this.PegarConsulta(request.IdAgendamento);

            consultaNova.DtConsulta = request.NovoHorario;
            ctx.SaveChanges();

            return(this.PegarConsulta(consultaNova.IdConsulta));
        }
        public Models.TbConsulta RemarcarConsulta(Models.Request.RemarcacaoRequest request)
        {
            validador.ValidarHorarios(request.NovoHorario);

            Models.TbConsulta consulta = dbAgendamento.PegarConsulta(request.IdAgendamento);

            validador.ValidarSeOFuncionarioEstaDisponivel(request.NovoHorario, consulta.IdFuncionario);

            validador.ValidarSeOClienteEstaDisponivel(request.NovoHorario, consulta.IdCliente);

            return(dbAgendamento.RemarcarConsulta(request));
        }
 public ActionResult <Models.Response.ConsultaResponse> RemarcarConsulta(Models.Request.RemarcacaoRequest request)
 {
     try
     {
         Models.TbConsulta consulta = business.RemarcarConsulta(request);
         Models.Response.ConsultaResponse response = conversor.ParaConsultaResponse(consulta);
         enviarEmailBusiness.EnviarEmailDeRemarcacaoDaConsulta(response);
         return(response);
     }
     catch (System.Exception ex)
     {
         return(BadRequest(new Models.Response.ErroResponse(
                               ex.Message, 400
                               )));
     }
 }