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; } }
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; } }