/// <summary>
        /// Inserts the asynchronous.
        /// </summary>
        /// <param name="state">The category.</param>
        /// <returns>
        /// InsertAsync
        /// </returns>
        /// <exception cref="ArgumentNullException">category</exception>
        public async Task <int> InsertAsync(PackageStateModel state)
        {
            if (state == null)
            {
                throw new ArgumentNullException("category");
            }

            return(await this.stateRepository.InsertAsync(state));
        }
        /// <summary>
        /// Updates the asynchronous.
        /// </summary>
        /// <param name="category">The category.</param>
        /// <returns>
        /// UpdateAsync
        /// </returns>
        /// <exception cref="ArgumentNullException">category</exception>
        public async Task <int> UpdateAsync(PackageStateModel category)
        {
            if (category == null)
            {
                throw new ArgumentNullException("category");
            }

            return(await this.stateRepository.UpdateAsync(category));
        }
        /// <summary>
        /// Deletes the asynchronous.
        /// </summary>
        /// <param name="state">The state.</param>
        /// <returns>
        /// DeleteAsync
        /// </returns>
        /// <exception cref="ArgumentNullException">category</exception>
        public async Task <int> DeleteAsync(PackageStateModel state)
        {
            if (state == null)
            {
                throw new ArgumentNullException("roomtype");
            }

            return(await this.stateRepository.DeleteAsync(state));
        }