public bool AdminRemoveUserAds(string userId) { // 1. Get user var user = CurrentDbContext.Users .Include("ClassifiedAds").Select(u => new { uid = u.Id, adids = u.ClassifiedAds.Select(s => s.Id) }) .FirstOrDefault(x => x.uid == userId); // 2. Remove ads foreach (var sti in user.adids) { // remove from cart if (PromoManager.IsAdInCart(sti)) { if (!PromoManager.RemoveFromShoppingCart(sti)) { return(false); } } if (PromoManager.IsAdPromoted(user.uid, sti)) { if (!PromoManager.RemoveFromPromotedList(user.uid, sti)) { return(false); } } if (!ClassifiedManager.RemoveClassifiedAd(sti)) { return(false); } } return(true); }
// Close a user posted ad public bool AdminCloseAd(int Id, string closingOptions, HttpServerUtilityBase server) { // get existing try { ClassifiedAdAlias obj = new ClassifiedAdAlias(); switch (closingOptions) { case "None": ClassifiedManager.RemoveClassifiedAd(Id); break; case "Sold": obj = CurrentDbContext.ClassifiedDB.Include("Poster").Include("Category").Include("SubCategory").SingleOrDefault(x => x.Id == Id && x.Status != 1 && x.Status != 2); if (obj == null) { return(false); } obj.Status = 1; obj.ExpiryTimeStamp = DateTime.Now.AddDays(30); CurrentDbContext.SaveChanges(); goto default; case "Rented": obj = CurrentDbContext.ClassifiedDB.Include("Poster").Include("Category").Include("SubCategory").SingleOrDefault(x => x.Id == Id && x.Status != 1 && x.Status != 2); if (obj == null) { return(false); } obj.Status = 2; obj.ExpiryTimeStamp = DateTime.Now.AddDays(30); CurrentDbContext.SaveChanges(); goto default; default: LuceneSearch.ClearLuceneIndexRecord(obj.Id); LuceneSearch.AddUpdateLuceneIndex(obj); break; } return(true); } catch (Exception) { return(false); } }
public bool AdQueueRemoveAd(int Id) { return(ClassifiedManager.RemoveClassifiedAd(Id)); }