public Models.Response.AgendadosResponseCompleto SepararPorTipo(List <Models.TbAgendamento> agendamentos) { DateTime agora = DateTime.Now; DateTime amanha = DateTime.Now.AddDays(1); DateTime depois = DateTime.Now.AddDays(2); Models.Response.AgendadosResponseCompleto responseCompleto = new Models.Response.AgendadosResponseCompleto(); responseCompleto.Hoje = new List <Models.Response.AgendadosResponse>(); responseCompleto.Amanha = new List <Models.Response.AgendadosResponse>(); responseCompleto.Depois = new List <Models.Response.AgendadosResponse>(); responseCompleto.Concluidos = new List <Models.Response.AgendadosResponse>(); responseCompleto.Outros = new List <Models.Response.AgendadosResponse>(); List <Models.Response.AgendadosResponse> listaAgendados = new List <Models.Response.AgendadosResponse>(); listaAgendados = this.ListaResponseAgendados(agendamentos); foreach (Models.Response.AgendadosResponse item in listaAgendados) { if (item.Data.Value.Date == agora.Date && item.Situacao == "Aprovado") { responseCompleto.Hoje.Add(item); } else if (item.Data.Value.Date == amanha.Date && item.Situacao == "Aprovado") { responseCompleto.Amanha.Add(item); } else if (item.Data.Value.Date >= depois.Date && item.Situacao == "Aprovado") { responseCompleto.Depois.Add(item); } else if (item.Situacao == "Concluido") { responseCompleto.Concluidos.Add(item); } else { responseCompleto.Outros.Add(item); } } responseCompleto.Hoje = responseCompleto.Hoje.OrderBy(x => x.Data).ToList(); responseCompleto.Amanha = responseCompleto.Amanha.OrderBy(x => x.Data).ToList(); responseCompleto.Depois = responseCompleto.Depois.OrderBy(x => x.Data).ToList(); responseCompleto.Concluidos = responseCompleto.Concluidos.OrderByDescending(x => x.Data).ToList(); responseCompleto.Outros = responseCompleto.Outros.OrderByDescending(x => x.Data).ToList(); return(responseCompleto); }
public ActionResult <Models.Response.AgendadosResponseCompleto> PegarTodosAgendamentos() { try { List <Models.TbAgendamento> agendamentos = business.PegarTodosAgendamentos(); if (agendamentos.Count == 0) { return(NotFound("Nenhum agendamento encontrado")); } Models.Response.AgendadosResponseCompleto response = conversor.SepararPorTipo(agendamentos); return(response); } catch (System.Exception ex) { return(BadRequest(new Models.Response.ErroResponse(400, ex.Message))); } }
public ActionResult <Models.Response.AgendadosResponseCompleto> ListarAgendados(int idCliente) { try { List <Models.TbAgendamento> agendamentos = business.ListarAgendadosCliente(idCliente); if (agendamentos.Count == 0 || agendamentos == null) { return(NotFound("Nenhum agendamento encontrado")); } Models.Response.AgendadosResponseCompleto listaAgendados = conversor.SepararPorTipo(agendamentos); return(listaAgendados); } catch (System.Exception ex) { return(BadRequest(new Models.Response.ErroResponse( 400, ex.Message ))); } }