コード例 #1
0
        public void DeletePoint(int id)
        {
            var     forgeDatabase = Global.Instance.ForgeDatabase();
            PUSHPIN pushpin       = forgeDatabase.PushPins.Single(p => p.ID == id);



            if (pushpin.MapID != null && pushpin.MapID > 0)
            {
                var mapID = pushpin.MapID;
                MAP map   = forgeDatabase.Maps.Single(m => m.ID == mapID);

                //MessageBox.Show(map.ID.ToString());

                if (File.Exists(map.Path))
                {
                    File.Delete(map.Path);
                }

                forgeDatabase.PushPins.DeleteOnSubmit(pushpin);
                forgeDatabase.SubmitChanges();

                forgeDatabase.Maps.DeleteOnSubmit(map);
                forgeDatabase.SubmitChanges();

                PopulatePushPinCollection();
            }
            else
            {
                forgeDatabase.PushPins.DeleteOnSubmit(pushpin);
                forgeDatabase.SubmitChanges();

                PopulatePushPinCollection();
            }
        }
コード例 #2
0
        private void AcceptDialog(object sender, RoutedEventArgs e)
        {
            if (!Validation.GetHasError(PushPinName))
            {
                if (_mapLocationLoaded)
                {
                    //Save Map to Database
                    SaveMap();

                    _mapName = MapName.Text;

                    int.TryParse(MapWidth.Text, out _mapWidth);
                    int.TryParse(MapHeight.Text, out _mapHeight);

                    var forgeDatabase = Global.Instance.ForgeDatabase();
                    MAP map           = new MAP()
                    {
                        StoryID   = _storyID,
                        ParentID  = _parentMapID,
                        Name      = _mapName,
                        Path      = _mapPath,
                        Width     = _mapWidth,
                        Height    = _mapHeight,
                        IsBaseMap = _isBaseMap
                    };
                    forgeDatabase.Maps.InsertOnSubmit(map);
                    forgeDatabase.SubmitChanges();

                    MAP newMap = forgeDatabase.Maps.Single(m => m.Path.Contains(_mapPath));

                    int newMapID = newMap.ID;
                    _mapID = newMapID;
                    List <LAYER> layers = new List <LAYER>
                    {
                        new LAYER
                        {
                            MapID  = newMapID,
                            Name   = "Base Map Layer",
                            ZIndex = "60"
                        },

                        new LAYER
                        {
                            MapID  = newMapID,
                            Name   = "Point Layer",
                            ZIndex = "70"
                        },

                        new LAYER
                        {
                            MapID  = newMapID,
                            Name   = "Region Layer",
                            ZIndex = "80"
                        },

                        new LAYER
                        {
                            MapID  = newMapID,
                            Name   = "Relation Layer",
                            ZIndex = "90"
                        }
                    };


                    forgeDatabase.Layers.InsertAllOnSubmit(layers);
                    forgeDatabase.SubmitChanges();
                }

                string pushPinName = PushPinName.Text;

                var     forgeDatabasePushPin = Global.Instance.ForgeDatabase();
                PUSHPIN pushpin = new PUSHPIN()
                {
                    LayerID     = _layerID,
                    Top         = _pushPinTop,
                    Left        = _pushPinLeft,
                    Name        = pushPinName,
                    Color       = _pushPinColor,
                    MapID       = _mapID,
                    EncounterID = _encounterID,
                    EventID     = _eventID
                };

                forgeDatabasePushPin.PushPins.InsertOnSubmit(pushpin);
                forgeDatabasePushPin.SubmitChanges();

                IoC.Get <IEventAggregator>().PublishOnUIThread("AcceptAddPushPinDialog");
                IoC.Get <IEventAggregator>().PublishOnUIThread("AcceptRootDialog");
            }
        }