public bool CheckPromotionUnique(PromotionDataModel promotionDataModel) { var result = _dbContext.Promotions.AsNoTracking().FirstOrDefault(c => c.PromotionId != promotionDataModel.PromotionId && c.UrlName == promotionDataModel.UrlName) == null; return(result); }
public PromotionDataModel CreatePromotion(PromotionDataModel promotionDataModel) { var result = _dbContext.Promotions.Add(promotionDataModel).Entity; _dbContext.SaveChanges(); return(result); }
private void DeleteImages(PromotionDataModel promotionDataModel, ICollection <PromotionImage> promotionImages) { var promotionImageForDeleteCollection = promotionDataModel.PromotionImages.Where(db => promotionImages.All(i => i.ImageId != db.ImageId)).ToList(); foreach (var countryImageForDelete in promotionImageForDeleteCollection) { promotionDataModel.PromotionImages.Remove(countryImageForDelete); } }
private void AddImages(PromotionDataModel promotionDataModel, ICollection <PromotionImage> promotionImages) { var newImageCollection = promotionImages .Where(i => promotionDataModel.PromotionImages .All(db => db.ImageId != i.ImageId)) .ToList(); foreach (var newImage in newImageCollection) { promotionDataModel.PromotionImages.Add(newImage); } }
public void DeletePromotion(PromotionDataModel promotionDataModel) { var promotion = _dbContext.Promotions .Include(p => p.PromotionImages) .FirstOrDefault(p => p.PromotionId == promotionDataModel.PromotionId); if (promotion != null) { RemovePromotionImages(promotion); _dbContext.Promotions.Remove(promotion); _dbContext.SaveChanges(); } }
public void UpdatePromotion(PromotionDataModel promotionDataModel) { var promotionImages = promotionDataModel.PromotionImages; promotionDataModel.PromotionImages = new HashSet <PromotionImage>(); var entry = _dbContext.Entry(promotionDataModel); entry.State = EntityState.Modified; entry.Collection(c => c.PromotionImages).Load(); UpdateImages(promotionDataModel, promotionImages); _dbContext.SaveChanges(); }
private void RemovePromotionImages(PromotionDataModel promotionDataModel) { var promotionImageCollection = promotionDataModel.PromotionImages?.ToList(); if (promotionImageCollection != null && promotionImageCollection.Any()) { foreach (var promotionImage in promotionImageCollection) { var image = promotionImage.Image; if (image != null) { _dbContext.Images.Remove(image); } } } }
private void UpdateImages(PromotionDataModel promotionDataModel, ICollection <PromotionImage> promotionImages) { AddImages(promotionDataModel, promotionImages); DeleteImages(promotionDataModel, promotionImages); }