예제 #1
0
        /// <summary>
        /// Returns an item in the solution for the given dropped file.
        /// </summary>
        public override IItemContainer GetItemInSolution(string filePath)
        {
            var filename   = Path.GetFileNameWithoutExtension(filePath);
            var folderName = this.AddedItems[filename];

            if (!string.IsNullOrEmpty(folderName))
            {
                // Get the newly created folder in the solution
                var templateItemFolder = this.TargetContainer.Find <IFolder>(folderName).FirstOrDefault();
                if (templateItemFolder == null)
                {
                    tracer.Error(
                        Resources.VsTemplateFileImporter_TraceProjectFolderNotFound, folderName, TargetContainer.GetLogicalPath());
                    return(null);
                }
                else
                {
                    // Find first *.vstemplate in the folder
                    var templateFile = templateItemFolder.Find <IItem>("*" + VsTemplateExtension).FirstOrDefault();
                    if (templateFile == null)
                    {
                        tracer.Error(
                            Resources.VsTemplateFileImporter_TraceVsTemplateFileNotFound, VsTemplateExtension, templateItemFolder.GetLogicalPath());
                        return(null);
                    }
                    else
                    {
                        tracer.Info(
                            Resources.VsTemplateFileImporter_TraceVsTemplateFound, templateFile.GetLogicalPath());

                        return(templateFile as IItemContainer);
                    }
                }
            }

            return(null);
        }