private void DataGrid_PreviewKeyDown(object sender, KeyEventArgs e) { if (e.Key == Key.Delete) { var dataGrid = (DataGrid)sender; if (dataGrid.SelectedItems.Count > 0) { NetObject netObject = (NetObject)dataGrid.SelectedItems[0]; int recipientId = 0; if (netObject.GetType() == typeof(Project)) { recipientId = 12; } else if (netObject.GetType() == typeof(Todo)) { recipientId = 10; } else { throw new Exception("Unknown New Type"); } DataItemDeleted data = new DataItemDeleted() { PK = netObject.pId, Type = netObject.GetType().ToString() }; tornado14Observer.Send(new Package(SENDERID, recipientId, (int)EventMapping.DataItemDeleted_19, Method.DELETE, XmlSerializationHelper.Serialize(data))); } } }
private void DataGrid_CellEditEnding(object sender, DataGridCellEditEndingEventArgs e) { NetObject netObject = (NetObject)e.Row.Item; if (netObject != null && e.Column.SortMemberPath != null) { int recipientId = 0; if (e.Row.Item.GetType() == typeof(Project)) { recipientId = 12; } else if (e.Row.Item.GetType() == typeof(Todo)) { recipientId = 10; } else { throw new Exception("Unknown New Type"); } DataItemChanged data = new DataItemChanged() { PK = netObject.pId, PropertyName = e.Column.SortMemberPath, Value = ((TextBox)e.EditingElement).Text, Type = netObject.GetType().ToString() }; tornado14Observer.Send(new Package(SENDERID, recipientId, (int)EventMapping.DataItemChanged_13, Method.PUT, XmlSerializationHelper.Serialize(data))); } else { throw new Exception("Todo or Property Name is Empty."); } }
private void DataGrid_CurrentCellChanged(object sender, EventArgs e) { DataGrid grid = (DataGrid)sender; NetObject selectedNetObject = null; if (grid.CurrentCell.Item.GetType() == typeof(Project)) { selectedNetObject = selectedProject; } else if (grid.CurrentCell.Item.GetType() == typeof(Todo)) { selectedNetObject = selectedTodo; } else { return; } if (selectedNetObject == null || selectedNetObject.pId != ((NetObject)grid.CurrentCell.Item).pId) { NetObject netObject = (NetObject)grid.CurrentCell.Item; if (netObject.pId != Guid.Empty) { CurrentItemChanged data = new CurrentItemChanged() { PK = netObject.pId, Type = netObject.GetType().ToString() }; tornado14Observer.Send(new Package(SENDERID, 12, (int)EventMapping.CurrentItemChanged_15, Method.PUT, XmlSerializationHelper.Serialize(data))); if (selectedTodo != null) { todoViewSource.View.Refresh(); todoViewSource.View.MoveCurrentTo(selectedTodo.pId); } } selectedNetObject = (NetObject)grid.CurrentCell.Item; } }
private void DataGrid_InitializingNewItem(object sender, InitializingNewItemEventArgs e) { if (e.NewItem != null) { int recipientId = 0; NetObject netObject = (NetObject)e.NewItem; netObject.pId = Guid.NewGuid(); List <NetObject> objectList = new List <NetObject>(); if (e.NewItem.GetType() == typeof(Project)) { objectList = ProjectList.ToList <NetObject>(); recipientId = 12; } else if (e.NewItem.GetType() == typeof(Todo)) { objectList = TodoList.ToList <NetObject>(); ((Todo)e.NewItem).ProjectPid = selectedProject.pId; recipientId = 10; } else { throw new Exception("Unknown New Type"); } int maxCount = 0; string prefix = ""; foreach (NetObject p in objectList) { try { string[] idSplit = p.Id.Split('-'); int value = int.Parse(idSplit[1]); if (maxCount < value) { maxCount = value; if (idSplit[0].Length > 0) { prefix = idSplit[0] + "-"; } } } catch (Exception ex) { } } maxCount++; string newId = string.Format("{0}{1}", prefix, maxCount); ((NetObject)e.NewItem).Id = newId; DataItemAdded data = new DataItemAdded() { PK = netObject.pId, Id = newId, Type = netObject.GetType().ToString() }; tornado14Observer.Send(new Package(SENDERID, recipientId, (int)EventMapping.DataItemAdded_18, Method.POST, XmlSerializationHelper.Serialize(data))); if (e.NewItem.GetType() == typeof(Todo)) { DataItemChanged dataChanged = new DataItemChanged() { PK = netObject.pId, PropertyName = "ProjectPid", Type = typeof(Todo).ToString(), Value = selectedProject.pId }; tornado14Observer.Send(new Package(SENDERID, recipientId, (int)EventMapping.DataItemChanged_13, Method.PUT, XmlSerializationHelper.Serialize(dataChanged))); } } }
public void ThreatData() { NetObject[] pending = null; lock (this.PendingDataLocker) { pending = this.PendingData.ToArray(); this.PendingData.Clear(); } Parallel.For(0, pending.Length, i => //for(int i = 0; i < pending.Length; i++) { NetObject nobj = pending[i]; if (nobj.GetType() == typeof(NetPing)) { if (!FirstPingReceived) { FirstPingReceived = true; //send auth on first data received. new NetPlayer(Player.LocalPlayer).Send(Client.Client); } } else if (nobj is NetChunk nchunk) { World.GetOrCreateChunk(nchunk); } else if (nobj is NetPlayer nplay) { Player existingP = Player.Find(nplay.Nickname); if (existingP == null) { PlayerEntity existingE = (PlayerEntity)Entity.Get(EGuid.UniqueFromString(nplay.Nickname)); existingP = new Player(nplay.Nickname); if (existingE != null) { existingP.Entity = existingE; } else { existingP.CreateEntity(new WObject(nplay.Nickname)); } //existingP.CreateNonLocalElements(); } } else if (nobj is NetEntity nent) { Entity ent = nent.Parse(); //todo if not netplayer.... } else if (nobj is NetCamera ncam) { Player.LocalPlayer.CameraAngles = ncam.Angles; } pending[i].Delete(); }); }