Пример #1
0
        public async Task <IActionResult> GetEditModel(int id)
        {
            var linkResponse = await _linkForwarderService.GetLinkAsync(id);

            if (!linkResponse.IsSuccess)
            {
                return(new StatusCodeResult(StatusCodes.Status500InternalServerError));
            }

            if (null == linkResponse.Item)
            {
                return(NotFound());
            }

            var model = new LinkEditModel
            {
                Id        = linkResponse.Item.Id,
                Note      = linkResponse.Item.Note,
                AkaName   = linkResponse.Item.AkaName,
                OriginUrl = linkResponse.Item.OriginUrl,
                IsEnabled = linkResponse.Item.IsEnabled,
                TTL       = linkResponse.Item.TTL ?? 0
            };

            return(Json(model));
        }
Пример #2
0
 public ActionResult Edit(LinkEditModel model)
 {
     linkService.UpdateLinks(model.Ids, model.Links);
     return(Json(new AjaxResult {
         Status = "ok"
     }));
 }
Пример #3
0
        public async Task <IActionResult> Create(LinkEditModel model)
        {
            if (ModelState.IsValid)
            {
                var verifyResult = _linkVerifier.Verify(model.OriginUrl, Url, Request);
                switch (verifyResult)
                {
                case LinkVerifyResult.InvalidFormat:
                    return(BadRequest("Not a valid URL."));

                case LinkVerifyResult.InvalidLocal:
                    return(BadRequest("Can not use local URL."));

                case LinkVerifyResult.InvalidSelfReference:
                    return(BadRequest("Can not use url pointing to this site."));
                }

                var createLinkRequest = new CreateLinkRequest
                {
                    OriginUrl = model.OriginUrl,
                    Note      = model.Note,
                    AkaName   = string.IsNullOrWhiteSpace(model.AkaName) ? null : model.AkaName,
                    IsEnabled = model.IsEnabled,
                    TTL       = model.TTL
                };

                var response = await _linkForwarderService.CreateLinkAsync(createLinkRequest);

                return(Json(response));
            }
            return(BadRequest("Invalid ModelState"));
        }
Пример #4
0
        public async Task <IActionResult> Edit(LinkEditModel model)
        {
            if (ModelState.IsValid)
            {
                var verifyResult = _linkVerifier.Verify(model.OriginUrl, Url, Request);
                switch (verifyResult)
                {
                case LinkVerifyResult.InvalidFormat:
                    return(BadRequest("Not a valid URL."));

                case LinkVerifyResult.InvalidLocal:
                    return(BadRequest("Can not use local URL."));

                case LinkVerifyResult.InvalidSelfReference:
                    return(BadRequest("Can not use url pointing to this site."));
                }

                var response = await _linkForwarderService.EditLinkAsync(model.Id, model.OriginUrl, model.Note, model.IsEnabled);

                if (response.IsSuccess)
                {
                    _cache.Remove(response.Item);
                }
                return(Json(response));
            }
            return(BadRequest("Invalid ModelState"));
        }
Пример #5
0
        public async Task <IActionResult> Edit(LinkEditModel model)
        {
            if (ModelState.IsValid)
            {
                var verifyResult = _linkVerifier.Verify(model.OriginUrl, Url, Request);
                switch (verifyResult)
                {
                case LinkVerifyResult.InvalidFormat:
                    return(BadRequest("Not a valid URL."));

                case LinkVerifyResult.InvalidLocal:
                    return(BadRequest("Can not use local URL."));

                case LinkVerifyResult.InvalidSelfReference:
                    return(BadRequest("Can not use url pointing to this site."));
                }

                var editRequest = new EditLinkRequest(model.Id)
                {
                    NewUrl    = model.OriginUrl,
                    Note      = model.Note,
                    AkaName   = string.IsNullOrWhiteSpace(model.AkaName) ? null : model.AkaName,
                    IsEnabled = model.IsEnabled
                };

                var response = await _linkForwarderService.EditLinkAsync(editRequest);

                if (response.IsSuccess)
                {
                    _cache.Remove(response.Item);
                }
                return(Json(response));
            }
            return(BadRequest("Invalid ModelState"));
        }
Пример #6
0
        public IActionResult Edit(int linkRedirectionId)
        {
            var linkDbModel = _linkRedirectionRepository.Get(linkRedirectionId);

            var model = new LinkEditModel()
            {
                LinkKey           = linkDbModel.LinkKey,
                LinkRedirectionId = linkDbModel.LinkRedirectionId,
                UrlDestination    = linkDbModel.UrlDestination
            };

            return(View(model));
        }
