public void ShowTables() { TableMapCanvas.Children.Clear(); OnMyWayDb = new OnMyWayDatabase(); TableList = new List <Table>(); var GetTablesQuery = from t in OnMyWayDb.Tables orderby t.TableId select t; foreach (Table table in GetTablesQuery) { TableList.Add(table); CreateNewTable(table.TablePositionX, table.TablePositionY, table.TableId, false); } }
public void CreateNewTable(double PosX = 666, double PosY = 350, int TableId = 0, bool Add = true) { Table NewTable = new Table(); OnMyWayDb = new OnMyWayDatabase(); NewTable.TableStatus = "Empty"; NewTable.table.Fill = EmptyTable; var GetSentTable = (from t in TableList where t.TableId == TableId select t).FirstOrDefault(); if (GetSentTable != null) { if (GetSentTable.TableStatus.Contains("Eating")) { NewTable.table.Fill = EatingTable; } } NewTable.TablePositionX = PosX; NewTable.TablePositionY = PosY; Point TablePosition = NewTable.table.TranslatePoint(new Point(0, 0), TableMapCanvas); Canvas.SetLeft(NewTable.table, NewTable.TablePositionX); Canvas.SetTop(NewTable.table, NewTable.TablePositionY); var TableSelectedQuery = (from t in OnMyWayDb.TableSelecteds where t.Id == 1 select t).FirstOrDefault(); MouseButtonEventHandler mouseUp = (sender, args) => { var UITableElement = (UIElement)sender; BBCodeBlock GoToTableOrder = new BBCodeBlock(); GoToTableOrder.LinkNavigator.Navigate(new Uri("/TableOrder.xaml", UriKind.Relative), this); TableSelectedQuery.TableId = TableId; OnMyWayDb.SaveChanges(); UITableElement.ReleaseMouseCapture(); }; MouseEventHandler mouseMove = (sender, args) => { TableInfo.IsExpanded = true; var TableToUpdate = (from t in TableList where t.TableId == TableId select t).FirstOrDefault(); TablePosition = NewTable.table.TranslatePoint(new Point(0, 0), TableMapCanvas); XPosition.Text = "Pos.X: " + TablePosition.X; YPosition.Text = "Pos.Y: " + TablePosition.Y; if (TableToUpdate != null) { TableIdTextBlock.Text = TableId.ToString(); TableStatus.Text = TableToUpdate.TableStatus; TableToUpdate.TablePositionX = TablePosition.X; TableToUpdate.TablePositionY = TablePosition.Y; var TableCurWaiter = (from w in OnMyWayDb.Waiters where w.WaiterId == TableToUpdate.TableWaiter select w).FirstOrDefault(); if (TableCurWaiter != null) { TableWaiterTextBlock.Text = TableCurWaiter.WaiterName + " " + TableCurWaiter.WaiterFirstname; } } }; Action <UIElement> Interact = (UITableElement) => { UITableElement.MouseMove += mouseMove; UITableElement.MouseUp += mouseUp; }; Interact(NewTable.table); TableMapCanvas.Children.Add(NewTable.table); if (Add) { TableList.Add(NewTable); } }