public HttpResponseMessage GetMensalidade(HttpRequestMessage request, string tipo) { return(CreateHttpResponse(request, () => { HttpResponseMessage response = null; var usuario = _usuarioRep.GetSingle(int.Parse(HttpContext.Current.User.Identity.GetUserId())); var membro = _membroRep.All.FirstOrDefault(x => x.PessoaId == usuario.PessoaId); var mensalidades = _mensalidadeRep.All.Where(x => x.MembroId == membro.Id); var listaMensalidades = new List <MensalidadeViewModel>(); switch (tipo) { case "pendente": mensalidades = mensalidades.Where(x => (x.Status == StatusMensalidade.Gerado || x.Status == StatusMensalidade.AguardandoPagamento) && x.Ativo); break; case "historico": mensalidades = mensalidades.Where(x => x.Status != StatusMensalidade.Gerado && x.Status != StatusMensalidade.AguardandoPagamento); break; default: break; } mensalidades.ToList().ForEach(x => { var mensal = new MensalidadeViewModel(); mensal.Id = x.Id; mensal.Descricao = x.Descricao; mensal.DtVencimento = tipo.Equals("pendente") ? x.DtVencimento : x.DtRecebimento != null ? x.DtRecebimento.Value.AddMonths(x.PlanoMensalidade.QtdMeses) : x.DtVencimento.AddMonths(x.PlanoMensalidade.QtdMeses); mensal.Status = x.Status; mensal.TipoPlano = x.PlanoMensalidade.Descricao; mensal.TipoPagamentoId = (int)x.Detalhes.FirstOrDefault().Tipo; mensal.Tipo = x.Detalhes.FirstOrDefault().Tipo == TipoMovimentacao.Credito ? "Crédito" : x.Detalhes.FirstOrDefault().Tipo == TipoMovimentacao.Debito ? "Débito" : "Boleto"; mensal.Total = x.Detalhes.Sum(s => s.Valor); mensal.UrlBoleto = x.UrlPdf; mensal.Ativo = x.Ativo; listaMensalidades.Add(mensal); }); response = request.CreateResponse(HttpStatusCode.OK, listaMensalidades); return response; })); }
protected override void OnAppearing() { base.OnAppearing(); if (!dadosCarregados) { viewModel = new MensalidadeViewModel(App.ParticipanteId.GetValueOrDefault()); this.BindingContext = viewModel; dadosCarregados = true; } }