public ExecuteResult<PromotionInfoResponse> UpdatePromotion(UpdatePromotionRequest request) { if (request == null || request.PromotionId == null) { return new ExecuteResult<PromotionInfoResponse>(null) { StatusCode = StatusCode.ClientError, Message = "参数错误" }; } var entity = _promotionRepository.GetItem(request.PromotionId ?? 0); if (entity == null) { return new ExecuteResult<PromotionInfoResponse>(null) { StatusCode = StatusCode.ClientError, Message = "参数错误,没有找到指定promotion" }; } var promotionSourceType = request.AuthUser.UserLevel == (int)UserLevel.Daren ? RecommendSourceType.Daren : RecommendSourceType.StoreManager; // promotionSourceType == RecommendSourceType.Daren ? request.StoreId : request.AuthUser.Store_Id; var storeId = request.StoreId < 1 ? request.AuthUser.Store_Id : request.StoreId; var source = MappingManager.PromotionEntityMapping(request); source.CreatedDate = entity.CreatedDate; source.CreatedUser = entity.CreatedUser; source.Status = entity.Status; source.FavoriteCount = entity.FavoriteCount; source.InvolvedCount = entity.InvolvedCount; source.LikeCount = entity.LikeCount; source.ShareCount = entity.ShareCount; source.Store_Id = storeId ?? 0; source.RecommendSourceType = (int)promotionSourceType; MappingManager.PromotionEntityMapping(source, entity); _promotionRepository.Update(entity); //品牌关系 if (request.Brands == null || request.Brands.Length == 0) { _promotionBrandRelationRepository.Del(entity.Id); } else { _promotionBrandRelationRepository.Del(entity.Id); var b = request.BrandIds.Distinct().Where(v => v > 0).ToList(); var list = new List<PromotionBrandRelationEntity>(b.Count); foreach (var item in b) { list.Add(new PromotionBrandRelationEntity { Brand_Id = item, CreatedDate = DateTime.Now, Promotion_Id = entity.Id }); } _promotionBrandRelationRepository.BatchInsert(list); } return new ExecuteResult<PromotionInfoResponse>(MappingManager.PromotionResponseMapping(entity)); }
public ExecuteResult <PromotionInfoResponse> UpdatePromotion(UpdatePromotionRequest request) { if (request == null || request.PromotionId == null) { return(new ExecuteResult <PromotionInfoResponse>(null) { StatusCode = StatusCode.ClientError, Message = "参数错误" }); } var entity = _promotionRepository.GetItem(request.PromotionId ?? 0); if (entity == null) { return(new ExecuteResult <PromotionInfoResponse>(null) { StatusCode = StatusCode.ClientError, Message = "参数错误,没有找到指定promotion" }); } var promotionSourceType = request.AuthUser.UserLevel == (int)UserLevel.Daren ? RecommendSourceType.Daren : RecommendSourceType.StoreManager; // promotionSourceType == RecommendSourceType.Daren ? request.StoreId : request.AuthUser.Store_Id; var storeId = request.StoreId < 1 ? request.AuthUser.Store_Id : request.StoreId; var source = MappingManager.PromotionEntityMapping(request); source.CreatedDate = entity.CreatedDate; source.CreatedUser = entity.CreatedUser; source.Status = entity.Status; source.FavoriteCount = entity.FavoriteCount; source.InvolvedCount = entity.InvolvedCount; source.LikeCount = entity.LikeCount; source.ShareCount = entity.ShareCount; source.Store_Id = storeId ?? 0; source.RecommendSourceType = (int)promotionSourceType; MappingManager.PromotionEntityMapping(source, entity); _promotionRepository.Update(entity); //品牌关系 if (request.Brands == null || request.Brands.Length == 0) { _promotionBrandRelationRepository.Del(entity.Id); } else { _promotionBrandRelationRepository.Del(entity.Id); var b = request.BrandIds.Distinct().Where(v => v > 0).ToList(); var list = new List <PromotionBrandRelationEntity>(b.Count); foreach (var item in b) { list.Add(new PromotionBrandRelationEntity { Brand_Id = item, CreatedDate = DateTime.Now, Promotion_Id = entity.Id }); } _promotionBrandRelationRepository.BatchInsert(list); } return(new ExecuteResult <PromotionInfoResponse>(MappingManager.PromotionResponseMapping(entity))); }