// GET: Items/Create public IActionResult Create() { List <string> mySellers = new List <string> (); foreach (var val in RepoSell.GetSellersByName().ToList()) { mySellers.Add(val.Name); } ViewData["Seller"] = new SelectList(mySellers); List <string> myTopics = new List <string> (); foreach (var val in RepoTopi.GetTopicByName().ToList()) { myTopics.Add(val.Topic); } ViewData["Topic"] = new SelectList(myTopics); List <string> myStores = new List <string> (); foreach (var val in RepoStore.GetStoresByName().ToList()) { myStores.Add(val.Name); } ViewData["Store"] = new SelectList(myStores); return(View()); }
public IActionResult Edit([FromRoute] int id, [Bind("ItemName,StoreName,SellerName,TopicName,ItemName,ItemDescription,ItemPrice")] ItemViewModel viewModel) { try { if (ModelState.IsValid) { Domain.Model.Item item = Repo.GetItemById(id); item.Name = viewModel.ItemName; item.Description = viewModel.ItemDescription; item.Price = viewModel.ItemPrice; item.StoreId = RepoStore.GetStoresByName(viewModel.StoreName).First(p => p.Name.ToLower() == viewModel.StoreName.ToLower()).Id; item.OrderId = viewModel.OrderId; item.SellerId = RepoSell.GetSellersByName(viewModel.SellerName).First(p => p.Name.ToLower() == viewModel.SellerName.ToLower()).Id; item.TopicId = RepoTopi.GetTopicByName(viewModel.TopicName).First(p => p.Topic.ToLower() == viewModel.TopicName.ToLower()).Id; Repo.UpdateItem(item); Repo.Save(); return(RedirectToAction(nameof(Index))); } return(View(viewModel)); } catch (Exception) { return(View(viewModel)); } }
public IActionResult Create([Bind("ItemName,StoreName,SellerName,TopicName,ItemName,ItemDescription,ItemPrice")] ItemViewModel viewModel) { try { if (ModelState.IsValid) { var myStore = RepoStore.GetStoresByName().First(p => p.Name.ToLower() == viewModel.StoreName.ToLower()).Id; var mySeller = RepoSell.GetSellersByName().First(p => p.Name.ToLower() == viewModel.SellerName.ToLower()).Id; var myTopic = RepoTopi.GetTopicByName().First(p => p.Topic.ToLower() == viewModel.TopicName.ToLower()).Id; var item = new Domain.Model.Item { Id = 0, Name = viewModel.ItemName, Description = viewModel.ItemDescription, Price = viewModel.ItemPrice, StoreId = myStore, OrderId = viewModel.OrderId, SellerId = mySeller, TopicId = myTopic }; Repo.AddItem(item); Repo.Save(); return(RedirectToAction(nameof(Index))); } return(View(viewModel)); } catch { return(View(viewModel)); } }
// GET: Items public ActionResult Index([FromQuery] string search = "") { List <Domain.Model.TopicOption> topics = RepoTopi.GetTopicByName(); List <TopicOptionViewModel> realTopics = new List <TopicOptionViewModel>(); foreach (var val in topics) { realTopics.Add(new TopicOptionViewModel { TopicOptionId = val.Id, TopicName = val.Topic }); } if (search != null) { return(View(realTopics.FindAll(p => p.TopicName.ToLower().Contains(search.ToLower())))); } return(View(realTopics)); }
// GET: Items/Edit/5 public IActionResult Edit(int id) { // we pass the current values into the Edit view // so that the input fields can be pre-populated instead of blank // (important for good UX) Domain.Model.Item item = Repo.GetItemById(id); var viewModel = new ItemViewModel { ItemId = item.Id, ItemName = item.Name, ItemDescription = item.Description, ItemPrice = item.Price, StoreName = RepoStore.GetStoreById(item.StoreId).Name, OrderId = item.OrderId, SellerName = RepoSell.GetSellerById(item.SellerId).Name, TopicName = RepoTopi.GetTopicById(item.TopicId).Topic }; List <string> mySellers = new List <string> (); foreach (var val in RepoSell.GetSellersByName().ToList()) { mySellers.Add(val.Name); } ViewData["Seller"] = new SelectList(mySellers); List <string> myTopics = new List <string> (); foreach (var val in RepoTopi.GetTopicByName().ToList()) { myTopics.Add(val.Topic); } ViewData["Topic"] = new SelectList(myTopics); List <string> myStores = new List <string> (); foreach (var val in RepoStore.GetStoresByName().ToList()) { myStores.Add(val.Name); } ViewData["Store"] = new SelectList(myStores); return(View(viewModel)); }