public JsonResult Create(string OriginalUrl) { try { if (TinyUrlHelper.ValidateUrl(OriginalUrl)) { var tinyUrl = new TinyUrl() { OriginalUrl = OriginalUrl }; TryValidateModel(tinyUrl); if (ModelState.IsValid) { tinyUrl.Id = _service.Save(tinyUrl); var JsonResults = new TinyUrlViewModel(tinyUrl, TinyUrlHelper.GetFullUrl(tinyUrl.Id, Request)); return(Json(JsonResults)); } } throw new UriFormatException("URL format is invalid!"); } catch (Exception ex) { Response.StatusCode = 500; return(Json("Exception was thrown - " + ex.Message)); } }
static void Main(string[] args) { Console.WriteLine("Hello World!"); var keys = TinyUrlHelper.GenerateKeys(); Console.WriteLine(keys); var keys2 = TinyUrlHelper.GenerateKeys2(); Console.WriteLine(keys2); var num = 100000; var max = 100100; for (var i = num; i < max; i++) { num += TinyUrlHelper.GetRnd(); var key = TinyUrlHelper.Convert(num); var newKey = TinyUrlHelper.Mixup(key); var key2 = TinyUrlHelper.UnMixup(newKey); var num2 = TinyUrlHelper.Convert(key2); var keymix = TinyUrlHelper.Parse(num); var numix = TinyUrlHelper.Parse(keymix); Console.WriteLine($"{num}:{key}:{newKey}:{key2}:{num2}-{keymix}:{numix}"); } //var count = 100; //for (var i = 0; i < count; i++) //{ // var num =(long) DateTime.Now.Subtract(new DateTime(1970,1,1)).TotalMilliseconds; // var key = TinyUrlHelper.Convert(num); // var newKey = TinyUrlHelper.Mixup(key); // var key2 = TinyUrlHelper.UnMixup(newKey); // var num2 = TinyUrlHelper.Convert(key2); // var keymix = TinyUrlHelper.Parse(num); // var numix = TinyUrlHelper.Parse(keymix); // Console.WriteLine($"{num}:{key}:{newKey}:{key2}:{num2}-{keymix}:{numix}"); // Thread.Sleep(2000); //} Console.ReadKey(); }
/// <summary> /// Gets TinyUrl object by its hash. /// </summary> /// <param name="encodedHash">encoded hash of the url.</param> ///<returns>Returns the tiny url object.</returns> public TinyUrl GetByPath(string encodedHash) { return(_context.TinyUrls.Find(TinyUrlHelper.Decode((encodedHash)))); }