public ClienteViewModel() { if (Customer == null) { Customer = new Customer(); } context = new DALContext(); Countries = context.Countries.All().OrderBy(p => p.Name).ToList(); Cities = new List <City>(); States = context.States.All().OrderBy(p => p.Name).ToList(); States.Insert(0, new State() { Id = 0, Name = "SELECIONE..." }); CondicoesPagamento = context.PaymentTerms.All().ToList(); CondicoesPagamento.Insert(0, new PaymentTerm() { Id = 0, Description = "SELECIONE..." }); ModolidadeTransporte = context.ShippingModes.All().ToList(); ModolidadeTransporte.Insert(0, new ShippingMode() { Id = 0, Name = "SELECIONE..." }); Vendedores = context.VendorsCustomer.Filter(p => p.CustomerID == Customer.Id).Select(p => p.Vendor).ToList(); }
public async Task <List <ParcelasCompra> > gerarParcelas(ParcelasDTO parcela) { CondicoesPagamentoDAO condicaoDao = new CondicoesPagamentoDAO(); CondicoesPagamento condicao = await condicaoDao.BuscarPorID(parcela.codigoCondicaoPagamento); List <ParcelasCompra> listParcelas = new List <ParcelasCompra>(); foreach (var p in condicao.parcelas) { var itemParcela = new ParcelasCompra { numeroParcela = p.numeroParcela, dtEmissao = DateTime.Now, dtVencimento = parcela.dtEmissao.AddDays((double)p.numeroDias), codigoFormaPagamento = p.codigoFormaPagamento, descricaoForma = p.formaPagamento.descricao, valorParcela = decimal.Round(((p.porcentagem / 100) * parcela.valorTotal), 2) }; listParcelas.Add(itemParcela); } var totalParcelas = listParcelas.Sum(k => k.valorParcela); if (totalParcelas != parcela.valorTotal) { if (totalParcelas < parcela.valorTotal) { var dif = parcela.valorTotal - totalParcelas; var list = listParcelas.OrderBy(u => u.numeroParcela); list.Last().valorParcela = list.Last().valorParcela + dif; listParcelas = list.ToList(); } if (totalParcelas > parcela.valorTotal) { var dif = totalParcelas - parcela.valorTotal; var list = listParcelas.OrderBy(u => u.numeroParcela); list.Last().valorParcela = list.Last().valorParcela - dif; listParcelas = list.ToList(); } } return(listParcelas); }