private void CheckUpdateProfile()
        {
            if (App.LoginResponse == null || App.LoginResponse.Email == "" || App.LoginResponse.Email == null)
            {
                // Do nothing if no data is available
            }
            else
            {
                StaticListData = new ObservableCollection <Models.CustomSignupModel>();

                Models.CustomSignupModel basicSignUpModel = new Models.CustomSignupModel {
                    HeaderName = "Basic Information"
                };

                basicSignUpModel.Add(new Models.SignupData {
                    InputType = "Label", PlaceholderText = "Name", IsAdditionAvailable = false
                });
                // Index Number 1 (Name)
                basicSignUpModel.Add(new Models.SignupData {
                    MainSelectedData = App.LoginResponse.basicInfo.Name, InputType = "Entry", PlaceholderText = "Enter Name", IsAdditionAvailable = false
                });

                basicSignUpModel.Add(new Models.SignupData {
                    InputType = "Label", PlaceholderText = "Gender", IsAdditionAvailable = false
                });
                // Index Number 3 (Gender)
                basicSignUpModel.Add(new Models.SignupData {
                    InputType = "Picker", PlaceholderText = "Select Gender", IsAdditionAvailable = false, SelectionData = GenderList, SelectedIndex = GenderList.IndexOf(App.LoginResponse.basicInfo.Gender)
                });

                basicSignUpModel.Add(new Models.SignupData {
                    InputType = "Label", PlaceholderText = "Date of Birth", IsAdditionAvailable = false
                });
                // Index Number 5 (DOB)
                basicSignUpModel.Add(new Models.SignupData {
                    InputType = "Picker", PlaceholderText = "Date of Birth", SelectedDate = DateTime.Parse(App.LoginResponse.basicInfo.DateOfBirth), IsAdditionAvailable = true
                });

                basicSignUpModel.Add(new Models.SignupData {
                    InputType = "Label", PlaceholderText = "Phone Number", IsAdditionAvailable = false
                });
                // Index Number 7 (Phone)
                basicSignUpModel.Add(new Models.SignupData {
                    MainSelectedData = App.LoginResponse.basicInfo.PhoneNumber, InputType = "Entry", IsAdditionAvailable = true, PlaceholderText = "Enter Phone Number"
                });

                basicSignUpModel.Add(new Models.SignupData {
                    InputType = "Label", PlaceholderText = "Height (in cm)", IsAdditionAvailable = false
                });
                // Index Number 9 (Height)
                basicSignUpModel.Add(new Models.SignupData {
                    MainSelectedData = App.LoginResponse.basicInfo.Height, InputType = "Entry", IsAdditionAvailable = true, PlaceholderText = "Enter Height"
                });

                basicSignUpModel.Add(new Models.SignupData {
                    InputType = "Label", PlaceholderText = "Weight (in kg)", IsAdditionAvailable = false
                });
                // Index Number 11 (Weight)
                basicSignUpModel.Add(new Models.SignupData {
                    MainSelectedData = App.LoginResponse.basicInfo.Weight, InputType = "Entry", IsAdditionAvailable = true, PlaceholderText = "Enter Weight"
                });

                basicSignUpModel.Add(new Models.SignupData {
                    InputType = "Label", PlaceholderText = "Sports Interest", IsAdditionAvailable = false
                });
                // Index Number 13 (Sports Interest)
                basicSignUpModel.Add(new Models.SignupData {
                    InputType = "Picker", PlaceholderText = "Select Sport", IsAdditionAvailable = false, SelectionData = SportsList, SelectedIndex = SportsList.IndexOf(App.LoginResponse.basicInfo.SportsInterest)
                });

                basicSignUpModel.Add(new Models.SignupData {
                    InputType = "Label", PlaceholderText = "Medical Information", IsAdditionAvailable = false
                });
                // Index Number 15 (Medical Info)
                basicSignUpModel.Add(new Models.SignupData {
                    MainSelectedData = App.LoginResponse.basicInfo.AnyMedicalCondition, InputType = "Editor", PlaceholderText = "Enter Medical Information"
                });


                StaticListData.Add(basicSignUpModel);

                if (App.SelectedView == "Trainer")
                {
                    Models.CustomSignupModel serviceSignUpModel = new Models.CustomSignupModel {
                        HeaderName = "Services"
                    };

                    serviceSignUpModel.Add(new Models.SignupData {
                        InputType = "Label", PlaceholderText = "Specialty", IsAdditionAvailable = false
                    });
                    // Index Number 1 (Specialty)
                    serviceSignUpModel.Add(new Models.SignupData {
                        InputType = "Picker", PlaceholderText = "Select Specialty", IsAdditionAvailable = false, SelectionData = SpecialityList, SelectedIndex = SpecialityList.IndexOf(App.LoginResponse.professionalInfo.Speciality)
                    });

                    serviceSignUpModel.Add(new Models.SignupData {
                        InputType = "Label", PlaceholderText = "Experience", IsAdditionAvailable = false
                    });
                    // Index Number 1 (Experiance)
                    serviceSignUpModel.Add(new Models.SignupData {
                        MainSelectedData = App.LoginResponse.professionalInfo.Experience, InputType = "Entry", PlaceholderText = "Enter Experience", IsAdditionAvailable = true
                    });

                    serviceSignUpModel.Add(new Models.SignupData {
                        InputType = "Label", PlaceholderText = "Awards", IsAdditionAvailable = true
                    });
                    // Index Number 1 (Awards)
                    serviceSignUpModel.Add(new Models.SignupData {
                        MainSelectedData = App.LoginResponse.professionalInfo.Accolades, InputType = "Entry", PlaceholderText = "Enter Awards", IsAdditionAvailable = false
                    });

                    serviceSignUpModel.Add(new Models.SignupData {
                        InputType = "Label", PlaceholderText = "Certification", IsAdditionAvailable = true
                    });
                    // Index Number 1 (Certification)

                    foreach (var certItem in App.LoginResponse.professionalInfo.certifications)
                    {
                        serviceSignUpModel.Add(new Models.SignupData {
                            MainSelectedData = certItem.Certification, InputType = "Entry", PlaceholderText = "Enter Certification", IsAdditionAvailable = false
                        });
                    }



                    serviceSignUpModel.Add(new Models.SignupData {
                        InputType = "Label", PlaceholderText = "Service", IsAdditionAvailable = true
                    });
                    // Index Number 1 (Service)
                    foreach (var serviceItem in App.LoginResponse.professionalInfo.services)
                    {
                        ObservableCollection <Models.SelectedTime> selectedTimes = new ObservableCollection <Models.SelectedTime>();
                        foreach (var scheduleItem in serviceItem.schedules)
                        {
                            Models.SelectedTime selectedTime = new Models.SelectedTime();

                            selectedTime.Day          = scheduleItem.Day;
                            selectedTime.Month        = scheduleItem.Month;
                            selectedTime.Year         = scheduleItem.Year;
                            selectedTime.EndTime      = scheduleItem.EndTime;
                            selectedTime.ScheduleType = scheduleItem.ScheduleType;
                            selectedTime.StartTime    = scheduleItem.StartTime;
                            selectedTime.WeekDay      = scheduleItem.WeekDay;
                            //selectedTime.SelectedIndex = ;
                            selectedTimes.Add(selectedTime);
                        }

                        serviceSignUpModel.Add(new Models.SignupData {
                            SessionLocation = serviceItem.WorkLocaton, SessionTeam = serviceItem.TeamSize, selectedTime = selectedTimes, MainSelectedData = serviceItem.ServiceName, SessionDesc = serviceItem.ChargingPeriod, SessionAmount = serviceItem.Charges, InputType = "Service"
                        });
                    }

                    serviceSignUpModel.Add(new Models.SignupData {
                        InputType = "Label", PlaceholderText = "PayPal ID", IsAdditionAvailable = false
                    });
                    // Index Number 1 (PayPal ID)
                    serviceSignUpModel.Add(new Models.SignupData {
                        InputType = "Entry", PlaceholderText = "Enter PayPal ID", IsAdditionAvailable = false, MainSelectedData = App.LoginResponse.PaypalId
                    });


                    StaticListData.Add(serviceSignUpModel);
                }



                EmailAddress = App.LoginResponse.Email;
                Password     = App.LoginResponse.Password;
                User64String = App.LoginResponse.ImagePayload;
                SelectedView = App.SelectedView;
                UserIcon     = App.LoginResponse.basicInfo.ImageUrl;
                InstaImages  = App.LoginResponse.basicInfo.InstaGramImages;
            }
        }
        public SignupViewModel()
        {
            InitializeCalender();

            GenderList = new ObservableCollection <String>();
            GenderList.Add("Male");
            GenderList.Add("Female");

            SportsList = new ObservableCollection <String>();
            SportsList.Add("Cricket");
            SportsList.Add("Baseball");
            SportsList.Add("Football");
            SportsList.Add("Tennis");
            SportsList.Add("Table Tennis");
            SportsList.Add("Basketball");
            SportsList.Add("Swimming");
            SportsList.Add("Athletics");
            SportsList.Add("Others");

            SpecialityList = new ObservableCollection <String>();
            SpecialityList.Add("Cricket");
            SpecialityList.Add("Baseball");
            SpecialityList.Add("Football");
            SpecialityList.Add("Tennis");
            SpecialityList.Add("Table Tennis");
            SpecialityList.Add("Basketball");
            SpecialityList.Add("Swimming");
            SpecialityList.Add("Athletics");
            SpecialityList.Add("Others");

            DateOfBirth = new DateTime(2000, 1, 1);

            TimeSelectionVisible = false;

            _timeHeader = "Please Select Starting Time";

            StaticListData = new ObservableCollection <Models.CustomSignupModel>();

            Models.CustomSignupModel basicSignUpModel = new Models.CustomSignupModel {
                HeaderName = "Basic Information"
            };

            basicSignUpModel.Add(new Models.SignupData {
                InputType = "Label", PlaceholderText = "Name", IsAdditionAvailable = false
            });
            // Index Number 1 (Name)
            basicSignUpModel.Add(new Models.SignupData {
                InputType = "Entry", PlaceholderText = "Enter Name", IsAdditionAvailable = false
            });

            basicSignUpModel.Add(new Models.SignupData {
                InputType = "Label", PlaceholderText = "Gender", IsAdditionAvailable = false
            });
            // Index Number 3 (Gender)
            basicSignUpModel.Add(new Models.SignupData {
                InputType = "Picker", PlaceholderText = "Select Gender", IsAdditionAvailable = false, SelectionData = GenderList
            });

            basicSignUpModel.Add(new Models.SignupData {
                InputType = "Label", PlaceholderText = "Date of Birth", IsAdditionAvailable = false
            });
            // Index Number 5 (DOB)
            basicSignUpModel.Add(new Models.SignupData {
                InputType = "Picker", PlaceholderText = "Date of Birth", SelectedDate = DateOfBirth, IsAdditionAvailable = true
            });

            basicSignUpModel.Add(new Models.SignupData {
                InputType = "Label", PlaceholderText = "Phone Number", IsAdditionAvailable = false
            });
            // Index Number 7 (Phone)
            basicSignUpModel.Add(new Models.SignupData {
                InputType = "Entry", IsAdditionAvailable = true, PlaceholderText = "Enter Phone Number"
            });

            basicSignUpModel.Add(new Models.SignupData {
                InputType = "Label", PlaceholderText = "Height (in cm)", IsAdditionAvailable = false
            });
            // Index Number 9 (Height)
            basicSignUpModel.Add(new Models.SignupData {
                InputType = "Entry", IsAdditionAvailable = true, PlaceholderText = "Enter Height"
            });

            basicSignUpModel.Add(new Models.SignupData {
                InputType = "Label", PlaceholderText = "Weight (in kg)", IsAdditionAvailable = false
            });
            // Index Number 11 (Weight)
            basicSignUpModel.Add(new Models.SignupData {
                InputType = "Entry", IsAdditionAvailable = true, PlaceholderText = "Enter Weight"
            });

            basicSignUpModel.Add(new Models.SignupData {
                InputType = "Label", PlaceholderText = "Sports Interest", IsAdditionAvailable = false
            });
            // Index Number 13 (Sports Interest)
            basicSignUpModel.Add(new Models.SignupData {
                InputType = "Picker", PlaceholderText = "Select Sport", IsAdditionAvailable = false, SelectionData = SportsList
            });

            basicSignUpModel.Add(new Models.SignupData {
                InputType = "Label", PlaceholderText = "Medical Information", IsAdditionAvailable = false
            });
            // Index Number 15 (Medical Info)
            basicSignUpModel.Add(new Models.SignupData {
                InputType = "Editor", PlaceholderText = "Enter Medical Information"
            });


            StaticListData.Add(basicSignUpModel);

            if (App.SelectedView == "Trainer")
            {
                Models.CustomSignupModel serviceSignUpModel = new Models.CustomSignupModel {
                    HeaderName = "Services"
                };

                serviceSignUpModel.Add(new Models.SignupData {
                    InputType = "Label", PlaceholderText = "Specialty", IsAdditionAvailable = false
                });
                // Index Number 1 (Specialty)
                serviceSignUpModel.Add(new Models.SignupData {
                    InputType = "Picker", PlaceholderText = "Select Specialty", IsAdditionAvailable = false, SelectionData = SpecialityList
                });

                serviceSignUpModel.Add(new Models.SignupData {
                    InputType = "Label", PlaceholderText = "Experience", IsAdditionAvailable = false
                });
                // Index Number 1 (Experiance)
                serviceSignUpModel.Add(new Models.SignupData {
                    InputType = "Entry", PlaceholderText = "Enter Experience", IsAdditionAvailable = true
                });

                serviceSignUpModel.Add(new Models.SignupData {
                    InputType = "Label", PlaceholderText = "Awards", IsAdditionAvailable = true
                });
                // Index Number 1 (Awards)
                serviceSignUpModel.Add(new Models.SignupData {
                    InputType = "Entry", PlaceholderText = "Enter Awards", IsAdditionAvailable = false
                });

                serviceSignUpModel.Add(new Models.SignupData {
                    InputType = "Label", PlaceholderText = "Certification", IsAdditionAvailable = true
                });
                // Index Number 1 (Certification)
                serviceSignUpModel.Add(new Models.SignupData {
                    InputType = "Entry", PlaceholderText = "Enter Certification", IsAdditionAvailable = false
                });

                serviceSignUpModel.Add(new Models.SignupData {
                    InputType = "Label", PlaceholderText = "Service", IsAdditionAvailable = true
                });
                // Index Number 1 (Service)
                serviceSignUpModel.Add(new Models.SignupData {
                    InputType = "Service"
                });

                serviceSignUpModel.Add(new Models.SignupData {
                    InputType = "Label", PlaceholderText = "PayPal ID", IsAdditionAvailable = false
                });
                // Index Number 1 (Experiance)
                serviceSignUpModel.Add(new Models.SignupData {
                    InputType = "Entry", PlaceholderText = "Enter PayPal ID", IsAdditionAvailable = false
                });


                StaticListData.Add(serviceSignUpModel);
            }

            UserIcon = "defaultIcon.png";

            User64String = "NA";

            InstaImages = "";

            // Intialize commands
            SaveCommand         = new Command(() => SaveClicked());
            PictureCommand      = new Command(() => SelectImage());
            AddCommand          = new Command(AddRow);
            CalendarCommand     = new Command(CalenderSelction);
            HideCalenderCommand = new Command(() => OnDateSelection());

            //SelectedTime = new ObservableCollection<Models.SelectedTime>();
            Attendances         = new ObservableCollection <SpecialDate>();
            IsServiceInProgress = false;


            Initialization = InitializeAsync();
        }