public List <Models.Response.AgendadosResponse> ParaAgendadadosResponse(List <Models.TbConsulta> listaDeConsultas) { List <Models.Response.AgendadosResponse> agendadosResponse = new List <Models.Response.AgendadosResponse>(); foreach (Models.TbConsulta item in listaDeConsultas) { Models.Response.AgendadosResponse response = new Models.Response.AgendadosResponse(); response.Data = item.DtConsulta; response.Desconto = item.VlDesconto; response.Doutor = item.IdFuncionarioNavigation.NmFuncionario; response.FormaPagamento = item.TpFormaPagamento; response.IdConsulta = item.IdConsulta; response.NomeCliente = item.IdClienteNavigation.NmCliente; response.Servico = item.IdServicoNavigation.NmServico; response.Situacao = item.DsSituacao; response.Subtotal = item.VlSubtotal; response.ValorTotal = item.VlTotal; response.TotalPorMes = item.VlTotalPorMes; response.Parcelas = item.NrParcelas; response.Nota = item.NrNota; response.Comentario = item.DsComentarioFeedback; agendadosResponse.Add(response); } return(agendadosResponse.OrderByDescending(x => x.Data).ToList()); }
public Models.Response.AgendadosResponse ParaResponseAgendados(Models.TbAgendamento agendamento) { Models.Response.AgendadosResponse resp = new Models.Response.AgendadosResponse(); resp.idCliente = agendamento.IdClienteNavigation.IdCliente; resp.Marca = agendamento.IdCarroNavigation.DsMarca; resp.Modelo = agendamento.IdCarroNavigation.DsModelo; resp.Data = agendamento.DtAgendamento; resp.Cliente = agendamento.IdClienteNavigation.NmCliente; resp.Nota = agendamento.NrAvaliacao; if (agendamento.IdFuncionarioNavigation == null) { resp.Funcionario = string.Empty; } else { resp.Funcionario = agendamento.IdFuncionarioNavigation.NmFuncionario; } resp.idAgendamento = agendamento.IdAgendamento; resp.Situacao = agendamento.DsSituacao; return(resp); }
public ActionResult <Models.Response.AgendadosResponse> RemarcarTestDrive(DateTime novoHorario, int idAgendamento) { try { Models.TbAgendamento agendamento = business.PegarAgendamentos(idAgendamento); agendamento = business.Remarcar(novoHorario, agendamento); Models.Response.AgendadosResponse response = verAgendamentosConversor.ParaResponseAgendados(agendamento); return(response); } catch (System.Exception ex) { return(BadRequest(new Models.Response.ErroResponse( 400, ex.Message ))); } }
public async Task <ActionResult <Models.Response.AgendadosResponse> > AceitarAgendamento(int idFuncionario, int idAgendamento) { try { Models.TbAgendamento agendamento = business.AceitarAgendamento(idFuncionario, idAgendamento); Models.Response.AgendadosResponse response = verAgendamentosConversor.ParaResponseAgendados(agendamento); string corpo = $"Olá. Um funcionário aceitou o seu agendamento para {response.Data.Value.Day}/{response.Data.Value.Month} ás {response.Data.Value.Hour}:{response.Data.Value.Minute}. Você pode ver mais detalhadamente em nosso site. Estamos te esperando."; string email = business.PegarEmailUsuario(agendamento.IdCliente); await _mailer.EnviarEmailAsync(email, "Test Drive Confirmado", corpo); return(response); } catch (System.Exception ex) { return(BadRequest(new Models.Response.ErroResponse( 400, ex.Message ))); } }