static ResourceForTree CreateResourceForTree(IResource resource, IResourceForTree tree) => new ResourceForTree { UniqueID = tree.UniqueID, ResourceID = resource.ResourceID, ResourceName = resource.ResourceName, ResourceType = resource.ResourceType };
private static ResourceForTree CreateResourceForTree(IResource resource, IResourceForTree tree) { return(new ResourceForTree { UniqueID = tree.UniqueID, ResourceID = resource.ResourceID, ResourceName = resource.ResourceName, ResourceType = resource.ResourceType }); }
/// <summary> /// Fetches the messages. /// </summary> /// <param name="workspaceId">The workspace ID.</param> /// <param name="serviceId">The service ID.</param> /// <param name="deps">The deps.</param> /// <param name="filter">The filter.</param> /// <returns></returns> public CompileMessageList FetchMessages(Guid workspaceId, Guid serviceId, IList <IResourceForTree> deps, CompileMessageType[] filter = null) { IList <ICompileMessageTO> result = new List <ICompileMessageTO>(); lock (Lock) { IList <ICompileMessageTO> messages; if (_messageRepo.TryGetValue(workspaceId, out messages)) { // Fetch dep list and process ;) if (deps != null) { foreach (var d in deps) { IResourceForTree d1 = d; var candidateMessage = messages.Where(c => c.ServiceID == d1.ResourceID); var compileMessageTos = candidateMessage as IList <ICompileMessageTO> ?? candidateMessage.ToList(); foreach (var msg in compileMessageTos) { if (filter != null) { // TODO : Apply filter logic ;) } else { // Adjust unique id for return so design surface understands where message goes ;) var tmpMsg = msg.Clone(); tmpMsg.UniqueID = d1.UniqueID; result.Add(tmpMsg); } } } } } } return(new CompileMessageList { MessageList = result, ServiceID = serviceId }); }