Exemple #1
0
        public void NetworkMapModelClass_Constructor_SetsSignalboxesPropertyToEmptyCollection()
        {
            NetworkMapModel testOutput = new NetworkMapModel();

            Assert.IsNotNull(testOutput.Signalboxes);
            Assert.AreEqual(0, testOutput.Signalboxes.Count);
        }
Exemple #2
0
        /// <summary>
        /// Convert a <see cref="TimetableDocument"/> instance to a <see cref="TimetableFileModel"/> for serialization.
        /// </summary>
        /// <param name="document">The instance to be converted.</param>
        /// <returns>The data prepared for serialization.</returns>
        public static TimetableFileModel ToTimetableFileModel(this TimetableDocument document)
        {
            if (document is null)
            {
                throw new ArgumentNullException(nameof(document));
            }

            TimetableFileModel fileModel = new TimetableFileModel
            {
                Version = Versions.CurrentTimetableDocument,

                Options          = document.Options.ToDocumentOptionsModel(),
                ExportOptions    = document.ExportOptions.ToExportOptionsModel(),
                Title            = document.Title,
                Subtitle         = document.Subtitle,
                DateDescription  = document.DateDescription,
                WrittenBy        = document.WrittenBy,
                CheckedBy        = document.CheckedBy,
                TimetableVersion = document.TimetableVersion,
                PublishedDate    = document.PublishedDate,
            };

            NetworkMapModel nmm = new NetworkMapModel();

            nmm.LocationList.AddRange(document.LocationList.Select(l => l.ToLocationModel()));
            nmm.Signalboxes.AddRange(document.Signalboxes.Select(b => b.ToSignalboxModel()));
            fileModel.Maps.Add(nmm);
            fileModel.NoteDefinitions.AddRange(document.NoteDefinitions.Select(n => n.ToNoteModel()));
            fileModel.TrainClassList.AddRange(document.TrainClassList.Select(tc => tc.ToTrainClassModel()));
            fileModel.TrainList.AddRange(document.TrainList.Select(t => t.ToTrainModel()));
            fileModel.SignalboxHoursSets.AddRange(document.SignalboxHoursSets.Select(h => h.ToSignalboxHoursSetModel()));

            return(fileModel);
        }
Exemple #3
0
        public void NetworkMapModelClass_Constructor_SetsLocationListPropertyToEmptyCollection()
        {
            NetworkMapModel testOutput = new NetworkMapModel();

            Assert.IsNotNull(testOutput.LocationList);
            Assert.AreEqual(0, testOutput.LocationList.Count);
        }
        private bool Add(NetworkMapModel model)
        {
            var window = new AddEditNetworkMap(this);

            window.Render(model);
            return(window.ShowDialog() == DialogResult.OK);
        }
        private static NetworkMapModel BuildNetworkMapModel(IEnumerable <Location> locations)
        {
            NetworkMapModel model = new NetworkMapModel();

            model.LocationList.AddRange(locations.Select(c => c.ToYamlLocationModel()));
            return(model);
        }
        public static void Save(NetworkMapModel model)
        {
            Log.WriteEnter(typeof(NetworkMapService).FullName, MethodBase.GetCurrentMethod().Name);
            var dataModel = XmlDal.DataModel;

            switch (model.Mode)
            {
            case InputMode.Add:
                model.Item.NetworkMapId = XmlDal.DataModel.GetUniqueNetworkMapId();
                dataModel.NetworkMappingModel.NetworkMaps.Add(model.Item);
                break;

            case InputMode.Edit:
                var item = dataModel.GetNetworkMap(model.Item.NetworkMapId);
                item.Copy(model.Item);
                break;

            case InputMode.Delete:
                dataModel.NetworkMappingModel.NetworkMaps.Remove(model.Item);
                break;
            }

            XmlDal.Save();
            XmlDal.DataModel.NetworkMapCacheDataController.Invalidate();
        }
 public void Save(NetworkMapModel model)
 {
     NetworkMapService.Save(model);
     if (View != null)
     {
         View.UpdateView(model);
     }
 }
