示例#1
0
        private void ShowEvents()
        {
            IList <Event> eventsList = databaseClass.GetEventsList();

            //eventsListPerDay = TransformToEventsListPerDay(eventsList);
            IEnumerable <Event> queryeventsListPerDay = eventsList.OrderBy(evt => evt.DateFrom);

            eventsListPerDay = queryeventsListPerDay.ToList();

            string[] Month = { "Jan", "Fev", "Mar", "Avr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" };

            DateTime ThisDay = eventsListPerDay[0].DateFrom;

            //create panoramaItem and the ListBox
            List <ListBox> Listlistbox = new List <ListBox>();

            Listlistbox.Add(new ListBox());

            List <PivotItem> Listpivotitem = new List <PivotItem>();

            Listpivotitem.Add(new PivotItem());
            Listpivotitem[0].Header = ThisDay.DayOfWeek.ToString().Substring(0, 3)
                                      + "," + Month[ThisDay.Month - 1]
                                      + " " + ThisDay.Day.ToString();

            Listpivotitem[0].Content = Listlistbox[0];
            pivotControl.Items.Add(Listpivotitem[0]);

            int listboxindex = 0;

            for (int i = 0; i < eventsListPerDay.Count; i++)// Event evnt in eventsListPerDay)
            {
                //look for events of today from EventsList
                Event evnt = eventsListPerDay[i];

                TextBlock textBlockHour = new TextBlock();
                textBlockHour.Text = evnt.DateFrom.Hour.ToString()
                                     + ":" + evnt.DateFrom.Minute.ToString()
                                     + " to " + evnt.DateTo.Hour.ToString()
                                     + ":" + evnt.DateTo.Minute.ToString();
                textBlockHour.Foreground = new SolidColorBrush(Colors.Magenta);
                textBlockHour.FontSize   = 20;

                TextBlock textBlockNameAndPlace = new TextBlock();
                textBlockNameAndPlace.Text       = evnt.EventName.ToString() + "\n " + evnt.EventPlace.ToString();
                textBlockNameAndPlace.Foreground = new SolidColorBrush(Colors.White);
                textBlockNameAndPlace.FontSize   = 20;

                StackPanel stackPanel1 = new StackPanel();
                stackPanel1.Width = 311;
                stackPanel1.Children.Add(textBlockHour);
                stackPanel1.Children.Add(textBlockNameAndPlace);

                Button button = new Button();
                button.Background      = new SolidColorBrush(Colors.Red);
                button.Height          = 100;
                button.Width           = 90;
                button.BorderThickness = new Thickness(0, 0, 0, 0);
                button.Margin          = new Thickness(0, 0, 9, 0);
                button.Name            = eventsListPerDay[i].EventID.ToString();
                button.Click          += new RoutedEventHandler(button_Click);

                StackPanel stackPanel2 = new StackPanel();
                stackPanel2.Orientation = System.Windows.Controls.Orientation.Horizontal;
                stackPanel2.Children.Add(button);
                stackPanel2.Children.Add(stackPanel1);

                if (evnt.DateFrom.Day == ThisDay.Day)
                {
                    Listlistbox[listboxindex].Items.Add(stackPanel2);
                }

                else
                {
                    listboxindex++;
                    ThisDay = eventsListPerDay[i].DateFrom;
                    i--;

                    Listpivotitem.Add(new PivotItem());
                    Listpivotitem[listboxindex].Header = ThisDay.DayOfWeek.ToString().Substring(0, 3)
                                                         + "," + Month[ThisDay.Month - 1]
                                                         + " " + ThisDay.Day.ToString();
                    Listlistbox.Add(new ListBox());
                    Listpivotitem[listboxindex].Content = Listlistbox[listboxindex];

                    pivotControl.Items.Add(Listpivotitem[listboxindex]);
                }
            }
        }