private static DateTime?GetApplicationHistoryEventDate(int applicationId, ApplicationStatusTypeIds applicationHistoryEventSubTypeId, IDictionary <int, List <ApplicationHistorySummary> > sourceApplicationHistorySummaries) { if (sourceApplicationHistorySummaries.ContainsKey(applicationId)) { var applicationHistorySummaries = sourceApplicationHistorySummaries[applicationId].OrderByDescending(ahs => ahs.ApplicationHistoryEventDate); var applicationHistoryEventDate = applicationHistorySummaries.FirstOrDefault(ahs => ahs.ApplicationHistoryEventSubTypeId == (int)applicationHistoryEventSubTypeId)?.ApplicationHistoryEventDate; return(applicationHistoryEventDate); } return(null); }
private static int GetApplicationHistoryId(int applicationId, ApplicationStatusTypeIds applicationHistoryEventSubTypeId, IDictionary <int, Dictionary <int, int> > applicationHistoryIds) { var applicationHistoryId = 0; if (applicationHistoryIds.ContainsKey(applicationId)) { var ids = applicationHistoryIds[applicationId]; if (ids.ContainsKey((int)applicationHistoryEventSubTypeId)) { applicationHistoryId = ids[(int)applicationHistoryEventSubTypeId]; } } return(applicationHistoryId); }
private static ApplicationHistory GetApplicationHistory(int applicationId, DateTime applicationHistoryEventDate, ApplicationStatusTypeIds applicationHistoryEventSubTypeId, IDictionary <int, Dictionary <int, int> > applicationHistoryIds, IDictionary <int, List <ApplicationHistorySummary> > sourceApplicationHistorySummaries) { var applicationHistoryId = GetApplicationHistoryId(applicationId, applicationHistoryEventSubTypeId, applicationHistoryIds); applicationHistoryEventDate = GetApplicationHistoryEventDate(applicationId, applicationHistoryEventSubTypeId, sourceApplicationHistorySummaries) ?? applicationHistoryEventDate; return(new ApplicationHistory { ApplicationHistoryId = applicationHistoryId, ApplicationId = applicationId, UserName = "", ApplicationHistoryEventDate = applicationHistoryEventDate, ApplicationHistoryEventTypeId = 1, ApplicationHistoryEventSubTypeId = (int)applicationHistoryEventSubTypeId, Comment = "Status Change" }); }