예제 #1
0
        private static VENDAS_ECFEntity FillEntityObject(ref FbDataReader DataReader)
        {
            VENDAS_ECFEntity entity = new VENDAS_ECFEntity();

            FirebirdGetDbData getData = new FirebirdGetDbData();

            entity.CUPOM        = getData.ConvertDBValueToStringNullable(DataReader, DataReader.GetOrdinal("CUPOM"));
            entity.N_CAIXA      = getData.ConvertDBValueToInt32Nullable(DataReader, DataReader.GetOrdinal("N_CAIXA"));
            entity.DATA         = getData.ConvertDBValueToDateTimeNullable(DataReader, DataReader.GetOrdinal("DATA"));
            entity.OPERADOR     = getData.ConvertDBValueToInt32Nullable(DataReader, DataReader.GetOrdinal("OPERADOR"));
            entity.CLIENTE      = getData.ConvertDBValueToInt32Nullable(DataReader, DataReader.GetOrdinal("CLIENTE"));
            entity.VENDEDOR     = getData.ConvertDBValueToInt32Nullable(DataReader, DataReader.GetOrdinal("VENDEDOR"));
            entity.COMISSAO     = getData.ConvertDBValueToDecimalNullable(DataReader, DataReader.GetOrdinal("COMISSAO"));
            entity.ACRESCIMO    = getData.ConvertDBValueToDecimalNullable(DataReader, DataReader.GetOrdinal("ACRESCIMO"));
            entity.DESCONTO     = getData.ConvertDBValueToDecimalNullable(DataReader, DataReader.GetOrdinal("DESCONTO"));
            entity.TOT_ISS      = getData.ConvertDBValueToDecimalNullable(DataReader, DataReader.GetOrdinal("TOT_ISS"));
            entity.TOT_ISS_D    = getData.ConvertDBValueToDecimalNullable(DataReader, DataReader.GetOrdinal("TOT_ISS_D"));
            entity.TOT_SERVICOS = getData.ConvertDBValueToDecimalNullable(DataReader, DataReader.GetOrdinal("TOT_SERVICOS"));
            entity.TOT_ICMS     = getData.ConvertDBValueToDecimalNullable(DataReader, DataReader.GetOrdinal("TOT_ICMS"));
            entity.TOT_PRODUTOS = getData.ConvertDBValueToDecimalNullable(DataReader, DataReader.GetOrdinal("TOT_PRODUTOS"));
            entity.TOT_VENDA    = getData.ConvertDBValueToDecimalNullable(DataReader, DataReader.GetOrdinal("TOT_VENDA"));
            entity.CANCELADO    = getData.ConvertDBValueToInt32(DataReader, DataReader.GetOrdinal("CANCELADO"));
            entity.SEQUENCIA    = getData.ConvertDBValueToInt32Nullable(DataReader, DataReader.GetOrdinal("SEQUENCIA"));
            entity.CONVENIO     = getData.ConvertDBValueToDecimalNullable(DataReader, DataReader.GetOrdinal("CONVENIO"));
            entity.OBS          = getData.ConvertDBValueToStringNullable(DataReader, DataReader.GetOrdinal("OBS"));


            return(entity);
        }
예제 #2
0
        public VENDAS_ECFEntity Read()
        {
            FbDataReader reader = null;

            try
            {
                //Verificando a existência de um transação aberta
                if (dbTransaction != null)
                {
                    if (dbCnn.State == ConnectionState.Closed)
                    {
                        dbCnn.Open();
                    }

                    dbCommand             = new FbCommand("Rea_VENDAS_ECF", dbCnn);
                    dbCommand.Transaction = ((FbTransaction)(dbTransaction));
                }
                else
                {
                    if (dbCnn == null)
                    {
                        dbCnn = ((FbConnection)GetConnectionDB());
                    }

                    if (dbCnn.State == ConnectionState.Closed)
                    {
                        dbCnn.Open();
                    }

                    dbCommand             = new FbCommand("Rea_VENDAS_ECF", dbCnn);
                    dbCommand.Transaction = dbCnn.BeginTransaction(IsolationLevel.ReadCommitted);
                }

                dbCommand.CommandType = CommandType.StoredProcedure;



                reader = dbCommand.ExecuteReader();

                VENDAS_ECFEntity entity = null;
                if (reader.HasRows)
                {
                    while (reader.Read())
                    {
                        entity = FillEntityObject(ref reader);
                    }
                }

                // Deleta reader
                if (reader != null)
                {
                    reader.Close();
                    reader.Dispose();
                }

                // Fecha conexão
                if (dbTransaction == null)
                {
                    dbCommand.Transaction.Commit();
                    if (dbCnn.State == ConnectionState.Open)
                    {
                        dbCnn.Close();
                    }
                }

                return(entity);
            }
            catch (Exception ex)
            {
                // Deleta reader
                if (reader != null)
                {
                    reader.Close();
                    reader.Dispose();
                }

                if (dbTransaction != null)
                {
                    this.RollbackTransaction();
                }
                else
                {
                    if (dbCommand.Transaction != null)
                    {
                        dbCommand.Transaction.Rollback();
                    }
                    if (dbCnn.State == ConnectionState.Open)
                    {
                        dbCnn.Close();
                    }
                }

                throw ex;
            }
        }