示例#1
0
        /**
         * Purpose: Post method that takes a new item and saves it to the DB
         * Arguments:
         *      model - contains all the neccessary properties that are needed to put a new item up for sale
         * Return:
         *      redirects to the main view of yardsale products "YardSale/Index"
         */
        public async Task <IActionResult> AddNewItem(YardSaleNewItemViewModel model)
        {
            var          uploads = Path.Combine(_environment.WebRootPath, "images");
            YardSaleItem NewItem = new YardSaleItem
            {
                DatePosted      = DateTime.Now,
                ItemDescription = model.NewItem.ItemDescription,
                ItemName        = model.NewItem.ItemName,
                ItemPrice       = model.NewItem.ItemPrice,
                PostingUserId   = ActiveUser.Instance.User.UserId,
                ItemImage1      = model.NewItemImages[0].FileName,
                Category        = model.NewItem.Category,
            };

            NewItem.ItemImage2 = (model.NewItemImages.Count > 1) ? model.NewItemImages[1].FileName : null;
            NewItem.ItemImage3 = (model.NewItemImages.Count > 2) ? model.NewItemImages[2].FileName : null;
            NewItem.ItemImage4 = (model.NewItemImages.Count > 3) ? model.NewItemImages[3].FileName : null;

            context.YardSaleItem.Add(NewItem);
            foreach (var image in model.NewItemImages)
            {
                if (image != null && image.ContentType.Contains("image"))
                {
                    using (var fileStream = new FileStream(Path.Combine(uploads, image.FileName), FileMode.Create))
                    {
                        await image.CopyToAsync(fileStream);
                    }
                }
            }

            await context.SaveChangesAsync();

            return(RedirectToAction("Index", "YardSale"));
        }
示例#2
0
        /**
         * Purpose: Returns the main view for the form to create a new item for sale
         * Arguments:
         *      None
         * Return:
         *      returns the view to the form in order to create a new product
         */
        public IActionResult NewItem()
        {
            YardSaleNewItemViewModel model = new YardSaleNewItemViewModel(context);

            model.UserStyle = context.Style.Where(u => u.UserId == ActiveUser.Instance.User.UserId).SingleOrDefault();

            return(View(model));
        }