public async Task <ActionResult> Create(PAGAMENTO pagamento) { if (pagamento.PESSOA == 0) { ModelState.AddModelError("", "Terceiro não informado!"); } if (ModelState.IsValid) { var proj = await _db.OSSB.Where(os => os.ID == pagamento.OSSB).Select(os => os.PROJETO).FirstOrDefaultAsync(); pagamento.PROJETO = proj; pagamento.CRITICIDADE = 1; _db.PAGAMENTO.Add(pagamento); _db.SaveChanges(); return(RedirectToAction("Index", new { id = pagamento.OSSB })); } ViewBag.PESSOA = new SelectList(await _db .PESSOA .Where(p => p.SITUACAO == "A" && p.TERCEIRO == 1) .OrderBy(p => p.RAZAO) .ThenBy(p => p.NOME) .ToArrayAsync(), "ID", "NOME_COMPLETO", pagamento.PESSOA); ViewBag.SERVICO = new SelectList(await _db.OSSB_SERVICO.Where(s => s.OSSB == pagamento.OSSB).ToArrayAsync(), "ID", "DESCRICAO", pagamento.PESSOA); return(View(pagamento)); }
public async Task <ActionResult> Edit(PAGAMENTO pagamento) { if (pagamento.DESPESA == 0) { ModelState.AddModelError("", "Informe uma despesa!"); } if (pagamento.PESSOA == 0) { ModelState.AddModelError("", "Informe uma pessoa!"); } if (pagamento.DATA_PAGAMENTO != null && pagamento.DATA_PAGAMENTO < DateTime.Today.AddDays(-1)) { ModelState.AddModelError("", "A data de pagamento não pode ser inferior a data atual."); } if (ModelState.IsValid) { var entry = _db.Entry(pagamento); _db.PAGAMENTO.Attach(pagamento); entry.Property(pp => pp.OSSB).IsModified = true; entry.Property(pp => pp.DESCRICAO).IsModified = true; entry.Property(pp => pp.PESSOA).IsModified = true; entry.Property(pp => pp.PROJETO).IsModified = true; entry.Property(pp => pp.DESPESA).IsModified = true; entry.Property(pp => pp.CRITICIDADE).IsModified = true; entry.Property(pp => pp.DATA_VENCIMENTO).IsModified = true; entry.Property(pp => pp.DATA_PAGAMENTO).IsModified = true; entry.Property(pp => pp.VALOR).IsModified = true; entry.Property(pp => pp.PROTESTO).IsModified = true; entry.Property(pp => pp.PROVISIONADO).IsModified = true; entry.Property(pp => pp.FORMA_PAGAMENTO).IsModified = true; entry.Property(pp => pp.CONTA_BANCARIA).IsModified = true; await _db.SaveChangesAsync(); return(Redirect(Session["PreviousPage"].ToString())); } 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", pagamento.DESPESA); ViewBag.PESSOA = new SelectList(await _db .PESSOA .OrderBy(p => p.RAZAO) .ThenBy(p => p.NOME) .Select(p => new { ID = p.ID, NOME_COMPLETO = p.RAZAO + " (" + p.NOME + ")" }) .ToArrayAsync(), "ID", "NOME_COMPLETO", pagamento.PESSOA); ViewBag.CONTA_BANCARIA = new SelectList(await _db.CONTA_BANCARIA.Include(cb => cb.BANCO1).ToArrayAsync(), "ID", "DESCRICAO", pagamento.CONTA_BANCARIA); return(View(pagamento)); }
public async Task <ActionResult> Edit(PAGAMENTO pagamento) { if (pagamento.PESSOA == 0) { ModelState.AddModelError("", "Terceiro não informado!"); } if (await _db.PAGAMENTO.Where(p => p.ID == pagamento.ID).Select(p => p.DATA_PAGAMENTO).FirstOrDefaultAsync() != null) { ModelState.AddModelError("", "Terceiro já pago!"); } if (ModelState.IsValid) { var entry = _db.Entry(pagamento); _db.PAGAMENTO.Attach(pagamento); entry.Property(pp => pp.PESSOA).IsModified = true; entry.Property(pp => pp.SERVICO).IsModified = true; entry.Property(pp => pp.DATA_VENCIMENTO).IsModified = true; entry.Property(pp => pp.VALOR).IsModified = true; await _db.SaveChangesAsync(); return(RedirectToAction("Index", new { id = pagamento.OSSB })); } ViewBag.PESSOA = new SelectList(await _db .PESSOA .Where(p => p.SITUACAO == "A" && p.TERCEIRO == 1) .OrderBy(p => p.RAZAO) .ThenBy(p => p.NOME) .ToArrayAsync(), "ID", "NOME_COMPLETO", pagamento.PESSOA); ViewBag.SERVICO = new SelectList(await _db.OSSB_SERVICO.Where(s => s.OSSB == pagamento.OSSB).ToArrayAsync(), "ID", "DESCRICAO", pagamento.SERVICO); return(View(pagamento)); }
public async Task <ActionResult> Create(PAGAMENTO pagamento) { if (pagamento.DESPESA == 0) { ModelState.AddModelError("", "Informe uma despesa!"); } if (pagamento.PESSOA == 0) { ModelState.AddModelError("", "Informe uma pessoa!"); } if (pagamento.PROJETO == null || pagamento.PROJETO == 0) { ModelState.AddModelError("", "Informe um projeto!"); } if (pagamento.DATA_PAGAMENTO != null && pagamento.DATA_PAGAMENTO < DateTime.Today.AddDays(-1)) { ModelState.AddModelError("", "A data de pagamento não pode ser inferior a data atual."); } if (ModelState.IsValid) { _db.PAGAMENTO.Add(pagamento); for (Int32 it = 0; it < pagamento.COPIAS; ++it) { _db.PAGAMENTO.Add(new PAGAMENTO() { CRITICIDADE = pagamento.CRITICIDADE, DATA_PAGAMENTO = pagamento.DATA_PAGAMENTO?.AddMonths(it + 1), DATA_VENCIMENTO = pagamento.DATA_VENCIMENTO?.AddMonths(it + 1), VALOR = pagamento.VALOR, DESPESA = pagamento.DESPESA, PESSOA = pagamento.PESSOA, DESCRICAO = pagamento.DESCRICAO, PROJETO = pagamento.PROJETO, PROVISIONADO = pagamento.PROVISIONADO, PROTESTO = pagamento.PROTESTO, FORMA_PAGAMENTO = pagamento.FORMA_PAGAMENTO, OSSB = pagamento.OSSB, SERVICO = pagamento.SERVICO, ANEXO = pagamento.ANEXO, }); } await _db.SaveChangesAsync(); return(Redirect(Session["PreviousPage"].ToString())); } 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", pagamento.DESPESA); ViewBag.PESSOA = new SelectList(await _db .PESSOA .OrderBy(p => p.NOME) .ToArrayAsync(), "ID", "NOME_COMPLETO"); ViewBag.PROJETO = new SelectList(await _db.PROJETO.ToArrayAsync(), "ID", "DESCRICAO", pagamento.PROJETO); ViewBag.CONTA_BANCARIA = new SelectList(await _db.CONTA_BANCARIA.Include(cb => cb.BANCO1).ToArrayAsync(), "ID", "DESCRICAO", pagamento.CONTA_BANCARIA); return(View(pagamento)); }