示例#1
0
        public ActionResult AddItem()
        {
            var model          = new ItemAddViewModel();
            var currenciesRepo = new CurrencyRepository();
            var categoriesRepo = new CategoryRepository();

            model.Currencies = new SelectList(currenciesRepo.GetAll(), "CurrencyName", "CurrencyName");
            model.Categories = new SelectList(categoriesRepo.GetAll(), "CategoryName", "CategoryName");
            model.Item       = new Item();
            return(View(model));
        }
示例#2
0
        public async Task <IActionResult> AddItem(ItemAddViewModel item)
        {
            var userName = User.Identity.Name;

            if (ModelState.IsValid)
            {
                item.UserName = userName;
                item.Status   = Status.Added;

                await _repository.AddItem(item);
            }


            return(View(item));
        }
示例#3
0
        public async Task <IActionResult> Add([FromBody] ItemAddViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            // confirm user exists
            var user = await _userManager.GetUserAsync(HttpContext.User);

            if (user == null)
            {
                return(BadRequest(Errors.AddErrorToModelState(
                                      "add_item_failure",
                                      "Unable to find a user for this item",
                                      ModelState)));
            }

            // confirm class exists
            var myClass = _db.Classes
                          .FirstOrDefault(x => x.UserId == user.Id && x.Id == model.ClassId);

            if (myClass == null)
            {
                return(NotFound(Errors.AddErrorToModelState(
                                    "add_item_failure",
                                    "Unable to find a class for this item",
                                    ModelState)));
            }

            // add
            var newRecord = new Item
            {
                Description = model.Description,
                IsCompleted = model.IsCompleted,
                DateDue     = model.DateDue,
                Earned      = model.Earned,
                Possible    = model.Possible,
                Weight      = model.Weight,
                Class       = myClass,
                ClassId     = myClass.Id
            };

            _db.Items.Add(newRecord);
            await _db.SaveChangesAsync();

            return(new OkObjectResult(newRecord.Id));
        }
示例#4
0
        public IActionResult AddItem()
        {
            if (User.Identity.Name != null)
            {
                var currency = _userRepository.UserCurrency(User.Identity.Name);
                ViewData["Currency"] = currency;
                ItemAddViewModel model = new ItemAddViewModel();
                model.Categories = _categoryRepository.GetAllCategoriesSelectedList();


                return(View(model));
            }


            return(View());
        }
示例#5
0
        public async Task <IActionResult> CreateItem(ItemAddViewModel model)
        {
            var entity = _mapper.Map <Item>(model);

            _itemRepository.CreateItem(entity);

            var result = await _itemRepository.SaveAsync();

            if (!result)
            {
                return(BadRequest());
            }

            var returnModel = _mapper.Map <ItemViewModel>(entity);

            return(CreatedAtRoute(nameof(GetItemById), new { itemId = returnModel.Id }, returnModel));
        }
示例#6
0
        public ActionResult Add(ItemAddViewModel model)
        {
            if (ModelState.IsValid)
            {
                var repo = new PirateItemRepository();

                try
                {
                    var savepath = Server.MapPath("~/Images");

                    string fileName  = Path.GetFileNameWithoutExtension(model.ImageUpload.FileName);
                    string extension = Path.GetExtension(model.ImageUpload.FileName);

                    var filePath = Path.Combine(savepath, fileName + extension);

                    int counter = 1;
                    while (System.IO.File.Exists(filePath))
                    {
                        filePath = Path.Combine(savepath, fileName + counter.ToString() + extension);
                        counter++;
                    }

                    model.ImageUpload.SaveAs(filePath);

                    model.Item.ItemPictureURL = Path.GetFileName(filePath);

                    repo.Insert(model.Item);

                    return(RedirectToAction("Inventory", "Admin"));
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
            else
            {
                var currenciesRepo = new CurrencyRepository();
                model.Currencies = new SelectList(currenciesRepo.GetAll(), "CurrencyName", "CurrencyName");
                var categoriesRepo = new CategoryRepository();
                model.Categories = new SelectList(categoriesRepo.GetAll(), "CategoryName", "CategoryName");
                return(View(model));
            }
        }
        public async Task AddItem(ItemAddViewModel item)
        {
            User user = _context.Users.FirstOrDefault(t => t.UserName == item.UserName);

            Item newItem = new Item()
            {
                Name                   = item.Name,
                Description            = item.Description,
                ImgUrl                 = await _fileService.UploadImageAsync(item.File),
                Price                  = item.Price,
                User                   = (user != null) ? user : null,
                IsService              = item.IsService,
                Category               = _context.Categories.FirstOrDefault(t => t.Id == item.CategoryId),
                IsMultiCountryPossible = item.IsMultiCountryPossible
            };

            _context.Items.Add(newItem);
            _context.SaveChanges();
        }