public async Task <UrlForVisitModel> GetURLForVisit(UrlForVisitModel Model)
        {
            return(await ExceptionHandler.CallMethod(async() =>
            {
                var DashboardService = new DashboardService();
                UrlForVisitModel result = null;
                if (DashboardService.CheckUrlVisit(Model, User.Identity.GetUserId()))
                {
                    if (Model.URLAddress != null)
                    {
                        DashboardService.AddUrlVisit(Model, User.Identity.GetUserId());
                    }

                    var role = ((ClaimsIdentity)User.Identity).Claims
                               .Where(c => c.Type == ClaimTypes.Role)
                               .Select(c => c.Value)
                               .FirstOrDefault();

                    if (role == "Admin")
                    {
                        result = DashboardService.GetAdminURLForVisit(User.Identity.GetUserId(), Model.Duration, Model.Count, Model.Mobile);
                    }
                    else
                    {
                        result = DashboardService.GetURLForVisit(User.Identity.GetUserId(), Model.Duration, Model.Count, Model.Mobile);
                    }
                }
                return result;
            }));
        }
 public IHttpActionResult DeleteURL([FromBody] int Id)
 {
     return(ExceptionHandler.CallMethod(() =>
     {
         var DashboardService = new DashboardService();
         DashboardService.DeleteUrl(Id);
         return Ok();
     }));
 }
 public async Task <List <URLModel> > GetAllURLs(int Duration)
 {
     return(await ExceptionHandler.CallMethod(async() =>
     {
         var DashboardService = new DashboardService();
         var result = await DashboardService.GetAllURLs(User.Identity.GetUserId(), Duration);
         return result;
     }));
 }
 public IHttpActionResult ReportURL([FromBody] UrlReportViewModel Model)
 {
     return(ExceptionHandler.CallMethod(() =>
     {
         var DashboardService = new DashboardService();
         DashboardService.ReportUrl(User.Identity.GetUserId(), Model.Id, Model.Message);
         return Ok();
     }));
 }
示例#5
0
 public IHttpActionResult DeleteReportURL([FromBody] int Id)
 {
     return(ExceptionHandler.CallMethod(() =>
     {
         var AdminService = new AdminService();
         AdminService.DeleteReportUrl(Id);
         return Ok();
     }));
 }
示例#6
0
 public async Task <List <ReportModel> > GetAllReports()
 {
     return(await ExceptionHandler.CallMethod(async() =>
     {
         var AdminService = new AdminService();
         var result = await AdminService.GetAllReports();
         return result;
     }));
 }
示例#7
0
 public IHttpActionResult DeleteUser([FromBody] Request Model)
 {
     return(ExceptionHandler.CallMethod(() =>
     {
         var AdminService = new AdminService();
         AdminService.DeleteUser(Model.Id);
         return Ok();
     }));
 }
示例#8
0
 public async Task <List <UserModel> > GetAllUsers()
 {
     return(await ExceptionHandler.CallMethod(async() =>
     {
         var AdminService = new AdminService();
         var result = await AdminService.GetAllUsers(User.Identity.GetUserId());
         return result;
     }));
 }
示例#9
0
 public IHttpActionResult ResolveReport([FromBody] int Id)
 {
     return(ExceptionHandler.CallMethod(() =>
     {
         var AdminService = new AdminService();
         AdminService.ResolveReport(Id);
         return Ok();
     }));
 }
        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));
        }