1
0

Updated url shortener logic

This commit is contained in:
Michael Gordeev
2021-02-13 23:34:32 +03:00
parent 84b07c9c73
commit 88dd2a3889
@@ -24,9 +24,9 @@ namespace MyWebsite.Areas.Admin.Controllers
[HttpGet] [HttpGet]
public IActionResult Create(string url, string id = "") public IActionResult Create(string url, string id = "")
{ {
if (!string.IsNullOrWhiteSpace(id) && Database.ShortLinks.Find(id) != null) if (string.IsNullOrWhiteSpace(url))
{ {
ModelState.AddModelError("Duplicate", "Link with such ID already exists"); ModelState.AddModelError(nameof(ArgumentNullException), "Provided url is empty or invalid");
return View(ViewPath, Database.ShortLinks.ToList()); return View(ViewPath, Database.ShortLinks.ToList());
} }
@@ -36,11 +36,15 @@ namespace MyWebsite.Areas.Admin.Controllers
return View(ViewPath, Database.ShortLinks.ToList()); return View(ViewPath, Database.ShortLinks.ToList());
} }
if (!string.IsNullOrWhiteSpace(id) && Database.ShortLinks.Find(id) is ShortLinkModel entry)
entry.Uri = uri;
else
Database.ShortLinks.Add(new ShortLinkModel Database.ShortLinks.Add(new ShortLinkModel
{ {
Uri = uri, Uri = uri,
LinkId = string.IsNullOrWhiteSpace(id) ? RandomString(6) : id LinkId = string.IsNullOrWhiteSpace(id) ? RandomString(6) : id
}); });
Database.SaveChanges(); Database.SaveChanges();
return RedirectToAction("Index"); return RedirectToAction("Index");
} }