コード例 #1
0
ファイル: UserService.cs プロジェクト: Yiyi-G/NetCoreTest
 public void FavoriteProj(long pid, bool isFavorite)
 {
     ExceptionHelper.ThrowIfTrue(pid <= 0, nameof(pid));
     using (var scope = new TransactionScope())
     {
         var entity = _UserFavoriteRepository.Entities.Where(p => p.uid == _Uid && p.pid == pid).FirstOrDefault();
         var now    = DateTime.Now;
         if (entity == null)
         {
             if (isFavorite)
             {
                 entity = _UserFavoriteRepository.Add(new Data.UserFavorite()
                 {
                     pid       = pid,
                     uid       = _Uid,
                     isEnabled = true,
                     Updated   = now
                 });
                 _FCRMAPIPushManager.CollectProj(_Uid, pid, 20, true);
             }
         }
         else
         {
             entity.isEnabled = isFavorite;
             entity.Updated   = now;
             if (isFavorite)
             {
                 _FCRMAPIPushManager.CollectProj(_Uid, pid, 0, true);
             }
             else
             {
                 _FCRMAPIPushManager.CancelCollectProj(_Uid, pid, 0, true);
             }
         }
         _UserFavoriteRepository.SaveChanges();
         scope.Complete();
     }
 }