示例#1
0
        public void ConsultarCaixaInternet()
        {
            tCaixa caixa = caixaBO.Abrir(21940, new tLoja()
            {
                ID = 2
            }, new tCanal()
            {
                ID = 2, Comissao = 0
            });

            caixaBO.Fechar(caixa);
        }
示例#2
0
        public tCaixa Abrir(int usuarioId, tLoja loja, tCanal canal, decimal saldoInicial = 0)
        {
            tCaixa caixa = new tCaixa();

            caixa.DataAberturaAsDateTime = DateTime.Now;
            caixa.ApresentacaoID         = 0;
            caixa.UsuarioID      = usuarioId;
            caixa.LojaID         = loja.ID;
            caixa.DataFechamento = "";
            caixa.SaldoInicial   = saldoInicial;
            caixa.Comissao       = canal.Comissao;

            ado.Salvar(caixa, usuarioId);
            return(caixa);
        }
示例#3
0
 public void Fechar(tCaixa caixa)
 {
     caixa.DataFechamentoAsDateTime = DateTime.Now;
     ado.Salvar(caixa, caixa.UsuarioID);
 }
示例#4
0
 public bool Salvar(tCaixa caixa, int?UsuarioID)
 {
     #region queries tCaixa
     string checkTCaixa  = @"SELECT
                                 CASE WHEN ID IS NULL THEN
                                     0
                                 ELSE
                                     ID
                                 END
                            FROM
                                 tCaixa(NOLOCK)
                            WHERE
                                 ID = @ID";
     string selectTcaixa = @"SELECT
                                 ID
                                 ,UsuarioID
                                 ,LojaID
                                 ,ApresentacaoID
                                 ,SaldoInicial
                                 ,DataAbertura
                                 ,DataFechamento
                                 ,Comissao
                                 ,GerouConciliacao
                                 ,ConciliacaoID
                             FROM
                                 tCaixa(NOLOCK)
                             WHERE
                                 ID = @ID";
     string insertTCaixa = @"INSERT INTO tCaixa
                                    (ID
                                    ,UsuarioID
                                    ,LojaID
                                    ,ApresentacaoID
                                    ,SaldoInicial
                                    ,DataAbertura
                                    ,DataFechamento
                                    ,Comissao
                                    ,GerouConciliacao
                                    ,ConciliacaoID)
                                    OUTPUT inserted.ID
                              VALUES
                                    (
                                     (SELECT MAX(ID)+1 FROM cCaixa(NOLOCK))
                                    ,@UsuarioID
                                    ,@LojaID
                                    ,@ApresentacaoID
                                    ,@SaldoInicial
                                    ,@DataAbertura
                                    ,@DataFechamento
                                    ,@Comissao
                                    ,@GerouConciliacao
                                    ,@ConciliacaoID)";
     string updateTCaixa = @"UPDATE
                                 tCaixa
                             SET 
                                 ID = @ID
                                 ,UsuarioID = @UsuarioID
                                 ,LojaID = @LojaID
                                 ,ApresentacaoID = @ApresentacaoID
                                 ,SaldoInicial = @SaldoInicial
                                 ,DataAbertura = @DataAbertura
                                 ,DataFechamento = @DataFechamento
                                 ,Comissao = @Comissao
                                 ,GerouConciliacao = @GerouConciliacao
                                 ,ConciliacaoID = @ConciliacaoID
                             WHERE 
                                 ID = @ID";
     #endregion
     #region queries cCaixa
     string insertCCcaixa = @"INSERT INTO cCaixa
                                    (ID
                                    ,Versao
                                    ,Acao
                                    ,TimeStamp
                                    ,UsuarioID)
                              VALUES
                                    (@ID
                                    ,(SELECT CASE WHEN MAX(Versao) IS NULL THEN 0 ELSE MAX(Versao) + 1 END AS Versao FROM cCaixa(NOLOCK) WHERE ID = @ID)
                                    ,@Acao
                                    ,@TimeStamp
                                    ,@UsuarioID)";
     #endregion
     #region queries xCaixa
     string insertXCaixa = @"INSERT INTO xCaixa
                                    (ID
                                    ,Versao
                                    ,UsuarioID
                                    ,LojaID
                                    ,ApresentacaoID
                                    ,SaldoInicial
                                    ,DataAbertura
                                    ,DataFechamento
                                    ,Comissao
                                    ,ConciliacaoID)
                              VALUES
                                    (@ID
                                    ,(SELECT CASE WHEN MAX(Versao) IS NULL THEN 0 ELSE MAX(Versao) END AS Versao FROM cCaixa(NOLOCK) WHERE ID = @ID)
                                    ,@UsuarioID
                                    ,@LojaID
                                    ,@ApresentacaoID
                                    ,@SaldoInicial
                                    ,@DataAbertura
                                    ,@DataFechamento
                                    ,@Comissao
                                    ,@ConciliacaoID)";
     #endregion
     bool update    = Convert.ToInt32(conIngresso.ExecuteScalar(checkTCaixa, caixa)) > 0;
     bool resultado = false;
     if (update)
     {
         tCaixa caixaO = conIngresso.Query <tCaixa>(selectTcaixa, caixa).FirstOrDefault();
         conIngresso.Execute(insertXCaixa, caixaO);
         resultado = conIngresso.Execute(updateTCaixa, caixa) > 0;
     }
     else
     {
         caixa.ID  = conIngresso.Query <int>(insertTCaixa, caixa).FirstOrDefault();
         resultado = caixa.ID > 0;
     }
     conIngresso.Execute(insertCCcaixa, new { ID = caixa.ID, Acao = ((update) ? "U" : "I"), TimeStamp = DateTime.Now.ToString("yyyyMMddHHmmss"), UsuarioID = UsuarioID });
     return(resultado);
 }