private List<InactivityClaimDetail> GetInactiveTestClaims() { List<InactivityClaimDetail> InactiveClaims = new List<InactivityClaimDetail>(); var taskService = ObjectFactory.Resolve<ITaskService>(); ILookup<ClaimHeader, ClaimDetail> inactiveClaims = ObjectFactory.Resolve<IClaimsQuery>().GetInactiveClaims(DateTime.Now, null); foreach (IGrouping<ClaimHeader, ClaimDetail> group in inactiveClaims) { foreach (var claimDetail in group) { var InactiveClaim = new InactivityClaimDetail { ClaimHeaderID = claimDetail.ClaimHeader.ClaimHeaderID, ClaimDetailID = claimDetail.ClaimDetailID, CustomCode20 = claimDetail.ClaimHeader.CustomCode20, ClaimReference = claimDetail.ClaimHeader.ClaimReference, NameID = claimDetail.ClaimHeader.NameInvolvements.Where(o => o.NameInvolvementType == (short)StaticValues.NameInvolvementType.MainClaimHandler).Select(o => o.NameID).First(), ClaimDetailReference = claimDetail.ClaimDetailReference, ClaimTransactionSource = 1, }; // Review event at Header level? bool Revieweventexist = this.IsInactivityTaskAlreadyExists(claimDetail.ClaimHeader.ClaimHeaderID, this.inactivityDetectionProcess, "Claim Review", SystemComponentConstants.ClaimHeader, taskService); if (!Revieweventexist) { // Review event at Detail level? Revieweventexist = this.IsInactivityTaskAlreadyExists(claimDetail.ClaimDetailID, this.inactivityDetectionProcess, "Claim Review", SystemComponentConstants.ClaimDetail, taskService); } if (!Revieweventexist) { InactiveClaims.Add(InactiveClaim); } } } return InactiveClaims; }
/// <summary> /// Gets all inactive claim details based on the dates. /// </summary> /// <returns>Liat of Inactive ClaimDetails</returns> public static List<InactivityClaimDetail> GetInactiveClaimDetailsSP() { // Connect to the Database string ConnectionString = ConfigurationManager.ConnectionStrings["Config"].ConnectionString; int CommandTimeOut = ConfigurationManager.AppSettings["DefaultSQLCommandTimeout"] == null ? 30 : int.Parse(ConfigurationManager.AppSettings["DefaultSQLCommandTimeout"]); if (_Logger.IsInfoEnabled) { _Logger.Info("SQLCommandTimeout for Claim Inactivity has been set to: " + CommandTimeOut.ToString() + " seconds."); } // Get the dates for each claim detail Dictionary<string, DateTime[]> inactiveThresholdDates = GetInactiveThresholdDates(); // Create our output list. List<InactivityClaimDetail> InactiveClaims = new List<InactivityClaimDetail>(); SqlConnection conn = new SqlConnection(ConnectionString); using (var connection = new SqlConnection(ConnectionString)) { using (var command = connection.CreateCommand()) { command.CommandText = "[Claims].[AXAGetInactiveClaims]"; command.Parameters.Add("@ADDate", SqlDbType.DateTime); command.Parameters.Add("@LIADate", SqlDbType.DateTime); command.Parameters.Add("@TPIDate", SqlDbType.DateTime); command.Parameters.Add("@TPPDDate", SqlDbType.DateTime); command.Parameters.Add("@TPVDDate", SqlDbType.DateTime); command.Parameters.Add("@ANYDate", SqlDbType.DateTime); command.Parameters.Add("@Rec_ADDate", SqlDbType.DateTime); command.Parameters.Add("@Rec_LIADate", SqlDbType.DateTime); command.Parameters.Add("@Rec_TPIDate", SqlDbType.DateTime); command.Parameters.Add("@Rec_TPPDDate", SqlDbType.DateTime); command.Parameters.Add("@Rec_TPVDDate", SqlDbType.DateTime); command.Parameters.Add("@Rec_ANYDate", SqlDbType.DateTime); command.Parameters["@ADDate"].Value = (DateTime)inactiveThresholdDates["AD"][0]; command.Parameters["@LIADate"].Value = (DateTime)inactiveThresholdDates["LIA"][0]; command.Parameters["@TPIDate"].Value = (DateTime)inactiveThresholdDates["TPI"][0]; command.Parameters["@TPPDDate"].Value = (DateTime)inactiveThresholdDates["TPPD"][0]; command.Parameters["@TPVDDate"].Value = (DateTime)inactiveThresholdDates["TPVD"][0]; command.Parameters["@ANYDate"].Value = (DateTime)inactiveThresholdDates["*Any"][0]; command.Parameters["@Rec_ADDate"].Value = (DateTime)inactiveThresholdDates["AD"][1]; command.Parameters["@Rec_LIADate"].Value = (DateTime)inactiveThresholdDates["LIA"][1]; command.Parameters["@Rec_TPIDate"].Value = (DateTime)inactiveThresholdDates["TPI"][1]; command.Parameters["@Rec_TPPDDate"].Value = (DateTime)inactiveThresholdDates["TPPD"][1]; command.Parameters["@Rec_TPVDDate"].Value = (DateTime)inactiveThresholdDates["TPVD"][1]; command.Parameters["@Rec_ANYDate"].Value = (DateTime)inactiveThresholdDates["*Any"][1]; command.CommandType = CommandType.StoredProcedure; command.CommandTimeout = CommandTimeOut; connection.Open(); var reader = command.ExecuteReader(CommandBehavior.CloseConnection); while (reader.Read()) { var InactivityClaimDetail = new InactivityClaimDetail { ClaimHeaderID = Convert.ToInt32(reader["ClaimHeaderID"]), ClaimDetailID = Convert.ToInt32(reader["ClaimDetailID"]), CustomCode20 = Convert.ToString(reader["CustomCode20"]), ClaimReference = Convert.ToString(reader["ClaimReference"]), NameID = Convert.ToInt32(reader["NameID"]), ClaimDetailReference = Convert.ToString(reader["ClaimDetailReference"]), ClaimTransactionSource = Convert.ToInt32(reader["ClaimTransactionSource"]), }; InactiveClaims.Add(InactivityClaimDetail); } } } return InactiveClaims; }