public static void Copy(int networkMapId)
        {
            var copy = XmlDal.DataModel.GetNetworkMap(networkMapId).Clone();

            XmlDal.DataModel.NetworkMappingModel.NetworkMaps.Add(copy);
            XmlDal.Save();
        }
示例#2
0
        public static void Save(ValueModel model)
        {
            Log.WriteEnter(typeof(ValueService).FullName, MethodBase.GetCurrentMethod().Name);
            var dataModel = XmlDal.DataModel;

            switch (model.Mode)
            {
            case InputMode.Add:
                model.Item.ValueId = XmlDal.DataModel.GetUniqueValueId();
                dataModel.ValuesModel.Values.Add(model.Item);
                break;

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

            case InputMode.Delete:
                dataModel.ValuesModel.Values.Remove(model.Item);
                break;
            }

            XmlDal.Save();
            XmlDal.DataModel.ValueCacheDataController.Invalidate();
        }
示例#3
0
        public void SaveAndLoad()
        {
            _WarbandRoster.Name = $"{warbandName}{"SaveAndLoad"}";
            DalProvider.Instance.Save(_WarbandRoster);
            IWarbandRoster roster = new XmlDal().LoadWarband(Path.Combine(XmlDal.STORAGE_PATH, $"{_WarbandRoster.Name}.xml"));

            Assert.IsNotNull(roster);

            IHero loadedHero = roster.Warriors.First() as IHero;

            Assert.AreEqual(_WitchHunterCaptain.Equipment.Count, loadedHero.Equipment.Count);
            Assert.AreEqual(_WitchHunterCaptain.Skills.Count, loadedHero.Skills.Count);

            IHenchMen loadedHenchMen1 = roster.Warriors.ElementAt(1) as IHenchMen;

            Assert.AreEqual(_ZealotGroup1.AmountInGroup, loadedHenchMen1.AmountInGroup);
            Assert.AreEqual(_ZealotGroup1.Equipment.Count, loadedHenchMen1.Equipment.Count);

            IHenchMen loadedHenchMen2 = roster.Warriors.ElementAt(2) as IHenchMen;

            Assert.AreEqual(_ZealotGroup2.AmountInGroup, loadedHenchMen2.AmountInGroup);
            Assert.AreEqual(_ZealotGroup2.Equipment.Count, loadedHenchMen2.Equipment.Count);

            IWizard loadedWizard = roster.Warriors.ElementAt(3) as IWizard;

            Assert.IsTrue(loadedWizard.DrawnSpells.Any(x => x.SpellName.Equals(nameof(TheHammerOfSigmar))));
        }
        /// <summary>
        /// Queues a Thread to Update the SockDrawer
        /// </summary>
        public static void Update(Action <TimeSpan> updateCompletedCallback, Action <IStatusModel> statusCallback, List <string> files, bool forceClear)
        {
            Validate();
            statusCallback(StatusModel.Update("Update Active Starting", null));

            ThreadPool.QueueUserWorkItem(UpdateAsync, new CallbackModel
            {
                UpdateCompletedCallback = updateCompletedCallback,
                StatusCallback          = statusCallback,
                SearchSockDrawer        = false,
                Files      = files,
                ForceClear = forceClear
            });
            XmlDal.Save();
        }
        /// <summary>
        /// Queues a Thread to Update the SockDrawer
        /// </summary>
        public static void Update(Action <TimeSpan> updateCompletedCallback, Action <IStatusModel> statusCallback, bool forceClear)
        {
            Validate();
            statusCallback(StatusModel.Update("Updating Sock Drawer..."));

            ThreadPool.QueueUserWorkItem(UpdateAsync, new CallbackModel
            {
                UpdateCompletedCallback = updateCompletedCallback,
                StatusCallback          = statusCallback,
                SearchSockDrawer        = true,
                Files      = XmlDal.CacheModel.Files.Select(n => n.Path).ToList(),
                ForceClear = forceClear
            });
            XmlDal.Save();
        }
示例#6
0
        public static void Shutdown()
        {
            View.StatusUpdate(StatusModel.StartStopWatch);
            View.StatusUpdate(StatusModel.Update("Closing"));

            // ReSharper disable AssignNullToNotNullAttribute
            var configFile = DataPath.GetConfigFilePath();
            // ReSharper restore AssignNullToNotNullAttribute

            var path = Path.GetDirectoryName(configFile);

            if (path != null)
            {
                if (!Directory.Exists(path))
                {
                    Directory.CreateDirectory(path);
                }
            }
            else
            {
                throw new Exception("DockPanel.config path is null");
            }

            if (SkipSaveLayout)
            {
                if (File.Exists(configFile))
                {
                    File.Delete(configFile);
                }
            }
            else
            {
                View.DockPanel.SaveAsXml(configFile);
            }

            SaveRestoreOpenDocuments();

            XmlDal.Save();
        }
        public static void Save(EventModel model)
        {
            Log.WriteEnter(typeof(FileService).FullName, MethodBase.GetCurrentMethod().Name);
            var stopwatch = new Stopwatch("Save EventPattern");

            try
            {
                var data = XmlDal.DataModel;

                switch (model.Mode)
                {
                case InputMode.Add:
                    model.Item.EventId = data.GetUniqueEventId();
                    ValidEventName(model.Item.Name, -1);
                    data.EventsModel.Events.Add(model.Item);
                    break;

                case InputMode.Edit:
                    ValidEventName(model.Item.Name, model.Item.EventId);
                    var item = data.GetEvent(model.Item.EventId);
                    item.Clone(model.Item);
                    break;

                case InputMode.Delete:
                    data.EventsModel.Events.Remove(model.Item);
                    break;
                }

                XmlDal.Save();
                XmlDal.DataModel.EventCacheDataController.Invalidate();
            }
            finally
            {
                stopwatch.Stop();
            }
        }
        public static void Save(HideOptionModel model)
        {
            var data = XmlDal.DataModel;

            switch (model.Mode)
            {
            case InputMode.Add:
                model.Item.HideOptionId = data.GetUniqueHideOptionId();
                data.HideOptionsModel.Options.Add(model.Item);
                break;

            case InputMode.Edit:
                var item = data.GetHideOption(model.Item.HideOptionId);
                item.Name = model.Item.Name;
                break;

            case InputMode.Delete:
                data.HideOptionsModel.Options.Remove(model.Item);
                break;
            }

            XmlDal.Save();
            XmlDal.DataModel.HideOptionCacheDataController.Invalidate();
        }
        public static void Save(CategoryModel model)
        {
            var data = XmlDal.DataModel;

            switch (model.Mode)
            {
            case InputMode.Add:
                model.Item.CategoryId = data.GetUniqueCategoryId();
                data.CategoriesModel.Categories.Add(model.Item);
                break;

            case InputMode.Edit:
                var item = data.GetCategory(model.Item.CategoryId);
                item.Name = model.Item.Name;
                break;

            case InputMode.Delete:
                data.CategoriesModel.Categories.Remove(model.Item);
                break;
            }

            XmlDal.Save();
            XmlDal.DataModel.CategoryCacheDataController.Invalidate();
        }
示例#10
0
 public static void LoadDataFile()
 {
     XmlDal.Load();
 }