Example #1
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);
            }
        }
Example #2
0
 private async Task AddOrUpdateAfiliado(Mensalidade item)
 {
     if (!isEditing)
     {
         await ServiceMensalidade.Add(item);
     }
     else
     {
         item.DataAlteracao = DateTime.Now;
         await ServiceMensalidade.Update(item);
     }
 }