public async Task <List <AssessmentMetadataEntity> > GetListOfAllAssignedAssessmentsFromServer()
        {
            List <AssessmentEntity> assessmentResponseFromServer = await GetListOfAllAssignedAssessmentsFromServerAPICall();

            List <AssessmentMetadataEntity> metadataEntities = new List <AssessmentMetadataEntity>();

            WeatherService weatherService            = new WeatherService();
            bool           isWeatherServiceAvailable = true;

            foreach (AssessmentEntity entity in assessmentResponseFromServer)
            {
                AssessmentMetadataEntity metadataEntity = JsonConvert.DeserializeObject <AssessmentMetadataEntity>(entity.AssessmentMetadata);

                //create the map url when data is pulled the first time.
                metadataEntity.MapUrl = "http://maps.apple.com/?daddr=" + metadataEntity.OrganizationAddress;
                metadataEntity.LastUpdatedDateFormatted = Convert.ToDateTime(metadataEntity.LastUpdatedDate).TimeAgo();
                metadataEntity.AssessmentCategoriesIcon = GetCategoryIcon(metadataEntity.AssessmentCategories);

                try
                {
                    if (isWeatherServiceAvailable)
                    {
                        //send online.offline param to the method
                        metadataEntity.Weather     = weatherService.GetWeather(metadataEntity.OrganizationCityState);
                        metadataEntity.WeatherIcon = GetWeatherIcon(metadataEntity.Weather);
                    }
                    else
                    {
                        metadataEntity.Weather     = "-";
                        metadataEntity.WeatherIcon = "NoWeather.png";
                    }
                }
                catch
                {
                    isWeatherServiceAvailable  = false;
                    metadataEntity.Weather     = "-";
                    metadataEntity.WeatherIcon = "NoWeather.png";
                }


                string updatedAssessmentMetadata = JsonConvert.SerializeObject(metadataEntity);

                //Store assessments metadata on the device
                StoreAssessmentsOnDevice(updatedAssessmentMetadata, metadataEntity); //entity.AssessmentMetadata, metadataEntity);
                StoreFormsOnDevice(metadataEntity, entity.Forms);
                metadataEntities.Add(metadataEntity);
            }

            return(metadataEntities.OrderByDescending(x => x.LastUpdatedDate).ToList());
        }
예제 #2
0
        public List <AssessmentMetadataEntity> GetListOfAllAssignedAssessmentsFromServer()
        {
            List <AssessmentEntity> assessmentResponseFromServer = GetListOfAllAssignedAssessmentsFromServerAPICall();

            List <AssessmentMetadataEntity> metadataEntities = new List <AssessmentMetadataEntity>();

            WeatherService weatherService            = new WeatherService();
            bool           isWeatherServiceAvailable = true;

            foreach (AssessmentEntity entity in assessmentResponseFromServer)
            {
                AssessmentMetadataEntity metadataEntity = JsonConvert.DeserializeObject <AssessmentMetadataEntity>(entity.AssessmentMetadata);

                //create the map url when data is pulled the first time.
                metadataEntity.MapUrl = "http://maps.apple.com/?daddr=" + metadataEntity.OrganizationAddress;

                try
                {
                    if (isWeatherServiceAvailable)
                    {
                        //send online.offline param to the method
                        metadataEntity.Weather     = weatherService.GetWeather(metadataEntity.OrganizationCityState);
                        metadataEntity.WeatherIcon = GetWeatherIcon(metadataEntity.Weather);
                        //entity.MapUrl = "http://maps.apple.com/?daddr=" + entity.OrganizationAddress; //Some Place&saddr=Some Other Place";
                    }
                    else
                    {
                        metadataEntity.Weather     = "-";
                        metadataEntity.WeatherIcon = "NoWeather.png";
                    }
                }
                catch
                {
                    isWeatherServiceAvailable  = false;
                    metadataEntity.Weather     = "-";
                    metadataEntity.WeatherIcon = "NoWeather.png";
                }


                string updatedAssessmentMetadata = JsonConvert.SerializeObject(metadataEntity);

                //Store assessments metadata on the device
                StoreAssessmentsOnDevice(updatedAssessmentMetadata, metadataEntity); //entity.AssessmentMetadata, metadataEntity);
                StoreFormsOnDevice(metadataEntity, entity.Forms);
                metadataEntities.Add(metadataEntity);
            }

            return(metadataEntities);
        }
예제 #3
0
        public List <AssessmentMetadataEntity> GetListOfAllAssignedAssessmentsFromDevice()
        {
            List <AssessmentMetadataEntity> entities = new List <AssessmentMetadataEntity>();

            List <string> assessmentsFromDevice = LoadAssessmentFromDevice();

            foreach (string assessment in assessmentsFromDevice)
            {
                AssessmentMetadataEntity entity = JsonConvert.DeserializeObject <AssessmentMetadataEntity>(assessment);
                entities.Add(entity);
            }


            return(entities);
        }
