public static void UpdateDocStatus(this List <SRiProperty> properties, OnSiteDocumentCache docCache) { foreach (var cacheData in docCache.DocumentData) { foreach (var p in properties) { foreach (var docData in p.Documents) { if (docData.Entity.Equals(cacheData.Entity)) { foreach (var cacheMeta in cacheData.EntityDocumentLists) { foreach (var docMeta in docData.EntityDocumentLists) { if (docMeta.EntityKey.Equals(cacheMeta.EntityKey)) { foreach (var cacheDoc in cacheMeta.Documents) { foreach (var doc in docMeta.Documents) { if (doc.Id.Equals(cacheDoc.Id)) { doc.Status = cacheDoc.Status; break; } } } } } } } } } } }
/// /// ------------------------------------------------------------------------------------------------ /// Name LoadCaseData /// /// <summary> Loads the cached property collection from the device. /// </summary> /// <remarks> /// </remarks> /// ------------------------------------------------------------------------------------------------ /// public async Task <bool> LoadCaseData() { try { OnSiteConfigCache config; SRiCPInfoData cpinfoData; SRiLICaseData licaseData; SRiCNApplPropData historyData; SRiPRNotePadData notesData; SRiRecordData recordData; SRiVisitData visitData; OnSiteDocumentCache docsData; FileSystemArgs response, responseInfo; Exception error; List <SRiProperty> properties; // // Load the config first and then the data. Return true if both load successfully. response = Task.Run(() => FileSystem.ReadText(AppData.CONFIG)).Result; //response = await FileSystem.ReadText(AppData.CONFIG).Result; if (response.Error == null) { config = OnSiteConfigCache.FromJson(response.TextContents, out error); if (error == null && config != null) { AppData.ConfigModel.Add(config.Configs, true); responseInfo = await FileSystem.ReadText(AppData.CPINFO); cpinfoData = SRiCPInfoData.FromJson(responseInfo.TextContents, out error); if (error != null) { return(false); } responseInfo = await FileSystem.ReadText(AppData.LICASE); licaseData = SRiLICaseData.FromJson(responseInfo.TextContents, out error); if (error != null) { return(false); } // licaseData = SRiLICaseData.FromJson(FileSystem.ReadText(AppData.LICASE).TextContents, out error); //if (error != null) return false; responseInfo = await FileSystem.ReadText(AppData.HISTORY); historyData = SRiCNApplPropData.FromJson(responseInfo.TextContents, out error); if (error != null) { return(false); } //historyData = SRiCNApplPropData.FromJson(FileSystem.ReadText(AppData.HISTORY).TextContents, out error); //if (error != null) return false; responseInfo = await FileSystem.ReadText(AppData.NOTES); notesData = SRiPRNotePadData.FromJson(responseInfo.TextContents, out error); if (error != null) { return(false); } //notesData = SRiPRNotePadData.FromJson(FileSystem.ReadText(AppData.NOTES).TextContents, out error); //if (error != null) return false; responseInfo = await FileSystem.ReadText(AppData.RECORDS); recordData = SRiRecordData.FromJson(responseInfo.TextContents, out error); if (error != null) { return(false); } //recordData = SRiRecordData.FromJson(FileSystem.ReadText(AppData.RECORDS).TextContents, out error); //if (error != null) return false; responseInfo = await FileSystem.ReadText(AppData.VISITS); visitData = SRiVisitData.FromJson(responseInfo.TextContents, out error); if (error != null) { return(false); } //visitData = SRiVisitData.FromJson(FileSystem.ReadText(AppData.VISITS).TextContents, out error); //if (error != null) return false; responseInfo = await FileSystem.ReadText(AppData.DOCS); docsData = OnSiteDocumentCache.FromJson(responseInfo.TextContents, out error); if (error != null) { return(false); } //docsData = OnSiteDocumentCache.FromJson(FileSystem.ReadText(AppData.DOCS).TextContents, out error); //if (error != null || docsData == null) return false; //Added to avoid error on no saced content for existing user if (recordData != null && visitData != null) { recordData.AddVisits(visitData.Visits); properties = recordData.CreateProperties(cpinfoData, licaseData, historyData, notesData); if (AppData.Environment != OnSiteEnvironments.Sales) { properties.AddDocumentData(docsData.DocumentData); } AppData.LastSync = recordData.LastSync; AppData.PropertyModel.Update(properties, true); } } } // return(false); } catch (Exception ex) { LogTracking.LogTrace(ex.ToString()); return(false); } }