Beispiel #1
0
        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);
            }
        }
Beispiel #2
0
        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);
            }
        }