// DELETE api/link/5 public bool Delete(Link link) { //var g = Uow.Links.GetById(link.LinkId); //Uow.Links.Delete(g); //Uow.Commit(); return true; }
public Link InsertLink(Guid appId, string secKey, string url) { var userApplication= Uow.UserApplications.GetById(appId); if (userApplication == null) return null; if (!CheckSecuretyKey(userApplication, secKey, url)) return null; var longUrlHash = _linkCreator.CreateMD5Hash(url); //checking if exist if (Uow.Links.GetAll().Any(item => item.LongUrlHash == longUrlHash)) return null; // New entity var info = _linkCreator.AcquireHTML(url); var link = new Link() { LinkId = Guid.NewGuid(), ShortUrl = string.Format("{0}/{1}", _linkCreator.GetRedirectDomainName(),_linkCreator.CreateShortcut(longUrlHash)), Created = DateTime.Now, Description = _linkCreator.GetMetaDescription(info), Title = _linkCreator.GetMetaTitle(info), LongUrl = url, LongUrlHash = longUrlHash, Group = 0, }; if (userApplication.Links == null) userApplication.Links = new List<Link>(); userApplication.Links.Add(link); Uow.Commit(); return link; }
// PUT api/link/5 public void Put(Link link) { link.LongUrlHash = _linkCreator.CreateMD5Hash(link.LongUrl); var g = Uow.Links.GetLinkById(link.LinkId); if (g!=null) { g.Title = link.Title; } //checking if exist if (Uow.Links.GetAll().Any(item => item.LongUrlHash == link.LongUrlHash)) { // Existing entity link.IsBroken = !_linkCreator.CheckLinkStatus(new Uri(link.LongUrl)); link.Created = DateTime.Now; //_context.Entry(link).State = EntityState.Modified; } else { // New entity link.LinkId = Guid.NewGuid(); link.ShortUrl = string.Format("{0}/{1}", _linkCreator.GetRedirectDomainName(), _linkCreator.CreateShortcut(link.LongUrlHash)); link.Created = DateTime.Now; string info = _linkCreator.AcquireHTML(link.LongUrl); link.Description = _linkCreator.GetMetaDescription(info); link.Title = _linkCreator.GetMetaTitle(info); Uow.Links.Add(link); } Uow.Commit(); }