public void Add(string modelFile, ModelTransformInfo modelTrf)
        {
            if (MemberModels.ContainsKey(modelFile))
            {
                return;
            }
            FederationModelItem mItem = new FederationModelItem();

            mItem.ModelFileName  = modelFile;
            mItem.ModelTransform = modelTrf;
            MemberModels.Add(modelFile, mItem);
        }
        public IList <FederationModelItem> GetMemberModelList()
        {
            string currDir = Directory.GetCurrentDirectory();

            if (UseRelativePath)
            {
                string fedFileLoc = Path.GetDirectoryName(fedFilePath);
                // If it is an empty string, it is located in the current directory
                if (string.IsNullOrEmpty(fedFileLoc))
                {
                    fedFileLoc = @".\";
                }
                Directory.SetCurrentDirectory(fedFileLoc);
            }

            IList <FederationModelItem> items = new List <FederationModelItem>();

            foreach (KeyValuePair <string, FederationModelItem> modelItem in MemberModels)
            {
                if (UseRelativePath)
                {
                    string fileName          = Path.GetFullPath(modelItem.Value.ModelFileName);
                    FederationModelItem item = modelItem.Value;
                    item.ModelFileName = fileName;
                    items.Add(item);
                }
                else
                {
                    items.Add(modelItem.Value);
                }
            }

            if (UseRelativePath)
            {
                Directory.SetCurrentDirectory(currDir);
            }

            return(items);
        }