private DBStateProvince GetStateProvinceFromReader(IDataReader dataReader)
        {
            var item = new DBStateProvince();

            item.StateProvinceId = NopSqlDataHelper.GetInt(dataReader, "StateProvinceID");
            item.CountryId       = NopSqlDataHelper.GetInt(dataReader, "CountryID");
            item.Name            = NopSqlDataHelper.GetString(dataReader, "Name");
            item.Abbreviation    = NopSqlDataHelper.GetString(dataReader, "Abbreviation");
            item.DisplayOrder    = NopSqlDataHelper.GetInt(dataReader, "DisplayOrder");
            return(item);
        }
        private DBStateProvince GetStateProvinceFromReader(IDataReader dataReader)
        {
            DBStateProvince stateProvince = new DBStateProvince();

            stateProvince.StateProvinceID = NopSqlDataHelper.GetInt(dataReader, "StateProvinceID");
            stateProvince.CountryID       = NopSqlDataHelper.GetInt(dataReader, "CountryID");
            stateProvince.Name            = NopSqlDataHelper.GetString(dataReader, "Name");
            stateProvince.Abbreviation    = NopSqlDataHelper.GetString(dataReader, "Abbreviation");
            stateProvince.DisplayOrder    = NopSqlDataHelper.GetInt(dataReader, "DisplayOrder");
            return(stateProvince);
        }
        /// <summary>
        /// Gets a state/province
        /// </summary>
        /// <param name="Abbreviation">The state/province abbreviation</param>
        /// <returns>State/province</returns>
        public override DBStateProvince GetStateProvinceByAbbreviation(string Abbreviation)
        {
            DBStateProvince stateProvince = null;
            Database        db            = NopSqlDataHelper.CreateConnection(_sqlConnectionString);
            DbCommand       dbCommand     = db.GetStoredProcCommand("Nop_StateProvinceLoadByAbbreviation");

            db.AddInParameter(dbCommand, "Abbreviation", DbType.String, Abbreviation);
            using (IDataReader dataReader = db.ExecuteReader(dbCommand))
            {
                if (dataReader.Read())
                {
                    stateProvince = GetStateProvinceFromReader(dataReader);
                }
            }
            return(stateProvince);
        }
        /// <summary>
        /// Gets a state/province
        /// </summary>
        /// <param name="StateProvinceID">The state/province identifier</param>
        /// <returns>State/province</returns>
        public override DBStateProvince GetStateProvinceByID(int StateProvinceID)
        {
            DBStateProvince stateProvince = null;
            Database        db            = NopSqlDataHelper.CreateConnection(_sqlConnectionString);
            DbCommand       dbCommand     = db.GetStoredProcCommand("Nop_StateProvinceLoadByPrimaryKey");

            db.AddInParameter(dbCommand, "StateProvinceID", DbType.Int32, StateProvinceID);
            using (IDataReader dataReader = db.ExecuteReader(dbCommand))
            {
                if (dataReader.Read())
                {
                    stateProvince = GetStateProvinceFromReader(dataReader);
                }
            }
            return(stateProvince);
        }
        /// <summary>
        /// Updates a state/province
        /// </summary>
        /// <param name="StateProvinceID">The state/province identifier</param>
        /// <param name="CountryID">The country identifier</param>
        /// <param name="Name">The name</param>
        /// <param name="Abbreviation">The abbreviation</param>
        /// <param name="DisplayOrder">The display order</param>
        /// <returns>State/province</returns>
        public override DBStateProvince UpdateStateProvince(int StateProvinceID, int CountryID, string Name, string Abbreviation, int DisplayOrder)
        {
            DBStateProvince stateProvince = null;
            Database        db            = NopSqlDataHelper.CreateConnection(_sqlConnectionString);
            DbCommand       dbCommand     = db.GetStoredProcCommand("Nop_StateProvinceUpdate");

            db.AddInParameter(dbCommand, "StateProvinceID", DbType.Int32, StateProvinceID);
            db.AddInParameter(dbCommand, "CountryID", DbType.Int32, CountryID);
            db.AddInParameter(dbCommand, "Name", DbType.String, Name);
            db.AddInParameter(dbCommand, "Abbreviation", DbType.String, Abbreviation);
            db.AddInParameter(dbCommand, "DisplayOrder", DbType.Int32, DisplayOrder);
            if (db.ExecuteNonQuery(dbCommand) > 0)
            {
                stateProvince = GetStateProvinceByID(StateProvinceID);
            }

            return(stateProvince);
        }
        /// <summary>
        /// Updates a state/province
        /// </summary>
        /// <param name="stateProvinceId">The state/province identifier</param>
        /// <param name="countryId">The country identifier</param>
        /// <param name="name">The name</param>
        /// <param name="abbreviation">The abbreviation</param>
        /// <param name="displayOrder">The display order</param>
        /// <returns>State/province</returns>
        public override DBStateProvince UpdateStateProvince(int stateProvinceId,
                                                            int countryId, string name, string abbreviation, int displayOrder)
        {
            DBStateProvince item      = null;
            Database        db        = NopSqlDataHelper.CreateConnection(_sqlConnectionString);
            DbCommand       dbCommand = db.GetStoredProcCommand("Nop_StateProvinceUpdate");

            db.AddInParameter(dbCommand, "StateProvinceID", DbType.Int32, stateProvinceId);
            db.AddInParameter(dbCommand, "CountryID", DbType.Int32, countryId);
            db.AddInParameter(dbCommand, "Name", DbType.String, name);
            db.AddInParameter(dbCommand, "Abbreviation", DbType.String, abbreviation);
            db.AddInParameter(dbCommand, "DisplayOrder", DbType.Int32, displayOrder);
            if (db.ExecuteNonQuery(dbCommand) > 0)
            {
                item = GetStateProvinceById(stateProvinceId);
            }

            return(item);
        }
        /// <summary>
        /// Gets a state/province collection by country identifier
        /// </summary>
        /// <param name="CountryID">Country identifier</param>
        /// <returns>State/province collection</returns>
        public override DBStateProvinceCollection GetStateProvincesByCountryID(int CountryID)
        {
            DBStateProvinceCollection stateProvinceCollection = new DBStateProvinceCollection();

            if (CountryID == 0)
            {
                return(stateProvinceCollection);
            }
            Database  db        = NopSqlDataHelper.CreateConnection(_sqlConnectionString);
            DbCommand dbCommand = db.GetStoredProcCommand("Nop_StateProvinceLoadAllByCountryID");

            db.AddInParameter(dbCommand, "CountryID", DbType.Int32, CountryID);
            using (IDataReader dataReader = db.ExecuteReader(dbCommand))
            {
                while (dataReader.Read())
                {
                    DBStateProvince stateProvince = GetStateProvinceFromReader(dataReader);
                    stateProvinceCollection.Add(stateProvince);
                }
            }
            return(stateProvinceCollection);
        }