Пример #7
0
        public IActionResult Create(LinkEditModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            _linkRedirectionRepository.Create(new LinkRedirection()
            {
                LinkKey        = model.LinkKey.UrlKey(),
                UrlDestination = model.UrlDestination
            });

            return(RedirectToAction("index"));
        }
Пример #8
0
        public IActionResult Edit(LinkEditModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var linkDbModel = _linkRedirectionRepository.Get(model.LinkRedirectionId);

            linkDbModel.LinkKey        = model.LinkKey.UrlKey();
            linkDbModel.UrlDestination = model.UrlDestination.Trim();

            _linkRedirectionRepository.Update(linkDbModel);

            return(RedirectToAction("index"));
        }
Пример #9
0
        public ActionResult LinkEdit(LinkEditModel linkModel)
        {
            if (!ModelState.IsValid)
            {
                return(View());
            }
            T_FriendLink link;
            bool         result = false;

            if (linkModel.ID == 0)
            {
                link = new T_FriendLink()
                {
                    AddDate   = DateTime.Now,
                    AddUserID = user.UserId,
                    LinkMan   = linkModel.LinkMan,
                    LinkUrl   = linkModel.LinkUrl,
                    Name      = linkModel.SiteName,
                    State     = 1,
                    Remark    = linkModel.KeyWords
                };

                result = friendLinkLogic.AddFriendLink(link);
                return(RedirectToAction("Links"));
            }
            else
            {
                link         = friendLinkLogic.GetFriendLink(linkModel.ID);
                link.Name    = linkModel.SiteName;
                link.LinkUrl = linkModel.LinkUrl;
                link.Remark  = linkModel.KeyWords;
                link.LinkMan = linkModel.LinkMan;

                result = friendLinkLogic.UpdateFriendLink(link);
            }
            if (result)
            {
                WebCache.Remove(friendLinkLogic.FriendLinksKey);
                return(RedirectToAction("links"));
            }
            return(View());
        }
Пример #10
0
        public IActionResult Edit(LinkEditModel model)
        {
            if (!this.ModelState.IsValid)
            {
                return(this.View(model));
            }

            var linkDbModel = this.linkRedirectionRepository.Get(model.LinkRedirectionId);

            linkDbModel.LinkKey        = model.LinkKey.UrlKey();
            linkDbModel.UrlDestination = model.UrlDestination.Trim();

            this.linkRedirectionRepository.Update(linkDbModel);

            var cacheKey = CacheHelper.GetLinkCacheKey(linkDbModel.LinkKey);

            this.memoryCache.Remove(cacheKey);

            return(this.RedirectToAction("index"));
        }
Пример #11
0
        public async Task <IActionResult> GetEditModel(int id)
        {
            var link = await _linkForwarderService.GetLinkAsync(id);

            if (link is null)
            {
                return(NotFound());
            }

            var model = new LinkEditModel
            {
                Id        = link.Id,
                Note      = link.Note,
                AkaName   = link.AkaName,
                OriginUrl = link.OriginUrl,
                IsEnabled = link.IsEnabled,
                TTL       = link.TTL ?? 0
            };

            return(Json(model));
        }
Пример #12
0
        public async Task <IActionResult> Edit(LinkEditModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var flag = await _featureManager.IsEnabledAsync(nameof(FeatureFlags.AllowSelfRedirection));

            var verifyResult = _linkVerifier.Verify(model.OriginUrl, Url, Request, flag);

            switch (verifyResult)
            {
            case LinkVerifyResult.InvalidFormat:
                return(BadRequest("Not a valid URL."));

            case LinkVerifyResult.InvalidLocal:
                return(BadRequest("Can not use local URL."));

            case LinkVerifyResult.InvalidSelfReference:
                return(BadRequest("Can not use url pointing to this site."));
            }

            var editRequest = new EditLinkRequest(model.Id)
            {
                NewUrl    = model.OriginUrl,
                Note      = model.Note,
                AkaName   = string.IsNullOrWhiteSpace(model.AkaName) ? null : model.AkaName,
                IsEnabled = model.IsEnabled,
                TTL       = model.TTL
            };

            var token = await _linkForwarderService.EditLinkAsync(editRequest);

            if (token is not null)
            {
                _cache.Remove(token);
            }
            return(Json(token));
        }
Пример #13
0
        public ActionResult LinkEdit(int id = 0)
        {
            LinkEditModel linkModel;

            if (id == 0)
            {
                linkModel = new LinkEditModel();
            }
            else
            {
                var link = friendLinkLogic.GetFriendLink(id);
                linkModel = new LinkEditModel()
                {
                    ID       = link.ID,
                    KeyWords = link.Remark,
                    LinkMan  = link.LinkMan,
                    LinkUrl  = link.LinkUrl,
                    SiteName = link.Name
                };
            }
            return(View(linkModel));
        }