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); }
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)); }
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); }
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")); } }
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)); }
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")); }
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)); }
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)); }
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)); }
public ActionResult Index() { var w = WishlistManager.GW(this.HttpContext); var viewModel = new WishlistViewModel { WT = w.GWT() }; return(View(viewModel)); }
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)); }
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); }
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; }