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(); } }
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"); } }