示例#1
0
        public ActionResult FluxoCaixaSalvar(FormCollection form)
        {
            if (!this.CheckAdmin())
            {
                return(RedirectToAction("Denied", "Home"));
            }

            var cReceber   = Convert.ToDouble(form["contasReceber"].ToString());
            var emp        = Convert.ToDouble(form["emprestimos"].ToString());
            var dinSocios  = Convert.ToDouble(form["dinheiroSocios"].ToString());
            var cPagar     = Convert.ToDouble(form["contasPagar"].ToString());
            var despGerais = Convert.ToDouble(form["despesasGerais"].ToString());
            var pagEmp     = Convert.ToDouble(form["pagamentoEmprestimos"].ToString());
            var compVista  = Convert.ToDouble(form["comprasVista"].ToString());

            var fluxo = new FluxoCaixa
            {
                ContasReceber        = cReceber,
                Emprestimos          = emp,
                DinheiroSocios       = dinSocios,
                ContasPagar          = cPagar,
                DespesasGerais       = despGerais,
                PagamentoEmprestimos = pagEmp,
                ComprasVista         = compVista
            };

            DbConfig.Instance.FluxoCaixaRepository.Salvar(fluxo);
            return(RedirectToAction("Index"));
        }
示例#2
0
        public List <FluxoCaixa> buscaCaixaAberto(MySqlCommand cmd)
        {
            List <FluxoCaixa> lstCaixa = new List <FluxoCaixa>();

            Abrir();
            MySqlDataReader reader = Pesquisar(cmd);

            while (reader.Read())
            {
                FluxoCaixa fc = new FluxoCaixa();
                fc.id             = reader.GetInt32(0);
                fc.dataAbertura   = reader.GetString(1);
                fc.dataFechamento = reader.GetString(2);
                fc.saldoInicial   = reader.GetString(3);
                fc.totalSaidas    = reader.GetString(4);
                fc.totalEntradas  = reader.GetString(5);
                fc.saldoFinal     = reader.GetString(6);
                fc.colaborador    = reader.GetString(7);
                fc.status         = reader.GetString(8);

                lstCaixa.Add(fc);
            }
            Fechar();
            return(lstCaixa);
        }
示例#3
0
        private bool SalvarFluxo(FluxoCaixa fluxoCaixa)
        {
            try
            {
                //caso os campos estiverem vazios
                if (txtObservaoes.Text == "" || txtPrevisto.Text == "")
                {
                    MessageBox.Show("Campos com * são obrigatórios o preenchimento");
                }
                else
                {
                    fluxoCaixa.Dia           = DateTime.Now;
                    fluxoCaixa.Observacoes   = txtObservaoes.Text;
                    fluxoCaixa.ValorEntrada  = Convert.ToDouble(txtRecebimentoDia.Text);
                    fluxoCaixa.ValorSaida    = Convert.ToDouble(txtPagamentoDia.Text);
                    fluxoCaixa.ValorPrevisto = Convert.ToDouble(txtPrevisto.Text);
                    fluxoCaixa.Saldo         = Convert.ToDouble(txtSaldo.Text);

                    fluxoCaixaBLL.SalvarFluxo(fluxoCaixa);

                    MessageBox.Show("Dia feito com sucesso");
                    Limpar();
                    ListarFluxo();
                    return(true);
                }
            }
            catch (Exception error)
            {
                MessageBox.Show("Erro: " + error);
            }
            return(false);
        }
示例#4
0
        public void SalvarFluxo(FluxoCaixa fluxoCaixa)
        {
            try
            {
                Conectar();

                command = new MySqlCommand("insert into fluxocaixa (dia, observacoes, valorEntrada, valorSaida, saldo, valorPrevisto) " +
                                           "values (@dia, @observacoes, @valorEntrada, @valorSaida, @saldo, @valorPrevisto)", conexao);
                command.Parameters.AddWithValue("@dia", fluxoCaixa.Dia);
                command.Parameters.AddWithValue("@observacoes", fluxoCaixa.Observacoes);
                command.Parameters.AddWithValue("@valorEntrada", fluxoCaixa.ValorEntrada);
                command.Parameters.AddWithValue("@valorSaida", fluxoCaixa.ValorSaida);
                command.Parameters.AddWithValue("@saldo", fluxoCaixa.Saldo);
                command.Parameters.AddWithValue("@valorPrevisto", fluxoCaixa.ValorPrevisto);


                command.ExecuteNonQuery();
            }
            catch (Exception error)
            {
                throw error;
            }
            finally
            {
                Desconectar();
            }
        }
示例#5
0
 public void SalvarFluxo(FluxoCaixa fluxoCaixa)
 {
     try
     {
         fluxoCaixaDAO.SalvarFluxo(fluxoCaixa);
     }
     catch (Exception error)
     {
         MessageBox.Show("Erro: " + error);
     }
 }
示例#6
0
        private void frmCaixa_Load(object sender, EventArgs e)
        {
            DALCaixa   objDAL = new DALCaixa();
            FluxoCaixa caixa  = new FluxoCaixa();

            tabControl1.TabPages.Remove(tabPage2);//se tornou inutil, o controle já é feito por contador e repassado mensalmente
            if ((caixa = objDAL.verificarAberturaCaixa()) != null)
            {
                //tabControl1.TabPages.Add(tabPage3);
                tabControl1.TabPages.Remove(tabPage3);
            }
            else
            {
                tabControl1.TabPages.Remove(tabPage4);
            }
        }
