private void ProcessSeizureBlocksResponse() { if (this.SeizureBlockInfoInstance.sbYear == 0 && this.SeizureBlockInfoInstance.sbMonth == 0 && this.SeizureBlockInfoInstance.sbDay == 0) { if (SeizureBlocksDataInstance.seizureBlocksData.Count() > 0) { foreach (SeizureBlocksParameters seizureBlock in SeizureBlocksDataInstance.seizureBlocksData) { if (seizureBlock.sbRecordStatus == 1) { for (int i = 0; i < Constants.TOTAL_SEIZURE_BLOCKS_PER_RECORD; i++) { SeizureBlockInfo seizureRecordBlockToRead = new SeizureBlockInfo(); seizureRecordBlockToRead.sbYear = seizureBlock.sbYear; seizureRecordBlockToRead.sbMonth = seizureBlock.sbMonth; seizureRecordBlockToRead.sbDay = seizureBlock.sbDay; seizureRecordBlockToRead.sbseizureRecordNo = seizureBlock.sbRecordNo; seizureRecordBlockToRead.sbSeizureBlock = i; this.SeizureToBeUploadedList.Add(seizureRecordBlockToRead); } } } } } else { if (this.SeizureBlocksContainsLastSeizureUpload()) { bool lastSeizureRecordUploadCompleted = false; foreach (SeizureBlocksParameters seizureBlock in SeizureBlocksDataInstance.seizureBlocksData) { if (seizureBlock.sbYear == (this.SeizureBlockInfoInstance.sbYear - 2000) && seizureBlock.sbMonth == this.SeizureBlockInfoInstance.sbMonth && seizureBlock.sbDay == this.SeizureBlockInfoInstance.sbDay && seizureBlock.sbHour == this.SeizureBlockInfoInstance.sbHour && seizureBlock.sbMinute == this.SeizureBlockInfoInstance.sbMinute) { if (seizureBlock.sbRecordNo == 2) { if (this.SeizureBlockInfoInstance.sbSeizureBlock == Constants.TOTAL_SEIZURE_BLOCKS_PER_RECORD) { lastSeizureRecordUploadCompleted = true; continue; } else { if (seizureBlock.sbRecordStatus == 1) { //proceed uploading remaining blocks of oldest record for (int i = this.SeizureBlockInfoInstance.sbSeizureBlock; i < Constants.TOTAL_SEIZURE_BLOCKS_PER_RECORD; i++) { SeizureBlockInfo seizureRecordBlockToRead = new SeizureBlockInfo(); seizureRecordBlockToRead.sbYear = seizureBlock.sbYear; seizureRecordBlockToRead.sbMonth = seizureBlock.sbMonth; seizureRecordBlockToRead.sbDay = seizureBlock.sbDay; seizureRecordBlockToRead.sbseizureRecordNo = seizureBlock.sbRecordNo; seizureRecordBlockToRead.sbSeizureBlock = i; this.SeizureToBeUploadedList.Add(seizureRecordBlockToRead); } } } } else { if (this.SeizureBlockInfoInstance.sbSeizureBlock == Constants.TOTAL_SEIZURE_BLOCKS_PER_RECORD) { continue; } else { if (seizureBlock.sbRecordStatus == 1) { //proceed uploading remaining blocks of newest record for (int i = this.SeizureBlockInfoInstance.sbSeizureBlock; i < Constants.TOTAL_SEIZURE_BLOCKS_PER_RECORD; i++) { SeizureBlockInfo seizureRecordBlockToRead = new SeizureBlockInfo(); seizureRecordBlockToRead.sbYear = seizureBlock.sbYear; seizureRecordBlockToRead.sbMonth = seizureBlock.sbMonth; seizureRecordBlockToRead.sbDay = seizureBlock.sbDay; seizureRecordBlockToRead.sbseizureRecordNo = seizureBlock.sbRecordNo; seizureRecordBlockToRead.sbSeizureBlock = i; this.SeizureToBeUploadedList.Add(seizureRecordBlockToRead); } } } } } else { if (this.SeizureToBeUploadedList.Count() > 0 || lastSeizureRecordUploadCompleted) { if (seizureBlock.sbRecordStatus == 1) { for (int i = 0; i < Constants.TOTAL_SEIZURE_BLOCKS_PER_RECORD; i++) { SeizureBlockInfo seizureRecordBlockToRead = new SeizureBlockInfo(); seizureRecordBlockToRead.sbYear = seizureBlock.sbYear; seizureRecordBlockToRead.sbMonth = seizureBlock.sbMonth; seizureRecordBlockToRead.sbDay = seizureBlock.sbDay; seizureRecordBlockToRead.sbseizureRecordNo = seizureBlock.sbRecordNo; seizureRecordBlockToRead.sbSeizureBlock = i; this.SeizureToBeUploadedList.Add(seizureRecordBlockToRead); } } } } } } else { foreach (SeizureBlocksParameters seizureBlock in SeizureBlocksDataInstance.seizureBlocksData) { if (seizureBlock.sbRecordStatus == 1) { for (int i = 0; i < Constants.TOTAL_SEIZURE_BLOCKS_PER_RECORD; i++) { SeizureBlockInfo seizureRecordBlockToRead = new SeizureBlockInfo(); seizureRecordBlockToRead.sbYear = seizureBlock.sbYear; seizureRecordBlockToRead.sbMonth = seizureBlock.sbMonth; seizureRecordBlockToRead.sbDay = seizureBlock.sbDay; seizureRecordBlockToRead.sbseizureRecordNo = seizureBlock.sbRecordNo; seizureRecordBlockToRead.sbSeizureBlock = i; this.SeizureToBeUploadedList.Add(seizureRecordBlockToRead); } } } } } this.ProcessQeueue.Enqueue(Constants.SyncHandlerSequence.ReadStepsHeader); this.ProcessCommands(); }
private void SetSettingsFromGetDeviceInfoResponseWS(GetDeviceInfoResponse WSGetDeviceInfoResponseInstance) { UserInformationInstance.MemberDeviceId = WSGetDeviceInfoResponseInstance.MemberDeviceID; AppUpdateSettingsInstance.UpdateFlag = WSGetDeviceInfoResponseInstance.appUpdateInfo.UpdateFlag; AppUpdateSettingsInstance.UpdateType = WSGetDeviceInfoResponseInstance.appUpdateInfo.UpdateType; AppUpdateSettingsInstance.VersionOfNewApp = WSGetDeviceInfoResponseInstance.appUpdateInfo.VersionOfNewApp; this.updateType = AppUpdateSettingsInstance.UpdateType; FirmwareUpdateInfoInstance = new FirmwareUpdateInfo(); FirmwareUpdateInfoInstance.ModelFirmwareID = WSGetDeviceInfoResponseInstance.deviceFwUpdateInfo.ModelFirmwareID; FirmwareUpdateInfoInstance.VersionOfNewFirmware = WSGetDeviceInfoResponseInstance.deviceFwUpdateInfo.VersionOfNewFirmware; MemberServerProfileInstance = new MemberServerProfile(); MemberServerProfileInstance.MemberDeviceID = WSGetDeviceInfoResponseInstance.MemberDeviceID; MemberServerProfileInstance.UpdateFlag = (int)WSGetDeviceInfoResponseInstance.UpdateFlag; MemberServerProfileInstance.UpdateFlagChanges = 0; MemberServerProfileInstance.SynchronizationID = WSGetDeviceInfoResponseInstance.SynchronizationID; MemberServerProfileInstance.ServerDateTime = WSGetDeviceInfoResponseInstance.ServerDateTime; this.clearTracker = WSGetDeviceInfoResponseInstance.ClearTrackerDataFlag; ProcessSignatureUploaded(WSGetDeviceInfoResponseInstance.SignatureUploadedDates); this.SeizureBlockInfoInstance = new SeizureBlockInfo(); if(WSGetDeviceInfoResponseInstance.lastSeizureDataUploadInfo != null) ProcessSeizureUploaded(WSGetDeviceInfoResponseInstance.lastSeizureDataUploadInfo.SeizureDate,WSGetDeviceInfoResponseInstance.lastSeizureDataUploadInfo.BlockNumber); //User Settings UserSettingsInstance.Stride = WSGetDeviceInfoResponseInstance.userSettings.Stride; UserSettingsInstance.Weight = WSGetDeviceInfoResponseInstance.userSettings.Weight; UserSettingsInstance.RestMetabolicRate = WSGetDeviceInfoResponseInstance.userSettings.RestMetabolicRate; UserSettingsInstance.UnitOfMeasure = WSGetDeviceInfoResponseInstance.userSettings.UnitOfMeasure; UserSettingsInstance.DOBYear = WSGetDeviceInfoResponseInstance.userSettings.DOBYear; UserSettingsInstance.DOBMonth = WSGetDeviceInfoResponseInstance.userSettings.DOBMonth; UserSettingsInstance.DOBDay = WSGetDeviceInfoResponseInstance.userSettings.DOBDay; UserSettingsInstance.Age = WSGetDeviceInfoResponseInstance.userSettings.Age; // Device Settings string serverTime = WSGetDeviceInfoResponseInstance.ServerDateTime; bool timeFormat = WSGetDeviceInfoResponseInstance.DeviceTimeFormat; DateTime st = Motion.Mobile.Utilities.Utils.GetServerDateTimeFromString(serverTime); // this.timeDiff = WSGetDeviceInfoResponseInstance.AllowableTimeDifference; Debug.WriteLine("Date Time" + st); DeviceSettingsInstance.Year = st.Year - 2000; DeviceSettingsInstance.Month = st.Month; DeviceSettingsInstance.Day = st.Day; DeviceSettingsInstance.Hour = st.Hour; DeviceSettingsInstance.Minute = st.Minute; DeviceSettingsInstance.Second = st.Second; DeviceSettingsInstance.HourType = timeFormat; //Company Settings CompanySettingsInstance.TenacitySteps = WSGetDeviceInfoResponseInstance.companySettings.TenacitySteps; CompanySettingsInstance.IntensitySteps = WSGetDeviceInfoResponseInstance.companySettings.IntensitySteps; CompanySettingsInstance.IntensityTime = WSGetDeviceInfoResponseInstance.companySettings.IntensityTime; CompanySettingsInstance.IntensityMinuteThreshold = WSGetDeviceInfoResponseInstance.companySettings.IntensityMinuteThreshold; CompanySettingsInstance.IntensityRestMinuteAllowed = WSGetDeviceInfoResponseInstance.companySettings.IntensityRestMinuteAllowed; CompanySettingsInstance.IntensityCycle = WSGetDeviceInfoResponseInstance.companySettings.IntensityCycle; CompanySettingsInstance.FrequencySteps = WSGetDeviceInfoResponseInstance.companySettings.FrequencySteps; CompanySettingsInstance.FrequencyCycleTime = WSGetDeviceInfoResponseInstance.companySettings.FrequencyCycleTime; CompanySettingsInstance.FrequencyCycle = WSGetDeviceInfoResponseInstance.companySettings.FrequencyCycle; CompanySettingsInstance.FrequencyCycleInterval = WSGetDeviceInfoResponseInstance.companySettings.FrequencyCycleInterval; //Exercise Settings ExerciseSettingsInstance.SyncTimeInterval = WSGetDeviceInfoResponseInstance.exerciseSettings.SyncTimeInterval; ExerciseSettingsInstance.DataSyncEnable = WSGetDeviceInfoResponseInstance.exerciseSettings.DataSyncEnable; ExerciseSettingsInstance.FrequencyAlarmEnable = WSGetDeviceInfoResponseInstance.exerciseSettings.FrequencyAlarmEnable; //Signature Settings SignatureSettingsInstance.SamplingFrequency = WSGetDeviceInfoResponseInstance.signatureSettings.SamplingFrequency; SignatureSettingsInstance.SamplingTime = WSGetDeviceInfoResponseInstance.signatureSettings.SamplingTime; SignatureSettingsInstance.SamplingCycle = WSGetDeviceInfoResponseInstance.signatureSettings.SamplingCycle; SignatureSettingsInstance.SamplingThreshold = WSGetDeviceInfoResponseInstance.signatureSettings.SamplingThreshold; SignatureSettingsInstance.SamplingTotalBlocks = WSGetDeviceInfoResponseInstance.signatureSettings.SamplingTotalBlocks; //Seizure Settings SeizureSettingsInstance.SeizureSettingsEnable = WSGetDeviceInfoResponseInstance.seizureSettings.SeizureSettingsEnable; SeizureSettingsInstance.SeizureSamplingFrequency = WSGetDeviceInfoResponseInstance.seizureSettings.SeizureSamplingFrequency; SeizureSettingsInstance.SeizureNumberOfRecords = WSGetDeviceInfoResponseInstance.seizureSettings.SeizureNumberOfRecords; SeizureSettingsInstance.SeizureSamplingTime = WSGetDeviceInfoResponseInstance.seizureSettings.SeizureSamplingTime; }