public async Task Init(Guid roomId, DateTime dateTime) { try { var timeList = new List <TimePickerData>(); for (var i = 9; i < 24; i++) { var hour = ((i % 12) == 0) ? 12 : (i % 12); var timeItem = new TimePickerData(i, 0, false); timeList.Add(timeItem); } var viewModelList = new List <TimePickerItemViewModel>(); foreach (var timePickerData in _availableTimeList) { viewModelList.Add(new TimePickerItemViewModel(timePickerData)); } TimeList = new ObservableCollection <TimePickerItemViewModel>(viewModelList); } catch (Exception ex) { ExceptionService.HandleException(ex); } }
public TimeLineItemViewModel(TimePickerData data, TimeBlockType timeBlockType) { if (!Settings.AmPmNotation) { var min = data.Min == 0 ? "00" : data.Min.ToString(); var hour = data.Hour; TimeString = hour + ":" + min; TimeBlockType = timeBlockType; } else { var min = (data.Min == 0) ? "00" : data.Min.ToString(); var hour = ((data.Hour % 12) == 0) ? "12" : (data.Hour % 12).ToString(); TimeString = hour + ":" + min; TimeBlockType = timeBlockType; } }
public RoomTimeIndexItemViewModel(RoomData data) { ImageUrl = data.ImageUrl; Title = data.Title; IsAvailable = data.IsAvailable; TimeBlockType = data.TimeBlockType; StartEndTime = data.StartEndTime; BlockTimeList = data.BlockTimeList; ReservedTimeList = new ObservableCollection <TimePickerData>(); for (var i = data.StartEndTime.StartTime.Hour; i < data.StartEndTime.EndTime.Hour; i++) { var item = new TimePickerData(i, 0); ReservedTimeList.Add(item); } TimeLineList = new ObservableCollection <TimeLineItemViewModel>(ReservedTimeList.Select(t => new TimeLineItemViewModel(t, TimeBlockType))); ShowRoomCommand = new MvxCommand(() => ShowViewModel <RoomDetailViewModel>(new { roomId = data.RoomId })); }
public TimePickerItemViewModel(TimePickerData data) { TimeString = data.TimeString; IsSelected = data.IsSelected; }
public async Task Init(Guid roomId, DateTime dateTime) { _roomId = roomId; _dateTime = dateTime; try { var roomModel = await _bookingService.GetRoomAsync(ApiPriority.UserInitiated, roomId); var roomReservationsForToday = await _bookingService.GetAllReservationsForDayAsync(ApiPriority.UserInitiated, _dateTime.Year, _dateTime.DayOfYear); roomReservationsForToday = roomReservationsForToday.Where(r => r.RoomId == roomId).ToList(); _allMembers = await _userService.GetAllPublicUsersAsync(ApiPriority.UserInitiated); var startHour = 6; var endHour = 24; if (roomModel?.OpeningInformation != null) { // Check opening hours var openingDay = GetOpeningInfo(roomModel.OpeningInformation, dateTime.DayOfWeek); startHour = openingDay.HourOpen; endHour = openingDay.HourClose; } //if (dateTime.Year == DateTime.Now.Year && dateTime.DayOfYear == DateTime.Now.DayOfYear) //{ // // Is today check current hour // if (DateTime.Now.Hour > startHour) // { // // Later then opening hour // startHour = DateTime.Now.Hour; // } // else if (DateTime.Now.Hour > endHour) // { // // Already closed // startHour = 24; // } // // Remove reservations that have already passed // roomReservationsForToday = roomReservationsForToday.Where(r => r.ReservationEnd.Hour < startHour).ToList(); // //foreach (var roomReservationModel in roomReservationsForToday.wh) // //{ // // // Change start date to start of reservation possibilities // // roomReservationModel.ReservationStart = new DateTime(dateTime.Year, dateTime.Month, dateTime.Day, startHour, 0, 0); // //} //} if (startHour != 24) { var startTime = new TimePickerData(startHour, 0); var endTime = new TimePickerData(endHour, 0); StartEndTime = new TimeBlock(startTime, endTime); UpdateReservations(roomReservationsForToday); } } catch (Exception ex) { ExceptionService.HandleException(ex); } }
public TimeBlock(TimePickerData startTime, TimePickerData endTime, string reservedByName = null) { StartTime = startTime; EndTime = endTime; ReservedByName = reservedByName; }