internal static WishlistUpdateViewModel ToUpdateViewModel(WishlistItem wishlistItem, IEnumerable <WishlistItemType> typeList, IEnumerable <Priority> priorityList, IEnumerable <Language> languageList) { if (wishlistItem == null) { return(null); } var vm = new WishlistUpdateViewModel { ID = wishlistItem.ID, HoarderID = wishlistItem.HoarderID, Title = wishlistItem.Title, WishlistItemTypeID = wishlistItem.WishlistItemTypeID, PriorityID = wishlistItem.PriorityID, LanguageID = wishlistItem.LanguageID, StoreURL = wishlistItem.StoreURL, AddDate = wishlistItem.AddDate, ReleaseDate = wishlistItem.ReleaseDate, Notes = wishlistItem.Notes }; vm.WishlistItemTypeSelectList = new SelectList(typeList, nameof(WishlistItemType.ID), nameof(WishlistItemType.Name)); vm.PrioritySelectList = new SelectList(priorityList, nameof(Priority.ID), nameof(Priority.Name)); vm.LanguageSelectList = new SelectList(languageList, nameof(Language.ID), nameof(Language.Name)); return(vm); }
internal static WishlistItem ToExistingWishlistItem(WishlistUpdateViewModel wuVM) { var wishlistItem = ToNewWishlistItem(wuVM); wishlistItem.ID = wuVM.ID; wishlistItem.AddDate = wuVM.AddDate; return(wishlistItem); }
public async Task <IActionResult> Edit(int id, [Bind("ID,HoarderID,WishlistItemTypeID,PriorityID,LanguageID,Title,AddDate,ReleaseDate,StoreURL,Notes")] WishlistUpdateViewModel wishlistUpdateViewModel) { if (id != wishlistUpdateViewModel.ID) { return(NotFound()); } if (ModelState.IsValid) { if (await wishlistViewService.UpdateResultsInDuplicateEntryAsync(wishlistUpdateViewModel)) { ModelState.AddModelError(string.Empty, "A wishlist entry with the same owner, title and type already exists in the database."); return(View(wishlistUpdateViewModel)); // TODO: Refill SelectLists } await wishlistViewService.UpdateAsync(wishlistUpdateViewModel); return(RedirectToAction(nameof(Index))); } return(View(wishlistUpdateViewModel)); // TODO: Refill SelectLists }
public async Task <bool> UpdateResultsInDuplicateEntryAsync(WishlistUpdateViewModel wishlistUpdateViewModel) { var updatedItem = WishlistMapper.ToExistingWishlistItem(wishlistUpdateViewModel); return(await wishlistDbService.CommandResultsInDuplicateEntryAsync(updatedItem)); }
public async Task UpdateAsync(WishlistUpdateViewModel wishlistUpdateViewModel) { var updatedItem = WishlistMapper.ToExistingWishlistItem(wishlistUpdateViewModel); await wishlistDbService.UpdateAsync(updatedItem); }