AzureSiteReplicator.Data.StatusFile.LoadOrCreate C# (CSharp) Метод

LoadOrCreate() публичный Метод

public LoadOrCreate ( ) : void
Результат void
        public void LoadOrCreate()
        {
            XmlDocument doc = new XmlDocument();
            XPathNavigator nav = null;
            bool hasMore;
            int num;

            if (!FileHelper.FileSystem.File.Exists(_filePath))
            {
                Save();
                return;
            }

            using (Stream stream =
                FileHelper.FileSystem.File.OpenRead(_filePath))
            {
                doc = new XmlDocument();
                doc.Load(stream);
            }

            nav = doc.CreateNavigator();
            nav.MoveToFirstChild();
            hasMore = nav.MoveToFirstChild();

            while (hasMore)
            {
                if (string.Equals(nav.Name, "state", StringComparison.OrdinalIgnoreCase))
                {
                    DeployState status = DeployState.NotStarted;
                    if (Enum.TryParse<DeployState>(nav.Value, true, out status))
                    {
                        State = status;
                    }
                }
                else if (string.Equals(nav.Name, "startTime", StringComparison.OrdinalIgnoreCase))
                {
                    DateTime startTime = DateTime.MinValue;
                    if (DateTime.TryParse(nav.Value, out startTime))
                    {
                        StartTime = startTime;
                    }
                }
                else if (string.Equals(nav.Name, "endTime", StringComparison.OrdinalIgnoreCase))
                {
                    DateTime endTime = DateTime.MinValue;
                    if (DateTime.TryParse(nav.Value, out endTime))
                    {
                        EndTime = endTime;
                    }
                }
                else if (string.Equals(nav.Name, "complete", StringComparison.OrdinalIgnoreCase))
                {
                    bool complete;
                    if (bool.TryParse(nav.Value, out complete))
                    {
                        Complete = complete;
                    }
                }
                else if (string.Equals(nav.Name, "objectsAdded", StringComparison.OrdinalIgnoreCase))
                {
                    if (int.TryParse(nav.Value, out num))
                    {
                        ObjectsAdded = num;
                    }
                }
                else if (string.Equals(nav.Name, "objectsUpdated", StringComparison.OrdinalIgnoreCase))
                {
                    if (int.TryParse(nav.Value, out num))
                    {
                        ObjectsUpdated = num;
                    }
                }
                else if (string.Equals(nav.Name, "objectsDeleted", StringComparison.OrdinalIgnoreCase))
                {
                    if (int.TryParse(nav.Value, out num))
                    {
                        ObjectsDeleted = num;
                    }
                }
                else if (string.Equals(nav.Name, "parametersChanged", StringComparison.OrdinalIgnoreCase))
                {
                    if (int.TryParse(nav.Value, out num))
                    {
                        ParametersChanged = num;
                    }
                }
                else if (string.Equals(nav.Name, "bytesCopied", StringComparison.OrdinalIgnoreCase))
                {
                    long longNum;
                    if (long.TryParse(nav.Value, out longNum))
                    {
                        BytesCopied = longNum;
                    }
                }

                hasMore = nav.MoveToNext();
            }
        }

Usage Example

        public void CreateStatusFileTest()
        {
            FileHelper.FileSystem = new MockFileSystem(new Dictionary<string, MockFileData>());
            StatusFile statusFile = new StatusFile("site1");
            string statusFilePath = @"c:\site1\status.xml";

            Assert.IsFalse(FileHelper.FileSystem.File.Exists(statusFilePath));
            statusFile.LoadOrCreate();
            Assert.IsTrue(FileHelper.FileSystem.File.Exists(statusFilePath));
        }
All Usage Examples Of AzureSiteReplicator.Data.StatusFile::LoadOrCreate