public Driver_WorksheetPage()
        {
            InitializeComponent();
            NavigationPage.SetHasNavigationBar(this, false);
            _apiServices = new RestApi();
            _baseUrl     = Settings.Url + Domain.DriverWorkSheetListApiConstant;
            _baseUrlDriverActualStartAndEndTime = Settings.Url + Domain.DriverActualStartAndEndTimeApiConstant;
            _objHeaderModel = new HeaderModel();
            _objDriverWorkSheetListResponse = new DriverWorkSheetListResponse();

            _objDriverActualStartAndEndTimeResponse = new DriverActualStartAndEndTimeResponse();
            Orderby = "DESC";
            // LoadPageData();
        }
        public EndShiftPage()
        {
            InitializeComponent();


            NavigationPage.SetHasNavigationBar(this, false);
            _objDailyEntryViewModel      = new DailyEntryViewModel();
            _objDriver_EndOfShiftRequest = new Driver_EndOfShiftRequest();
            // BindingContext = _objDriver_EndOfShiftRequest;
            RadioButtonBinding();
            _apiServices = new RestApi();
            _objDriver_EndOfShiftResponse           = new Driver_EndOfShiftResponse();
            _objDriverActualStartAndEndTimeResponse = new DriverActualStartAndEndTimeResponse();
            _objHeaderModel = new HeaderModel();
            _baseUrl        = Settings.Url + Domain.Driver_EndOfShiftApiConstant;
            _baseUrlDriverActualStartAndEndTime = Settings.Url + Domain.DriverActualStartAndEndTimeApiConstant;
        }
        //private void TapGestureRecognizer_Tapped(object sender, EventArgs e)
        //{
        //    App.NavigationPage.Navigation.PushAsync(new Driver_DailyCheckListPage());
        //}

        private async void WorksheetList_ItemSelected(object sender, SelectedItemChangedEventArgs e)
        {
            if (IsBusy)
            {
                return;
            }
            IsBusy = true;
            try
            {
                var IsSelected = await DisplayAlert("Alert!", "Do you want to Start Your Work Now?", "Yes", "No");

                if (IsSelected)
                {
                    var data = e.SelectedItem as WorksheetListByEmployee;
                    if (data.WorksheetStatus == 1)
                    {
                        var WorksheetId = data.Id;
                        var VehicleId   = data.VehicleId;
                        Settings.VehicleID   = VehicleId;
                        Settings.WorksheetID = WorksheetId;
                        //Settings.PreviousWorksheetID = WorksheetId;
                        Settings.CompanyId = data.ComapnyId;
                        Settings.RegoNo    = data.Rego;
                        _objDriverActualStartAndEndTimeRequest = new DriverActualStartAndEndTimeRequest()
                        {
                            WorkDate          = data.WorkSheetDate,
                            ProgramStartTime  = data.ProgramStartTime,
                            ApprovedStartTime = data.StartTime,
                            ActualStartTime   = DateTime.Now,
                            StartTime         = data.StartTime,
                            WorksheetId       = WorksheetId,
                            EmployeeId        = Settings.UserId
                        };
                        _objDriverActualStartAndEndTimeResponse = await _apiServices.DriverActualStartAndEndTimeAsync(new Get_API_Url().CommonBaseApi(_baseUrlDriverActualStartAndEndTime), true, _objHeaderModel, _objDriverActualStartAndEndTimeRequest);

                        var Result = _objDriverActualStartAndEndTimeResponse.Response;
                        if (Result.StatusCode == 200)
                        {
                            DependencyService.Get <IToast>().Show("Your Actual Time Starts Now keep going!");
                            await App.NavigationPage.Navigation.PushAsync(new Driver_DailyCheckListPage(Settings.WorksheetID, Settings.VehicleID));
                        }
                        else if (Result.StatusCode == 203)
                        {
                            await App.NavigationPage.Navigation.PushAsync(new Driver_DailyCheckListPage(Settings.WorksheetID, Settings.VehicleID));
                        }
                        else
                        {
                            DependencyService.Get <IToast>().Show("Server Error!");
                        }
                    }
                    else
                    {
                        await DisplayAlert("Info", "This WorkSheet Is Already Signed off !", "Ok");
                    }
                }
                else
                {
                    return;
                }
            }
            catch (Exception ex)
            {
                var msg = ex.Message;
            }
            finally
            {
                IsBusy = false;
            }
        }
        private async void AddEndOfShift()
        {
            try
            {
                if (!CrossConnectivity.Current.IsConnected)
                {
                    DependencyService.Get <IToast>().Show("You are Offline Please Check Your Internet Connection!");
                }
                else
                {
                    if (string.IsNullOrEmpty(_objDriver_EndOfShiftRequest.StaffDate) ||
                        string.IsNullOrEmpty(_objDriver_EndOfShiftRequest.StaffTime) ||
                        string.IsNullOrEmpty(_objDriver_EndOfShiftRequest.Odometer) ||
                        string.IsNullOrEmpty(_objDriver_EndOfShiftRequest.EngineHrs) ||
                        string.IsNullOrEmpty(_objDriver_EndOfShiftRequest.PlantRegoId))
                    {
                        DependencyService.Get <IToast>().Show("Please fill all the field first!");
                    }
                    else
                    {
                        _objHeaderModel.TokenCode = Settings.TokenCode;
                        _objDriver_EndOfShiftRequest.Staff_Date = _objDriver_EndOfShiftRequest.StaffDate;
                        await Navigation.PushPopupAsync(new LoadingPopPage());

                        _objDriver_EndOfShiftResponse = await _apiServices.Driver_EndOfShiftAsync(new Get_API_Url().Driver_AddMaintananceApi(_baseUrl), true, _objHeaderModel, _objDriver_EndOfShiftRequest);

                        if (_objDriver_EndOfShiftResponse.Response.StatusCode == 200)
                        {
                            var _enddate = LoaddatePicker.Date.ToString("MM/dd/yyyy HH:mm:ss");
                            var _endTime = ClaimminutesTPicker.Time;
                            _objDriverActualStartAndEndTimeRequest = new DriverActualStartAndEndTimeRequest();

                            _objDriverActualStartAndEndTimeRequest.EndDate = DateTime.ParseExact(_enddate, "MM/dd/yyyy HH:mm:ss", CultureInfo.InvariantCulture);
                            var _endTimeDate = DateTime.Now.Date;
                            var TimeDate     = _endTimeDate.Add(_endTime).ToString("MM/dd/yyyy HH:mm:ss");

                            _objDriverActualStartAndEndTimeRequest.EndTime     = DateTime.ParseExact(TimeDate, "MM/dd/yyyy HH:mm:ss", CultureInfo.InvariantCulture);
                            _objDriverActualStartAndEndTimeRequest.WorksheetId = Settings.WorksheetID;
                            _objDriverActualStartAndEndTimeRequest.EmployeeId  = Settings.UserId;
                            // _objDriverActualStartAndEndTimeRequest.WorkDate = DateTime.ParseExact(_enddate, _enddate, CultureInfo.InvariantCulture);

                            _objDriverActualStartAndEndTimeResponse = await _apiServices.DriverActualStartAndEndTimeAsync(new Get_API_Url().CommonBaseApi(_baseUrlDriverActualStartAndEndTime), true, _objHeaderModel, _objDriverActualStartAndEndTimeRequest);

                            var Result = _objDriverActualStartAndEndTimeResponse.Response;
                            if (Result.StatusCode == 200)
                            {
                                DependencyService.Get <IToast>().Show("Your Actual End Time Completed!");
                                await App.NavigationPage.Navigation.PushAsync(new Driver_HomePage());
                            }
                            else
                            {
                                DependencyService.Get <IToast>().Show("Server Error!");
                            }
                            // DependencyService.Get<IToast>().Show(_objDriver_EndOfShiftResponse.Response.Message);
                            await Navigation.PopAllPopupAsync();
                        }
                        else
                        {
                            DependencyService.Get <IToast>().Show(_objDriver_EndOfShiftResponse.Response.Message);
                            await Navigation.PopAllPopupAsync();
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                var msg = ex.Message;
                await Navigation.PopAllPopupAsync();
            }
        }