Exemple #1
0
        public WishlistViewModel buildWishlistViewModel(Student student)
        {
            if (student == null)
            {
                return(null);
            }

            List <CourseContainerViewModel> ccvms   = new List <CourseContainerViewModel>();
            ISet <CourseActions>            actions = new HashSet <CourseActions> {
                CourseActions.ViewDetail, CourseActions.RegisterCourse, CourseActions.WishlistPriorityUp, CourseActions.WishlistPriorityDown, CourseActions.RemoveFromWishlist
            };
            List <Wishlist> wishlist = _wishlistService.getStudentWishlist(student.studentId);

            foreach (Wishlist entry in wishlist)
            {
                Course course = _courseService.getCourse(entry.courseId);
                var    ccvm   = buildCourseContainerViewModel(course, actions, student: student);
                ccvms.Add(ccvm);
            }

            WishlistViewModel vmodel = new WishlistViewModel {
                thisStudent = student, courses = ccvms
            };

            return(vmodel);
        }
Exemple #2
0
        public async Task <IActionResult> Wishlist()
        {
            var userId = Convert.ToInt32(_userManager.GetUserId(User));

            var client  = _clientFactory.CreateClient();
            var request = new HttpRequestMessage(HttpMethod.Get, $"{UserAPIRoot}GetWishlist/{userId}");

            request.Headers.Add("Accept", "application/json");
            request.Headers.Add("User-Agent", "DotNetflix.Web");

            var response = await client.SendAsync(request);

            if (response.IsSuccessStatusCode)
            {
                using var responseStream = await response.Content.ReadAsStreamAsync();

                var movies = await JsonSerializer.DeserializeAsync <IEnumerable <Wishlist> >(responseStream,
                                                                                             new JsonSerializerOptions()
                {
                    PropertyNameCaseInsensitive = true
                });

                var wishlistVM = new WishlistViewModel()
                {
                    WishlistMovies = movies
                };

                //Redirect to personal wishlist
                return(RedirectToAction("MyAccount", "Account", new { view = "Wishlist" }));
            }
            return(View());
        }
        public ActionResult DeleteWishlistItems([FromBody] WishlistViewModel _wishlistItem)
        {
            WishlistViewModelValidator validator = new WishlistViewModelValidator();
            ValidationResult           results   = validator.Validate(_wishlistItem);

            if (!results.IsValid)
            {
                foreach (var failure in results.Errors)
                {
                    Errors.AddErrorToModelState(failure.PropertyName, failure.ErrorMessage, ModelState);
                }
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var userId       = _caller.Claims.Single(c => c.Type == "id");
            var wishlistItem = (from item in _context.WishlistProduct
                                where item.Wishlist.UserId == int.Parse(userId.Value) && item.ProductId == _wishlistItem.ProductId
                                select item).ToArray();

            if (wishlistItem.Length == 0)
            {
                return(NotFound());
            }

            _context.WishlistProduct.Remove(wishlistItem[0]);
            _context.SaveChanges();

            return(Ok());
        }
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            SetupLayout();

            Wishlist selectedWishlist = e.Parameter as Wishlist;

            selectedWishlist = Runtime.AppController.SetupSelectedWishlist(selectedWishlist);

            //Dont show addbuyer button when wishlist is open
            if (selectedWishlist.IsOpen)
            {
                ButtonAddBuyer.Visibility = Visibility.Collapsed;
            }

            //dont show buttons at startup until wishlist selected
            if (selectedWishlist != null)
            {
                WishlistViewModel = new WishlistViewModel(selectedWishlist);
                DataContext       = WishlistViewModel;
                if (selectedWishlist.Owner.UserId != Runtime.LoggedInUser.UserId)
                {
                    ButtonAdd.Visibility      = Visibility.Collapsed;
                    ButtonAddBuyer.Visibility = Visibility.Collapsed;
                    ButtonRemove.Visibility   = Visibility.Collapsed;
                }
            }
            else
            {
                throw new ArgumentNullException("Always pass a wishlist to this page");
            }
        }
        public async Task <IActionResult> AddToWishlist(int jobId)
        {
            if (!User.Identity.IsAuthenticated)
            {
                return(RedirectToAction("Login", "Account"));
            }

            var name = User.Identity.Name;
            var user = await _userService.GetUserByName(name);

            var job = _jobService.GetJobDetail(jobId);

            if (job != null)
            {
                var wishlistJob = new WishlistViewModel()
                {
                    AppUser = user,
                    JobId   = jobId,
                    UserId  = user.Id,
                    Job     = job,
                };

                try
                {
                    _wishlistService.Add(wishlistJob);
                    _wishlistService.Save();
                    return(new OkObjectResult(true));
                }
                catch (Exception)
                {
                    return(new OkObjectResult(false));
                }
            }
            return(new OkObjectResult(false));
        }