예제 #4
0
        //SaveFormsOnDevice - Loop through each FormEntity, create sub-folder based on friendlyName. Store formsmodel,formdata,validationschema in respective folders
        private void StoreFormsOnDevice(AssessmentMetadataEntity assessmentMetadata, List <FormEntity> formEntities)
        {
            //store or update. If update should bubble some kind of event for tracking.
            //DependencyService.Get<IKalectDependencyServices>().SaveFormsOnDevice(fileContent, assessmentMetadata.AssessmentTrackingNumber.ToString(),  FileFolderUtility.GetAssessmentFileName(assessmentMetadata.AssessmentTrackingNumber.ToString()));
            foreach (FormEntity formEntity in formEntities)
            {
                //SaveFormModel
                DependencyService.Get <IKalectDependencyServices>().SaveFormsOnDevice(formEntity.FormModel, assessmentMetadata.AssessmentTrackingNumber.ToString(), formEntity.FriendlyName, "FormModel");

                //SaveFormData
                DependencyService.Get <IKalectDependencyServices>().SaveFormsOnDevice(formEntity.FormData, assessmentMetadata.AssessmentTrackingNumber.ToString(), formEntity.FriendlyName, "FormData");

                //SaveValidationSchema
                DependencyService.Get <IKalectDependencyServices>().SaveFormsOnDevice(formEntity.ValidationSchema, assessmentMetadata.AssessmentTrackingNumber.ToString(), formEntity.FriendlyName, "ValidationSchema");
            }
        }
예제 #5
0
        public List <AssessmentMetadataEntity> GetListOfAllAssignedAssessmentsFromServer()
        {
            List <string> assessmentResponseFromServer = GetListOfAllAssignedAssessmentsFromServerAPICall();

            List <AssessmentMetadataEntity> entities = new List <AssessmentMetadataEntity>();

            foreach (string assessment in assessmentResponseFromServer)
            {
                AssessmentMetadataEntity entity = JsonConvert.DeserializeObject <AssessmentMetadataEntity>(assessment);
                entities.Add(entity);

                //Store assessments on the device
                StoreAssessmentsOnDevice(assessment, entity);
            }

            return(entities);
        }
예제 #6
0
        public List <AssessmentMetadataEntity> GetListOfAllAssignedAssessmentsFromDevice()
        {
            List <AssessmentMetadataEntity> entities = new List <AssessmentMetadataEntity>();
            WeatherService weatherService            = new WeatherService();

            List <string> assessmentsFromDevice = LoadAssessmentFromDevice();

            //bool isInternetAvailable = true;

            foreach (string assessment in assessmentsFromDevice)
            {
                AssessmentMetadataEntity entity = JsonConvert.DeserializeObject <AssessmentMetadataEntity>(assessment);

                try
                {
                    //if (isInternetAvailable)
                    //{
                    //send online.offline param to the method
                    entity.Weather     = weatherService.GetWeather(entity.OrganizationCityState);
                    entity.WeatherIcon = GetWeatherIcon(entity.Weather);
                    //  isInternetAvailable = true;
                    //}
                    //else
                    //{
                    //    entity.Weather = "-";
                    //    entity.WeatherIcon = "NoWeather.png";
                    //}
                }
                catch
                {
                    //set this to false so it does not keep hitting the server again and again
                    //isInternetAvailable = false;
                    entity.Weather     = "-";
                    entity.WeatherIcon = "NoWeather.png";
                }
                entities.Add(entity);
            }


            return(entities);
        }
        public async Task <List <AssessmentMetadataEntity> > GetListOfAllAssignedAssessmentsFromDevice()
        {
            List <AssessmentMetadataEntity> entities = new List <AssessmentMetadataEntity>();
            WeatherService weatherService            = new WeatherService();

            List <string> assessmentsFromDevice = await LoadAllAssessmentFromDevice();

            //bool isInternetAvailable = true;

            foreach (string assessment in assessmentsFromDevice)
            {
                AssessmentMetadataEntity entity = JsonConvert.DeserializeObject <AssessmentMetadataEntity>(assessment);

                try
                {
                    entity.Weather     = weatherService.GetWeather(entity.OrganizationCityState);
                    entity.WeatherIcon = GetWeatherIcon(entity.Weather);
                    entity.LastUpdatedDateFormatted = Convert.ToDateTime(entity.LastUpdatedDate).TimeAgo();

                    if (entity.AssessmentCategories != null)
                    {
                        entity.AssessmentCategoriesIcon = GetCategoryIcon(entity.AssessmentCategories);
                    }
                }
                catch
                {
                    //set this to false so it does not keep hitting the server again and again
                    //isInternetAvailable = false;
                    entity.Weather     = "-";
                    entity.WeatherIcon = "NoWeather.png";
                }
                entities.Add(entity);
            }


            return(entities.OrderByDescending(x => x.LastUpdatedDate).ToList());
        }
예제 #8
0
 private void StoreAssessmentsOnDevice(string assessmentMetadataFromServer, AssessmentMetadataEntity assessmentMetadata)
 {
     //store or update. If update should bubble some kind of event for tracking.
     DependencyService.Get <IKalectDependencyServices>().SaveAssessmentsMetadataOnDevice(assessmentMetadataFromServer, assessmentMetadata.AssessmentTrackingNumber.ToString(), FileFolderUtility.GetAssessmentFileName(assessmentMetadata.AssessmentTrackingNumber.ToString()));
 }