public ActionResult Vale(ValeVM model) { if (string.IsNullOrEmpty(model.Funcionario.nome)) { ModelState.AddModelError("Funcionario.nome", "Informe o funcionario"); } if (ModelState.IsValid) { try { LogBLL.Insert(new LogDado("Vale(ValeVM model)", "Caixa", _idUsuario)); using (var db = new Context()) { using (var trans = new RP.DataAccess.RPTransactionScope(db)) { var _caixaBLL = new BLL.CaixaBLL(db, _idUsuario); var _movimento = model.GetMovimento(); _movimento.idUsuario = this._idUsuario; var _conta = new ContaPagar { descricao = "Vale entregue para " + model.Funcionario.nome + " " + model.descricao, valorConta = model.valor, valorPago = model.valor, vencimento = DateTime.Now, pagamento = DateTime.Now, parcela = 1, flFormaPagamento = "Dinheiro", situacao = ContaPagar.SITUACAO_PAGO, idUsuario = this._idUsuario }; var _caixa = new Caixa { MovimentoProfissional = _movimento, ContaPagar = _conta, situacao = Caixa.CORENTE, valor = (model.valor * -1), descricao = "Vale entregue para " + model.Funcionario.nome + " " + model.descricao, dtLancamento = DateTime.Now }; _caixaBLL.Insert(_caixa); _caixaBLL.SaveChanges(); trans.Complete(); this.AddFlashMessage("Vale adicionado para " + model.Funcionario.nome + " com sucesso!", FlashMessage.SUCCESS); return RedirectToAction("Index", "ContaPagar"); } } } 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 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 Pagar(PagarVM model) { if (ModelState.IsValid) { try { LogBLL.Insert(new LogDado("Pagar", "FolhaPagamento", _idUsuario)); using (var db = new Context()) { using (var trans = new RP.DataAccess.RPTransactionScope(db)) { var _bll = new BLL.FolhaPagamentoBLL(db, _idUsuario); var _folha = _bll.FindSingle(u => u.idFolhaPagamento == model.idFolha); _folha.situacao = FolhaPagamento.PAGO; _folha.total = model.totalReceber ?? 0; if (model.Movimentos != null) { _folha.comissao = model.Movimentos.Sum(u => u.comissao) ?? 0; _folha.vale = model.Movimentos.Sum(u => u.vale) ?? 0; } _folha.salario = model.salario ?? 0; _folha.bonificacao = model.bonificacao ?? 0; _folha.outrosDescontos = model.outrosDescontos ?? 0; _folha.dsBonificacao = string.IsNullOrEmpty(model.dsBonificacao) ? "Bonificação referente ao mês de " + model.dsMes : model.dsBonificacao; _folha.dsOutrosDescontos = string.IsNullOrEmpty(model.dsOutrosDescontos) ? "Descontos adicionais referente ao mês de " + model.dsMes : model.dsOutrosDescontos; _folha.inss = model.inss ?? 0; _folha.FGTS = model.FGTS ?? 0; _folha.horaExtra = model.horaExtra ?? 0; _bll.Update(_folha); //realizar pagamento e retirada do caixa var _caixaBLL = new BLL.CaixaBLL(db, _idUsuario); var _conta = new ContaPagar { descricao = "Pagamento realizado para " + model.Funcionario.nome + " referente ao mes " + model.dsMes + " de " + model.nrAno, valorConta = _folha.total, valorPago = _folha.total, vencimento = DateTime.Now, pagamento = DateTime.Now, parcela = 1, flFormaPagamento = "Dinheiro", situacao = ContaPagar.SITUACAO_PAGO, idUsuario = this._idUsuario, idFolhaPagamento = model.idFolha }; var _caixa = new Caixa { ContaPagar = _conta, situacao = Caixa.CORENTE, valor = (_folha.total * -1), descricao = "Pagamento realizado para " + model.Funcionario.nome + " referente ao mes " + model.dsMes + " de " + model.nrAno, dtLancamento = DateTime.Now }; _caixaBLL.Insert(_caixa); // atualiza os movimentos if (model.Movimentos != null) { var _movimentoBLL = new MovimentoProfissionalBLL(db, _idUsuario); foreach (var item in model.Movimentos) { _movimentoBLL.AtualizaMovimento(item.idMovimento, MovimentoProfissional.SITUACAO_PAGO, _folha); } } _bll.SaveChanges(); trans.Complete(); this.AddFlashMessage("Pagamento reaizado com sucesso, verifique contas a pagar!", FlashMessage.SUCCESS); return RedirectToAction("Index"); } } } catch (Exception ex) { Util.Entity.ErroLog.Add(ex, Session.SessionID, _idUsuario); return RedirectToAction("Index", "Erro", new { area = string.Empty }); } } return View(model); }
public ActionResult Vulso(CompraVM model) { if (string.IsNullOrEmpty(model.Fornecedor.nome)) { ModelState.AddModelError("Fornecedor.nome", "Informe o fornecedor"); } if (model.total <= 0) { ModelState.AddModelError("total", "Informe o total"); } if (ModelState.IsValid) { try { LogBLL.Insert(new LogDado("Vulso", "Compra", _idUsuario)); using (var db = new Context()) { using (var trans = new RP.DataAccess.RPTransactionScope(db)) { var _compra = model.GetCompra(); var _bll = new BLL.CompraBLL(db, _idUsuario); _bll.Insert(_compra); var _contaBLL = new ContaPagarBLL(db, _idUsuario); var _caixaBLL = new CaixaBLL(db, _idUsuario); if (model.Parcelas != null && model.Parcelas.Any()) { int nrParcelas = model.Parcelas.Count; foreach (var item in model.Parcelas) { string situacao = ContaPagar.SITUACAO_AGUARDANDO_PAGAMENTO; decimal? vlPago = null; DateTime? dtPagamento = null; if (item.dtVencimento <= DateTime.Now.Date) { vlPago = item.vlParcela; situacao = ContaPagar.SITUACAO_PAGO; dtPagamento = item.dtVencimento; } // Lança conta a pagar referente a parcela var _conta = new ContaPagar { idFornecedor = _compra.idFornecedor, parcela = item.nrParcela, descricao = "Conta a pagar referente a " + item.nrParcela + "º parcela. " + item.dsObservacao, vencimento = item.dtVencimento, pagamento = dtPagamento, valorConta = item.vlParcela, valorPago = vlPago, situacao = situacao, flFormaPagamento = item.flFormaPagamento, Compra = _compra }; _contaBLL.Insert(_conta); //se a data de vencimento for a atual lança a entrada no caixa if (item.dtVencimento <= DateTime.Now.Date) { _caixaBLL.Insert(new Caixa { ContaPagar = _conta, situacao = Caixa.CORENTE, valor = (item.vlParcela * -1), descricao = _compra.descricao + " [" + model.Fornecedor.nome + "] " + item.dsObservacao, dtLancamento = item.dtVencimento }); } } } else { var _conta = new ContaPagar { idFornecedor = _compra.idFornecedor, parcela = 1, descricao = "Conta a pagar referente a " + model.descricao + " [Fornecedor:" + model.Fornecedor.nome + "] ", vencimento = DateTime.Now, pagamento = DateTime.Now, valorConta = model.total, valorPago = model.total, situacao = ContaPagar.SITUACAO_PAGO, flFormaPagamento = string.Empty, Compra = _compra }; _contaBLL.Insert(_conta); _caixaBLL.Insert(new Caixa { ContaPagar = _conta, situacao = Caixa.CORENTE, valor = (model.total * -1), descricao = model.descricao + " [" + model.Fornecedor.nome + "] " + model.descricao, dtLancamento = DateTime.Now }); } _bll.SaveChanges(); trans.Complete(); this.AddFlashMessage("Compra realizada com sucesso!", FlashMessage.SUCCESS); return RedirectToAction("Index", "Compra"); } } } catch (Exception ex) { RP.Util.Entity.ErroLog.Add(ex, Session.SessionID, _idUsuario); return RedirectToAction("Index", "Erro", new { area = string.Empty }); } } return View(model); }