示例#1
0
        private void CorrectUids(UidCollector uidCollector)
        {
            if (ManageUidOperation != ManageUidOperation.UpdateUid)
            {
                return;
            }

            uidCollector.ResolveUidErrors();
        }
示例#2
0
        private void UpdateFileUids(XamlFileDescription xamlFileDescription, UidCollector uidCollector)
        {
            CorrectUids(uidCollector);

            using (var textReader = visualStudioAdapter.GetXamlFileContent(xamlFileDescription))
            {
                var target    = new StringWriter();
                var uidWriter = new UidWriter(uidCollector, textReader, target);
                if (uidWriter.UpdateUidWrite(uidUpdateHandleStrategy))
                {
                    visualStudioAdapter.SetXamlFileContent(xamlFileDescription, target.ToString());
                }
                else
                {
                    //TODO: notify failure
                }
            }
        }
示例#3
0
        public XamlFileViewModel(string solutionFolder, XamlFileDescription xamlFileDescription,
                                 UidCollector uidCollector)
        {
            string fileName = xamlFileDescription.Name;

            Name = Path.GetFileName(fileName);

            if (fileName.StartsWith(solutionFolder, StringComparison.InvariantCultureIgnoreCase))
            {
                SolutionPath = fileName.Substring(solutionFolder.Length + 1);
            }
            else
            {
                SolutionPath = fileName;
            }

            ProjectName = xamlFileDescription.ProjectDescription.Name;

            string projFolder = Path.GetDirectoryName(xamlFileDescription.ProjectDescription.FullName);

            if (fileName.StartsWith(projFolder, StringComparison.InvariantCultureIgnoreCase))
            {
                ProjectPath = fileName.Substring(projFolder.Length + 1);
            }
            else
            {
                ProjectPath = fileName;
            }

            if (uidCollector != null)
            {
                UidEntries = new List <UidEntryViewModel>(uidCollector.Count);
                for (int i = 0; i < uidCollector.Count; i++)
                {
                    var uid = uidCollector[i];
                    UidEntries.Add(new UidEntryViewModel(uid));
                }

                AllAreValid = uidCollector.AllAreValid();
            }
        }