Beispiel #1
0
        public void RefreshView()
        {
            Root = new RootElement(model.SelectedCalendar?.Title ?? "No Default Calendar");
            int sections = model.EventDates.Count;

            for (int i = 0; i < sections; i++)
            {
                var      section         = new Section(GetCaption(i));
                DateTime date            = model.EventDates.ElementAt(i);
                int      sectionElements = model.eventDateToEventsDictionary [date].Count;

                for (int row = 0; row < sectionElements; row++)
                {
                    var eventsWithStartDate = model.eventDateToEventsDictionary [date];
                    var evt = eventsWithStartDate.ElementAt(row);

                    // Configure the cell.
                    var dt    = (DateTime)evt.StartDate;
                    var local = TimeZone.CurrentTimeZone.ToLocalTime(dt);

                    string votes = "";
                    if (model.AreNotesInteger(evt))
                    {
                        votes = "Votes: " + evt.Notes;
                    }

                    var entry = new StyledStringElement(local.ToShortTimeString(), votes, UITableViewCellStyle.Value1);

                    entry.Tapped += delegate {
                        var controller = new EKEventViewController();
                        controller.Event         = EventAtIndexPath(entry.IndexPath);
                        controller.AllowsEditing = true;
                        controller.Completed    += (object sender, EKEventViewEventArgs e) =>
                        {
                            model.FetchPokerEvents();
                        };

                        NavigationController.PushViewController(controller, true);
                    };

                    entry.Accessory = UITableViewCellAccessory.DetailDisclosureButton;

                    entry.AccessoryTapped += delegate {
                        var ekevent = EventAtIndexPath(entry.IndexPath);
                        model.IncreaseVoteOnEvent(ekevent);
                    };

                    section.Add(entry);
                }

                Root.Add(section);
            }
        }
		public void RefreshView ()
		{
			Root = new RootElement (model.SelectedCalendar.Title);
			int sections = model.EventDates.Count;

			for (int i = 0; i < sections; i++) {
				var section = new Section (GetCaption (i));
				DateTime date = model.EventDates.ElementAt (i);
				int sectionElements = model.eventDateToEventsDictionary [date].Count;

				for (int row = 0; row < sectionElements; row++) {
					var eventsWithStartDate = model.eventDateToEventsDictionary [date];
					var evt = eventsWithStartDate.ElementAt (row);

					// Configure the cell.
					var dt = (DateTime) evt.StartDate;
					var local = TimeZone.CurrentTimeZone.ToLocalTime (dt);

					string votes = "";
					if (model.AreNotesInteger (evt))
						votes = "Votes: " + evt.Notes;

					var entry = new StyledStringElement (local.ToShortTimeString (), votes, UITableViewCellStyle.Value1);

					entry.Tapped += delegate {
						var controller = new EKEventViewController ();
						controller.Event = EventAtIndexPath (entry.IndexPath);
						controller.AllowsEditing = true;
						controller.Completed += (object sender, EKEventViewEventArgs e) => 
						{
							model.FetchPokerEvents ();
						};
						
						NavigationController.PushViewController (controller, true);
					};
				
					entry.Accessory = UITableViewCellAccessory.DetailDisclosureButton;

					entry.AccessoryTapped += delegate {
						var ekevent = EventAtIndexPath (entry.IndexPath);
						model.IncreaseVoteOnEvent (ekevent);
					};

					section.Add (entry);
				}

				Root.Add (section);
			}
		}