protected override void OnBindingContextChanged()
        {
            base.OnBindingContextChanged();

            var hadPreviousViewModel = _itemViewModel != null;

            if (hadPreviousViewModel)
            {
                // Unhook
            }

            _itemViewModel = BindingContext as BookingDayViewModel;
            if (_itemViewModel != null)
            {
                // Hook up
            }
        }
Beispiel #2
0
        /// <summary>
        /// Initial Week Display
        /// </summary>
        /// <returns></returns>
        public ActionResult Index()
        {
            BookingCalendarViewModel viewModel = new BookingCalendarViewModel();

            using (MainDbContext dbContext = new MainDbContext())
            {
                //Get bookings 2 Weeks from today
                var bookings = dbContext.Bookings.Where(x => x.DesiredDate >= DateTime.Now && x.DesiredDate < DateTime.Now.AddDays(14))
                               .OrderBy(x => x.DesiredDate).ToList();
                //Prepare week data
                if (bookings.Count() > 0)
                {
                    DateTime date     = bookings.First().DesiredDate;
                    int      workDays = 0;
                    do
                    {
                        BookingDayViewModel bdViewModel = new BookingDayViewModel();
                        bdViewModel.Date     = date;
                        bdViewModel.Bookings = new List <BookingViewModel>();
                        if (date.DayOfWeek != DayOfWeek.Saturday &&
                            date.DayOfWeek != DayOfWeek.Sunday &&
                            bookings.Any(x => x.DesiredDate == date))
                        {
                            //group all bookings for this day
                            bdViewModel.Bookings.AddRange(
                                bookings.Where(x => x.DesiredDate == date).Select(x => new BookingViewModel
                            {
                                Booking        = x,
                                MemberName     = dbContext.Members.Find(x.MemberID).LastName,
                                MemberPosition = dbContext.Members.Find(x.MemberID).Position
                            }).ToList()
                                );
                            workDays++;
                        }
                        date = date.AddDays(1);
                    } while (workDays < 5 || date.DayOfWeek == DayOfWeek.Saturday || date.DayOfWeek == DayOfWeek.Sunday);
                }
            }
            return(View());
        }
Beispiel #3
0
        public static ImageSource GetImageSource(this BookingDayViewModel carDay)
        {
            var assembly = carDay.GetType().GetTypeInfo().Assembly;

            return(ImageSource.FromResource(carDay.ImageUrl, assembly));
        }