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(); })); }
public IHttpActionResult DeleteReportURL([FromBody] int Id) { return(ExceptionHandler.CallMethod(() => { var AdminService = new AdminService(); AdminService.DeleteReportUrl(Id); return Ok(); })); }
public async Task <List <ReportModel> > GetAllReports() { return(await ExceptionHandler.CallMethod(async() => { var AdminService = new AdminService(); var result = await AdminService.GetAllReports(); return result; })); }
public IHttpActionResult DeleteUser([FromBody] Request Model) { return(ExceptionHandler.CallMethod(() => { var AdminService = new AdminService(); AdminService.DeleteUser(Model.Id); return Ok(); })); }
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; })); }
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)); }