public static int GravarTratamentoFiscal(Domain.TratamentoFiscal tratFiscal)
 {
     using (var _sqlCon = GetConn())
         using (var sqlCmd = new SqlCommand("dbo.P_TRATAMENTO_FISCAL", _sqlCon))
         {
             sqlCmd.CommandType = CommandType.StoredProcedure;
             sqlCmd.Parameters.AddRange(new[] {
                 new SqlParameter("@pId", tratFiscal.Id)
                 {
                     Direction = ParameterDirection.InputOutput
                 },
                 new SqlParameter("@pEstadoOrigem", tratFiscal.EstadoOrigem),
                 new SqlParameter("@pEstadoDestino", tratFiscal.EstadoDestino),
                 new SqlParameter("@pCfop", tratFiscal.Cfop),
                 new SqlParameter("@pBrinde", tratFiscal.Brinde),
                 new SqlParameter("@pTipoIcms", tratFiscal.TipoIcms),
                 new SqlParameter("@pAliquotaIcms", tratFiscal.AliquotaIcms),
                 new SqlParameter("@pAliquotaIpi", tratFiscal.AliquotaIpi),
                 new SqlParameter("@pReducaoBaseIcms", tratFiscal.ReducaoBaseIcms),
                 new SqlParameter("@pDesconto", tratFiscal.Desconto)
             });
             _sqlCon.Open();
             sqlCmd.ExecuteScalar();
             return(Convert.ToInt32(sqlCmd.Parameters["@pId"].Value));
         }
 }
        public static Domain.TratamentoFiscal ObterTratamentoFiscal(string ufOrigem, string ufDestino, bool brinde)
        {
            var tratFiscal = new Domain.TratamentoFiscal();

            using (var con = GetConn())
                using (var sqlCmd = new SqlCommand(@"SELECT [Id]
                                                      ,[EstadoOrigem]
                                                      ,[EstadoDestino]
                                                      ,[Cfop]
                                                      ,[TipoIcms]
                                                      ,[AliquotaIcms]
                                                      ,[AliquotaIpi]
                                                      ,[ReducaoBaseIcms]
                                                      ,[Brinde]
                                                      ,[Desconto]
                                                      ,[DataAlteracao]
                                                  FROM [dbo].[TratamentoFiscal]
                                                WHERE estadoOrigem = @estadoOrigem and estadoDestino = @estadoDestino and brinde = @brinde", con))
                {
                    sqlCmd.CommandType = CommandType.Text;
                    sqlCmd.Parameters.AddWithValue("@estadoOrigem", ufOrigem);
                    sqlCmd.Parameters.AddWithValue("@estadoDestino", ufDestino);
                    sqlCmd.Parameters.AddWithValue("@brinde", brinde);

                    con.Open();
                    var sqlDR = sqlCmd.ExecuteReader();
                    if (sqlDR.HasRows)
                    {
                        while (sqlDR.Read())
                        {
                            tratFiscal.Id              = Convert.ToInt32(sqlDR["Id"]);
                            tratFiscal.EstadoOrigem    = sqlDR["EstadoOrigem"].ToString();
                            tratFiscal.EstadoDestino   = sqlDR["EstadoDestino"].ToString();
                            tratFiscal.Cfop            = sqlDR["Cfop"].ToString();
                            tratFiscal.TipoIcms        = sqlDR["TipoIcms"].ToString();
                            tratFiscal.AliquotaIcms    = Convert.ToDouble(sqlDR["AliquotaIcms"]);
                            tratFiscal.AliquotaIpi     = Convert.ToDouble(sqlDR["AliquotaIpi"]);
                            tratFiscal.ReducaoBaseIcms = Convert.ToInt32(sqlDR["ReducaoBaseIcms"]);
                            tratFiscal.Brinde          = Convert.ToBoolean(sqlDR["Brinde"]);
                            tratFiscal.Desconto        = Convert.ToDouble(sqlDR["Desconto"]);
                            tratFiscal.DataAlteracao   = Convert.ToDateTime(sqlDR["DataAlteracao"]);
                        }
                    }
                }
            return(tratFiscal);
        }