示例#7
0
        public void abrirCaixa(FluxoCaixa dados)
        {
            MySqlCommand cmd = new MySqlCommand("BEGIN; insert into fluxoCaixa values (default, @dataAbertura, @dataFechamento, @saldoInicial, @totalSaidas, @totalEntradas, @saldoFinal, @colaborador, @status); COMMIT;");

            cmd.Parameters.AddWithValue("@dataAbertura", dados.dataAbertura);
            cmd.Parameters.AddWithValue("@dataFechamento", "");
            cmd.Parameters.AddWithValue("@saldoInicial", dados.saldoInicial);
            cmd.Parameters.AddWithValue("@totalSaidas", "");
            cmd.Parameters.AddWithValue("@totalEntradas", "");
            cmd.Parameters.AddWithValue("@saldoFinal", "");
            cmd.Parameters.AddWithValue("@colaborador", dados.colaborador);
            cmd.Parameters.AddWithValue("@status", "Aberto");

            ControllerVendas add = new ControllerVendas();
            int linhasAfetadas   = add.executa(cmd);

            MessageBox.Show("Caixa aberto com sucesso!\n" + " Affected Row(s) " + linhasAfetadas.ToString());
        }
示例#8
0
        private void bntCaixa_Click(object sender, EventArgs e)
        {
            if (bntCaixa.Text == "Abrir Caixa")
            {
                FluxoCaixa dados = new FluxoCaixa();
                dados.dataAbertura = Convert.ToString(DateTime.Now);
                dados.saldoInicial = textSaldo.Text;
                dados.colaborador  = "John"; //Aqui deve buscar o usuario atual do sistema

                Gerenciador_fluxoCaixa abre = new Gerenciador_fluxoCaixa();
                abre.abrirCaixa(dados);

                validaCaixaAberto();
            }
            else
            {
                //metodo fechar caixa
            }
        }
        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();
        }
示例#10
0
        private void btnAbrir_Click(object sender, EventArgs e)
        {
            if (System.Text.RegularExpressions.Regex.IsMatch(txtValorAbertura.Text, "^[0-9]{1,4}([,.][0-9]{1,2})?$"))
            {
                DALCaixa   objDAL = new DALCaixa();
                FluxoCaixa caixa  = new FluxoCaixa();
                caixa.ValorAbertura = decimal.Parse(txtValorAbertura.Text);
                caixa.DataAbertura  = DateTime.Now;
                objDAL.AbrirCaixa(caixa);

                tabControl1.TabPages.Remove(tabPage3);
                if (!tabPage4.IsAccessible)
                {
                    tabControl1.TabPages.Add(tabPage4);
                }
                limparTextBoxes(this.Controls);
            }
            else
            {
                MessageBox.Show("Informe algum valor !");
            }
        }
示例#11
0
        public FluxoCaixa[] Obter(DateTime dataInicial, DateTime dataFinal)
        {
            var dataAnteriorQueInicial = dataInicial.AddDays(-1);
            var transacoes             = this.transacaoRepository.AllByDate(dataAnteriorQueInicial, dataFinal);
            var grouped       = transacoes.Select(x => new { x.Data, x.Valor }).GroupBy(x => x.Data);
            var fluxos        = new List <FluxoCaixa>();
            var saldoAnterior = 0m;

            foreach (var group in grouped)
            {
                var fluxo = new FluxoCaixa {
                    SaldoAnterior = saldoAnterior, Data = group.Key
                };

                foreach (var item in group)
                {
                    if (item.Valor > 0)
                    {
                        fluxo.Entradas += item.Valor;
                    }
                    else
                    {
                        fluxo.Saidas += item.Valor;
                    }
                }

                saldoAnterior = fluxo.Saldo;

                if (fluxo.Data != dataAnteriorQueInicial)
                {
                    fluxos.Add(fluxo);
                }
            }

            return(fluxos.OrderByDescending(x => x.Data).ToArray());
        }
示例#12
0
        private void btnFecharCaixa_Click(object sender, EventArgs e)
        {
            if (System.Text.RegularExpressions.Regex.IsMatch(txtValorFechamento.Text, "^[0-9]{1,4}([,.][0-9]{1,2})?$"))
            {
                DALCaixa   objDAL = new DALCaixa();
                FluxoCaixa caixa  = new FluxoCaixa();

                caixa.DataFechamento = DateTime.Now;
                if ((caixa = objDAL.verificarFechamento(caixa)) == null)
                {
                    MessageBox.Show("O fechamento não foi feito no dia certo,terá que ser aberto um novo caixa !");
                    //caixa.Fluxo = null;
                    //objDAL.FecharCaixa(caixa);
                }
                else
                {
                    if (caixa.ValorFechamento == null)
                    {
                        caixa.ValorFechamento = decimal.Parse(txtValorFechamento.Text);
                        objDAL.FecharCaixa(caixa);
                    }
                    else
                    {
                        MessageBox.Show("Fechamento de caixa do dia já efetuado !");
                    }
                }

                tabControl1.TabPages.Remove(tabPage4);
                //tabControl1.TabPages.Add(tabPage3);
                limparTextBoxes(this.Controls);
            }
            else
            {
                MessageBox.Show("Informe algum valor !");
            }
        }
示例#13
0
 public void save(FluxoCaixa dados)
 {
 }
示例#14
0
        private void btnSalvar_Click(object sender, RoutedEventArgs e)
        {
            FluxoCaixa fluxoCaixa = new FluxoCaixa();

            SalvarFluxo(fluxoCaixa);
        }