public static async Task <int> FetchNumOfApplicationsAsync(int period) { using (var cmd = new SqlCommand(SelectNumOfApplications)) { cmd.CommandType = CommandType.Text; cmd.Parameters.AddWithValue("@Period", period); return(Convert.ToInt32(await DbHelper.ExecuteScalarAsync(!(await RedisHelper.GetZeroActivityApplyCacheOnPeriod(period)), cmd))); } }
public static async Task <bool> HasZeroActivityApplicationSubmittedAsync(Guid userId, int period) { using (var cmd = new SqlCommand(NumOfZeroActivityApplications)) { cmd.CommandType = CommandType.Text; cmd.Parameters.AddWithValue("@UserID", userId); cmd.Parameters.AddWithValue("@Period", period); return(Convert.ToInt32(await DbHelper.ExecuteScalarAsync(!(await RedisHelper.GetZeroActivityApplyCacheOnPeriod(period)) || !(await RedisHelper.GetZeroActivityApplyCacheOnUserId(userId)), cmd)) > 0); } }
public static async Task <IEnumerable <SelectedTestReport> > SelectChosenUserReportsAsync(int period) { using (var cmd = new SqlCommand(SelectChosenUserReports)) { cmd.CommandType = CommandType.Text; cmd.Parameters.AddWithValue("@Period", period); return(await DbHelper.ExecuteQueryAsync(!(await RedisHelper.GetZeroActivityApplyCacheOnPeriod(period)), cmd, (dt) => { var result = new List <SelectedTestReport>(); if (dt?.Rows?.OfType <DataRow>() == null || !dt.Rows.OfType <DataRow>().Any()) { return result; } foreach (var dr in dt.Rows.OfType <DataRow>()) { if (dr != null) { var testReport = new SelectedTestReport(); if (!(dr["UserID"] is DBNull)) { testReport.UserId = new Guid(dr["UserID"].ToString()); } if (!(dr["CommentStatus"] is DBNull) && Convert.ToInt32(dr["CommentStatus"]) == 2 && !(dr["CommentType"] is DBNull) && Convert.ToInt32(dr["CommentType"]) == 3) { if (!(dr["CommentId"] is DBNull)) { testReport.CommentId = Convert.ToInt32(dr["CommentId"]); } testReport.ReportTitle = dr["SingleTitle"]?.ToString(); testReport.ReportAbstract = (dr["CommentContent"]?.ToString() != null && dr["CommentContent"].ToString().Length > 100) ? dr["CommentContent"].ToString().Substring(0, 100) : dr["CommentContent"]?.ToString(); if (!(dr["CreateTime"] is DBNull)) { testReport.ReportCreateTime = Convert.ToDateTime(dr["CreateTime"]); } if (!(dr["CommentImages"] is DBNull) && !string.IsNullOrWhiteSpace(dr["CommentImages"].ToString())) { testReport.ReportImages = dr["CommentImages"].ToString().Split(';'); } } result.Add(testReport); } } return result.GroupBy(_ => _.UserId).Select(_ => _.OrderByDescending(ur => ur.CommentId == null ? 0 : 1).FirstOrDefault()).Where(_ => _ != null).ToList(); })); } }