public ActionResult Edit(COMPRA_PARCELA parcela) { if (Session.IsFuncionario()) { if (ModelState.IsValid) { _db.Entry(parcela) .State = EntityState.Modified; _db.SaveChanges(); return(RedirectToAction("Index", "CompraParcela", new { id = parcela.COMPRA })); } else { ViewBag.FORMA_PAGAMENTO = new SelectList(_db.FORMA_PAGAMENTO, "ID", "DESCRICAO", parcela.FORMA_PAGAMENTO); return(View(parcela)); } } else { return(RedirectToAction("", "")); } }
public async Task <ActionResult> Create(COMPRA compra) { if (compra.OSSB != null && !_db.OSSB.Any(ossb => ossb.ID == compra.OSSB)) { ModelState.AddModelError("", "Informe uma ossb válida"); } if (compra.FORNECEDOR == 0) { ModelState.AddModelError("", "Informe um fornecedor!"); } if (compra.DESPESA == 0) { ModelState.AddModelError("", "Informe uma despesa!"); } if (compra.PROJETO == 0) { ModelState.AddModelError("", "Informe um projeto!"); } if (!compra.COMPRA_ITEM.Any()) { ModelState.AddModelError("", "Informe pelo menos um item na lista de items!"); } if (ModelState.IsValid) { var vencimento = compra.DATA_VENCIMENTO; var valor = compra .COMPRA_ITEM .Select(ci => ci.VALOR * ci.QUANTIDADE) .DefaultIfEmpty() .Sum() / compra.PARCELAS; for (Int32 it = 0; it < compra.PARCELAS; ++it) { var parcela = new COMPRA_PARCELA() { VALOR = valor, DATA_VENCIMENTO = vencimento.AddMonths(it), }; compra.COMPRA_PARCELA.Add(parcela); } _db.COMPRA.Add(compra); _db.SaveChanges(); return(RedirectToAction("Index", "Compra")); } ViewBag.PROJETO = new SelectList(_db.PROJETO, "ID", "DESCRICAO", compra.PROJETO); ViewBag.DESPESA = new SelectList(await _db.DESPESA.Include(dp => dp.DESPESA_CLASSE).OrderBy(dp => dp.DESPESA_CLASSE.DESCRICAO).ThenBy(dp => dp.DESCRICAO).ToArrayAsync(), "ID", "DESCRICAO", "CLASSE_DESCRICAO", compra.DESPESA); ViewBag.FORNECEDOR = new SelectList(_db.PESSOA .Where(p => p.SITUACAO == "A") .Where(p => p.FORNECEDOR == 1), "ID", "RAZAO", compra.FORNECEDOR); ViewBag.UNIDADES = _db.UNIDADE.ToDictionary(u => u.ID.ToString(), u => u.SIGLA); return(View(compra)); }