/// <summary>
        /// Draws all the given trade routes.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void DrawTradeRoutes(object sender, HexagonGridDrawEventArgs e)
        {
            TradeRoute[] routes;
            PointF       start = new PointF();
            PointF       end   = new PointF();

            using (SectorContext db = new SectorContext())
            {
                if (db.routes.Count() > 0)
                {
                    //routes = (from r in db.routes
                    //		  select r).ToArray();
                    routes = db.routes.ToArray();
                }
                else
                {
                    routes = null;
                    //throw new Exception("Route count is zero!");
                }
            }

            if (routes != null)
            {
                foreach (TradeRoute r in routes)
                {
                    RegularHexagon hex1 = e.grid.Hexagons[r.star1Y, r.star1X];
                    RegularHexagon hex2 = e.grid.Hexagons[r.star2Y, r.star2X];

                    start = PointBetween(hex1.center, hex2.center, routePercentFromCenter);
                    end   = PointBetween(hex2.center, hex1.center, routePercentFromCenter);

                    e.gr.DrawLine(routePen, start, end);
                }
            }
        }
 private void DrawRegularHexagon_OnClick_Click(object sender, RoutedEventArgs e)
 {
     if (Point.CheckOutput(SetUpFirstXValue.Text) && Point.CheckOutput(SetUpFirstYValue.Text) && Point.CheckOutput(SetHexagonSide.Text))
     {
         int     firstPointX = Int32.Parse(SetUpFirstXValue.Text);
         int     firstPointY = Int32.Parse(SetUpFirstYValue.Text);
         int     side        = Int32.Parse(SetHexagonSide.Text);
         Point   firstPoint  = new Point(firstPointX, firstPointY);
         IFigure figure      = new RegularHexagon(firstPoint, side);
         Frame.Navigate(typeof(DrawFigure), figure);
     }
     else
     {
         SetUpFirstXValue.Text = "";
         SetUpFirstYValue.Text = "";
         SetHexagonSide.Text   = "";
     }
 }