public IActionResult Create(ItemCreateViewModel model)
        {
            if (ModelState.IsValid)
            {
                var item = new Item
                {
                    Description = model.Description,
                    Name        = model.Name,
                    Price       = model.Price,
                    Type        = model.Type,
                    OwnerID     = User.FindFirstValue(ClaimTypes.NameIdentifier)
                };

                if (model.DisplayPicture != null)
                {
                    using (var ms = new MemoryStream())
                    {
                        model.DisplayPicture.CopyTo(ms);
                        item.DisplayPicture = ms.ToArray();
                    }
                }

                _itemManager.CreateItem(item);

                return(RedirectToAction(nameof(Index)));
            }

            ViewData["OwnerID"] = User.FindFirstValue(ClaimTypes.NameIdentifier);
            return(View(model));
        }
        // GET: Items/Create
        public IActionResult Create()
        {
            ViewData["OwnerID"] = User.FindFirstValue(ClaimTypes.NameIdentifier);
            ItemCreateViewModel vm = new ItemCreateViewModel();

            return(View(vm));
        }
        /// <summary>
        /// Item management page for admin.
        /// </summary>
        public ActionResult ItemManagement()
        {
            //Get hold of subplatformID we received
            int subPlatformID = (int)RouteData.Values["SubPlatformID"];

            itemManager = new ItemManager();
            userManager = new UserManager();

            //Assembling the view
            ItemCreateViewModel vm = new ItemCreateViewModel()
            {
                User      = userManager.GetUser(User.Identity.GetUserId()),
                PageTitle = Resources.ItemManagement,
                Items     = Mapper.Map(itemManager.GetAllItems().Where(item => item.SubPlatform.SubPlatformId == subPlatformID), new List <ItemDTO>())
            };

            int count = itemManager.GetAllOrganisationsForSubplatform(subPlatformID).Count();

            vm.Organisations = itemManager.GetAllOrganisationsForSubplatform(subPlatformID).Select(org => new SelectListItem
            {
                Value = System.Convert.ToString(org.ItemId),
                Text  = org.Name,
            }).OrderBy(org => org.Text);
            return(View(vm));
        }
Example #4
0
        public IActionResult CreateItem(ItemCreateViewModel model)
        {
            if (ModelState.IsValid)
            {
                string uniqueFileName = ProcessUploadedFile(model);

                Item newItem = new Item
                {
                    Category           = model.Category,
                    Name               = model.Name,
                    shortDescription   = model.shortDescription,
                    LongDescription    = model.LongDescription,
                    AllergyInformation = model.AllergyInformation,
                    Price              = model.Price,
                    Discount           = model.Discount,
                    Size               = model.Size,
                    Quantity           = model.Quantity,
                    UnitsInOrder       = model.UnitsInOrder,
                    isItemOfTheWeek    = model.isItemOfTheWeek,
                    InStock            = model.InStock,
                    Customise          = model.Customise,
                    CustomisedType     = model.CustomisedType,
                    CustomisedOption   = model.CustomisedOption,
                    Discontinued       = model.Discontinued
                };

                _itemRepository.Add(newItem);
                return(RedirectToAction("Details", new { id = newItem.ItemId }));
            }
            return(View());
        }
        public void ToItemTest()
        {
            // Arrange
            var toMapToItem = new ItemCreateViewModel
            {
                ItemId       = 1,
                Name         = "coffee machine",
                Descrption   = "pretty good",
                ImageUrl     = "http://www.123.com",
                HoldLongDay  = 3,
                HoldLongHour = 1
            };

            // Act
            var item = toMapToItem.ToItem();

            // Assert
            Assert.Equal(1, item.ItemId);
            Assert.Equal("pretty good", item.Descrption);
            Assert.Equal("http://www.123.com", item.ImageUrl);
            Assert.Equal(3, item.HoldLongDay);
            Assert.Equal(null, item.Buyer);
            Assert.Equal(null, item.BuyerId);
            Assert.Equal(null, item.HoldTime);
            Assert.Equal(new TimeSpan(0, 1, 0, 0), item.HoldLongLessThanDay);
        }
Example #6
0
        public ActionResult AdminItemEdit(int ItemId, ItemCreateViewModel editItem)
        {
            try
            {
                Item tempitem = itemManager.EditItem(ItemId, editItem.Name, editItem.Type, editItem.SelectedOrganizationId, editItem.SelectedKeywords, editItem.StringKeywords);
                if (editItem.ProfileIds != null)
                {
                    itemManager.EditProfiles(editItem.ProfileIds, editItem.TwitterUrl);
                }
                else if (editItem.Type != "Thema")
                {
                    itemManager.AddProfileToItem(tempitem, editItem.TwitterUrl);
                }

                if (editItem.TwitterUrl == null && editItem.ProfileIds != null)
                {
                    itemManager.DeleteProfiles(editItem.ProfileIds);
                }
                return(RedirectToAction("AdminItemIndex"));
            }
            catch
            {
                return(View(editItem));
            }
        }
