Ejemplo n.º 1
0
        /// <summary>
        /// Save the beastie file.
        /// </summary>
        /// <param name="beastieFile">serialisable object to save</param>
        public void Save(Beastie beastieFile)
        {
            if (string.IsNullOrWhiteSpace(beastieFile.Name))
            {
                this.logger.WriteLine(
                    $"Error saving beastie file, filename is null or empty");
                return;
            }

            string path = $"{DataPath.BeastieDataPath}";

            if (!Directory.Exists(path))
            {
                Directory.CreateDirectory(path);
            }

            try
            {
                XmlFileIo.WriteXml(
                    beastieFile,
                    $"{path}\\{beastieFile.Name}.xml");
            }
            catch (Exception ex)
            {
                this.logger.WriteLine(
                    $"Error saving {beastieFile.Name}: {ex}");
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Serialise the <see cref="ClassDetails"/> to <parmref name="filename"/>.
        /// </summary>
        /// <param name="file">file to serialise</param>
        /// <param name="filename">location to save the file to</param>
        public void Write(
            ClassDetails file,
            string filename)
        {
            string myPath = BasePathReader.GetBasePath() + StaticResources.classDetailsPath + filename + XmlExtensionLabel;

            XmlFileIo.WriteXml <ClassDetails>(
                file,
                myPath);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Save the points table
        /// </summary>
        /// <param name="seasonName">season name</param>
        /// <param name="eventName">event name</param>
        /// <param name="resultsTable">points table</param>
        public bool SaveResultsTable(
            string seasonName,
            string eventName,
            List <IResultsTableEntry> resultsTable)
        {
            bool success = true;

            try
            {
                ResultsTableRoot rootElement = new ResultsTableRoot();

                XDocument writer = new XDocument(
                    new XDeclaration("1.0", "uft-8", "yes"),
                    new XComment("Results Table XML"));

                foreach (ResultsTableEntry entry in resultsTable)
                {
                    Row entryElement =
                        new Row(
                            entry.Key,
                            entry.Name,
                            entry.Club,
                            entry.Handicap.ToString(),
                            entry.Notes,
                            entry.ExtraInfo,
                            entry.Order,
                            entry.PB,
                            entry.SB,
                            entry.Points.ToString(),
                            entry.HarmonyPoints,
                            entry.RaceNumber,
                            entry.RunningOrder,
                            entry.Time.ToString(),
                            entry.Sex);

                    rootElement.Add(entryElement);
                }

                string fileName =
                    ResultsTableReader.GetPath(
                        seasonName,
                        eventName);
                XmlFileIo.WriteXml <ResultsTableRoot>(
                    rootElement,
                    fileName);
            }

            catch (XmlException ex)
            {
                this.logger.WriteLog($"Error writing results table file: {ex.XmlMessage}");
                success = false;
            }

            return(success);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Save the current model.
        /// </summary>
        /// <returns>success flag</returns>
        public bool Save()
        {
            if (string.IsNullOrWhiteSpace(this.Observations.GetLocation()))
            {
                string faultString = "Can't save, no location provided.";

                logger.WriteLine($"Event Entry Save: {faultString}");

                AppStatusMessage message =
                    new AppStatusMessage(
                        faultString);
                Messenger.Default.Send(message);

                return(false);
            }

            string path = $"{DataPath.RawDataPath}\\{this.Observations.Year}";

            if (!Directory.Exists(path))
            {
                Directory.CreateDirectory(path);
            }

            try
            {
                XmlFileIo.WriteXml(
                    this.Observations.GetObservations(),
                    $"{path}\\{this.Observations.Filename}");
            }
            catch (Exception ex)
            {
                string           errorDescription = $"Error saving {this.Observations.Filename}";
                AppStatusMessage message          =
                    new AppStatusMessage(
                        errorDescription);
                Messenger.Default.Send(message);

                this.logger.WriteLine(
                    $"Event Entry Save : {errorDescription}: {ex}");
            }

            this.Observations.Reset();

            return(true);
        }