Exemple #8
0
        private static NetworkMapModel BuildNetworkMapModel(TimetableDocument doc)
        {
            NetworkMapModel model = new NetworkMapModel();

            model.LocationList.AddRange(doc.LocationList.Select(c => c.ToYamlLocationModel()));
            model.Signalboxes.AddRange(doc.Signalboxes.Select(b => b.ToYamlSignalboxModel()));
            return(model);
        }
        public static NetworkMapModel Delete(int networkMapId)
        {
            var model = new NetworkMapModel
            {
                Mode = InputMode.Delete,
                Item = XmlDal.DataModel.GetNetworkMap(networkMapId)
            };

            Save(model);
            return(model);
        }
        /// <summary>
        /// Convert a <see cref="DocumentTemplate" /> instance to a <see cref="TimetableDocumentTemplateModel" /> instance.
        /// </summary>
        /// <param name="template">The object to be converted.</param>
        /// <returns>A <see cref="TimetableDocumentTemplateModel" /> instance containing the same data as the original object in serialisable form.</returns>
        /// <exception cref="NullReferenceException">Thrown if the parameter is null.</exception>
        public static TimetableDocumentTemplateModel ToYamlTimetableDocumentTemplateModel(this DocumentTemplate template)
        {
            if (template is null)
            {
                throw new NullReferenceException();
            }

            TimetableDocumentTemplateModel tdtm = new TimetableDocumentTemplateModel
            {
                DefaultExportOptions = template.ExportOptions.ToYamlExportOptionsModel(),
                DefaultOptions       = template.DocumentOptions.ToYamlDocumentOptionsModel(),
            };
            NetworkMapModel nmm = new NetworkMapModel();

            nmm.LocationList.AddRange(template.Locations.Select(c => c.ToYamlLocationModel()));
            nmm.Signalboxes.AddRange(template.Signalboxes.Select(b => b.ToYamlSignalboxModel()));
            tdtm.Maps.Add(nmm);
            tdtm.NoteDefinitions.AddRange(template.NoteDefinitions.Select(n => n.ToYamlNoteModel()));
            tdtm.TrainClasses.AddRange(template.TrainClasses.Select(c => c.ToYamlTrainClassModel()));
            return(tdtm);
        }
        /// <summary>
        /// Convert a <see cref="DocumentTemplate"/> instance into a <see cref="TimetableDocumentTemplateModel"/> instance.
        /// </summary>
        /// <param name="template">The <see cref="DocumentTemplate"/> to be converted.</param>
        /// <returns>A <see cref="TimetableDocumentTemplateModel"/> instance representing the parameter.</returns>
        public static TimetableDocumentTemplateModel ToTimetableDocumentTemplateModel(this DocumentTemplate template)
        {
            if (template is null)
            {
                throw new ArgumentNullException(nameof(template));
            }

            TimetableDocumentTemplateModel model = new TimetableDocumentTemplateModel
            {
                DefaultExportOptions = template.ExportOptions.ToExportOptionsModel(),
                DefaultOptions       = template.DocumentOptions.ToDocumentOptionsModel(),
            };
            NetworkMapModel nmm = new NetworkMapModel();

            nmm.LocationList.AddRange(template.Locations.Select(c => c.ToLocationModel()));
            model.Maps.Add(nmm);
            model.NoteDefinitions.AddRange(template.NoteDefinitions.Select(n => n.ToNoteModel()));
            model.TrainClasses.AddRange(template.TrainClasses.Select(c => c.ToTrainClassModel()));
            model.Signalboxes.AddRange(template.Signalboxes.Select(s => s.ToSignalboxModel()));
            return(model);
        }
        public void Render(NetworkMapModel model)
        {
            Model = model;
            var i = model.Item;

            tbExpression.Text            = i.RegularExpression;
            tbCriteriaName.Text          = i.Name;
            nudPriority.Text             = i.Priority.ToString();
            cbOnlyUseFallthrough.Checked = i.OnlyUseFallThrough;
            cbEnabled.Checked            = i.Enabled;
            switch (model.Mode)
            {
            case InputMode.Add:
                Text = @"Add Network Map";
                break;

            case InputMode.Edit:
                Text = @"Edit Network Map";
                break;
            }
            RenderCriteria(i.Criteria);
        }
        public void UpdateView(NetworkMapModel model)
        {
            switch (model.Mode)
            {
            case InputMode.Add:
                lbNetworkMaps.Items.Add(model.Item);
                lbNetworkMaps.SelectedIndex = lbNetworkMaps.Items.Count - 1;
                break;

            case InputMode.Edit:
                var index = lbNetworkMaps.SelectedIndex;
                if (index > -1)
                {
                    lbNetworkMaps.Items[index] = model.Item;
                }
                break;

            case InputMode.Delete:
                lbNetworkMaps.Items.Remove(model.Item);
                break;
            }

            SelectNetworkMap();
        }
Exemple #14
0
        public void NetworkMapModelClass_Constructor_CreatesObjectWithSignalboxesPropertyThatIsNotNull()
        {
            NetworkMapModel testOutput = new NetworkMapModel();

            Assert.IsNotNull(testOutput.Signalboxes);
        }
Exemple #15
0
        public void NetworkMapModelClass_Constructor_CreatesObjectWithBlockSectionsPropertyThatIsNotNull()
        {
            NetworkMapModel testOutput = new NetworkMapModel();

            Assert.IsNotNull(testOutput.BlockSections);
        }
Exemple #16
0
        public void NetworkMapModelClass_Constructor_CreatesObjectWithLocationListPropertyThatIsNotNull()
        {
            NetworkMapModel testOutput = new NetworkMapModel();

            Assert.IsNotNull(testOutput.LocationList);
        }