예제 #1
0
        public async Task <JsonResult> Filter(FilterModel filterOptions)
        {
            List <Item> items = new List <Item>();

            items = await _dataManager.FilterItems(filterOptions);

            List <ShowItemsVM> models = new List <ShowItemsVM>();

            foreach (var item in items.OrderBy(x => x.CreatedDate))
            {
                ShowItemsVM model = new ShowItemsVM();
                model.Category      = item.Category.CategoryName;
                model.City          = item.City.CityName;
                model.CreatedOn     = item.CreatedDate.ToString("MMMM dd, yyyy");
                model.Description   = item.Description;
                model.ImageLocation = item.ImagesLocation;
                model.IsLost        = item.IsLost.ToString();
                model.ItemId        = item.Id;
                model.Region        = _dataManager.RegionGetById(item.City.RegionId).Result.RegionName;
                model.RewardValue   = item.RewardValue.ToString();
                model.Title         = item.ItemName;
                model.UserId        = item.UserId;
                model.UserName      = item.User.FirstName + " " + item.User.LastName;
                model.Size          = "";

                models.Add(model);
            }
            return(Json(models, JsonRequestBehavior.AllowGet));
        }
예제 #2
0
        public async Task <ActionResult> ShowItem(Guid itemId)
        {
            var item = await _dataManager.ItemGetById(itemId);

            ShowItemsVM model = PopulateShowItemVM(item);

            return(View(model));
        }
예제 #3
0
        public async Task <IActionResult> Index(ShowItemsVM vm, string?search)
        {
            var items = (await _bll.Items.GetItemsForViewAsync(vm.CategoryId, search)).Select(e =>
                                                                                              new VMMapper <ItemView, ItemViewVM>().Map(e));

            vm.Items = items;
            vm.CategorySelectList = new SelectList(await _bll.Categories.GetAllAsync(), nameof(CategoryBLL.Id),
                                                   nameof(CategoryBLL.Description));

            return(View(vm));
        }
예제 #4
0
        public async Task <IActionResult> Index(ShowItemsVM vm, string?message)
        {
            if (message != null)
            {
                ModelState.AddModelError("message", message);
            }

            vm.Items = (await _bll.Items.GetItemsForViewAsync(vm.Category, vm.Search)).Select(e => _mapper.Map(e));
            var categories = _bll.Items.GetAllAsync().Result.Select(a => a.ItemCategory).Distinct().OrderBy(a => a.Substring(0, 1)).ToList();

            vm.CategorySelectList = new SelectList(categories);
            return(View(vm));
        }
예제 #5
0
        public async Task <JsonResult> GetItemGrid()
        {
            var userId = User.Identity.GetUserId();
            List <ShowItemsVM> models = new List <ShowItemsVM>();
            List <Item>        items  = await _dataManager.ItemsGetForCurrentUser(userId);

            foreach (var item in items)
            {
                ShowItemsVM model = new ShowItemsVM();
                model.Category      = item.Category.CategoryName;
                model.City          = item.City.CityName;
                model.CreatedOn     = item.CreatedDate.ToString("MMMM dd, yyyy");
                model.Description   = item.Description;
                model.ImageLocation = item.ImagesLocation;
                model.IsLost        = item.IsLost.ToString();
                model.ItemId        = item.Id;
                model.Region        = _dataManager.RegionGetById(item.City.RegionId).Result.RegionName;
                model.RewardValue   = item.RewardValue.ToString();
                switch (item.Size)
                {
                case 1:
                { model.Size = "Малък"; }
                break;

                case 2:
                { { model.Size = "Среден"; } }
                break;

                case 3:
                { { model.Size = "Голям"; } }
                break;

                default:
                { model.Size = "-"; }
                break;
                }
                model.Title    = item.ItemName;
                model.UserId   = item.UserId;
                model.UserName = item.User.FirstName + " " + item.User.LastName;
                models.Add(model);
            }

            return(Json(models, JsonRequestBehavior.AllowGet));
        }
예제 #6
0
        public async Task <JsonResult> HotItems()
        {
            List <ShowItemsVM> models = new List <ShowItemsVM>();
            Guid?cityId = null;

            if (User.Identity.IsAuthenticated)
            {
                var user = _dataManager.UserGetById(User.Identity.GetUserId()).Result;
                cityId = user.CityId.HasValue ? user.CityId : null;
            }

            List <Item> items = await _dataManager.HotItemsGet(cityId);

            if (items.Count < 2)
            {
                items = _dataManager.ItemsGetAll().Result.OrderBy(x => x.CreatedDate).Take(4).ToList();
            }
            else if (items.Count > 6)
            {
                items = items.OrderBy(x => x.CreatedDate).Take(4).ToList();
            }

            foreach (var item in items)
            {
                ShowItemsVM model = new ShowItemsVM();
                model.Category      = item.Category.CategoryName;
                model.City          = item.City.CityName;
                model.CreatedOn     = item.CreatedDate.ToString("MMMM dd, yyyy");
                model.Description   = item.Description;
                model.ImageLocation = item.ImagesLocation;
                model.IsLost        = item.IsLost.ToString();
                model.ItemId        = item.Id;
                model.Region        = _dataManager.RegionGetById(item.City.RegionId).Result.RegionName;
                model.RewardValue   = item.RewardValue.ToString();
                model.Title         = item.ItemName;
                model.UserId        = item.UserId;
                model.UserName      = item.User.FirstName + " " + item.User.LastName;
                model.Size          = "";

                models.Add(model);
            }
            return(Json(models, JsonRequestBehavior.AllowGet));
        }
예제 #7
0
        private ShowItemsVM PopulateShowItemVM(Item item)
        {
            ShowItemsVM model = new ShowItemsVM();

            model.Category      = item.Category.CategoryName;
            model.City          = item.City.CityName;
            model.CreatedOn     = item.CreatedDate.ToString("MMMM dd, yyyy");
            model.Description   = item.Description;
            model.ImageLocation = item.ImagesLocation;
            model.IsLost        = item.IsLost.ToString();
            model.ItemId        = item.Id;
            model.Region        = _dataManager.RegionGetById(item.City.RegionId).Result.RegionName;
            model.RewardValue   = item.RewardValue.ToString();
            switch (item.Size)
            {
            case 1:
            { model.Size = "Малък"; }
            break;

            case 2:
            { { model.Size = "Среден"; } }
            break;

            case 3:
            { { model.Size = "Голям"; } }
            break;

            default:
            { model.Size = "-"; }
            break;
            }
            model.Title    = item.ItemName;
            model.UserId   = item.UserId;
            model.UserName = item.User.FirstName + " " + item.User.LastName;
            return(model);
        }