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(); }
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 }
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(); }
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; }