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;
     }
 }
Example #3
0
        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;
            }
        }