예제 #1
0
        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));
            }
        }
예제 #2
0
        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));
            }
        }
예제 #3
0
        public void UpdateItem(Domain.Model.Item inputItem)
        {
            _logger.LogInformation($"Updating item with ID {inputItem.Id}");
            Context.Item currentEntity = _dbContext.Items.Find(inputItem.Id);
            Context.Item newEntity     = Mapper.UnMapItem(inputItem);

            _dbContext.Entry(currentEntity).CurrentValues.SetValues(newEntity);
        }
예제 #4
0
        public void AddItem(Domain.Model.Item inputItem)
        {
            if (inputItem.Id != 0)
            {
                _logger.LogWarning($"Item to be added has an ID ({inputItem.Id}) already: ignoring.");
            }

            _logger.LogInformation("Adding item");

            Context.Item entity = Mapper.UnMapItem(inputItem);
            entity.ItemId = 0;
            _dbContext.Add(entity);
        }
예제 #5
0
 public static Context.Item UnMapItem(Domain.Model.Item item)
 {
     return(new Context.Item
     {
         ItemId = item.Id,
         StoreId = item.StoreId,
         OrderId = item.OrderId,
         SellerId = item.SellerId,
         TopicId = item.TopicId,
         ItemName = item.Name,
         ItemDescription = item.Description,
         ItemPrice = item.Price,
     });
 }
예제 #6
0
        // GET: Items/Delete/5
        public IActionResult Delete(int id)
        {
            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
            };

            return(View(viewModel));
        }
예제 #7
0
        // 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));
        }