public ActionResult Pagar(ContaPagarVM model) { if (model.valorPago == null || model.valorPago <= 0) { ModelState.AddModelError("valorPago", "Informe o valor do pagamento"); } if (model.pagamento == null) { ModelState.AddModelError("pagamento", "Informe o data do pagamento"); } if (ModelState.IsValid) { try { LogBLL.Insert(new LogDado("Pagar", "ContaPagar", _idUsuario)); using (var db = new Context()) { using (var trans = new RP.DataAccess.RPTransactionScope(db)) { var _contaPagar = model.GetContaPagar(); var _bll = new BLL.ContaPagarBLL(db, _idUsuario); _bll.Pagar(_contaPagar); if (model.flDiferenca == "Sim") { // Lança conta a pagar referente a diferença var _diferenca = new ContaPagar { idProjeto = model.Projeto != null ? model.Projeto.idProjeto : null, idFornecedor = _contaPagar.idFornecedor, parcela = _contaPagar.parcela, descricao = "Conta gerada da diferença. Valor original: " + model.valorConta + ". Valor pago: " + model.valorPago, vencimento = _contaPagar.vencimento, pagamento = _contaPagar.pagamento, valorConta = model.vlDiferenca ?? 0, situacao = ContaPagar.SITUACAO_AGUARDANDO_PAGAMENTO, flFormaPagamento = _contaPagar.flFormaPagamento, idCompra = _contaPagar.idCompra, idOrigem = _contaPagar.idOrigem == null ? _contaPagar.idContaPagar :_contaPagar.idOrigem }; _bll.Insert(_diferenca); } var _caixaBLL = new BLL.CaixaBLL(db, _idUsuario); _caixaBLL.Insert(new Caixa { ContaPagar = _contaPagar, situacao = Caixa.CORENTE, valor = (_contaPagar.valorPago.Value * -1), descricao = _contaPagar.descricao + " [" + model.Fornecedor.nome + "] " + (model.Projeto != null ? model.Projeto.descricao : ""), dtLancamento = _contaPagar.pagamento.Value }); _bll.SaveChanges(); trans.Complete(); this.AddFlashMessage("Conta a pagar adicionada com sucesso!", FlashMessage.SUCCESS); return RedirectToAction("Index"); } } } catch (Exception ex) { RP.Util.Entity.ErroLog.Add(ex, Session.SessionID, _idUsuario); return RedirectToAction("Index", "Erro", new { area = string.Empty }); } } return View(model); }
public ActionResult Create(ContaPagarVM model) { if (string.IsNullOrEmpty(model.Fornecedor.nome) || model.Fornecedor.idFornecedor == 0 || model.Fornecedor.idFornecedor == null) { ModelState.AddModelError("Fornecedor.nome", "Informe o fornecedor"); } if (ModelState.IsValid) { try { LogBLL.Insert(new LogDado("Create", "ContaPagar", _idUsuario)); using (var db = new Context()) { using (var trans = new RP.DataAccess.RPTransactionScope(db)) { var _contaPagar = model.GetContaPagar(); var _bll = new BLL.ContaPagarBLL(db, _idUsuario); _contaPagar.situacao =ContaPagar.SITUACAO_AGUARDANDO_PAGAMENTO; _bll.Insert(_contaPagar); //if (pagar) //{ // var _caixaBLL = new BLL.CaixaBLL(db, _idUsuario); // _caixaBLL.Insert(new Caixa // { // ContaPagar = _contaPagar, // situacao = Caixa.CORENTE, // valor = (model.valorConta.Value * -1), // descricao = "Conta paga para " + model.Fornecedor.nome + " " + model.descricao, // dtLancamento = DateTime.Now // }); //} _bll.SaveChanges(); trans.Complete(); this.AddFlashMessage("Conta a pagar adicionada com sucesso!", FlashMessage.SUCCESS); return RedirectToAction("Index"); } } } catch (Exception ex) { RP.Util.Entity.ErroLog.Add(ex, Session.SessionID, _idUsuario); return RedirectToAction("Index", "Erro", new { area = string.Empty }); } } return View(model); }
public ActionResult Cancelar(int id) { try { LogBLL.Insert(new LogDado("Cancelar", "ContaPagar", _idUsuario)); using (var db = new Context()) { using (var trans = new RP.DataAccess.RPTransactionScope(db)) { var _bll = new BLL.ContaPagarBLL(db, _idUsuario); _bll.Cancelar(id); _bll.SaveChanges(); trans.Complete(); this.AddFlashMessage(RP.Util.Resource.Message.DELETE_SUCCESS, FlashMessage.SUCCESS); return RedirectToAction("Index"); } } } catch (Exception ex) { RP.Util.Entity.ErroLog.Add(ex, Session.SessionID, _idUsuario); return RedirectToAction("Index", "Erro", new { area = string.Empty }); } }