Exemple #6
0
 public static void UpdateWishlist(this Wishlist wishlist, WishlistViewModel wishlistViewModel)
 {
     wishlist.ID          = wishlistViewModel.ID;
     wishlist.UpdatedDate = wishlistViewModel.UpdatedDate;
     wishlist.UserId      = wishlistViewModel.UserId;
     wishlist.ProductId   = wishlistViewModel.ProductId;
 }
        private async Task <WishlistViewModel> MergeWishlistIfLoggedIn(WishlistViewModel wishlistViewModel)
        {
            if (_signInManager.IsSignedIn(User) && User.IsInRole(nameof(Customer)))
            {
                var user = await _userManager.GetUserAsync(User);

                var customerID = user.CustomerID.Value;

                foreach (var item in wishlistViewModel.Items)
                {
                    if (!await _service.CheckIfItemExistsInWishlistAsync(customerID, item.ItemID))
                    {
                        await _service.AddItemToWishlistAsync(item, customerID);
                    }
                }

                wishlistViewModel = await _service.GetWishlistFromCustomerAsync(customerID);

                HttpContext.Session.Remove(SESSION_KEY_WISHLIST);
            }
            else
            {
                HttpContext.Session.SetObjectAsJson(SESSION_KEY_WISHLIST, wishlistViewModel);
            }

            return(wishlistViewModel);
        }
Exemple #8
0
        public ActionResult IndexRA(int i, int r)
        {
            try
            {
                var addedItem = db.Toy.Single(t => t.ToysId == i);
                var cart      = ShoppingCart.GC(this.HttpContext);
                //var w = WishlistManager.GW(this.HttpContext);
                //var identity = w.RWID();
                //var toyexist = !w.ToyDontExist(db.Toy.Find(r), identity);
                //if (toyexist)
                //{
                //    cart.ATC(addedItem, i);
                //    RFW(r);
                //}

                cart.ATC(addedItem, i);
                RFW(r);
                var w         = WishlistManager.GW(this.HttpContext);
                var viewModel = new WishlistViewModel
                {
                    WT = w.GWT()
                };
                return(View(viewModel));
            }
            catch
            {
                return(RedirectToAction("Index"));
            }
        }
Exemple #9
0
        public Wishlist()
        {
            BindingContext = wishlistviewModel = new WishlistViewModel();
            float totalPrice = wishlistviewModel.getTotalPrice();

            InitializeComponent();
            myLabel.Text = "Total Amount is " + totalPrice;
        }
        // GET: Wishlist
        public async Task <IActionResult> Index()
        {
            WishlistViewModel wishlistVm = await GetWishlistFromSessionAsync(HttpContext);

            wishlistVm = await MergeWishlistIfLoggedIn(wishlistVm);

            return(View(wishlistVm));
        }
