// 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.Review review = RepoRev.GetReviewById(id);
            var viewModel = new ReviewViewModel
            {
                ReviewId   = review.Id,
                UserName   = RepoPers.GetPersonById(review.PersonId).Username,
                Password   = RepoPers.GetPersonById(review.PersonId).Password,
                SellerName = RepoSell.GetSellerById(review.SellerId).Name,
                Score      = review.Score,
                Comment    = review.Comment
            };
            List <string> mySellers = new List <string> ();

            foreach (var val in RepoSell.GetSellersByName().ToList())
            {
                mySellers.Add(val.Name);
            }
            ViewData["SellerName"] = new SelectList(mySellers);
            List <string> myPeople = new List <string> ();

            foreach (var val in RepoPers.GetPeopleByName().ToList())
            {
                myPeople.Add(val.Username);
            }
            ViewData["UserName"] = new SelectList(myPeople);
            return(View(viewModel));
        }
示例#2
0
        public ActionResult Details(int id)
        {
            Domain.Model.Order order = RepoOrd.GetOrderById(id);
            var viewModel            = new OrderViewModel
            {
                OrderId         = order.Id,
                SortMethod      = "Default",
                PersonName      = order.Username,
                StoreName       = RepoStore.GetStoreById(RepoPers.GetPersonById(order.UserId).StoreId).Name,
                OrderDate       = order.Date,
                TotalOrderPrice = order.Price,
                Items           = order.Items.Select(y => new ItemViewModel
                {
                    ItemId          = y.Id,
                    ItemName        = y.Name,
                    ItemDescription = y.Description,
                    ItemPrice       = y.Price,
                    StoreName       = RepoStore.GetStoreById(y.StoreId).Name,
                    OrderId         = y.OrderId,
                    SellerName      = RepoSell.GetSellerById(y.SellerId).Name,
                    TopicName       = RepoTopi.GetTopicById(y.TopicId).Topic
                }).ToList()
            };
            List <string> mySorters = new List <string> {
                "Default", "Old to New", "New to Old", "Low Price to High Price", "High Price to Low Price"
            };

            ViewData["Sorter"] = new SelectList(mySorters);
            return(View(viewModel));
        }
        public IActionResult Create([Bind("SellerName,Items,AverageReview")] SellerViewModel viewModel)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var seller = new Domain.Model.Seller
                    {
                        Id    = viewModel.SellerId,
                        Name  = viewModel.SellerName,
                        Items = RepoItem.GetItemsBySellerName(viewModel.SellerName)
                                .FindAll(p => p.SellerId == (RepoSell.GetSellersByName(viewModel.SellerName)
                                                             .First(p => p.Name == viewModel.SellerName).Id)),
                        Reviews = RepoRev.GetReviewBySellerName(viewModel.SellerName)
                                  .FindAll(p => p.SellerId == (RepoSell.GetSellersByName(viewModel.SellerName)
                                                               .First(p => p.Name == viewModel.SellerName).Id))
                    };

                    RepoSell.AddSeller(seller);
                    RepoSell.Save();

                    return(RedirectToAction(nameof(Index)));
                }
                return(View(viewModel));
            }
            catch
            {
                return(View(viewModel));
            }
        }
