public void Get() { try { var options = CreateNewContextOptions(); using (var db = new PersonalStoreContext(options)) { var repository = new PersonalStoreRepository(db); StoreTestHelper.PopulateDefaultPersonalStoreData(db); IEnumerable <StoreM> result = null; var user = db.Set <User>().First(it => it.UserName == "Andrew"); var filter = new UserStoreFilter <int> { UserId = user.Id, IsOnlyActive = false }; Assert.DoesNotThrow(() => result = repository.Get(filter)); Assert.True(result != null && result.Any() && result.Count() == 1); } } catch (Exception ex) { LogEventManager.Logger.Error(ex); throw; } }
public void AddStore() { try { var options = CreateNewContextOptions(); using (var db = new PersonalStoreContext(options)) { var repository = new PersonalStoreRepository(db); StoreTestHelper.PopulateDefaultPersonalStoreData(db); var user = db.Set <User>().First(it => it.UserName == "Andrew"); var item = GenerateModel(); var goods = db.Set <Good>().ToList().Select(it => new Tuple <Good, int>(it, 1)); Assert.DoesNotThrow(() => repository.AddStore(item, user, goods)); var filter = new UserStoreFilter <int> { UserId = user.Id, IsOnlyActive = false }; Assert.DoesNotThrow(() => item = repository.Get(filter).FirstOrDefault()); Assert.NotNull(item); } } catch (Exception ex) { LogEventManager.Logger.Error(ex); throw; } }
public IEnumerable <Server.Model.Store.Store> Get(UserStoreFilter <int> filter) { try { var query = from userPersonalStore in Db.Set <UserPersonalStore>() join store in Db.Set <Server.Model.Store.Store>() on userPersonalStore.StoreId equals store.Id where userPersonalStore.UserId == filter.UserId && (!filter.IsOnlyActive || (userPersonalStore.IsActive && store.IsActive)) select store; // var resultQuery = query.Where(it => !filter.IsOnlyActive || (it.IsActive && it.Store.IsActive)).Select(it => it.Store); query = filter.Sord.Equals("desc", StringComparison.OrdinalIgnoreCase) ? query.OrderByDescending(filter.Sidx) : query.OrderBy(filter.Sidx); return(query.Skip(filter.Rows * (filter.Page - 1)).Take(filter.Rows).Distinct()); } catch (Exception ex) { LogEventManager.Logger.Error(ex.Message, ex); throw; } }