Example #7
0
        public void ItemsCrud_Create_Test()
        {
            // arrange
            List <Item>         items = new List <Item>();
            ItemCreateViewModel item  = new ItemCreateViewModel {
                Name = ITEM1_NAME, Value = 12, Points = 4
            };
            ItemCreateViewModel item2 = new ItemCreateViewModel {
                Name = ITEM2_NAME
            };
            List <Merchant> merchants = new List <Merchant>();

            merchants.Add(new Merchant {
                ID = 1, Name = MERCHANT
            });

            FakeUnitOfWork      fakeUnit = new FakeUnitOfWork(merchants, items);
            ItemsCrudController target   = new ItemsCrudController(fakeUnit);

            // act
            target.Create(item, RARE, MERCHANT, TYPE);
            target.Create(item2, RARE, MERCHANT, TYPE);

            // assert
            Assert.AreEqual(ITEM1_NAME, items[0].Name);
            Assert.AreEqual(ITEM2_NAME, items[1].Name);
            Assert.AreEqual(1, items[0].MerchantID);
        }
Example #8
0
        public async Task <IActionResult> CreateItemAsync([FromBody] ItemCreateViewModel item)
        {
            if (item == null)
            {
                return(BadRequest());
            }

            try
            {
                var itemModel = new ItemModel(Guid.NewGuid(), item.Name);
                var command   = new CreateItemCommand(itemModel, User.Identity.Name);
                var evt       = await commandHandler.HandleAsync(command);

                var getViewModel = new ItemViewModel
                {
                    ItemId    = itemModel.Id,
                    Name      = itemModel.Name,
                    Created   = evt.EventDate,
                    Updated   = evt.EventDate,
                    CreatedBy = evt.UserName,
                    UpdatedBy = evt.UserName
                };
                // Can't return Created with Location, because this service does not now where this item can be accessed :(
                return(Ok(getViewModel));
            }
            catch (ItemAlreadyExistsException e)
            {
                return(this.BadRequest(e.Message));
            }
        }
        public ActionResult Edit(int id)
        {
            ItemCreateViewModel vm = new ItemCreateViewModel();

            vm.Model = _itemService.Get(id);

            return(View("Create", GetCreateViewModel(vm)));
        }
        public ActionResult Create()
        {
            ItemCreateViewModel vm = new ItemCreateViewModel()
            {
                Model = new ItemDetailViewModel()
            };

            return(View(GetCreateViewModel(vm)));
        }
Example #11
0
        public static Item ToItem(this ItemCreateViewModel viewmodel)
        {
            if (viewmodel == null)
            {
                return(null);
            }

            return(MapperConfig.Factory.Map <ItemCreateViewModel, Item>(viewmodel));
        }
Example #12
0
        public ActionResult AdminItemCreate()
        {
            var model = new ItemCreateViewModel();
            var organizationSelect = itemManager.GetOrganizations().Select(x => new SelectListItem {
                Value = x.ItemId.ToString(), Text = x.Name
            });

            model.Organizations = new SelectList(organizationSelect, "Value", "Text");
            return(View(model));
        }
Example #13
0
        //
        // GET: /Item/Create

        public ActionResult Create()
        {
            ItemCreateViewModel viewModel = new ItemCreateViewModel();

            viewModel.Category      = new SelectList(db.Category, "CategoryId", "CategoryName", "SelectedCategoryId");
            viewModel.Brand         = new SelectList(db.Brand, "BrandId", "BrandName", "SelectedBrandId");
            viewModel.Address       = new SelectList(db.Address, "AddressId", "AddressLine1", "SelectedAddressId");
            viewModel.Costing       = new SelectList(db.Costing, "CostingId", "Name", "SelectedCostingId");
            viewModel.IdentityProof = db.IdentityProof;

            return(View(viewModel));
        }
Example #14
0
 public ActionResult AdminItemCreate(ItemCreateViewModel newItem)
 {
     try
     {
         itemManager.AddItem(newItem.Name, newItem.Type, newItem.SelectedOrganizationId, newItem.StringKeywords, newItem.TwitterUrl);
         return(RedirectToAction("AdminItemIndex"));
     }
     catch
     {
         return(View(newItem));
     }
 }
Example #15
0
        public IActionResult Create(string collectionId)
        {
            Collection collection = _collectionContext.Collections
                                    .Where(o => o.Id == collectionId)
                                    .FirstOrDefault();
            ItemCreateViewModel model = new ItemCreateViewModel
            {
                Collection = collection,
                Fields     = JsonConvert.DeserializeObject <Dictionary <string, string[]> >(collection.Fields)
            };

            return(View(model));
        }
