コード例 #1
0
ファイル: WishlistMapper.cs プロジェクト: Meintje/Hoard
        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);
        }
コード例 #2
0
ファイル: WishlistMapper.cs プロジェクト: Meintje/Hoard
        internal static WishlistItem ToExistingWishlistItem(WishlistUpdateViewModel wuVM)
        {
            var wishlistItem = ToNewWishlistItem(wuVM);

            wishlistItem.ID      = wuVM.ID;
            wishlistItem.AddDate = wuVM.AddDate;

            return(wishlistItem);
        }
コード例 #3
0
ファイル: WishlistController.cs プロジェクト: Meintje/Hoard
        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
        }
コード例 #4
0
ファイル: WishlistViewService.cs プロジェクト: Meintje/Hoard
        public async Task <bool> UpdateResultsInDuplicateEntryAsync(WishlistUpdateViewModel wishlistUpdateViewModel)
        {
            var updatedItem = WishlistMapper.ToExistingWishlistItem(wishlistUpdateViewModel);

            return(await wishlistDbService.CommandResultsInDuplicateEntryAsync(updatedItem));
        }
コード例 #5
0
ファイル: WishlistViewService.cs プロジェクト: Meintje/Hoard
        public async Task UpdateAsync(WishlistUpdateViewModel wishlistUpdateViewModel)
        {
            var updatedItem = WishlistMapper.ToExistingWishlistItem(wishlistUpdateViewModel);

            await wishlistDbService.UpdateAsync(updatedItem);
        }