private CartIndexViewModel GetCartIndexModel(CartIndexSearchCriteria criteriaModel, string message = "")
        {
            User user = GetCurrentUser();

            CartSearchCriterias criteria = criteriaModel.ToSearchCriteria(user.Id);
            IQueryResult <Cart> results  = CartService.Obj.Find(criteria);

            var result = new CartIndexViewModel
            {
                Items               = results.Items.Select(x => x.ToViewModel()).ToList(),
                TotalCount          = results.TotalCount,
                PageSize            = PageSize,
                SearchCriteriaModel = criteriaModel,
                Message             = message
            };

            foreach (var cart in result.Items)
            {
                cart.AccessLevel = CartOwnerService.Obj.GetCartUser(cart.CartId.Value, user.Id).AccessLevel;
                cart.Items       = Domain.Service.User.ItemService.Obj.GetItemsByCard(cart.CartId.Value).Select(x => x.ToViewModel(ItemService.Obj.GetById(x.ItemId))).ToList();
                cart.Users       = CartOwnerService.Obj.GetUsersByCart(cart.CartId.Value, user.Id).Select(x => x.ToUserProfileViewModel(UserService.Obj.FindById(x.UserId), ImageService.Obj.FindByUserId(x.UserId))).ToList();
            }

            return(result);
        }
예제 #2
0
        public static CartSearchCriterias ToSearchCriteria(this CartIndexSearchCriteria model, int userId)
        {
            CartSearchCriterias criteria = CreateSearchCriteria <CartSearchCriterias>(model);

            criteria.UserId = userId;

            return(criteria);
        }
        public ActionResult Index(CartIndexSearchCriteria criteria)
        {
            CartIndexViewModel model = new CartIndexViewModel
            {
                PageSize   = PageSize,
                TotalCount = 0,
            };

            return(View(model));
        }
        public ActionResult ChangeStatus(int id, bool isActive, CartIndexSearchCriteria criteria)
        {
            Item entity = ItemService.Obj.GetById(id);

            if (isActive)
            {
                entity.Activate();
            }
            else
            {
                entity.Deactivate();
            }

            ItemService.Obj.Update(entity);

            return(Json(GetCartIndexModel(criteria, "Success")));
        }
        public ActionResult Search(CartIndexSearchCriteria criteria)
        {
            CartIndexViewModel model = GetCartIndexModel(criteria);

            return(Json(model, JsonRequestBehavior.AllowGet));
        }
        public ActionResult Delete(int id, CartIndexSearchCriteria criteria)
        {
            CartService.Obj.Delete(id);

            return(Json(GetCartIndexModel(criteria, "Success")));
        }