Example #16
0
        public Tuple <Item, string> Handle(ItemCreateViewModel message)
        {
            var userId = HttpContext.Current.User.Identity.GetUserId <int>();
            var wallet = walletRepo.Get(x => x.UserId == userId);
            var item   = message.ToItem();

            item.WalletId = wallet.Id;

            itemRepo.Create(item);
            var result = unitOfWork.Commit();

            return(new Tuple <Item, string>(item, string.Empty));
        }
Example #17
0
        public ActionResult AdminItemEdit(int ItemId)
        {
            Item item  = itemManager.ReadItem(ItemId);
            var  model = new ItemCreateViewModel();
            var  organizaionsSelect = itemManager.GetOrganizations().Select(x => new SelectListItem {
                Value = x.ItemId.ToString(), Text = x.Name
            });

            model.Organizations = new SelectList(organizaionsSelect, "Value", "Text");
            model.ItemId        = item.ItemId;
            model.Name          = item.Name;
            model.ProfileIds    = new List <int>();

            if (item.GetType().ToString().Contains("Person"))
            {
                if (((Person)item).Organization != null)
                {
                    model.SelectedOrganizationId = ((Person)item).Organization.ItemId;
                }
                foreach (var profile in itemManager.GetProfiles(item))
                {
                    model.ProfileIds.Add(profile.Id);
                    model.TwitterUrl = profile.Url;
                }
                model.Type = "Persoon";
            }
            else if (item.GetType().ToString().Contains("Organization"))
            {
                foreach (var profile in itemManager.GetProfiles(item))
                {
                    model.ProfileIds.Add(profile.Id);
                    model.TwitterUrl = profile.Url;
                }
                model.Type = "Organisatie";
            }
            else if (item.GetType().ToString().Contains("Theme"))
            {
                model.ListKeywords = new List <SelectListItem>()
                {
                    new SelectListItem {
                        Value = "", Text = ""
                    }
                };
                model.ListKeywords.AddRange((((Theme)item).Keywords).Select(x => new SelectListItem {
                    Value = x.Id.ToString(), Text = x.Value
                }).ToList());
                model.Type = "Thema";
            }
            return(View(model));
        }
Example #18
0
        public ActionResult Create(
            [Bind(Include = "ItemId,Name,Descrption,HoldLongDay,HoldLongHour,ImageUrl")] ItemCreateViewModel
            itemCreateViewModel)
        {
            var item = new Item();

            if (ModelState.IsValid)
            {
                item = itemCreateViewModel.ToItem();
                _repository.AddItemToUser(item, User.Identity.GetUserId());
                return(RedirectToAction("Index"));
            }
            ViewBag.ItemId = _repository.GetItemIdAndNameSelectListWithItemId(item.ItemId);
            return(View(item));
        }
Example #19
0
        public async Task <ActionResult> CreateItem(ItemCreateViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(Json(new { code = 0, data = ErrorModels }, JsonRequestBehavior.DenyGet));
            }

            var tuple = await mediator.Send(model);

            if (tuple.Item1 == null || tuple.Item1.Id == 0)
            {
                return(Json(new { code = 1, msg = tuple.Item2 }, JsonRequestBehavior.DenyGet));
            }

            return(Json(new { code = 1, data = tuple.Item1.ToItemIndex() }, JsonRequestBehavior.DenyGet));
        }
Example #20
0
        private string ProcessUploadedFile(ItemCreateViewModel model)
        {
            string uniqueFileName = null;

            if (model.Photo != null)
            {
                string uploadsFolder = Path.Combine(hostingEnvironment.WebRootPath, "images");
                uniqueFileName = Guid.NewGuid().ToString() + "_" + model.Photo.FileName;
                string filePath = Path.Combine(uploadsFolder, uniqueFileName);
                using (var fileStream = new FileStream(filePath, FileMode.Create))
                {
                    model.Photo.CopyTo(fileStream);
                }
            }
            return(uniqueFileName);
        }
Example #21
0
        public async Task <ActionResult> Create([Bind(Include = "Name,Description,SerialNumber,EmployeeID")] ItemCreateViewModel createdItem)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    IItem item = (Mapper.Map <Item>(createdItem));
                    await Service.CreateAsync(item);

                    return(RedirectToAction("Index"));
                }
            }
            catch (DataException)
            {
                ModelState.AddModelError("", "Unable to save changes. Try again and if the problem persists see your system administrator.");
            }
            return(View(createdItem));
        }
Example #22
0
 public ActionResult Add(ItemCreateViewModel Data)
 {
     if (Data.ItemImage != null)
     {
         string filename = Path.GetFileName(Data.ItemImage.FileName);
         string Url      = Path.Combine(Server.MapPath("~/Upload/"), filename);
         Data.ItemImage.SaveAs(Url);
         Data.NewData.Image = filename;
         //使用Service來新增一筆商品資料
         itemService.Insert(Data.NewData);
         return(RedirectToAction("Index"));
     }
     else
     {
         ModelState.AddModelError("ItemImage", "請選擇上傳檔案");
         return(View(Data));
     }
 }
