/// <summary>
        /// Gets a payment status by ID
        /// </summary>
        /// <param name="PaymentStatusID">payment status identifier</param>
        /// <returns>Payment status</returns>
        public static PaymentStatus GetPaymentStatusByID(int PaymentStatusID)
        {
            if (PaymentStatusID == 0)
            {
                return(null);
            }

            string key  = string.Format(PAYMENTSTATUSES_BY_ID_KEY, PaymentStatusID);
            object obj2 = NopCache.Get(key);

            if (PaymentStatusManager.CacheEnabled && (obj2 != null))
            {
                return((PaymentStatus)obj2);
            }

            DBPaymentStatus dbItem = DBProviderManager <DBPaymentStatusProvider> .Provider.GetPaymentStatusByID(PaymentStatusID);

            PaymentStatus paymentStatus = DBMapping(dbItem);

            if (PaymentStatusManager.CacheEnabled)
            {
                NopCache.Max(key, paymentStatus);
            }
            return(paymentStatus);
        }
        private static PaymentStatus DBMapping(DBPaymentStatus dbItem)
        {
            if (dbItem == null)
            {
                return(null);
            }

            PaymentStatus item = new PaymentStatus();

            item.PaymentStatusID = dbItem.PaymentStatusID;
            item.Name            = dbItem.Name;

            return(item);
        }