public Models.TbConsulta CancelarConsulta(int id) { Models.TbConsulta consulta = this.PegarConsulta(id); consulta.DsSituacao = "Cancelado"; ctx.SaveChanges(); return(consulta); }
public Models.TbConsulta AgendarNovaConsulta(Models.TbConsulta request, string email) { if (request.IdServico == 0) { throw new ArgumentException("Obrigatório a escolha de um serviço"); } if (request.IdFuncionario == 0) { throw new ArgumentException("Obrigatório a escolha de um profissional"); } validador.ValidarSeOFuncionarioEstaDisponivel(request.DtConsulta, request.IdFuncionario); validador.ValidarSeOClienteEstaDisponivel(request.DtConsulta, request.IdCliente); validador.ValidarHorarios(request.DtConsulta); validador.ValidarPagamento(request.TpFormaPagamento, request.NrParcelas); if (email == null) { return(dbAgendamento.AgendarNovaConsulta(request)); } else { validador.ValidarEmail(email); int IdCliente = dbAgendamento.DescobrirClientePeloEmail(email); request.IdCliente = IdCliente; return(dbAgendamento.AgendarNovaConsulta(request)); } }
public Models.TbConsulta AlterarSituação(int idConsulta, string novaSituacao) { Models.TbConsulta consulta = this.PegarConsulta(idConsulta); consulta.DsSituacao = novaSituacao; ctx.SaveChanges(); return(consulta); }
public Models.TbConsulta AgendarNovaConsulta(Models.TbConsulta request) { ctx.TbConsulta.Add(request); ctx.SaveChanges(); return(this.PegarConsulta(request.IdConsulta)); }
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.Response.ConsultaResponse ParaConsultaResponse(Models.TbConsulta consulta) { Models.Response.ConsultaResponse consultaResponse = new Models.Response.ConsultaResponse(); consultaResponse.Email = consulta.IdClienteNavigation.IdLoginNavigation.DsEmail; consultaResponse.HorarioConsulta = consulta.DtConsulta; consultaResponse.HorarioInclusao = consulta.DtInclusao; consultaResponse.NomeCliente = consulta.IdClienteNavigation.NmCliente; consultaResponse.NomeFuncionario = consulta.IdFuncionarioNavigation.NmFuncionario; consultaResponse.Servico = consulta.IdServicoNavigation.NmServico; return(consultaResponse); }
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 Models.TbConsulta AvaliarConsulta(Models.Request.AvaliarRequest feedback) { Models.TbConsulta consultaComNovoFeedback = this.PegarConsulta(feedback.IdConsulta); consultaComNovoFeedback.NrNota = feedback.Nota; ctx.SaveChanges(); consultaComNovoFeedback.DsComentarioFeedback = feedback.Comentario; ctx.SaveChanges(); return(consultaComNovoFeedback); }
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 ))); } }
public Models.TbConsulta FuncionarioParaTbConsulta(Models.Request.NovaConsultaFuncionarioRequest request) { Models.TbConsulta NovaConsulta = new Models.TbConsulta(); NovaConsulta.IdFuncionario = request.IdFuncionario; NovaConsulta.DsSituacao = "Agendado"; NovaConsulta.DtConsulta = request.Data; NovaConsulta.DtInclusao = DateTime.Now; NovaConsulta.IdFuncionario = request.IdFuncionario; NovaConsulta.IdServico = request.IdServico; NovaConsulta.NrParcelas = request.QtdParcelas; NovaConsulta.TpFormaPagamento = request.FormaDePagamento; NovaConsulta.VlDesconto = request.Desconto; NovaConsulta.VlSubtotal = request.SubTotal; NovaConsulta.VlTotal = request.ValorTotal; NovaConsulta.VlTotalPorMes = request.ValorTotal / request.QtdParcelas; return(NovaConsulta); }
public ActionResult <Models.Response.SucessoResponse> CancelarConsulta(int idconsulta) { try { Models.TbConsulta consulta = business.CancelarConsulta(idconsulta); Models.Response.ConsultaResponse consultaResponse = conversor.ParaConsultaResponse(consulta); enviarEmailBusiness.EnviarEmailDeCancelamentoDaConsulta(consultaResponse); return(new Models.Response.SucessoResponse("Consulta cancelada com sucesso")); } catch (System.Exception ex) { return(BadRequest(new Models.Response.ErroResponse( ex.Message, 400 ))); } }
public ActionResult <Models.Response.ConsultaResponse> AgendarNovaConsultaCliente(Models.Request.NovaConsultaClienteRequest request) { try { Models.TbConsulta consulta = conversor.ClienteParaTbConsulta(request); consulta = business.AgendarNovaConsulta(consulta, null); Models.Response.ConsultaResponse consultaResponse = conversor.ParaConsultaResponse(consulta); enviarEmailBusiness.EnviarEmailDeAgendamentoDaConsulta(consultaResponse); return(consultaResponse); } catch (System.Exception ex) { return(BadRequest(new Models.Response.ErroResponse( ex.Message, 400 ))); } }
public ActionResult <Models.Response.SucessoResponse> AlterarSituação(int idConsulta, string novaSituacao) { try { Models.TbConsulta consulta = business.AlterarSituação(idConsulta, novaSituacao); if (consulta.DsSituacao == "Concluido") { Models.Response.ConsultaResponse consultaResponse = conversor.ParaConsultaResponse(consulta); enviarEmailBusiness.EnviarEmailDeAvaliacaoDaConsulta(consultaResponse); } return(new Models.Response.SucessoResponse("Situação da consulta alterada com sucesso!")); } catch (System.Exception ex) { return(BadRequest(new Models.Response.ErroResponse( ex.Message, 400 ))); } }
public ActionResult <Models.Response.ConsultaResponse> AgendarNovaConsultaFuncionario(Models.Request.NovaConsultaFuncionarioRequest request) { try { Models.TbConsulta tbConsulta = conversor.FuncionarioParaTbConsulta(request); Models.TbConsulta consultaAgendada = business.AgendarNovaConsulta(tbConsulta, request.EmailCliente); Models.Response.ConsultaResponse response = conversor.ParaConsultaResponse(consultaAgendada); enviarEmailBusiness.EnviarEmailDeAgendamentoDaConsulta(response); return(response); } catch (System.Exception ex) { return(BadRequest(new Models.Response.ErroResponse( ex.Message, 400 ))); } }
public Models.TbConsulta PegarConsulta(int id) { Models.TbConsulta consulta = ctx.TbConsulta.FirstOrDefault(x => x.IdConsulta == id); return(consulta); }