Exemple #1
0
        public void AddGood(Server.Model.Store.Store store, Good good, User user, int count = 1)
        {
            try
            {
                var userStore = Db.Set <UserPersonalStore>().SingleOrDefault(it => it.StoreId == store.Id && it.UserId == user.Id);

#if net452
                using (var scope = new TransactionScope(
                           TransactionScopeOption.Required, new TransactionOptions
                {
                    IsolationLevel = IsolationLevel.ReadCommitted,
                    Timeout = TimeSpan.FromMinutes(2)
                }))
                {
#endif
                var storeExists = store.Id != 0 || _repository.Exists(store, e => e.Id == store.Id);
                if (!storeExists)
                {
                    _repository.Save(store);
                }
                _repository.AddGood(store, good, count);

                if (userStore == null)
                {
                    Db.Set <UserPersonalStore>().Add(new UserPersonalStore
                    {
                        IsActive = true,
                        StoreId  = store.Id,
                        UserId   = user.Id,
                    });
                }
                Db.SaveChanges();
#if net452
                scope.Complete();
            }
#endif
            }
            catch (Exception ex)
            {
                LogEventManager.Logger.Error(ex.Message, ex);
                throw;
            }
        }
Exemple #2
0
 public void AddGood()
 {
     try
     {
         var options = CreateNewContextOptions(); using (var db = new StoreContext(options))
         {
             var repository =
                 new StoreRepository(db);
             StoreTestHelper.PopulateDefaultStoreDataCtx(db);
             var item = db.Set <StoreM>().First();
             var good = StoreTestHelper.GenerateGood("Test", db.Sizes.First());
             Assert.DoesNotThrow(() => repository.AddGood(item, good));
         }
     }
     catch (Exception ex)
     {
         LogEventManager.Logger.Error(ex);
         throw;
     }
 }