Example #23
0
        public IActionResult Create(ItemCreateViewModel model)
        {
            if (ModelState.IsValid)
            {
                string uniqueFileName = ProcessUploadedFile(model);
                Item   newItem        = new Item
                {
                    Name      = model.Name,
                    Price     = model.Price,
                    Category  = model.Category,
                    PhotoPath = uniqueFileName
                };

                _itemRepository.Add(newItem);
                return(RedirectToAction("details", new { id = newItem.Id }));
            }
            return(View());
        }
 public ActionResult Create(ItemCreateViewModel viewModel)
 {
     if (ModelState.IsValid)
     {
         ServiceResult result = _itemService.Add(viewModel.Model);
         if (result.Status)
         {
             AddSuccessCreatedToastMessage();
             return(RedirectToAction("Index"));
         }
         else
         {
             AddServiceErrorToastMessage(result);
             return(View(GetCreateViewModel(viewModel)));
         }
     }
     return(View(GetCreateViewModel(viewModel)));
 }
Example #25
0
        public async Task <IActionResult> Create(ItemCreateViewModel model)
        {
            if (ModelState.IsValid)
            {
                var item = new Item
                {
                    Name        = model.Name,
                    Description = model.Description
                };

                await _repository.Item.AddAsync(item);

                await _repository.SaveAsync();

                return(RedirectToAction("Index"));
            }

            return(View());
        }
        public IActionResult Add(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }
            var product = _context.Products
                          .Include(p => p.ProductPrices).AsNoTracking().FirstOrDefault(p => p.ID == id);

            if (product == null)
            {
                return(NotFound());
            }
            var order = SessionHelper
                        .GetObjectFormJson <OrderCreateViewModel>(HttpContext.Session, "order");
            int index = isExist(id);

            if (index != -1)
            {
                if (order.DetailOrders[index].SoLuongBan < product.SoLuong)
                {
                    order.DetailOrders[index].SoLuongBan++;
                }
            }
            else
            {
                if (product.SoLuong > 0)
                {
                    var item = new ItemCreateViewModel
                    {
                        ProductID  = product.ID,
                        ProductTen = product.Ten,
                        Gia        = product.ProductPrices
                                     .FirstOrDefault(pp => pp.TGKT == DateTime.Parse("9999-1-1")).Gia,
                        SoLuongBan = 1
                    };
                    order.DetailOrders.Add(item);
                }
            }
            SessionHelper.SetObjectAsJson(HttpContext.Session, "order", order);
            return(PartialView("_CartAjax", order));
        }
Example #27
0
        public IHttpActionResult CreateItem(ItemCreateViewModel item)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }


            User user = repo2.GetUserByUsername(item.Username);

            if (user == null)
            {
                return(BadRequest("Invalid user provided"));
            }

            Category cat = repo3.GetCategoryByName(item.CategoryName);

            if (cat == null)
            {
                return(BadRequest("Category invalid"));
            }

            Item itemCreate = new Item();

            itemCreate.CategoryId  = cat.CategoryId;
            itemCreate.Name        = item.Name;
            itemCreate.Description = item.Description;
            itemCreate.Amount      = item.Amount;
            itemCreate.UserId      = user.UserId;

            if (repo.CreateItem(itemCreate))
            {
                return(Ok("Item has been successfully created!"));
            }

            return(BadRequest("An error has occured"));
        }
        public ActionResult Create([Bind(Include = "Name,Value,Points")] ItemCreateViewModel itemCvm, string rareness, string aMerchant, string type)
        {
            if (ModelState.IsValid)
            {
                Item item = new Item
                {
                    Name   = itemCvm.Name,
                    Rarity = rareness,
                    Type   = type,
                    Value  = itemCvm.Value,
                    Points = itemCvm.Points,
                };
                var merchant = (from m in unit.MerchantRepo.Get()
                                where m.Name == aMerchant
                                select m).FirstOrDefault <Merchant>();
                item.MerchantID = merchant.ID;

                unit.ItemRepo.Insert(item);
                unit.Save();
                return(RedirectToAction("Index"));
            }

            return(View(itemCvm));
        }
    // all related data downloaded from db, so all rendered correctly
    public async Task <IActionResult> OnGetAsync()
    {
        ItemModel = await _itemService.GetCreateViewModel();

        return(Page());
    }
 private ItemCreateViewModel GetCreateViewModel(ItemCreateViewModel currModel)
 {
     currModel.CategorySelectList = _categoryService.GetSelectCategoryList();
     return(currModel);
 }