private void GenerateShortUrl(UrlEntry urlEntry) { var fullUrlHashCode = urlEntry.FullUrl.GetHashCode(); urlEntry.UrlHashCode = fullUrlHashCode; urlEntry.ShortUrl = string.Format($"/?id={fullUrlHashCode}"); }
public async Task <IActionResult> Create([Bind("LongUrl")] UrlEntry urlEntry) { if (ModelState.IsValid) { var oldUrEntry = _urlEntriesProvider.GetUrlEntry(urlEntry.LongUrl); if (oldUrEntry != null) { return(View(oldUrEntry)); } urlEntry.Guid = HttpContext.Request.Cookies[UserKey]; if (urlEntry.Guid == null) { urlEntry.Guid = Guid.NewGuid().ToString(); HttpContext.Response.Cookies.Append(UserKey, urlEntry.Guid, new Microsoft.AspNetCore.Http.CookieOptions() { Path = "/", Expires = DateTime.Now.AddDays(7) }); } await _urlEntriesProvider.AddAndInitUrlEntry(urlEntry); return(View(urlEntry)); } return(View(urlEntry)); }
internal static void SetNewRecentURL(UrlEntry form, String urlAddress) { int maxRecentURLs = ConfigUtil.GetIntParameter("MaxNumRecentFile"); String fileContent = FileUtil.ReadToEndWithStandardEncoding(Path.Combine(ConstantUtil.ApplicationExecutionPath(), ConstantUtil.ruFile)); //Opening-saving file has already been censed into file if (fileContent.IndexOf(urlAddress + Environment.NewLine) >= 0) { fileContent = fileContent.Remove(fileContent.IndexOf(urlAddress + Environment.NewLine), urlAddress.Length + Environment.NewLine.Length); } String[] rows = fileContent.Replace(Environment.NewLine, ConstantUtil.newLine).Split(new[] { Convert.ToChar(ConstantUtil.newLine) }, StringSplitOptions.RemoveEmptyEntries); if (rows.Length >= maxRecentURLs) { fileContent = String.Empty; for (int i = 0; i < maxRecentURLs - 1; i++) { fileContent += rows[i] + Environment.NewLine; } } fileContent = urlAddress + Environment.NewLine + fileContent; SaveFileList(ConstantUtil.ruFile, fileContent); LoadRecentURLs(form); }
static XElement Serialize(UrlEntry url) { return new XElement("url", new XElement("loc", url.Loc), new XElement("lastmod", url.Lastmod.ToString("yyyy-MM-dd")), new XElement("changefreq", url.Changefreq.ToString().ToLower()), new XElement("priority", url.Priority.ToString("f1")) ); }
public async Task AddAndInitUrlEntry(UrlEntry urlEntry) { _urlEntriesContext.Add(urlEntry); await _urlEntriesContext.SaveChangesAsync(); InitUrlEntry(urlEntry); await UpdateUrlEntry(urlEntry); }
internal static void ShowUrlEntry(Form form, bool addFavourite = false) { UrlEntry urlEntry = new UrlEntry { Owner = form }; urlEntry.InitializeForm(addFavourite); urlEntry.ShowDialog(form); }
public void InvertedTest() { UrlEntry target = CreateUrlEntry(); // TODO: Initialize to an appropriate value const bool expected = true; target.Inverted = expected; bool actual = target.Inverted; Assert.Equal(expected, actual); }
public void UrlTest() { UrlEntry target = CreateUrlEntry(); // TODO: Initialize to an appropriate value var expected = new Uri("http://www.microsoft.com"); target.Url = expected; Uri actual = target.Url; Assert.Equal(expected, actual); }
public Result <UrlEntry> AddShortUrl(UrlEntry entry) { using (var cn = Open(ConnectionString)) { using (var cmd = CreateProc(cn, "AddUrlKey")) { cmd.Parameters.AddWithValue("@urlKey", entry.Key.Value); cmd.Parameters.AddWithValue("@url", entry.Url); return(CreateResult(cmd, dr => entry)); } } }
public void Write(UrlEntry value) { Write(value.Reserved); WriteNetwork(value.Lifetime); WriteNetworkString(value.Url); Write((byte)value.Authorities.Count); foreach (AuthenticationBlock block in value.Authorities) { Write(block); } }
public UrlEntry ReadUrlEntry() { UrlEntry entry = new UrlEntry(); entry.Reserved = ReadByte(); entry.Lifetime = ReadNetwork16(); entry.Url = ReadNetworkString(); int authCount = ReadByte(); for (int n = 0; n < authCount; n++) { entry.Authorities.Add(ReadAuthenticationBlock()); } return(entry); }
internal static void LoadRecentURLs(UrlEntry form) { ComboBox urlAddressComboBox = form.urlAddressComboBox; urlAddressComboBox.Items.Clear(); urlAddressComboBox.Items.Add("http://"); String fileContent = FileUtil.ReadToEndWithStandardEncoding(Path.Combine(ConstantUtil.ApplicationExecutionPath(), ConstantUtil.ruFile)); String[] separator = { Environment.NewLine }; String[] splittedFileContent = fileContent.Split(separator, StringSplitOptions.RemoveEmptyEntries); foreach (String splittedFileContentString in splittedFileContent) { urlAddressComboBox.Items.Add(splittedFileContentString); } }
public ServiceRegistrationPacket() : base(SlpFunctionId.ServiceRegistration) { Url = new UrlEntry(); AttrList = string.Empty; }
private void InitUrlEntry(UrlEntry urlEntry) { urlEntry.ShortUrl = _serviceUrl + IdCryptographer.Encode(urlEntry.ID); urlEntry.RedirectCount = 0; urlEntry.CreationDate = DateTime.Now; }
public async Task UpdateUrlEntry(UrlEntry urlEntry) { _urlEntriesContext.Update(urlEntry); await _urlEntriesContext.SaveChangesAsync(); }
internal static void ClearRecentURLs(UrlEntry form) { SaveFileList(ConstantUtil.ruFile, String.Empty); LoadRecentURLs(form); }