예제 #1
0
        protected async Task ExcluirMensalidade(int id)
        {
            estaMensalidade = await ServiceMensalidade.GetById(id);

            var conteudo = new StringBuilder();

            conteudo.Append($"Nome: {estaMensalidade.NomeAfiliado}");
            conteudo.Append(Environment.NewLine);
            conteudo.Append($"Parcela: {estaMensalidade.MensalidadeReferencia}");
            conteudo.Append(Environment.NewLine);
            conteudo.Append($"Valor: {estaMensalidade.ValorMensalidade.ToString("c")}");
            conteudo.Append(Environment.NewLine);
            conteudo.Append($"Vencto.: {estaMensalidade.DataVencimento.ToShortDateString()}");
            var confirmado = await MessageBox($"Exclusão de Mensalidade", conteudo.ToString(), "question", "Sim", "Não");

            if (confirmado)
            {
                await ServiceMensalidade.Remove(id);
                await MessageBox("Exclusão de Registro", "Mensalidade Excluída com Sucesso!!!", "success", "Ok", string.Empty, false);

                SetNew();
                GlobalState.InvokeStateChange();
                await ObterMensalidades();
            }
        }
예제 #2
0
        protected async Task EfetivarBaixa()
        {
            var lanctoFinanceiro = new LancamentoCaixa();

            estaMensalidade.DataPagamento = DateTime.Now;
            estaMensalidade.Pago          = true;
            estaMensalidade.DataAlteracao = DateTime.Now;
            var dadosmensalidade = $"Afiliado: {estaMensalidade.NomeAfiliado} - Mensalidade: {estaMensalidade.MensalidadeReferencia}";

            await ServiceMensalidade.Update(estaMensalidade).ContinueWith(async _ =>
            {
                //inclui um lançamento financeiro
                lanctoFinanceiro = new LancamentoCaixa
                {
                    Ativo               = true,
                    DataLancamento      = DateTime.Now,
                    DescricaoLancamento = $"Pagto. Mensalidade -> {dadosmensalidade}",
                    TipoLancto          = 2,
                    ValorLancto         = estaMensalidade.ValorPago
                };
                await ServiceLancamento.Add(lanctoFinanceiro);
            }
                                                                          );

            await MessageBoxModal($"Baixa de Mensalidade", $"Mensalidade Baixada Com Sucesso!!!", "success", "Ok");

            OpenPage("/mensalidadeindex", true);
        }
예제 #3
0
        protected async Task BuscarMensalidadeContendoTexto(string texto)
        {
            mensalidadeList.Clear();
            var result = await ServiceMensalidade.GetMensalidadeWithName(texto);

            mensalidadeList.AddRange(result);
            StateHasChanged();
        }
예제 #4
0
        protected async Task GerarParcela(int idAfiliado, int qtdeParcelas, decimal valorParcela, int diaVencimento, bool emLote)
        {
            var vencimentoInicial = new DateTime(DateTime.Now.Year, DateTime.Now.Month + 1, diaVencimento);

            //gera um lote de mensalidade para todos afiliados
            if (emLote)
            {
                var estaMensalidade = ServiceMensalidade.GetNew();
                var lista           = ServiceAfiliado.GetAll().Result;
                afiliadoList.Clear();
                afiliadoList.AddRange(lista);

                mensalidadeList.Clear();
                //cria as parcelas

                foreach (var afiliado in afiliadoList)
                {
                    for (int i = 0; i < qtdeParcelas; i++)
                    {
                        mensalidadeList.Add(new Mensalidade
                        {
                            IdFiliado        = afiliado.Id,
                            DataVencimento   = vencimentoInicial,
                            ValorMensalidade = valorParcela,
                            NomeAfiliado     = afiliado.Nome
                        });
                        vencimentoInicial = NextMonth(vencimentoInicial);
                        afiliado.Mensalidades.Add(mensalidadeList[i]);
                    }

                    await ServiceAfiliado.Update(afiliado);
                }
                foreach (var item in mensalidadeList)
                {
                    await ServiceMensalidade.Add(item);
                }
            }
            else
            {
                var esteAfiliado = ServiceAfiliado.GetById(idAfiliado).Result;

                for (int i = 0; i < qtdeParcelas; i++)
                {
                    estaMensalidade = new Mensalidade
                    {
                        IdFiliado        = idAfiliado,
                        DataVencimento   = vencimentoInicial,
                        ValorMensalidade = valorParcela,
                        NomeAfiliado     = esteAfiliado.Nome
                    };
                    esteAfiliado.Mensalidades.Add(estaMensalidade);
                    await ServiceMensalidade.Add(estaMensalidade);

                    vencimentoInicial = NextMonth(vencimentoInicial);
                }
                await ServiceAfiliado.Update(esteAfiliado);
            }
        }
예제 #5
0
        protected async Task ObterMensalidades()
        {
            mensalidadeList.Clear();
            mensalidades.Clear();
            var lista = await ServiceMensalidade.GetMensalidades();

            mensalidades.AddRange(lista);
            mensalidadeList.AddRange(lista);
        }
예제 #6
0
 private async Task AddOrUpdateAfiliado(Mensalidade item)
 {
     if (!isEditing)
     {
         await ServiceMensalidade.Add(item);
     }
     else
     {
         item.DataAlteracao = DateTime.Now;
         await ServiceMensalidade.Update(item);
     }
 }
예제 #7
0
        protected async Task ObterAfiliados()
        {
            afiliadoList.Clear();
            var lista = await ServiceAfiliado.GetAll();

            foreach (var item in lista)
            {
                var result = await Task.FromResult(ServiceMensalidade.GetMensalidades()).Result;

                var mensalidades = result.Where(w => w.IdFiliado == item.Id).ToList();
                item.Mensalidades.AddRange(mensalidades);
            }
            afiliadoList.AddRange(lista);
        }
예제 #8
0
 private void SetNew()
 {
     wasChanged      = false;
     isEditing       = false;
     estaMensalidade = ServiceMensalidade.GetNew();
 }
예제 #9
0
        protected async Task BaixarMensalidade(int id)
        {
            estaMensalidade = await ServiceMensalidade.GetById(id);

            var modal = await Task.FromResult(Dialog.Show <BaixaMensalidade>("Baixa de Mensalidade"));
        }
예제 #10
0
        protected async Task BaixarMensalidade(int id)
        {
            estaMensalidade = await ServiceMensalidade.GetById(id);

            await Task.Run(() => Dialog.Show <BaixaMensalidade>("Baixa de Mensalidade"));
        }