public async Task <IActionResult> Add([FromForm] LinkViewModel model) { if (!ModelState.IsValid) { return(View(model)); } try { var lastLink = _dbContext.Links.OrderBy(f => f.Id).LastOrDefault(); var link = new Link() { LongUrl = model.LongUrl, CreatedDate = DateTime.UtcNow, }; if (lastLink != null) { link.Id = lastLink.Id + new Random().Next(1, 100); } _dbContext.Links.Add(link); await _dbContext.SaveChangesAsync(); link.ShortUrl = _urlShortener.Encode(link.Id); _dbContext.Update(link); await _dbContext.SaveChangesAsync(); return(RedirectToAction(nameof(HomeController.Index), this.UrlName <HomeController>())); } catch { ModelState.AddModelError(string.Empty, "На сервере произошла ошибка, попробуйте позже"); return(View(model)); } }