public IActionResult Post([FromBody] Link link) { var getLink = db.Links.Where(x => x.LongLink == link.LongLink).FirstOrDefault(); if (getLink == null) { //простейший прототип построения осмысленной короткой ссылки if (link.LongLink[0] == 'h') { int firstChar = link.LongLink.IndexOf('/') + 1; link.ShortLink = link.LongLink.Substring(firstChar + 1); if (link.ShortLink.IndexOf('/') != -1) { link.ShortLink = link.ShortLink.Substring(0, link.ShortLink.IndexOf('/')); } } if (link.ShortLink.IndexOf("www.") != -1) { link.ShortLink = link.ShortLink.Substring(4); } link.ShortLink = link.ShortLink.Substring(0, link.ShortLink.LastIndexOf('.')); char newChar = link.ShortLink[0].ToString().ToUpper()[0]; link.ShortLink = newChar + link.ShortLink.Substring(1); var newLink = new Link(link.LongLink, link.ShortLink, link.Tag, link.Discount); db.Add(newLink); db.SaveChanges(); return(Ok(newLink)); } else { return(Ok(getLink)); } }