Exemple #11
0
        public void buildWishlistViewModelTest_HappyPath()
        {
            Student           thisStudent = _context.Students.Find(1);
            WishlistViewModel test        = _viewModelService.buildWishlistViewModel(thisStudent);

            Assert.True(test.courses.First().courseId == 1);
            Assert.True(test.courses.Count() == 5);
        }
 protected override void OnNavigatedTo(NavigationEventArgs e)
 {
     WishlistViewModel = e.Parameter as WishlistViewModel;
     //Check if passed
     WishlistName.Text         = "Voor Wishlist: " + WishlistViewModel.selectedWishlist.Title;
     CategoryBox.ItemsSource   = Enum.GetValues(typeof(Category));
     CategoryBox.SelectedIndex = 0; //can only be done here as contents of list are only initialized in the line above
 }
        public ViewResult Wishlist()
        {
            var vm = new WishlistViewModel();

            LayoutHelper.FillLayoutModel(vm);

            return(this.View(vm));
        }
        public ActionResult AddToWishlist(int id)
        {
            var product = db.Products.Where(x => x.ProductId == id).FirstOrDefault();

            WishlistViewModel.AddProduct(product, 1);

            return(RedirectToAction("Index"));
        }
Exemple #15
0
        public WishlistPage()
        {
            InitializeComponent();

            CreateWishlist();
            //PopulateList();
            BindingContext = new WishlistViewModel();
        }
        private async Task <WishlistViewModel> CreateViewModelFromWishlist(Wishlist wishlist)
        {
            var viewModel = new WishlistViewModel();

            viewModel.Id      = wishlist.Id;
            viewModel.BuyerId = wishlist.BuyerId;
            viewModel.Items   = await GetWishlistItems(wishlist.Items);;
            return(viewModel);
        }
        public ActionResult Index()
        {
            var Wishlist = WishlistService.GetWishlist(this.HttpContext);
            var Model    = new WishlistViewModel
            {
                Wishlist = Wishlist.GetToys()
            };

            return(View(Model));
        }
Exemple #18
0
        public ActionResult WishlistItems()
        {
            WishlistViewModel wishModel = new WishlistViewModel();

            wishModel.User = UserManager.FindById(User.Identity.GetUserId());

            wishModel.Wishlist = WishlistService.Instance.GetWishlist(User.Identity.GetUserId());

            return(PartialView(wishModel));
        }
Exemple #19
0
        public async Task <IActionResult> Wishlist()
        {
            var curUser = await _userManager.GetUserAsync(this.User);

            Student stu = await _studentSerivce.getStudentAsync(curUser.StudentId);

            WishlistViewModel thisView = _viewModelSerivce.buildWishlistViewModel(stu);

            return(View(thisView));
        }
Exemple #20
0
        public ActionResult Index()
        {
            var w         = WishlistManager.GW(this.HttpContext);
            var viewModel = new WishlistViewModel
            {
                WT = w.GWT()
            };

            return(View(viewModel));
        }
Exemple #21
0
 protected override async void OnNavigatedTo(NavigationEventArgs e)
 {
     base.OnNavigatedTo(e);
     this.wishlist = app.repository.wishlistViewmodel;
     foreach (Item item in wishlist.wishlist.Items)
     {
         itms.Add(new CustomItem(item));
     }
     items.ItemsSource = itms;
     titelView.Text    = "Wishlist:  " + app.repository.wishlistViewmodel.wishlist.Naam;
 }
        public async Task <IActionResult> Wishlist(int page = 1)
        {
            var userId = User.FindFirstValue(ClaimTypes.NameIdentifier);

            if (page <= 0)
            {
                return(Redirect("/User/Wishlist"));
            }

            var adsCount = await userAdWishlistService.GetWishlistCountAsync(userId);

            var lastPage = adsCount / GlobalConstants.AdsOnPageCount + 1;

            if (adsCount % GlobalConstants.AdsOnPageCount == 0 && adsCount > 0)
            {
                lastPage -= 1;
            }

            if (page > lastPage)
            {
                return(Redirect("/User/Wishlist"));
            }

            var ads = await userAdWishlistService.GetUserWishlistAsync(userId, page, GlobalConstants.AdsOnPageCount);

            var viewModel = new WishlistViewModel
            {
                CurrentPage   = page,
                TotalAdsCount = adsCount,
                LastPage      = lastPage,
            };

            foreach (var ad in ads)
            {
                var category = await categoryService.GetByIdAsync(ad.CategoryId);

                var subCategoryName = await subCategoryService.GetByIdAsync(ad.SubCategoryId);

                var town = await townService.GetByIdAsync(ad.TownId);

                viewModel.Advertisements.Add(new WishlistAdViewModel
                {
                    Category  = $"{category.Name} -> {subCategoryName.Name}",
                    CreatedOn = ad.CreatedOn.ToString(GlobalConstants.DateTimeFormat),
                    Id        = ad.Id,
                    Name      = ad.Name,
                    Price     = ad.Price,
                    UserId    = ad.UserId,
                    UserName  = userManager.FindByIdAsync(ad.UserId).GetAwaiter().GetResult().UserName
                });
            }

            return(View(viewModel));
        }
