public ActionResult Receber(int id, ContaReceber contaReceber) { if (contaReceber.ContaReceberID != id || contaReceber == null) { return(NotFound()); } try { if (ModelState.IsValid) { ContaReceberService service = new ContaReceberService(); service.Receber(contaReceber); _contas.Atualizar(contaReceber); var contaRecberAux = _contas.ObterPorId(id); Lancamento lancamento = new Lancamento(); service.GerarLancamento(lancamento, contaRecberAux); _lancamento.Inserir(lancamento); return(RedirectToAction(nameof(Index))); } CarregarContaContabil(); return(View(contaReceber)); } catch (Exception ex) { Mensagem = ex.Message.ToString(); ModelState.AddModelError(String.Empty, Mensagem); CarregarContaContabil(); return(View(contaReceber)); } }
public ActionResult TransferirValores(DateTime txtData, int txtOrigem, int txtDestino, decimal txtValor, string txtDescricao, string txtObservacao) { try { var saldoContaOrigem = VerificarSaldoContaOrigem(txtOrigem); if (txtValor > saldoContaOrigem) { throw new ArgumentException("Saldo insuficiente. Seu saldo na conta origem é de " + saldoContaOrigem.ToString("C")); } LancamentoService service = new LancamentoService(); service.ValidarTransferencia(txtData, txtOrigem, txtDestino, txtValor, txtDescricao, txtObservacao); #region DEBITANDO A CONTA ORIGEM Lancamento lancamentoDebitar = new Lancamento(); lancamentoDebitar.DataCadastro = DateTime.Now; lancamentoDebitar.DataLancamento = txtData; lancamentoDebitar.ContaContabilID = txtOrigem; lancamentoDebitar.TipoLancamento = TipoLancamento.Debito; lancamentoDebitar.Valor = txtValor; lancamentoDebitar.Descricao = txtDescricao; lancamentoDebitar.CategoriaID = null; lancamentoDebitar.CentroCustoID = null; lancamentoDebitar.ClienteID = null; lancamentoDebitar.DataExclusao = null; lancamentoDebitar.EmpresaID = Convert.ToInt32(User.FindFirst(ClaimTypes.GroupSid).Value); lancamentoDebitar.FlagAtivo = true; lancamentoDebitar.isContaPagarReceber = false; lancamentoDebitar.isTransferencia = true; lancamentoDebitar.FornecedorID = null; lancamentoDebitar.Nome = "Transferência entre contas"; lancamentoDebitar.NumeroDocumento = new Random().Next(1000000000); lancamentoDebitar.Observacoes = txtObservacao; _lancamento.Inserir(lancamentoDebitar); #endregion #region CREDITANDO A CONTA DESTINO Lancamento lancamentoCreditar = new Lancamento(); lancamentoCreditar.DataCadastro = DateTime.Now; lancamentoCreditar.DataLancamento = txtData; lancamentoCreditar.ContaContabilID = txtDestino; lancamentoCreditar.TipoLancamento = TipoLancamento.Credito; lancamentoCreditar.Valor = txtValor; lancamentoCreditar.Descricao = txtDescricao; lancamentoCreditar.CategoriaID = null; lancamentoCreditar.CentroCustoID = null; lancamentoCreditar.ClienteID = null; lancamentoCreditar.DataExclusao = null; lancamentoCreditar.EmpresaID = Convert.ToInt32(User.FindFirst(ClaimTypes.GroupSid).Value); lancamentoCreditar.FlagAtivo = true; lancamentoCreditar.isContaPagarReceber = false; lancamentoCreditar.isTransferencia = true; lancamentoCreditar.FornecedorID = null; lancamentoCreditar.Nome = "Transferência entre contas"; lancamentoCreditar.NumeroDocumento = new Random().Next(1000000000); lancamentoCreditar.Observacoes = txtObservacao; _lancamento.Inserir(lancamentoCreditar); #endregion return(RedirectToAction(nameof(Index))); } catch (Exception ex) { Mensagem = ex.Message.ToString(); ModelState.AddModelError(String.Empty, Mensagem); CarregarContaContabil(); return(View()); } }