private void DoUpgrade(string backupFolder)
        {
            NewRepositorySerializer newSerilizer = new NewRepositorySerializer();

            mFailedFiles = new List <string>();

            // now do the upgrade file by file
            foreach (string filePathToConvert in mFilesToShow)
            {
                string filePath = filePathToConvert;
                //remove info extension
                if (filePath.Contains("-->"))
                {
                    filePath = filePath.Remove(filePath.IndexOf("-->"));
                }

                //do upgrade
                try
                {
                    //first copy to backup folder
                    string BakFile = filePath.Replace(mSolutionFolder, backupFolder);
                    MakeSurePathExistforBakFile(BakFile);
                    System.IO.File.Copy(filePath, BakFile, true);

                    //make sure backup was created
                    if (File.Exists(BakFile) == true)
                    {
                        //Do Upgrade by unserialize and serialize the item using new serializer
                        //unserialize
                        string             itemXML    = File.ReadAllText(filePath);
                        RepositoryItemBase itemObject = (RepositoryItemBase)NewRepositorySerializer.DeserializeFromText(itemXML);
                        itemObject.FilePath = filePath;
                        //serialize
                        newSerilizer.SaveToFile(itemObject, filePath);
                    }
                    else
                    {
                        mFailedFiles.Add(filePathToConvert);
                    }
                }
                catch (Exception ex)
                {
                    Reporter.ToLog(eLogLevel.WARN, string.Format("Failed to upgrade the solution file '{0}'", filePath), ex);
                    mFailedFiles.Add(filePathToConvert);
                }
            }
        }
Exemplo n.º 2
0
        private void Upgrade(object sender, RoutedEventArgs e)
        {
            try
            {
                xProcessingImage.Visibility = Visibility.Visible;
                GingerCore.General.DoEvents();
                NewRepositorySerializer newSerilizer = new NewRepositorySerializer();
                mFailedFiles = new List <string>();
                string backupFolderPath = BackupFolderTextBox.Text;
                //make sure back direcroty exist if not create
                if (!Directory.Exists(backupFolderPath))
                {
                    MakeSurePathExistforBakFile(backupFolderPath + @"\");
                }

                // now do the upgrade file by file
                foreach (string filePathToConvert in mFilesToShow)
                {
                    string filePath = filePathToConvert;
                    //remove info extention
                    if (filePath.Contains("-->"))
                    {
                        filePath = filePath.Remove(filePath.IndexOf("-->"));
                    }

                    //do upgrade
                    try
                    {
                        //first copy to backup folder
                        string BakFile = filePath.Replace(mSolutionFolder, BackupFolderTextBox.Text + @"\");
                        MakeSurePathExistforBakFile(BakFile);
                        System.IO.File.Copy(filePath, BakFile, true);

                        //make sure backup was created
                        if (File.Exists(BakFile) == true)
                        {
                            //Do Upgrade by unserilize and serlize the item using new serilizer
                            //unserilize
                            string             itemXML    = File.ReadAllText(filePath);
                            RepositoryItemBase itemObject = (RepositoryItemBase)NewRepositorySerializer.DeserializeFromText(itemXML);
                            itemObject.FilePath = filePath;
                            //serlize
                            newSerilizer.SaveToFile(itemObject, filePath);
                        }
                        else
                        {
                            mFailedFiles.Add(filePathToConvert);
                        }
                    }
                    catch (Exception ex)
                    {
                        Reporter.ToLog(eLogLevel.WARN, string.Format("Failed to upgrade the solution file '{0}'", filePath), ex);
                        mFailedFiles.Add(filePathToConvert);
                    }
                }

                if (mFailedFiles.Count == 0)
                {
                    Reporter.ToUser(eUserMsgKeys.StaticInfoMessage, "Upgrade ended successfully.");
                    _pageGenericWin.Close();
                }
                else
                {
                    Reporter.ToUser(eUserMsgKeys.StaticWarnMessage, "Upgrade failed for some of the files.");
                    mViewMode = SolutionUpgradePageViewMode.FailedUpgradeSolution;
                    SetControls();
                }
            }
            catch (Exception ex)
            {
                Reporter.ToLog(eLogLevel.ERROR, "Failed to upgrade the solution files", ex);
                Reporter.ToUser(eUserMsgKeys.StaticErrorMessage, "Error occurred during upgrade, details: " + ex.Message);
                _pageGenericWin.Close();
            }
            finally
            {
                xProcessingImage.Visibility = Visibility.Collapsed;
            }
        }