public async Task <RedirectResModel> RedirectUrl(RedirectReqModel model) { LinkModel linkModel = null; RedirectResModel result = new RedirectResModel(); //var shortUrl = "";//new Guid(model.ShortLink); var isValid = Guid.TryParse(model.ShortLink, out Guid guid); if (isValid) { linkModel = await _linkModelRepository.GetUrlByShortLink(guid); if (linkModel != null) { linkModel.VisitorCount++; linkModel.UpdateDate = DateTime.Now; await base.Update(linkModel); result.Url = linkModel.Url; } else { result.Status = ExceptionEnum.NotFound; } } else { result.Status = ExceptionEnum.InvalidParameter; } return(result); }
public async Task <ActionResult> RedirectUrl(string shortLink) { var model = new RedirectReqModel { ShortLink = shortLink //new Guid(shortLink) }; var result = await _shareLinkService.RedirectUrl(model); if (result.Status == ExceptionEnum.NotFound) { return(NotFound()); } else if (result.Status == ExceptionEnum.InvalidParameter) { return(this.StatusCode(StatusCodes.Status400BadRequest, "لینک ارسالی نادرست می باشد.")); // return HttpStatusCode.BadRequest; } return(Redirect(result.Url)); }