Exemple #23
0
        public WishlistPage()
        {
            InitializeComponent();
            var wishlistDataService = App.MockDataService
                ? TypeLocator.Resolve <IWishlistDataService>()
                : DataService.TypeLocator.Resolve <IWishlistDataService>();
            var cartDataService = App.MockDataService
                ? TypeLocator.Resolve <ICartDataService>()
                : DataService.TypeLocator.Resolve <ICartDataService>();

            BindingContext = new WishlistViewModel(wishlistDataService, cartDataService);
        }
Exemple #24
0
        public IActionResult AddToWishlist(int id)
        {
            _logger.Info("Adding Products to WishList");
            if (HttpContext.Session.GetString("token") == null)
            {
                return(RedirectToAction("Login", "Auth"));
            }
            WishlistViewModel wish = new WishlistViewModel();

            wish.CustomerId = Convert.ToInt32(HttpContext.Session.GetInt32("custId"));
            wish.ProductId  = id;
            return(View(wish));
        }
        public ActionResult AdminPostWishlistItems([FromBody] WishlistViewModel _wishlistItem, int Id)
        {
            WishlistViewModelValidator validator = new WishlistViewModelValidator();
            ValidationResult           results   = validator.Validate(_wishlistItem);

            if (!results.IsValid)
            {
                foreach (var failure in results.Errors)
                {
                    Errors.AddErrorToModelState(failure.PropertyName, failure.ErrorMessage, ModelState);
                }
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (_context.Users.Find(Id) != null)
            {
                var wishlistId = (from wishlist in _context.Wishlists
                                  where wishlist.UserId == Id
                                  select wishlist.Id).ToArray();

                var exists = (from wl in _context.WishlistProduct
                              where wl.Wishlist.UserId == Id && wl.ProductId == _wishlistItem.ProductId
                              select wl).ToArray();

                if (exists.Length != 0)
                {
                    _context.WishlistProduct.Remove(exists[0]);
                    //return Ok("Staat al in Wishlist");
                }

                else
                {
                    WishlistProduct product = new WishlistProduct()
                    {
                        WishlistId = wishlistId[0],
                        ProductId  = _wishlistItem.ProductId
                    };

                    _context.Add(product);
                }

                _context.SaveChanges();
                return(Ok());
            }
            return(NotFound());
        }
        private async Task <WishlistViewModel> GetWishlistFromSessionAsync(HttpContext httpContext)
        {
            return(await Task.Run(() =>
            {
                var wishlistVm = httpContext.Session.GetObjectFromJson <WishlistViewModel>(SESSION_KEY_WISHLIST);

                if (wishlistVm == null)
                {
                    wishlistVm = new WishlistViewModel();
                }

                return wishlistVm;
            }));
        }
        public async Task <IActionResult> CreateWithoutRedirect(string type, int id)
        {
            WishlistViewModel wishlistVm = await GetWishlistFromSessionAsync(HttpContext);

            if (!wishlistVm.Items.Any(item => item.Category == type && item.ItemID == id))
            {
                WishlistItemViewModel wishlistItemVm = await _service.CreateWishlistItemAsync(type, id);

                wishlistVm.AddItem(wishlistItemVm);
            }

            wishlistVm = await MergeWishlistIfLoggedIn(wishlistVm);

            return(RedirectToAction("Index", "Carts"));
        }
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            User     selectedUser = e.Parameter as User;
            Wishlist f            = Runtime.AppController.GetFavoritesByUserId(selectedUser.UserId);

            f       = Runtime.AppController.SetupSelectedWishlist(f);
            f.Owner = selectedUser;

            WishlistViewModel = new WishlistViewModel(f);
            WishlistViewModel.selectedUser = selectedUser;

            FavoriteFrame.Navigate(typeof(FavoriteWishes), selectedUser);

            DataContext = WishlistViewModel;
        }
        public async Task <IViewComponentResult> InvokeAsync(int?id)
        {
            // Get user. If id is passed in then get user by that id else get the logged in user.
            var user         = new ApplicationUser();
            var signedInUser = false;

            if (id != null)
            {
                user = await _userManager.FindByIdAsync(id.ToString());
            }
            else
            {
                user = await _userManager.GetUserAsync(HttpContext.User);

                signedInUser = true;
            }


            var client  = _clientFactory.CreateClient();
            var request = new HttpRequestMessage(HttpMethod.Get, $"{_userAPIRoot}GetWishlist/{user.Id}");

            request.Headers.Add("Accept", "application/json");
            request.Headers.Add("User-Agent", "DotNetflix.Web");

            var response = await client.SendAsync(request);

            if (response.IsSuccessStatusCode)
            {
                using var responseStream = await response.Content.ReadAsStreamAsync();

                var movies = await JsonSerializer.DeserializeAsync <IEnumerable <Wishlist> >(responseStream,
                                                                                             new JsonSerializerOptions()
                {
                    PropertyNameCaseInsensitive = true
                });

                var wishlistVM = new WishlistViewModel()
                {
                    WishlistMovies = movies
                };

                ViewData["SignedInUser"] = signedInUser;

                return(View(wishlistVM));
            }
            return(View());
        }
        public ActionResult PostWishlistItems([FromBody] WishlistViewModel _wishlistItem)
        {
            WishlistViewModelValidator validator = new WishlistViewModelValidator();
            ValidationResult           results   = validator.Validate(_wishlistItem);

            if (!results.IsValid)
            {
                foreach (var failure in results.Errors)
                {
                    Errors.AddErrorToModelState(failure.PropertyName, failure.ErrorMessage, ModelState);
                }
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var userId     = _caller.Claims.Single(c => c.Type == "id");
            var wishlistId = (from wishlist in _context.Wishlists
                              where wishlist.UserId == int.Parse(userId.Value)
                              select wishlist.Id).ToArray();

            var exists = (from wl in _context.WishlistProduct
                          where wl.Wishlist.UserId == int.Parse(userId.Value) && wl.ProductId == _wishlistItem.ProductId
                          select wl).ToArray();

            if (exists.Length != 0)
            {
                _context.WishlistProduct.Remove(exists[0]);
                //return Ok("Staat al in Wishlist");
            }

            else
            {
                WishlistProduct product = new WishlistProduct()
                {
                    WishlistId = wishlistId[0],
                    ProductId  = _wishlistItem.ProductId
                };

                _context.Add(product);
            }

            _context.SaveChanges();
            return(Ok());
        }
        private WishlistModelViewModel CreateWishlistModel(WishlistViewModel record, int modelId)
        {
            var itemToAdd = new WishlistModelViewModel()
            {
                WishlistId = record.WishlistId,
                ModelId = modelId
            };

            db.WishlistModels.Add(itemToAdd);
            db.SaveChanges();

            return itemToAdd;
        }