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);
        }
示例#3
0
        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
                                      )));
            }
        }
示例#4
0
        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
                                      )));
            }
        }