示例#4
0
 public ActionResult Order([FromRoute] int id, [Bind("LogInViewModel,Items,selectedItems")] ItemAnLogInViewModel viewModel)
 {
     try
     {
         if (ModelState.IsValid)
         {
             viewModel = (ItemAnLogInViewModel )TempData["Login"];
             var myOldItem = RepoItem.GetItemById(id);
             var myNewItem = new ItemViewModel
             {
                 ItemId          = myOldItem.Id,
                 ItemName        = myOldItem.Name,
                 ItemDescription = myOldItem.Description,
                 ItemPrice       = myOldItem.Price,
                 StoreName       = RepoStore.GetStoreById(myOldItem.StoreId).Name,
                 OrderId         = myOldItem.OrderId,
                 SellerName      = RepoSell.GetSellerById(myOldItem.SellerId).Name,
                 TopicName       = RepoTopi.GetTopicById(myOldItem.TopicId).Topic
             };
             viewModel.selectedItems.Add(myNewItem);
             viewModel.Items.Remove(viewModel.Items.Find(p => p.ItemId == myNewItem.ItemId));
         }
         return(View(viewModel));
     }
     catch
     {
         return(View(viewModel));
     }
 }
        public IActionResult Edit([FromRoute] int id, [Bind("SellerName,Items,AverageReview")] SellerViewModel viewModel)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    Domain.Model.Seller seller = RepoSell.GetSellerById(id);
                    seller.Name  = viewModel.SellerName;
                    seller.Items = RepoItem.GetItemsBySellerName(viewModel.SellerName)
                                   .FindAll(p => p.SellerId == (RepoSell.GetSellersByName(viewModel.SellerName)
                                                                .First(p => p.Name == viewModel.SellerName).Id));
                    seller.Reviews = RepoRev.GetReviewBySellerName(viewModel.SellerName)
                                     .FindAll(p => p.SellerId == (RepoSell.GetSellersByName(viewModel.SellerName)
                                                                  .First(p => p.Name == viewModel.SellerName).Id));
                    RepoSell.UpdateSeller(seller);
                    RepoSell.Save();

                    return(RedirectToAction(nameof(Index)));
                }
                return(View(viewModel));
            }
            catch (Exception)
            {
                return(View(viewModel));
            }
        }
        // GET: Items/Delete/5
        public IActionResult Delete(int id)
        {
            Domain.Model.Seller seller = RepoSell.GetSellerById(id);
            var viewModel = new SellerViewModel
            {
                SellerId      = seller.Id,
                SellerName    = seller.Name,
                Items         = seller.Items.Count,
                AverageReview = seller.Rating
            };

            return(View(viewModel));
        }
        // GET: Items/Delete/5
        public IActionResult Delete(int id)
        {
            Domain.Model.Review review = RepoRev.GetReviewById(id);
            var viewModel = new ReviewViewModel
            {
                ReviewId   = review.Id,
                UserName   = RepoPers.GetPersonById(review.PersonId).Username,
                Password   = RepoPers.GetPersonById(review.PersonId).Password,
                SellerName = RepoSell.GetSellerById(review.SellerId).Name,
                Score      = review.Score,
                Comment    = review.Comment
            };

            return(View(viewModel));
        }
        public ActionResult Delete(int id, [BindNever] IFormCollection collection)
        {
            try
            {
                RepoRev.DeleteReviewBySellerId(id);
                RepoItem.DeleteItemBySellerId(id);
                RepoSell.DeleteSellerById(id);
                RepoSell.Save();

                return(RedirectToAction(nameof(Index)));
            }
            catch
            {
                return(View());
            }
        }
        // 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.Seller seller = RepoSell.GetSellerById(id);
            var viewModel = new SellerViewModel
            {
                SellerId      = seller.Id,
                SellerName    = seller.Name,
                Items         = seller.Items.Count,
                AverageReview = seller.Rating
            };

            return(View(viewModel));
        }
        // GET: Items/Create
        public IActionResult Create()
        {
            List <string> myPeople = new List <string> ();

            foreach (var val in RepoPers.GetPeopleByName().ToList())
            {
                myPeople.Add(val.Username);
            }
            ViewData["UserName"] = new SelectList(myPeople);
            List <string> mySellers = new List <string> ();

            foreach (var val in RepoSell.GetSellersByName().ToList())
            {
                mySellers.Add(val.Name);
            }
            ViewData["SellerName"] = new SelectList(mySellers);
            return(View());
        }
        public IActionResult Create([Bind("UserName,Password,SellerName,Score,Comment")] ReviewViewModel viewModel)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    if (viewModel.Password != RepoPers.GetPeopleByName(viewModel.UserName).First(p => p.Username.ToLower() == viewModel.UserName.ToLower()).Password)
                    {
                        return(View(viewModel));
                    }
                    var review = new Domain.Model.Review
                    {
                        Id       = viewModel.ReviewId,
                        Comment  = viewModel.Comment,
                        Score    = viewModel.Score,
                        PersonId = RepoPers.GetPeopleByName(viewModel.UserName).First(p => p.Username.ToLower() == viewModel.UserName.ToLower()).Id,
                        SellerId = RepoSell.GetSellersByName(viewModel.SellerName).First(p => p.Name.ToLower() == viewModel.SellerName.ToLower()).Id
                    };
                    List <string> mySellers = new List <string> ();
                    foreach (var val in RepoSell.GetSellersByName().ToList())
                    {
                        mySellers.Add(val.Name);
                    }
                    ViewData["SellerName"] = new SelectList(mySellers);
                    List <string> myPeople = new List <string> ();
                    foreach (var val in RepoPers.GetPeopleByName().ToList())
                    {
                        myPeople.Add(val.Username);
                    }
                    ViewData["UserName"] = new SelectList(myPeople);

                    RepoRev.AddReview(review);
                    RepoRev.Save();

                    return(RedirectToAction(nameof(Index)));
                }
                return(View(viewModel));
            }
            catch
            {
                return(View(viewModel));
            }
        }
        // GET: Items
        public ActionResult Index([FromQuery] string search = "")
        {
            List <Domain.Model.Seller> sellers     = RepoSell.GetSellersByName();
            List <SellerViewModel>     realSellers = new List <SellerViewModel>();

            foreach (var val in sellers)
            {
                realSellers.Add(new SellerViewModel
                {
                    SellerId      = val.Id,
                    SellerName    = val.Name,
                    Items         = val.Items.Count,
                    AverageReview = val.Rating
                });
            }
            if (search != null)
            {
                return(View(realSellers.FindAll(p => p.SellerName.ToLower().Contains(search.ToLower()))));
            }
            return(View(realSellers));
        }
        // GET: Items
        public ActionResult Index([FromQuery] string search = "")
        {
            List <Domain.Model.Review> reviews     = RepoRev.GetReviewByUserName();
            List <ReviewViewModel>     realReviews = new List <ReviewViewModel>();

            foreach (var val in reviews)
            {
                realReviews.Add(new ReviewViewModel
                {
                    ReviewId   = val.Id,
                    UserName   = RepoPers.GetPersonById(val.PersonId).Username,
                    Password   = RepoPers.GetPersonById(val.PersonId).Password,
                    SellerName = RepoSell.GetSellerById(val.SellerId).Name,
                    Score      = val.Score,
                    Comment    = val.Comment
                });
            }
            if (search != null)
            {
                return(View(realReviews.FindAll(p => p.UserName.ToLower().Contains(search.ToLower()) || p.SellerName.ToLower().Contains(search.ToLower()) || RepoRev.GetReviewById(p.ReviewId).Comment.ToLower().Contains(search.ToLower()))));
            }
            return(View(realReviews));
        }
        public IActionResult Edit([FromRoute] int id, [Bind("UserName,SellerName,Score,Comment,Password")] ReviewViewModel viewModel)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    Domain.Model.Review review = RepoRev.GetReviewById(id);
                    review.Comment  = viewModel.Comment;
                    review.Score    = viewModel.Score;
                    review.PersonId = RepoPers.GetPeopleByName(viewModel.UserName).First(p => p.Username.ToLower() == viewModel.UserName.ToLower()).Id;
                    review.SellerId = RepoSell.GetSellersByName(viewModel.SellerName).First(p => p.Name.ToLower() == viewModel.SellerName.ToLower()).Id;
                    RepoRev.UpdateReview(review);
                    RepoRev.Save();

                    return(RedirectToAction(nameof(Index)));
                }
                return(View(viewModel));
            }
            catch (Exception)
            {
                return(View(viewModel));
            }
        }