protected async Task EfetivarBaixa() { var lanctoFinanceiro = new LancamentoCaixa(); estaMensalidade.DataPagamento = DateTime.Now; estaMensalidade.Pago = true; estaMensalidade.DataAlteracao = DateTime.Now; var dadosmensalidade = $"Afiliado: {estaMensalidade.NomeAfiliado} - Mensalidade: {estaMensalidade.MensalidadeReferencia}"; await ServiceMensalidade.Update(estaMensalidade).ContinueWith(async _ => { //inclui um lançamento financeiro lanctoFinanceiro = new LancamentoCaixa { Ativo = true, DataLancamento = DateTime.Now, DescricaoLancamento = $"Pagto. Mensalidade -> {dadosmensalidade}", TipoLancto = 2, ValorLancto = estaMensalidade.ValorPago }; await ServiceLancamento.Add(lanctoFinanceiro); } ); await MessageBoxModal($"Baixa de Mensalidade", $"Mensalidade Baixada Com Sucesso!!!", "success", "Ok"); OpenPage("/mensalidadeindex", true); }
public void Nao_Devo_Conseguir_Criar_Com_Valor_Invalido() { LancamentoCaixa lancamento; try { lancamento = new LancamentoCaixa("TESTE", TipoMovimentacaoLancamentoCaixa.Entrada, TipoPagamentoLancamentoCaixa.Dinheiro, 0m); } catch (ExcecaoParametroInvalido ex) { try { if (ex.Message.Equals("Valor")) { lancamento = new LancamentoCaixa("TESTE", TipoMovimentacaoLancamentoCaixa.Entrada, TipoPagamentoLancamentoCaixa.Dinheiro, -1); } }catch (ExcecaoParametroInvalido e) { if (e.Message.Equals("Valor")) { throw new ExcecaoParametroInvalido("Valor"); } } } }
private static void GetNewLancamento() { LancamentoCaixa obj = default; obj = Activator.CreateInstance <LancamentoCaixa> (); esteLancto = obj; }
public void Devo_Conseguir_Criar_Valido() { LancamentoCaixa lancamento = new LancamentoCaixa(" teste ", TipoMovimentacaoLancamentoCaixa.Entrada, TipoPagamentoLancamentoCaixa.Dinheiro, 10); Assert.AreEqual(DateTime.Now, lancamento.DiaHorario); Assert.AreEqual("TESTE", lancamento.Descricao); Assert.AreEqual(TipoMovimentacaoLancamentoCaixa.Entrada, lancamento.TipoMovimentacao); Assert.AreEqual(TipoPagamentoLancamentoCaixa.Dinheiro, lancamento.TipoPagamento); Assert.AreEqual(10, lancamento.Valor); }
private void NovoItem() { var lista = this._FluxoCaixaMes.Lancamentos; lista.Add(_lancamentoSelecionado); lista.OrderBy(p => p.Data).ToList(); this.LancamentoSelecionado = new LancamentoCaixa() { Data = DateTime.Now, EhDespesa = true }; AtualizaValores(); }
public void Nao_Devo_Conseguir_Criar_Com_TipoPagamento_Invalido() { try { LancamentoCaixa lancamento = new LancamentoCaixa("TESTE", TipoMovimentacaoLancamentoCaixa.Saida, TipoPagamentoLancamentoCaixa.Nenhum, 0m); } catch (ExcecaoParametroInvalido ex) { if (ex.Message.Contains("TipoPagamento")) { throw new ExcecaoParametroInvalido("TipoPagamento"); } } }
private void adicionaPagamento(string PedID, int FormaPagamentoID, string Vlr) { try { decimal Valor = Convert.ToDecimal(Vlr); decimal Saldo = Convert.ToDecimal(tbSaldo.Text) - Valor; int PedidoID = Convert.ToInt32(PedID); if (FormaPagamentoID > 1 && Saldo < 0) { MessageBox.Show("O valor do pagamento com cartão/cheque não pode ser maior que o saldo em aberto do pedido", "ERRO: Valor do pagamento", MessageBoxButtons.OK, MessageBoxIcon.Error); tbValorPagamento.Select(); tbValorPagamento.SelectAll(); } else { dalLancamentosCaixa dalLanc = new dalLancamentosCaixa(); LancamentoCaixa novo_lanc = new LancamentoCaixa { Data = DateTime.Now, Descricao = string.Format("Pedido nº: {0}", PedidoID), Entrada = Valor, Saida = 0, Observacao = Saldo <= 0 ? "Pago" : "Pg Parcial - Ped nº: " + PedidoID, Excluir = false, CaixaID = dalCaixa.verificaCaixa().CaixaID, FormaPagamentoID = FormaPagamentoID, PedidoID = PedidoID }; dalLanc.lancaMovimento(novo_lanc); carregaPagamentos(PedidoID); calculaValores(); bool Pago = Saldo <= 0 ? true : false; atualizaPedido(Convert.ToInt32(tbNumPedido.Text), Saldo, Pago); dalLogs.addLog(dalOperador.retornaOperador(Principal.OperadorID).Nome, "Lançou um pagamento do pedido nº " + PedidoID); tbValorPagamento.Text = ""; tbValorPagamento.Select(); } } catch (Exception) { MessageBox.Show("O valor do pagamento está incorreto ou em branco", "ERRO: Valor do pagamento", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void abreCaixa() { if (!string.IsNullOrEmpty(tbSaldoInicialCaixa.Text)) { dalCaixa dalCa = new dalCaixa(); dalLancamentosCaixa dalLanC = new dalLancamentosCaixa(); //abre o caixa Caixa ca = new Caixa { Data_Abertura = DateTime.Now, SaldoInicial = Convert.ToDecimal(tbSaldoInicialCaixa.Text), E_Dinheiro = 0, C_Debito = 0, C_Credito = 0, E_Cheque = 0, S_Dinheiro = 0, S_Cheque = 0, SaldoDinheiro = 0, Observacao = tbObservacao.Text, Status = true, }; dalCa.abreCaixa(ca); LancamentoCaixa lca = new LancamentoCaixa { CaixaID = dalCaixa.verificaCaixa().CaixaID, Data = DateTime.Now, Descricao = "Saldo Inicial", Entrada = Convert.ToDecimal(tbSaldoInicialCaixa.Text), Saida = 0, FormaPagamentoID = 5, Observacao = tbObservacao.Text, Excluir = false, PedidoID = null }; dalLanC.lancaMovimento(lca); dalLogs.addLog(dalOperador.retornaOperador(Principal.OperadorID).Nome, "Abriu o caixa, Valor inicial R$" + tbSaldoInicialCaixa.Text); montaCaixa(); } else { MessageBox.Show("Para abrir o caixa o saldo inicial não pode ser em branco. Utilize 0,00.", "ERRO"); } }
public void lancaMovimento(LancamentoCaixa obj_lcaixa) { using (DataContext db = new DataContext()) { try { db.LancamentoCaixa.Add(obj_lcaixa); db.SaveChanges(); dalCaixa dalCa = new dalCaixa(); dalCa.atualizaCaixa(obj_lcaixa.CaixaID); } catch (Exception) { throw; } } }
public override void AfterSave(bool updating) { base.AfterSave(updating); #region Cheque if (Cheque != null) { Cheque.Parent = this; Cheque.Save(); } #endregion #region Lançamentos de conta corrente do caixa LancamentoCaixaBase lancamento = null; if (FormaPagamento.TipoForma == Enuns.Cadastro.TipoForma.Voucher) { lancamento = new Voucher(); ((Voucher)lancamento).NumeroVoucher = this.Voucher; } else lancamento = new LancamentoCaixa(); bool salvar = true; if (Parent.Parent is Model.Faturamento.Lancamento.Movimento.IMovimento) { Model.Faturamento.Lancamento.Movimento.IMovimento movimento = Parent.Parent as Model.Faturamento.Lancamento.Movimento.IMovimento; salvar = movimento.Temp ? false : true; } if (Parent.Parent is Model.Faturamento.Lancamento.Movimento.VendaCF.IVendaCF) lancamento.AbreFechaCaixa = (Parent.Parent as Model.Faturamento.Lancamento.Movimento.VendaCF.IVendaCF).AbreFechaCaixa; else lancamento.AbreFechaCaixa = Settings.PDV.AberturaCaixa; lancamento.Caixa = lancamento.AbreFechaCaixa.Caixa; lancamento.BaixaForma = this; lancamento.Valor = this.ValorLiquido; lancamento.Historico = "Lançamento efetuado automaticamente pela baixa na forma " + FormaPagamento.Descricao; if (salvar) lancamento.Save(); #endregion }
private void AtualizaDados() { if (this.MesSelecionado.GetValueOrDefault() == 0 || this._anoSelecionado.GetValueOrDefault() == 0) { return; } if (this.FluxoCaixaMes != null) { Salvar(); } var repo = Util.Repositorio; var mesAnterior = new DateTime(_anoSelecionado.Value, _MesSelecionado.Value, 1).AddMonths(-1); var fluxoAnterior = repo.Obter <FluxoCaixa>(p => p.Ano == mesAnterior.Year && p.Mes == mesAnterior.Month); var fluxo = repo.Obter <FluxoCaixa>(p => p.Ano == _anoSelecionado && p.Mes == _MesSelecionado.Value); if (fluxo == null) { fluxo = new FluxoCaixa() { Ano = _anoSelecionado.Value, Mes = _MesSelecionado.Value, Lancamentos = new ObservableCollection <ILancamentoCaixa>(), SaldoAnterior = fluxoAnterior?.SaldoAtual ?? 0 }; } else { if (fluxoAnterior != null && fluxoAnterior.SaldoAtual != fluxo.SaldoAnterior && (MessageBox.Show("Houve alteração no saldo do fluxo de caixa anterior, deseja atualizar?", "Atualização de saldo anterior", MessageBoxButton.YesNo) == MessageBoxResult.Yes)) { fluxo.SaldoAnterior = fluxoAnterior.SaldoAtual; } } this.FluxoCaixaMes = fluxo; this.LancamentoSelecionado = new LancamentoCaixa() { Data = DateTime.Now, EhDespesa = false }; AtualizaValores(); }
public void excluirMovimento(int id) { using (DataContext db = new DataContext()) { try { LancamentoCaixa del = db.LancamentoCaixa.SingleOrDefault(p => p.LancamentoCaixaID == id); db.LancamentoCaixa.Remove(del); db.SaveChanges(); dalCaixa dalCa = new dalCaixa(); dalCa.atualizaCaixa(del.CaixaID); } catch (Exception) { throw; } } }
public void Nao_Devo_Conseguir_Criar_Com_Descricao_Invalida() { try { LancamentoCaixa lancamento = new LancamentoCaixa("", TipoMovimentacaoLancamentoCaixa.Entrada, TipoPagamentoLancamentoCaixa.Dinheiro, 0m); } catch (ExcecaoParametroInvalido) { try { LancamentoCaixa lancamento = new LancamentoCaixa(null, TipoMovimentacaoLancamentoCaixa.Entrada, TipoPagamentoLancamentoCaixa.Dinheiro, 0m); } catch (ExcecaoParametroInvalido ex) { if (ex.Message.Equals("Descricao")) { throw new ExcecaoParametroInvalido("Excecao"); } } } }
protected async Task EditarLancamento(int id) { isEditing = true; esteLancto = lanctoList.Find(f => f.Id == id); await Task.Run(() => Dialog.Show <LancamentoEdit>("Editar Lançamento")); }
private void ExcluiItem(LancamentoCaixa lancamento) { this._FluxoCaixaMes.Lancamentos.Remove(lancamento); AtualizaValores(); }
/// <summary> /// Carrega os lançamentos de forma de pagamento /// </summary> private void LoadLancamentosFormaPagto() { //Settings.UsuarioAtual.TipoPessoa IList<Model.FrenteCaixa.Lancamento.IContaCorrenteCaixa> lancaixa = new LancamentoCaixa().Find<IContaCorrenteCaixa>(new Where() { { "cxa_LanCCCaixa.GUIDCaixa", sfVlrNumeroCaixa.SelectedItem.GUID } }); IDisplayValues dv = new DisplayValues(); dv.Columns.Add(new Parameter("GUID")); dv.Columns.Add(new Parameter("Código")); dv.Columns.Add(new Parameter("Descrição")); dv.Columns.Add(new Parameter("Valor")); dv.Values = (from k in lancaixa where (k.BaixaForma.Tipo == Unimake.Convert. ToEnum<Enuns.Faturamento.Lancamento.Movimento.Baixa.TipoBaixaForma>(grdLancamentos.SelectedRows[0].Cells[1].Value)) select new object[]{ k.BaixaForma.GUID, k.EGUID, ((Data.FrenteCaixa.Lancamento.LancamentoCaixa)k).Historico, Unimake.Format.Currency( k.BaixaForma.ValorLiquido) }).ToList(); SearchWindowResult sw = SearchWindow.Show(dv); }
/// <summary> /// Ocorre ao alterar o operador /// </summary> /// <param name="sender">Objeto que disparou o evento</param> /// <param name="args">Argumento do evento gerado</param> private void sfUsuario_OnSelectedValueChanged(object sender, SearchField.SelectedItemArgs args) { IDisplayValues display = new DisplayValues(); display.Columns.Add(new Parameter { ParameterName = "GUID" }); display.Columns.Add(new Parameter { ParameterName = "Código do Caixa" }); display.Columns.Add(new Parameter { ParameterName = "Nome do Caixa" }); IList<IContaCorrenteCaixa> values = new LancamentoCaixa().Find( new Usuario() { GUID = args.GUID }, Enuns.FrenteCaixa.Lancamento.StatusLancamento.Aberto); display.Values = (from l in values group l by l.Caixa into g let x = g.Key select new object[] { x.GUID, x.EGUID, x.Descricao }).ToArray(); sfVlrNumeroCaixa.DataSource = display; }
/// <summary> /// Evento Click do botão de fechamento /// </summary> /// <param name="sender">Objeto que disparou o evento</param> /// <param name="e">Parametros do evento</param> private void btnFechamentoCaixa_Click(object sender, System.EventArgs e) { #region fechar Wait.Show(); if(!Validate()) { Wait.Close(); return; } //Procurar pela abertura do caixa através do usuário e caixa selecionados na tabela de "cxa_lancccaixa", ou seja tabela responsável por //armazenar todos os lançamentos feitos pelo usuário sendo eles: sangria, suprimento, cupom fiscal, etc IList<IContaCorrenteCaixa> lancamentosCaixa = new LancamentoCaixa().Find ( new Data.FrenteCaixa.Cadastro.Caixa { GUID = sfVlrNumeroCaixa.SelectedItem.GUID }, new Usuario { GUID = sfUsuario.SelectedItem.GUID } ); GUID caixaAberto = null; foreach(IContaCorrenteCaixa lancamento in lancamentosCaixa.OrderBy(o => o.AbreFechaCaixa.DataHoraAbertura)) { if(lancamento.AbreFechaCaixa.Status == Enuns.FrenteCaixa.Cadastro.Caixa.Status.Aberto) { caixaAberto = lancamento.AbreFechaCaixa.GUID; break; } } if(!caixaAberto.IsNullOrEmpty()) { //Fazer o fechamento do caixa aberto FechaCaixa t = new FechaCaixa(caixaAberto); t.Caixa = new OpenPOS.Data.FrenteCaixa.Cadastro.Caixa(sfVlrNumeroCaixa.SelectedItem.GUID); t.DataHoraFechamento = Unimake.Convert.ToDateTime(String.Format("{0:dd/MM/yyyy HH:mm:ss}", DateTime.Now)); Data.FrenteCaixa.Conferencia.Caixa cx = new Data.FrenteCaixa.Conferencia.Caixa(); cx.AbreFechaCaixa = Data.FrenteCaixa.Lancamento.AbreCaixa.Create(caixaAberto); cx.UsuarioConferencia = Usuario; cx.Tipo = Enuns.FrenteCaixa.Conferencia.Tipo.Conferencia; foreach(object[] obj in grdLancamentos.DataSource.Values) { if(PermiteVerCaixa) { cx.FormasPagamento.Add(new CaixaFormaPagto() { Status = Enuns.FrenteCaixa.Conferencia.Status.Conferido, ValorConferido = Unimake.Convert.ToDouble(obj[3]), ValorMovimento = Unimake.Convert.ToDouble(obj[2]), Tipo = Unimake.Convert.ToEnum<TipoForma>(obj[1]) }); } else { cx.FormasPagamento.Add(new CaixaFormaPagto() { Status = Enuns.FrenteCaixa.Conferencia.Status.Conferido, ValorConferido = Unimake.Convert.ToDouble(obj[2]), Tipo = Unimake.Convert.ToEnum<TipoForma>(obj[1]) }); } } t.OperadorAFechar = Usuario; t.Save(); //Encerra o processo de fechamento do caixa if(t.Status == Enuns.FrenteCaixa.Cadastro.Caixa.Status.Fechado) { //Atualizar as informações dos componentes do formulário lblCaixaFechado.Visible = true; lblCaixaFechado.Text = t.Status.ToString(); lblMensagem.Visible = true; } //Fazer a conferência do caixa pelos operadores cx.Save(); PopulateCombo(); sfVlrNumeroCaixa.Clear(); sfUsuario.Clear(); } #endregion Wait.Close(); grdLancamentos.Clear(); MessageBox.Show("Caixa fechado com sucesso."); }
public override void AfterSave(bool updating) { base.AfterSave(updating); IList<IContaCorrenteCaixa> lancamentosCaixa = null; IList<IContaCorrenteCaixa> lancamentosGerais = null; //O fechamento do caixa é por usuário operador if (Unimake.Convert.ToBoolean(Settings.Setting.FechamentoCaixaPorUsuario)) { lancamentosCaixa = new LancamentoCaixa().Find<IContaCorrenteCaixa>(new Where { { "cxa_lancccaixa.guidcaixa = @guidcaixa", new Parameter { ParameterName = "@guidcaixa", Value = Caixa.GUID.ToString() } }, { "cxa_lancccaixa.statuslancamento = @statuslancamento", new Parameter { ParameterName = "@statuslancamento", Value = (int)Enuns.FrenteCaixa.Lancamento.StatusLancamento.Aberto } }, { "cxa_lancccaixa.guidusuariooperador = @guidusuariooperador", new Parameter { ParameterName = "@guidusuariooperador", Value = this.OperadorAFechar.GUID.ToString() } }, { "cxa_lancccaixa.guidabrefecha = @guidabrefecha", new Parameter { ParameterName = "@guidabrefecha", Value = this.GUID.ToString() } } }); } else { lancamentosCaixa = new LancamentoCaixa().Find<IContaCorrenteCaixa>(new Where { { "cxa_lancccaixa.guidabrefecha = @guidabrefecha", new Parameter { ParameterName = "@guidabrefecha", Value = GUID.ToString() } }, { "cxa_lancccaixa.guidcaixa = @guidcaixa", new Parameter { ParameterName = "@guidcaixa", Value = Caixa.GUID.ToString() } }, { "cxa_lancccaixa.statuslancamento = @statuslancamento", new Parameter { ParameterName = "@statuslancamento", Value = (int)Enuns.FrenteCaixa.Lancamento.StatusLancamento.Aberto } }, { "cxa_lancccaixa.guidabrefecha = @guidabrefecha", new Parameter { ParameterName = "@guidabrefecha", Value = this.GUID.ToString() } } }); } //Atualizar o status do lançamento para fechado foreach (IContaCorrenteCaixa lancamento in lancamentosCaixa) { Connection.ExecuteNonQuery(@"UPDATE cxa_lancccaixa SET statuslancamento = @statuslancamento WHERE guidlan = @guidlan;", new[] { new Parameter { ParameterName = "@statuslancamento", Value = (int)Enuns.FrenteCaixa.Lancamento.StatusLancamento.Fechado }, new Parameter { ParameterName = "@guidlan", Value = lancamento.GUID.ToString() } }); } //Pesquisa por lançamentos abertos após atualizar o status dos lançamentos acima lancamentosGerais = new LancamentoCaixa().Find<IContaCorrenteCaixa>(new Where { { "cxa_lancccaixa.guidcaixa = @guidcaixa", new Parameter { ParameterName = "@guidcaixa", Value = Caixa.GUID.ToString() } }, { "cxa_lancccaixa.statuslancamento = @statuslancamento", new Parameter { ParameterName = "@statuslancamento", Value = (int)Enuns.FrenteCaixa.Lancamento.StatusLancamento.Aberto } }, { "cxa_lancccaixa.guidabrefecha = @guidabrefecha", new Parameter { ParameterName = "@guidabrefecha", Value = this.GUID.ToString() } } }); //Se não existem lançamentos em aberto posso fechar o caixa completamente. //Temos duas formas de fechar o caixa: por usuário(Analisar somente os lançamentos feito pelo mesmo) ou não(Analisar todos os lançamentos do caixa independente dos lançamentos do usuário) if (lancamentosGerais.Count == 0) { Status = Status.Fechado; Connection.ExecuteNonQuery(@"UPDATE cxa_abrefechacaixa SET status = @status WHERE GUID = @guid;", new[] { new Parameter { ParameterName = "@status", Value = (int)Status }, new Parameter { ParameterName = "@guid", Value = GUID.ToString() } }); } }
public async Task AddLancamento(LancamentoCaixa lancto) { await Task.FromResult(_dbService.LancamentosCaixa.Add(lancto)); await Task.FromResult(_dbService.SaveChanges()); }
public async Task UpdateLancamento(LancamentoCaixa item) { await Task.FromResult(_dbService.LancamentosCaixa.Update(item)); await Task.FromResult(_dbService.SaveChanges()); }
private void botaoF3_Click(object sender, EventArgs e) { if (grdFormasPagamento.SelectedRows.Count == 0) return; IList<Model.FrenteCaixa.Lancamento.IContaCorrenteCaixa> lancaixa = new LancamentoCaixa().Find<IContaCorrenteCaixa>(new Where() { {"cxa_lancccaixa.GUIDAbreFecha", (GUID)CurrentCaixa.GUID} }); IDisplayValues dv = new DisplayValues(); dv.Columns.Add(new Parameter("GUID")); dv.Columns.Add(new Parameter("EGUID")); dv.Columns.Add(new Parameter("DescricaoLanc")); dv.Columns.Add(new Parameter("Valor")); dv.Values = (from k in lancaixa where (k.BaixaForma.Tipo == Unimake.Convert. ToEnum<Enuns.Faturamento.Lancamento.Movimento.Baixa.TipoBaixaForma>(grdFormasPagamento.SelectedRows[0].Cells[1].Value)) select new object[]{ k.BaixaForma.GUID, k.EGUID, ((Data.FrenteCaixa.Lancamento.LancamentoCaixa)k).Historico, Unimake.Format.Currency( k.BaixaForma.ValorLiquido) }).ToList(); SearchWindowResult sw = SearchWindow.Show(dv); }