Example #1
0
 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
     });
 }
Example #3
0
        /// <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
            });
        }