コード例 #1
0
        public MainViewModel()
        {
            var allSessions = App.CodeCampService.Repository.GetSessions();

            Overview = new CampOverviewViewModel(allSessions);

            FullSchedule = new FullScheduleViewModel(allSessions);

            Speakers =
                App.CodeCampService.Repository.GetSpeakers()
                .OrderBy(speaker => speaker.Name)
                .ToList();

            var sponsors = App.CodeCampService.Repository.GetSponsors();
            var tiers    = App.CodeCampService.Repository.GetSponsorTiers();

            Sponsors = new SponsorListViewModel(tiers, sponsors);

            Tags =
                App.CodeCampService.Repository.GetTags()
                .OrderBy(tag => tag)
                .ToList();

            Rooms = App.CodeCampService.Repository.GetRooms();
        }
コード例 #2
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            SetContentView(Resource.Layout.Sessions);

            var allSessions = CodeCampApplication.CodeCampService.Repository.GetSessions();
            var viewModel   = new FullScheduleViewModel(allSessions);

            var sessionsList = FindViewById <ListView>(Resource.Id.Sessions);

            _adapter                = new SessionListAdapter(this, viewModel.Schedule);
            sessionsList.Adapter    = _adapter;
            sessionsList.ItemClick += sessionsList_ItemClick;
        }
コード例 #3
0
        private bool BuildGrid(int schedNum)
        {
            if (schedNum < 1)
            {
                return(false);
            }
            FullScheduleViewModel viewModel = new FullScheduleViewModel(schedNum);

            try
            {
                DataContext = viewModel;
            }
            catch (Exception)
            {
                throw;
            }
            int maxWeeks = ((FullScheduleViewModel)DataContext).Schedule.Weeks;
            Dictionary <string, string[]> nutes = viewModel.WeeksAndDoses;

            Style TextBlockStyle      = (Style)Application.Current.Resources["SmallGreenTextBlock"];
            Style frameStyle          = (Style)Application.Current.Resources["ScheduleFrame"];
            Style TextBlockTitleStyle = (Style)Application.Current.Resources["HeaderGreenTextBlock"];

            UniformGrid grid = new UniformGrid
            {
                Rows          = viewModel.WeeksAndDoses.Count(),
                Columns       = viewModel.WeekAndDosesCount + 1,
                FlowDirection = FlowDirection.LeftToRight,
                Height        = (viewModel.WeeksAndDoses.Count() * 40)
            };

            Grid.SetColumn(grid, 1);

            foreach (var item in viewModel.WeeksAndDoses)
            {
                TextBlock nuteNameTextBlock = new TextBlock()
                {
                    Text                = item.Key,
                    Style               = TextBlockStyle,
                    TextAlignment       = TextAlignment.Center,
                    HorizontalAlignment = HorizontalAlignment.Center,
                    VerticalAlignment   = VerticalAlignment.Center,
                    TextWrapping        = TextWrapping.WrapWholeWords
                };

                grid.Children.Add(new Border()
                {
                    Child           = nuteNameTextBlock,
                    BorderBrush     = new SolidColorBrush(Colors.Black),
                    BorderThickness = new Thickness(1)
                });

                foreach (string dose in item.Value)
                {
                    TextBlock doseNameTextBlock = new TextBlock()
                    {
                        Text                = dose,
                        Style               = TextBlockStyle,
                        TextAlignment       = TextAlignment.Center,
                        HorizontalAlignment = HorizontalAlignment.Center,
                        VerticalAlignment   = VerticalAlignment.Center
                    };
                    grid.Children.Add(new Border()
                    {
                        Child           = doseNameTextBlock,
                        BorderBrush     = new SolidColorBrush(Colors.Black),
                        BorderThickness = new Thickness(1)
                    });
                }
            }

            ContentGrid.Children.Add(grid);

            return(true);
        }
コード例 #4
0
 public void SetUp()
 {
     _repository = new MockRepository();
     _sut        = new FullScheduleViewModel(_repository);
 }
コード例 #5
0
 public SessionsTableViewSource(SessionListViewController hostController, IList <Session> sessions)
 {
     _hostController = hostController;
     _viewModel      = new FullScheduleViewModel(sessions);
 }