public async Task <IActionResult> Edit(int id, [Bind("Id,Name,Reason,EmployeeId,IsApproved")] WishListItem wishListItem) { if (id != wishListItem.Id) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(wishListItem); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!WishListItemExists(wishListItem.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["EmployeeId"] = new SelectList(_context.Employees, "Id", "Id", wishListItem.EmployeeId); return(View(wishListItem)); }
public ActionResult <UserDTO> PostWishListItem(WishListItemNoIdDTO WishListItem) { User user = _userRepository.GetByEmail(User.Identity.Name); if (user == null) { return(NotFound()); } var WishListItemToCreate = new WishListItem(WishListItem.WishListItemLink, WishListItem.WishListItemName, WishListItem.WishListItemDescription); user.WishList.Add(WishListItemToCreate); _userRepository.Update(user); _userRepository.SaveChanges(); var userDTO = new UserDTO() { Email = user.Email, UserName = user.UserName, WishList = user.WishList.Select(item => new WishListItemDTO() { WishListItemId = item.WishListItemId, WishListItemLink = item.WishListItemLink, WishListItemName = item.WishListItemName, WishListItemDescription = item.WishListItemDescription }).ToList() }; return(userDTO); }
public JsonResult RemoveFromWishList(string wishListItemId) { var user = _userManager.GetUserAsync(User).Result; string userId = user.Id; var wishList = _repository.GetWishListByUserId(userId); WishListItem wishListItem = _repository.GetWishListItemById(int.Parse(wishListItemId)); _repository.RemoveWishListItem(wishListItem); if (_repository.SaveAll()) { var result = new { Success = "true", message = "Uspešno ste uklonili artikal iz korpe. " }; return(Json(result)); } else { var result = new { Success = "true", message = "Uspešno ste uklonili artikal iz korpe. " }; return(Json(result)); } }
public async Task <IActionResult> OnPostAdd(Guid id) { var user = await _userManager.GetUserAsync(User); if (user == null) { return(NotFound($"Unable to load user with ID '{_userManager.GetUserId(User)}'.")); } var game = _context.Game.Include(a => a.GameFormatCodeNavigation).Where(a => a.Guid == id).FirstOrDefault(); if (!_context.WishListItem.Where(a => a.GameId == game.Guid && a.UserId == user.Id).Any()) { WishListItem newWishListItem = new WishListItem() { GameId = id, DateCreated = DateTime.Now, UserId = user.Id, }; _context.WishListItem.Add(newWishListItem); StatusMessage = $"{game.EnglishName} added to wishlist."; } else { TempData["message"] = $"{game.EnglishName} is already on wishlist."; } await _context.SaveChangesAsync(); return(RedirectToPage()); }
public async Task AddItemToWishList(ApplicationUser user, WishListItem product) { var cart = await GetWishList(user); _logger.LogDebug("User Name: " + user.Id); if (cart == null) { cart = new WishList() { BuyerId = user.Id, Items = new List <WishListItem>() }; } var basketItem = cart.Items .Where(p => p.ProductId == product.ProductId) .FirstOrDefault(); if (basketItem == null) { cart.Items.Add(product); } else { basketItem.Quantity += 1; } await UpdateWishList(cart); }
public async Task <IActionResult> AddToWishList(EventItem productDetails) { try { if (productDetails.Id != null) { var user = _identityService.Get(HttpContext.User); var product = new WishListItem() { Id = Guid.NewGuid().ToString(), Quantity = 1, ProductName = productDetails.Name, PictureUrl = productDetails.PictureUrl, UnitPrice = productDetails.Price, ProductId = productDetails.Id }; await _cartService.AddItemToWishList(user, product); } } catch (BrokenCircuitException) { // Catch error when CartApi is in circuit-opened mode HandleBrokenCircuitException(); } return(RedirectToAction("Index", "WishList")); }
internal void RejectBy(User user, WishListItem item) { if (Status != WishListItemStatus.Requested && Status != WishListItemStatus.RequestedToDirector) { throw new CannotRejectWishListItemWithCurrentStatusException(Status); } if (Status == WishListItemStatus.Requested) { if (!user.IsLeaderOf(item.Owner)) { throw new UserDoesNotHavePermissionToRejectRequestedWishListItemException(); } item.State = Rejected; return; } if (!user.IsDirectorOf(item.Owner)) { throw new UserDoesNotHavePermissionToRejectRequestedWishListItemException(); } item.State = Rejected; }
public void It_should_return_correct_value_for_training_with_side_costs() { // Given const decimal accommodationCost = 200; const decimal transportCost = 300; var sideCosts = new SideCosts { AccommodationCost = accommodationCost, DailyAllowanceCost = transportCost, IncludeAccommodationCost = true, IncludeDailyAllowanceCost = true }; var training = new WishListItem( WishListItemType.Training, BasePrice, sideCosts: sideCosts); const decimal expectedResult = BasePrice + accommodationCost + transportCost; // When var result = training.CalculateCost(); // Then Assert.That(result, Is.EqualTo(expectedResult)); }
public async Task <IActionResult> AddToWishList(int gameId) { //When user clicks add to wishlist, //check if the user has a wishlist if not create it //once wishlist is found or created, create wishlist item entry with gameid WishList wl; WishListItem wli; var userId = util.GetAccountId(User.Identity.Name); var wlRecord = _context.WishList.FirstOrDefault(a => a.AccountId == userId); if (wlRecord == null) { //create wishlist wl = new WishList(); wl.AccountId = userId; wl.IsPublic = false; _context.WishList.Add(wl); await _context.SaveChangesAsync(); wlRecord = _context.WishList.FirstOrDefault(a => a.AccountId == userId); } wli = new WishListItem(); wli.WishListId = wlRecord.WishListId; wli.GameId = gameId; _context.WishListItem.Add(wli); await _context.SaveChangesAsync(); return(RedirectToAction("Details", new { id = gameId })); }
public void It_should_return_correct_value_for_foreing_conference_with_side_costs() { // Given const decimal accommodationCost = 200; const decimal transportCost = 300; var sideCosts = new SideCosts { AccommodationCost = accommodationCost, DailyAllowanceCost = transportCost, IncludeAccommodationCost = true, IncludeDailyAllowanceCost = true }; var conference = new WishListItem( WishListItemType.Conference, BasePrice, location: LocationType.Foreign, sideCosts: sideCosts); const decimal conferenceCost = BasePrice * ForeignConferenceMultiplicator; const decimal expectedResult = conferenceCost + accommodationCost + transportCost; // When var result = conference.CalculateCost(); // Then Assert.That(result, Is.EqualTo(expectedResult)); }
internal override decimal CalculateCost(WishListItem item) { var totalCost = item.ItemCost; if (item.Location == LocationType.Foreign) { totalCost *= 0.7m; } if (item.SideCosts.IncludeAccommodationCost) { totalCost += item.SideCosts.AccommodationCost; } if (item.SideCosts.IncludeDailyAllowanceCost) { totalCost += item.SideCosts.DailyAllowanceCost; } if (item.SideCosts.IncludeTransportCost) { totalCost += item.SideCosts.TransportCost; } return(totalCost); }
public ActionResult ItemWishList(int ItemID, WishListItem usrWishList) { if (ModelState.IsValid) { using (db) { UserAccount listedByUsr = db.UserAccounts.Where(u => u.UserName.Equals(User.Identity.Name.ToString())).FirstOrDefault(); bool obj = db.WishListItems.Any(x => x.ItemID == ItemID && x.WishListedBy == listedByUsr.UserID); if (obj == false) { usrWishList.ItemID = ItemID; usrWishList.WishListedBy = listedByUsr.UserID; db.WishListItems.Add(usrWishList); } else { WishListItem a = db.WishListItems.Where(x => x.ItemID == ItemID).Where(x => x.WishListedBy == listedByUsr.UserID).FirstOrDefault(); db.WishListItems.Remove(a); } db.SaveChanges(); ModelState.Clear(); return(RedirectToAction("ItemDetails", "Item", new { ItemID = ItemID })); } } return(View(usrWishList)); }
internal override decimal CalculateCost(WishListItem item) { var totalCost = item.ItemCost; if (item.ApproachNumber == 2) { totalCost /= 2; } else if (item.ApproachNumber == 3) { totalCost /= 4; } else if (item.ApproachNumber > 3) { totalCost = 0; } if (item.SideCosts.IncludeAccommodationCost) { totalCost += item.SideCosts.AccommodationCost; } if (item.SideCosts.IncludeDailyAllowanceCost) { totalCost += item.SideCosts.DailyAllowanceCost; } if (item.SideCosts.IncludeTransportCost) { totalCost += item.SideCosts.TransportCost; } return(totalCost); }
/// <summary> /// Retourne la liste des volumes souhaités par le lecteur. /// </summary> /// <param name="cardNum"></param> /// <param name="listToReturn"></param> public static void GetWishListByCardNum(int cardNum, ref List <WishListItem> listToReturn) { StringBuilder sLog = new StringBuilder(); listToReturn.Clear(); using (ExamSGBD2017Entities dbEntity = new ExamSGBD2017Entities()) { try { foreach (GetWishlist_Result vWish in dbEntity.GetWishlist(cardNum)) { WishListItem wishListItem = new WishListItem(); wishListItem.Id = vWish.Id; wishListItem.CardNum = vWish.CardNum; wishListItem.Volume_Id = vWish.Volume_Id; wishListItem.Isbn = vWish.Isbn; // wishListItem.Title = vWish. ; wishListItem.Cover = vWish.Cover; listToReturn.Add((wishListItem)); } } catch (Exception ex) { int DefaultError = 7; //"Problème à la récupération des données !" throw new EL.CstmError(DefaultError, ex); } } }
public async Task <bool> ToogleWishListItem(string userId, long bookId) { try { if (!db.AppUsers.Any(x => x.Id == userId) || !db.Books.Any(x => x.Id == bookId)) { return(false); } string wishListId = await GetWishListId(userId); var existingItem = await db.WishListItems.SingleOrDefaultAsync(x => x.BookId == bookId && x.WishListId == wishListId); if (existingItem != null) { db.WishListItems.Remove(existingItem); return(await SaveChangesAsync()); } else { WishListItem wishListItem = new WishListItem { BookId = bookId, WishListId = wishListId }; db.WishListItems.Add(wishListItem); return(await SaveChangesAsync()); } } catch (Exception) { throw; } }
public ActionResult AddToCart(long itemid) { string customerId = SessionManager.GetCurrentUserId(MTApp.CurrentStore); WishListItem wi = MTApp.CatalogServices.WishListItems.Find(itemid); if (wi != null) { if (wi.CustomerId == customerId) { // Add to Cart Product p = MTApp.CatalogServices.Products.Find(wi.ProductId); bool IsPurchasable = ValidateSelections(p, wi); if ((IsPurchasable)) { LineItem li = MTApp.CatalogServices.ConvertProductToLineItem(p, wi.SelectionData, 1, MTApp); Order Basket = SessionManager.CurrentShoppingCart(MTApp.OrderServices, MTApp.CurrentStore); if (Basket.UserID != SessionManager.GetCurrentUserId(MTApp.CurrentStore)) { Basket.UserID = SessionManager.GetCurrentUserId(MTApp.CurrentStore); } MTApp.AddToOrderWithCalculateAndSave(Basket, li); SessionManager.SaveOrderCookies(Basket, MTApp.CurrentStore); return(Redirect("~/cart")); } } } return(RedirectToAction("index")); }
internal void AcceptBy(User user, WishListItem item) { if (Status != WishListItemStatus.Requested && Status != WishListItemStatus.RequestedToDirector) { throw new CannotAcceptWishListItemWithCurrentStatusException(Status); } if (Status == WishListItemStatus.Requested) { if (!user.IsLeaderOf(item.Owner)) { throw new UserDoesNotHavePermissionToAcceptRequestedWishListItemException(); } if (ShouldBeRequestedToDirector(item.ItemCost)) { item.State = RequestedToDirector; } else { item.State = Accepted; } return; } if (!user.IsDirectorOf(item.Owner)) { throw new UserDoesNotHavePermissionToAcceptRequestedWishListItemException(); } item.State = Accepted; }
public void It_should_return_correct_value_for_exam_with_side_costs( int aproachNumber, decimal expectedPriceMultiplicator) { // Given const decimal accommodationCost = 200; const decimal transportCost = 300; var sideCosts = new SideCosts { AccommodationCost = accommodationCost, DailyAllowanceCost = transportCost, IncludeAccommodationCost = true, IncludeDailyAllowanceCost = true }; var exam = new WishListItem( WishListItemType.Exam, BasePrice, VendorName, approachNumber: aproachNumber, sideCosts: sideCosts); var expectedExamPrice = BasePrice * expectedPriceMultiplicator; var expectedTotalPrice = expectedExamPrice + accommodationCost + transportCost; // When var result = exam.CalculateCost(); // Then Assert.That(result, Is.EqualTo(expectedTotalPrice)); }
public string AddToWishList(int userId, long productId) { using (_context) { try { List <Product> listOfProducts; _context.product.Include(acc => acc.Category).ToList(); _context.product.Include(acc => acc.productDesign).ThenInclude(acc => acc.product_design_images).ThenInclude(acc => acc.ProductImage).ToList(); _context.product.Include(acc => acc.productDesign).ThenInclude(acc => acc.productColor).ToList(); _context.product.Include(acc => acc.productDesign).ThenInclude(acc => acc.productSize).ToList(); _context.product.Include(acc => acc.product_images).ToList(); _context.product.Include(acc => acc.StichingType).ToList(); _context.product.Include(acc => acc.Fabric).ToList(); _context.product.Include(acc => acc.Vendor).ToList(); listOfProducts = _context.product.ToList(); WishListItem wishListItem = new WishListItem() { product = listOfProducts.Where(e => e.Product_ID == productId).FirstOrDefault() }; if (wishListItem == null) { return("No product exist please choose a right product"); } WishList wishListOfUser = _context.wishList.Where(e => e.AccountId == userId).Include(e => e.WishListItems).FirstOrDefault(); if (wishListOfUser == null) { _context.wishList.Add(new WishList() { AccountId = userId, account = _context.account.Where(e => e.Id == userId).FirstOrDefault(), WishListItems = new List <WishListItem>() { wishListItem } }); } else { wishListOfUser.WishListItems.Add(wishListItem); } _context.SaveChanges(); } catch (Exception e) { return("Unable to add due to exception as >>> " + e.Message); } } return("Saved Successfully"); }
internal override decimal CalculateCost(WishListItem item) { var totalCost = item.ItemCost; totalCost = ModifyCostBySpecificRules(item, totalCost); return(totalCost); }
public ActionResult DeleteConfirmed(int id) { WishListItem wishListItem = db.WishListItems.Find(id); db.WishListItems.Remove(wishListItem); db.SaveChanges(); return(RedirectToAction("Index")); }
internal override decimal CalculateCost(WishListItem item) { var totalCost = item.ItemCost; totalCost += CalculateSideCosts(item.SideCosts); return(totalCost); }
// GET: WishListItems/Create public ActionResult Create() { ViewBag.AccountID = new SelectList(db.Accounts, "Id", "recipientMailID"); WishListItem wsItem = new WishListItem(); wsItem.dateAdded = DateTime.Today; return(View(wsItem)); }
public async Task <IActionResult> Post(long wishListId, [FromBody] WishListItem item) { var response = await _mediator.Send(new AddWishListItemRequest() { Username = User.GetUsername(), WishListId = wishListId, Item = item }); return(Created($"{wishListId}/items", item)); }
protected override decimal ModifyCostBySpecificRules(WishListItem item, decimal totalCost) { if (item.Location == LocationType.Foreign) { totalCost *= 0.7m; } return(totalCost); }
internal override void AcceptBy(User user, WishListItem item) { if (!user.IsDirectorOf(item.Owner)) { throw new UserDoesNotHavePermissionToAcceptRequestedWishListItemException(); } item.State = Accepted; }
internal void RejectBy(User user, WishListItem item) { if (!user.IsDirectorOf(item.Owner)) { throw new UserDoesNotHavePermissionToRejectRequestedWishListItemException(); } item.State = Rejected; }
internal decimal CalculateCost(WishListItem item) { var totalCost = item.ItemCost; totalCost = ModifyCostBySpecificRules(item, totalCost); totalCost += CalculateSideCosts(item.SideCosts); return(totalCost); }
internal override void StartRealizationBy(User user, WishListItem item) { if (!user.IsSupervisor) { throw new UserDoesNotHavePermissionToStartWishListItemRealizationException(); } item.State = InRealization; }
private decimal ModifyCostBySpecificRules(WishListItem item, decimal totalCost) { if (item.VendorsWithDiscounts.ContainsKey(item.VendorName)) { var discountAmount = totalCost * item.VendorsWithDiscounts[item.VendorName]; totalCost -= discountAmount; } return(totalCost); }