public ActionResult AdminPromoteUserAd(AdminPromoteClassifiedAd ad)
        {
            var promo = PromotionManager.PromoteAd(ad);

            promo.PromoDuration   = PromotionStaticInfo.PromotionDuration.DurationRange;
            promo.UrgentAdPrice   = PromotionStaticInfo.UrgentAdPaymentInfo.UrgentAdPrice.Price;
            promo.TopAdPrice      = PromotionStaticInfo.TopAdPaymentInfo.TopAdPrice.Price;
            promo.FeaturedAdPrice = PromotionStaticInfo.FeaturedAdPaymentInfo.FeaturedAdPrice.Price;
            return(View("AdminFindPromoteAd", promo));
        }
        public AdminPromote PromoteAd(AdminPromoteClassifiedAd ad)
        {
            // Check if ad paramiter is not null
            if (ad == null)
            {
                return(null);
            }
            // Get Ad
            var pro = CurrentDbContext.ClassifiedDB.Include("AdPromotion").SingleOrDefault(x => x.Id == ad.Id);

            if (pro == null)
            {
                return(null);
            }
            // Save promotion changes
            if (pro.AdPromotion != null)
            {
                // save urgent ad
                if (ad.AdPromotion.UrgentAd.Duration > 0)
                {
                    pro.AdPromotion.UrgentAd.Duration = ad.AdPromotion.UrgentAd.Duration;
                    SetUrgentPromotionAd(pro);
                }
                // save featured ad
                if (ad.AdPromotion.FeaturedAd.Duration > 0)
                {
                    pro.AdPromotion.FeaturedAd.Duration = ad.AdPromotion.FeaturedAd.Duration;
                    SetFeaturedPromotionAd(pro);
                }
                // save Top ad
                if (ad.AdPromotion.TopAd.Duration > 0)
                {
                    pro.AdPromotion.TopAd.Duration = ad.AdPromotion.TopAd.Duration;
                    SetTopPromotionAd(pro);
                }
                LuceneSearch.AddUpdateLuceneIndex(pro);
            }
            return(Mapper.Map <AdminPromote>(pro));
        }