예제 #1
0
        public async Task <ActionResult> FindByBookmarklet(string url, string title)
        {
            if (string.IsNullOrWhiteSpace(url))
            {
                return(HttpNotFound());
            }

            var result = default(IEnumerable <RefList>);

            try
            {
                result = await _refListHandler.GetAllRefListsByContainingLink(url);
            }
            catch (ArgumentException e)
            {
                throw new BusinessException(e, Errors.InvalidUrlFormat);
            }

            var vm = new OpenByBookmarkletPageViewModel()
            {
                IsOwnOnly = false,
                Uri       = url,
                Title     = title,
                RefLists  = Mapper.Map <ICollection <RefListViewModel> >(result),
            };

            return(View("OpenByBookmarklet", vm));
        }
예제 #2
0
        public async Task <ActionResult> OpenByBookmarklet(string url, string title)
        {
            if (string.IsNullOrWhiteSpace(url))
            {
                return(HttpNotFound());
            }

            var user   = GetUser();
            var result = default(IEnumerable <RefList>);

            try
            {
                result = await _refListHandler.GetRefListsByContainingLink(user.Id, url);
            }
            catch (ArgumentException e)
            {
                throw new BusinessException(e, Errors.InvalidUrlFormat);
            }

            if (result.Count() == 1)
            {
                var found = result.First();
                return(RedirectToAction("Edit", new { id = found.Id }));
            }
            else
            {
                var vm = new OpenByBookmarkletPageViewModel()
                {
                    IsOwnOnly = true,
                    Uri       = url,
                    Title     = title,
                    RefLists  = Mapper.Map <ICollection <RefListViewModel> >(result),
                };
                return(View("OpenByBookmarklet", vm));
            }
        }