public ChildInformationpageViewModel(int offlineStudentId)
        {
            productResearchCodeValuesService = DependencyService.Get <IProductResearchCodeValuesService>();
            productResearchCodesService      = DependencyService.Get <IProductResearchCodesService>();

            userPermissionService   = DependencyService.Get <IUserPermissionService>();
            studentTestFormsService = DependencyService.Get <IStudentTestFormsService>();
            commonDataService       = DependencyService.Get <ICommonDataService>();
            locationService         = DependencyService.Get <ILocationService>();
            clinicalTestFormService = DependencyService.Get <IClinicalTestFormService>();
            OfflineStudentId        = offlineStudentId;
            EditCommand             = new Command(EditClicked);
            AddNewRecordCommand     = new Command(AddNew);
            HyperLinkClickedCommand = new Xamarin.Forms.Command <ChildInformationRecord>(HyperlinkClicked);

            _studentService = DependencyService.Get <IStudentsService>();
            _tokenService   = DependencyService.Get <ITokenService>();
            var tokenModel = _tokenService.GetTokenResposne();

            if (tokenModel != null)
            {
                UserFullName = "" + tokenModel.FirstName + "  " + "" + tokenModel.LastName + "";
            }

            FailedString  = "Failed: 0";
            PendingString = "Pending: 0";
            Task.Run(async() => { await LoadData(OfflineStudentId); });
            LoadTestRecordsFromDB(OfflineStudentId);

            if (Connectivity.NetworkAccess != NetworkAccess.Internet)
            {
                foreach (var child in ChildInformationRecords)
                {
                    child.EnableRow = false;
                }
                EnableSync = false;
            }
            else
            {
                if (ChildInformationRecords.Any(p => p.Status != "Not started") && ChildInformationRecords.Any(p => p.IsSelect))
                {
                    EnableSync = true;
                }
            }
            Connectivity.ConnectivityChanged -= Connectivity_ConnectivityChanged;
            Connectivity.ConnectivityChanged += Connectivity_ConnectivityChanged;

            commonDataService.ClearAddChildContent = ResetContent;
        }
        public void LoadTestRecordsFromDB(int offlineStudentId)
        {
            var studentTestRecordForms = new List <ChildInformationRecord>();

            var testRecords = (clinicalTestFormService.GetStudentTestFormsByStudentID(offlineStudentId));
            var recordForm  = "";

            foreach (var testRecord in testRecords)
            {
                var obj = testRecord.formParameters != null?JObject.Parse(testRecord.formParameters) : null;

                if (obj != null)
                {
                    var dateOfTesting = (DateTime)obj.SelectToken("TestDate");

                    if (testRecord.assessmentId == AssignmentTypes.BattelleDevelopmentalCompleteID)
                    {
                        recordForm = AssignmentTypes.BattelleDevelopmentalCompleteString;
                    }
                    else if (testRecord.assessmentId == AssignmentTypes.BattelleDevelopmentalScreenerID)
                    {
                        recordForm = AssignmentTypes.BattelleDevelopmentScreenerString;
                    }
                    else
                    {
                        recordForm = AssignmentTypes.BattelleEarlyAcademicSurveyString;
                    }


                    var formParametersObj = JsonConvert.DeserializeObject <FormParamterClass>(testRecord.formParameters);
                    studentTestRecordForms.Add(new ChildInformationRecord()
                    {
                        Status            = testRecord.FormStatus,
                        AssesmentId       = testRecord.assessmentId,
                        LocalTestInstance = testRecord.LocalTestRecodId,
                        RecordForm        = recordForm,
                        InitialTestDate   = dateOfTesting.Date.ToString("MM/dd/yyyy"),
                        SyncStatus        = testRecord.SyncStausDesc,
                        StatusCode        = testRecord.SyncStausCode,
                        EnableRow         = ((testRecord.FormStatus == "Not started" && Xamarin.Essentials.Connectivity.NetworkAccess == Xamarin.Essentials.NetworkAccess.Internet) || (testRecord.FormStatus == "Saved" && Xamarin.Essentials.Connectivity.NetworkAccess != Xamarin.Essentials.NetworkAccess.Internet) || (testRecord.FormStatus == "In-Progress" && Xamarin.Essentials.Connectivity.NetworkAccess != Xamarin.Essentials.NetworkAccess.Internet) ? false : true)
                    });
                }
            }
            ChildInformationRecords.Clear();
            IsSelectAll              = false;
            ChildInformationRecords  = studentTestRecordForms;
            IsTableBottomLineVisible = ChildInformationRecords.Any();
        }
 private void Connectivity_ConnectivityChanged(object sender, ConnectivityChangedEventArgs e)
 {
     if (e.NetworkAccess == NetworkAccess.None || e.NetworkAccess == NetworkAccess.Unknown)
     {
         EnableSync = false;
         if (IsSelectAll)
         {
             IsSelectAll = false;
         }
         foreach (var child in ChildInformationRecords)
         {
             if (child.IsSelect)
             {
                 child.IsSelect = false;
             }
             if (child.EnableRow)
             {
                 child.EnableRow = false;
             }
         }
     }
     else if (ChildInformationRecords != null && ChildInformationRecords.Any())
     {
         if (ChildInformationRecords.Any(p => p.IsSelect))
         {
             EnableSync = true;
         }
         foreach (var child in ChildInformationRecords)
         {
             if (child.Status != "Not started")
             {
                 if (!child.EnableRow)
                 {
                     child.EnableRow = true;
                 }
             }
         }
     }
 }