Exemple #1
0
        public override void Gravar()
        {
            #region Caixa
            Cadastro.CaixaTest caixaTest = new Cadastro.CaixaTest();
            caixaTest.Gravar();
            #endregion

            #region abrir
            AbreCaixa abre = new AbreCaixa();
            abre.Caixa = new Caixa(caixaTest.GUID);
            abre.Usuario = OpenPOS.Settings.UsuarioAtual;
            abre.DataHoraAbertura = DateTime.Now;
            abre.DataHoraFechamento = DateTime.Now.AddHours(3);
            #endregion

            #region fechar
            FechaCaixa t = new FechaCaixa();
            t.Caixa = new Caixa(caixaTest.GUID);
            t.Usuario = OpenPOS.Settings.UsuarioAtual;
            t.DataHoraAbertura = DateTime.Now;
            t.DataHoraFechamento = DateTime.Now.AddHours(2);
            #endregion

            //abrir o caixa antes de fechar para evitar erro
            abre.Save();
            GUID = t.Save();
        }
Exemple #2
0
 public override void Editar()
 {
     Gravar();
     FechaCaixa t = new FechaCaixa(GUID);
     t.DataHoraAbertura = DateTime.Now.AddHours(1);
     t.DataHoraFechamento = DateTime.Now.AddHours(2);
     t.Save();
 }
        /// <summary>
        /// Cria uma nova instancia de abertura ou fechamento de caixa com base no GUID informado
        /// </summary>
        /// <param name="guid">código do registro para criar a abertura ou fechamento de caixa</param>
        /// <returns></returns>
        public static AbreFechaCaixaBase Create(GUID guid)
        {
            AbreFechaCaixaBase result = null;

            //criar uma abertura de caixa, se o status do caixa for fechado, converter para fechamento
            result = new AbreCaixa(guid);

            //se o status for fechado, converter para um fechamento
            if(result.Status == Status.Fechado)
                result = new FechaCaixa(guid);

            return result;
        }
 /// <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
     FechaCaixa t = new FechaCaixa();
     t.Caixa = new Caixa(Settings.CaixaAtual.GUID);
     t.Usuario = OpenPOS.Settings.UsuarioAtual;
     t.DataHoraFechamento = DateTime.Now;
     if (t.PermiteAbrirFechar())
         t.Save();
     else
         System.Windows.Forms.MessageBox.Show("Fechamento de caixa não permitido!", "Erro!");
     #endregion
 }
Exemple #5
0
        public void SemCaixaAbertoTest()
        {
            //gravar um fechamento sem abrir
            #region Caixa
            Cadastro.CaixaTest caixaTest = new Cadastro.CaixaTest();
            caixaTest.Gravar();
            #endregion

            #region fechar
            FechaCaixa t = new FechaCaixa();
            t.Caixa = new Caixa(caixaTest.GUID);
            t.Usuario = OpenPOS.Settings.UsuarioAtual;
            t.DataHoraAbertura = DateTime.Now;
            t.DataHoraFechamento = DateTime.Now.AddHours(2);
            #endregion

            //salvar
            t.Save();
        }
Exemple #6
0
 public override void Popular()
 {
     FechaCaixa t = new FechaCaixa(GUID);
     DumpElement(t);
 }
        /// <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.");
        }
        /// <summary>
        /// Método para popular lançamentos
        /// </summary>
        private void PopulateLanc()
        {
            Caixas = new OpenPOS.Data.FrenteCaixa.Lancamento.FechaCaixa().Find<Model.FrenteCaixa.Lancamento.IAbreFechaCaixa>(new Where()
                    {
                          { "cxa_abrefechacaixa.status", (int)Enuns.FrenteCaixa.Cadastro.Caixa.Status.Conferido }
                    });

            IDisplayValues dv = new DisplayValues(new Data.Faturamento.Lancamento.Movimento.Item.VendaCF.Item());
            dv.Columns.Add(new Parameter("GUID"));
            dv.Columns.Add(new Parameter("PDV"));
            dv.Columns.Add(new Parameter("DataAbertura"));
            dv.Columns.Add(new Parameter("DataFechamento"));
            dv.Columns.Add(new Parameter("Usuario"));

            dv.Values = (from x in Caixas
                         select new object[]
                         {
                            x.GUID,
                            x.Caixa.Descricao,
                            x.DataHoraAbertura.ToShortDateString(),
                            x.DataHoraFechamento.ToShortDateString(),
                            x.Usuario.NomeFantasia
                         }).ToList();
            grdLancamentos.DataSource = dv;
            dv = new DisplayValues();
            dv.Columns.Add(new Parameter("GUID"));
            dv.Columns.Add(new Parameter("TipoForma"));
            dv.Columns.Add(new Parameter("ValorFormaPgto"));
            dv.Columns.Add(new Parameter("ValorConferido"));
            dv.Columns.Add(new Parameter("ValorAuditado"));
            dv.Columns.Add(new Parameter("Diferenca"));

            grdFormasPagamento.DataSource = dv;
        }