public IHttpActionResult AddUrl(UrlViewModel Url)
        {
            return(ExceptionHandler.CallMethod(() =>
            {
                var DashboardService = new DashboardService();
                var role = ((ClaimsIdentity)User.Identity).Claims
                           .Where(c => c.Type == ClaimTypes.Role)
                           .Select(c => c.Value)
                           .FirstOrDefault();
                var result = 0;

                if (role == "Admin")
                {
                    result = DashboardService.AddAdminUrl(Url.Url, Url.Duration, User.Identity.GetUserId());
                }
                else
                {
                    result = DashboardService.AddUrl(Url.Url, Url.Duration, User.Identity.GetUserId());
                }

                if (result == 0)
                {
                    return Json(new { success = true, message = "URL added successfully!" });
                }
                else if (result == 1)
                {
                    return Json(new { success = false, message = "Duplicate URL!" });
                }
                else if (result == 2)
                {
                    return Json(new { success = false, message = "URLs limit succeeded!" });
                }
                else
                {
                    return Json(new { success = false, message = "URL not added!" });
                }
            }, ModelState));
        }