public void buildTables(bool rebuildIndexes) { var db = new LocalDB3().DB; db.CreateTable <OutEntity>(); db.CreateTable <OutEntityUnsynced>(); //db.CreateTable<projects.ppx.PPClientSummary>(); //db.CreateTable<projects.vmc.VmmcClientSummary>(); db.CreateTable <projects.ilsp.lspClientSummary>(); db.CreateTable <RecordSummary>(); db.CreateTable <DeviceConfiguration>(); //we load from kinds //RebuildIndexes = true; if (rebuildIndexes) { RebuildClientSummaryIndexes < projects.ilsp.lspClientSummary, projects.ilsp.lspProvider>( new KindName(Constants.KIND_LSP_MAIN)); // RebuildClientSummaryIndexes< //projects.vmc.VmmcClientSummary, //projects.vmc.VmmcLookupProvider>( //new KindName(Constants.KIND_VMMC_REGANDPROCEDURE)); // RebuildClientSummaryIndexes< // projects.ppx.PPClientSummary, // projects.ppx.PpxLookupProvider>( // new KindName(Constants.KIND_PPX_CLIENTEVAL)); RebuildRecordSummaryIndexes(); } new TableStore(Constants.KIND_DEFAULT).build(); new TableStore(Constants.KIND_APPUSERS).build(); //new TableStore(Constants.KIND_SITEPROVIDER).build(); new TableStore(Constants.KIND_SITESESSION).build(); new TableStore(Constants.KIND_SITEPROVIDER).build(); ////prepex clients //new TableStore(Constants.KIND_PPX_CLIENTEVAL).build(); //new TableStore(Constants.KIND_PPX_DEVICEREMOVAL).build(); //new TableStore(Constants.KIND_PPX_POSTREMOVAL).build(); //new TableStore(Constants.KIND_PPX_UNSCHEDULEDVISIT).build(); ////VMMC //new TableStore(Constants.KIND_VMMC_POSTOP).build(); //new TableStore(Constants.KIND_VMMC_REGANDPROCEDURE).build(); new TableStore(Constants.KIND_LSP_MAIN).build(); }
public static void RebuildRecordSummaryIndexes() { var db = new LocalDB3().DB; db.DeleteAll <RecordSummary>(); db.DropTable <RecordSummary>(); db.CreateTable <RecordSummary>(); var ppxKinds = Constants.PPX_KIND_DISPLAYNAMES.Keys; var vmmcKinds = Constants.VMMC_KIND_DISPLAYNAMES.Keys; var lspKinds = Constants.LSP_KIND_DISPLAYNAMES.Keys; var combined = new List <string>(); combined.AddRange(ppxKinds); combined.AddRange(vmmcKinds); combined.AddRange(lspKinds); var multiStore = new MultiTableStore() { Kinds = (from kind in combined select new KindName(kind)).ToList() }; var kindRecords = multiStore.getRecordBlobs(); var recordSummaries = new List <RecordSummary>(); foreach (var record in kindRecords) { var saveable = Newtonsoft.Json.JsonConvert .DeserializeObject <GeneralEntityDataset>(record.Value); var editDateObj = saveable.GetValue(Constants.FIELD_PPX_DATEOFVISIT); editDateObj = editDateObj ?? saveable.GetValue(Constants.FIELD_VMMC_DATEOFVISIT); editDateObj = editDateObj ?? saveable.GetValue(Constants.FIELD_LSP_DATEOFVISIT); DateTime dateEdited; if (editDateObj == null || string.IsNullOrWhiteSpace(editDateObj.Value)) { dateEdited = DateTime.MinValue; } else { if (!DateTime.TryParse(editDateObj.Value, out dateEdited)) { dateEdited = DateTime.MinValue; } } var recSummary = new RecordSummary() { Id = saveable.Id.Value, EntityId = saveable.EntityId == null ? saveable.Id.Value : saveable.EntityId.Value, VisitDate = dateEdited, KindName = saveable.FormName }; recordSummaries.Add(recSummary); } db.InsertAll(recordSummaries); }
public static void RebuildClientSummaryIndexes <T, U>(KindName name) where T : class, ILocalDbEntity, new() where U : ClientLookupProvider <T>, new() { var db = new LocalDB3().DB; db.DeleteAll <T>(); db.DropTable <T>(); db.CreateTable <T>(); var vmmcReg = new TableStore(name.Value).GetAllBlobs(); var allSummaries = new List <T>(); foreach (var reg in vmmcReg) { var entity = Newtonsoft.Json.JsonConvert.DeserializeObject <GeneralEntityDataset>(reg.Value); var mySummary = new T().Load(entity) as T; allSummaries.Add(mySummary); } new U().InsertOrReplace(allSummaries); }