private static ProjectManagementWork TryGetFromCache_ProjectManagementWork(ReferenceObject referenceObject) { List <ProjectManagementWork> listFoundedObject = new List <ProjectManagementWork>(); foreach (var item in List_ProjectManagementWorks_Cache) { if (item.ReferenceObject.SystemFields.Id == referenceObject.SystemFields.Id) { listFoundedObject.Add(item); } } //var listFoundedDobject = List_ProjectManagementWorks_Cache.Where(on => on.ReferenceObject.SystemFields.Id == referenceObject.SystemFields.Id).ToList(); if (listFoundedObject == null) { return(null); } ProjectManagementWork currentVersion = null; foreach (var item in listFoundedObject) { if (referenceObject.SystemFields.EditDate != item.LastEditDate) { List_ProjectManagementWorks_Cache.Remove(item); } else { currentVersion = item; } } return(currentVersion); }
public static dynamic Create_ProjectManagementWork(ReferenceObject referenceObject) { ProjectManagementWork projectManagementWork = TryGetFromCache_ProjectManagementWork(referenceObject); if (projectManagementWork == null) { projectManagementWork = new ProjectManagementWork(referenceObject); List_ProjectManagementWorks_Cache.Add(projectManagementWork); } return(projectManagementWork); }