public async Task <FileResult> LoginReport() { var usersInfos = await _userInfoService.Get(); StringBuilder info = new StringBuilder(); info.AppendLine($"User Id,Email,User Logs in,Last Login,AVG Login perday,Login permonth"); foreach (var item in usersInfos) { var userId = item.UserId; var loginReports = await _loginReportService.GetReport(userId); var user = await _userManager.FindByIdAsync(userId.ToString()); var email = user.Email; if (loginReports != null) { if (user != null && !(await _userManager.IsInRoleAsync(user, "Admin"))) { info.AppendLine($"{userId} , {email} , {loginReports.FirstLogin}, {loginReports.LastLogin}" + $"{loginReports.CounterLogsIn} , {loginReports.PerMonth}, {loginReports.AvgPerday}"); } } } var bytearray = Encoding.ASCII.GetBytes(info.ToString()); return(File(new MemoryStream(bytearray), "text/csv", "LoginReport.csv")); }