public IActionResult AdminStatistics() { try { var user = HttpContext.User; bool status = false; string message; if (user.HasClaim(c => c.Type == _tokenType)) { if (user.Claims.FirstOrDefault(c => c.Type == _tokenType).Value == _login && user.Claims.FirstOrDefault(c => c.Type == _userType).Value == _admin) { int userId = Convert.ToInt32(user.Claims.FirstOrDefault(c => c.Type == _userId).Value); AdminStatisticsResponseModel data = _adminBusiness.AdminStatistics(userId); if (data != null) { status = true; message = "Here Is the Statistics of Regular User."; return(Ok(new { status, message, data })); } message = "No Data Present."; return(Ok(new { status, message })); } } message = "Invalid Token."; return(BadRequest(new { status, message })); } catch (Exception e) { return(BadRequest(new { e.Message })); } }
/// <summary> /// It Gives the Statistics Of Basic and Advanced User. /// </summary> /// <param name="userId">User Id</param> /// <returns>Admin Statistics Model</returns> public AdminStatisticsResponseModel AdminStatistics(int userId) { try { UserDetails user = _applicationContext.UserDetails. FirstOrDefault(usr => usr.UserId == userId && usr.UserRole == _admin); if (user != null) { AdminStatisticsResponseModel adminStatistics = new AdminStatisticsResponseModel { Basic = _applicationContext.UserDetails. Where(usr => usr.UserRole == _regularUser && usr.Type == _basicUser).Count(), Advanced = _applicationContext.UserDetails. Where(usr => usr.UserRole == _regularUser && usr.Type == _advanceUser).Count() }; return(adminStatistics); } return(null); } catch (Exception e) { throw new Exception(e.Message); } }