Beispiel #1
0
        public async Task <IActionResult> CreateCutterLink([Bind] CutterLink cutter)
        {
            cutter = await SubmitNewAsync(cutter);

            TempData["result"] = externalLinksUri + cutter.Name;

            return(RedirectToAction(nameof(Index)));
        }
Beispiel #2
0
        private async Task <CutterLink> SubmitNewAsync(CutterLink cutter)
        {
            string remoteIp = HttpContext.Connection.RemoteIpAddress.ToString();

            cutter = cutter with
            {
                CreatedAt     = DateTime.UtcNow,
                CreatedFromIp = remoteIp
            };

            return(await service.CreateCutterAsync(cutter));
        }
    }
Beispiel #3
0
        public async Task <IActionResult> RedirectToLink([FromRoute] string id)
        {
            CutterLink cutter = await service.FetchCutterAsync(id);

            if (cutter is null)
            {
                return(StatusCode(404));
            }
            else
            {
                return(RedirectPermanent(cutter.Destination));
            }
        }
Beispiel #4
0
        public async Task <IActionResult> CreateCutterLinkApi([FromBody] CutterLink cutter)
        {
            cutter = await SubmitNewAsync(cutter);

            return(StatusCode(200, externalLinksUri + cutter.Name));
        }