AzureSiteReplicator.Data.StatusFile.Save C# (CSharp) Method

Save() public method

public Save ( ) : void
return void
        public void Save()
        {
            XDocument doc = new XDocument(
                new XElement("status",
                    new XElement("state", State.ToString()),
                    new XElement("startTime", StartTime.ToString()),
                    new XElement("endTime", EndTime.ToString()),
                    new XElement("complete", Complete),
                    new XElement("objectsAdded", ObjectsAdded),
                    new XElement("objectsUpdated", ObjectsUpdated),
                    new XElement("objectsDeleted", ObjectsDeleted),
                    new XElement("parametersChanged", ParametersChanged),
                    new XElement("bytesCopied", BytesCopied)));

            string profileDir = Path.Combine(Environment.Instance.SiteReplicatorPath, _siteName);
            if (!FileHelper.FileSystem.Directory.Exists(_siteName))
            {
                FileHelper.FileSystem.Directory.CreateDirectory(profileDir);
            }

            using (Stream stream = FileHelper.FileSystem.File.Open(
                                        _filePath,
                                        FileMode.Create,
                                        FileAccess.ReadWrite,
                                        FileShare.Read))
            {
                doc.Save(stream);
            }
        }

Usage Example

        public void SaveStatusFileTest()
        {
            string profileName = "site";
            DateTime startTime = DateTime.Now;
            DateTime endTime = DateTime.Now.AddHours(1);

            StatusFileTestData[] tests = new StatusFileTestData[]
            {
                new StatusFileTestData(){
                    State = DeployState.Succeeded,
                    ObjectsAdded = 10,
                    ObjectsUpdated = 20,
                    ObjectsDeleted = 30,
                    ParametersChanged = 40,
                    BytesCopied = 50,
                    StartTime = DateTime.UtcNow,
                    EndTime = DateTime.UtcNow.AddHours(1),
                    Complete = true
                }
            };

            System.IO.Abstractions.FileBase MockFile = FileHelper.FileSystem.File;

            for (int i = 0; i < tests.Length; i++)
            {
                StatusFile statusFile = new StatusFile(profileName);
                statusFile.State = tests[i].State;
                statusFile.ObjectsAdded = tests[i].ObjectsAdded;
                statusFile.ObjectsUpdated = tests[i].ObjectsUpdated;
                statusFile.ObjectsDeleted = tests[i].ObjectsDeleted;
                statusFile.ParametersChanged = tests[i].ParametersChanged;
                statusFile.BytesCopied = tests[i].BytesCopied;
                statusFile.StartTime = tests[i].StartTime;
                statusFile.EndTime = tests[i].EndTime;
                statusFile.Complete = tests[i].Complete;

                statusFile.Save();

                Assert.IsTrue(MockFile.Exists(@"c:\" + profileName + @"\status.xml"));

                statusFile = new StatusFile(profileName);
                statusFile.LoadOrCreate();

                VerifyStatusFile(tests[i], statusFile);
            }
        }
All Usage Examples Of AzureSiteReplicator.Data.StatusFile::Save