diff --git a/.vscode/launch.json b/.vscode/launch.json index 0e2049e9..8fd97968 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -53,7 +53,7 @@ "AYANOVA_FOLDER_USER_FILES": "c:\\temp\\RavenTestData\\userfiles", "AYANOVA_FOLDER_BACKUP_FILES": "c:\\temp\\RavenTestData\\backupfiles", "AYANOVA_FOLDER_TEMPORARY_SERVER_FILES": "c:\\temp\\RavenTestData\\tempfiles", - "AYANOVA_SERVER_TEST_MODE": "false", + "AYANOVA_SERVER_TEST_MODE": "true", "AYANOVA_SERVER_TEST_MODE_SEEDLEVEL": "small", "AYANOVA_SERVER_TEST_MODE_TZ_OFFSET": "-7", "AYANOVA_BACKUP_PG_DUMP_PATH": "C:\\data\\code\\postgres_13\\bin\\" diff --git a/server/AyaNova/DataList/DataListSqlFilterCriteriaBuilder.cs b/server/AyaNova/DataList/DataListSqlFilterCriteriaBuilder.cs index ede17767..94017af4 100644 --- a/server/AyaNova/DataList/DataListSqlFilterCriteriaBuilder.cs +++ b/server/AyaNova/DataList/DataListSqlFilterCriteriaBuilder.cs @@ -35,8 +35,11 @@ namespace AyaNova.DataList //Get some info about this column / field var fld = cm["fld"].Value(); - var dataType = objectFieldsList.Find(z => z.FieldKey.ToLowerInvariant() == fld).UiFieldDataType; + + //var dataType = objectFieldsList.Find(z => z.FieldKey.ToLowerInvariant() == fld.ToLowerInvariant()).UiFieldDataType; AyaDataListFieldDefinition DataListField = objectFieldsList.FirstOrDefault(z => z.FieldKey == fld); + var dataType = DataListField.UiFieldDataType; + //No filtering on custom fields! if (DataListField.IsCustomField) diff --git a/server/AyaNova/biz/DataListViewBiz.cs b/server/AyaNova/biz/DataListViewBiz.cs index ca33e63d..e49915aa 100644 --- a/server/AyaNova/biz/DataListViewBiz.cs +++ b/server/AyaNova/biz/DataListViewBiz.cs @@ -283,7 +283,7 @@ namespace AyaNova.Biz if (DataList != null) { - var TheField = DataList.FieldDefinitions.SingleOrDefault(z => z.FieldKey.ToLowerInvariant() == fld); + var TheField = DataList.FieldDefinitions.SingleOrDefault(z => z.FieldKey.ToLowerInvariant() == fld.ToLowerInvariant()); if (TheField == null) { diff --git a/server/AyaNova/biz/MemoBiz.cs b/server/AyaNova/biz/MemoBiz.cs index 5cb80d40..b496eb8c 100644 --- a/server/AyaNova/biz/MemoBiz.cs +++ b/server/AyaNova/biz/MemoBiz.cs @@ -60,7 +60,7 @@ namespace AyaNova.Biz } } - + // //////////////////////////////////////////////////////////////////////////////////////////////// // //DUPLICATE @@ -100,14 +100,24 @@ namespace AyaNova.Biz // internal async Task GetAsync(long id, bool logTheGetEvent = true) { - var ret = await ct.Memo.SingleOrDefaultAsync(m => m.Id == id && m.ToId==UserId);//## SECURITY, if need general purpose then make new method + var ret = await ct.Memo.SingleOrDefaultAsync(m => m.Id == id && m.ToId == UserId);//## SECURITY, if need general purpose then make new method if (logTheGetEvent && ret != null) + { + //Hijack this method to also flag as read + //batch ops will get but will set logthegetevent as false which is helpful for also setting read or not + if (!ret.Viewed) + { + //FLAG VIEWED + ret.Viewed = true; + await ct.SaveChangesAsync(); + } await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, id, BizType, AyaEvent.Retrieved), ct); + } return ret; } - + //////////////////////////////////////////////////////////////////////////////////////////////// //UPDATE - ## NOTE: only internally, not exposed to controller route only here for batch ops // diff --git a/server/AyaNova/biz/PickListBiz.cs b/server/AyaNova/biz/PickListBiz.cs index 4fc8674a..abb2bc7f 100644 --- a/server/AyaNova/biz/PickListBiz.cs +++ b/server/AyaNova/biz/PickListBiz.cs @@ -248,7 +248,7 @@ namespace AyaNova.Biz if (PickList != null) { - var TheField = PickList.ColumnDefinitions.SingleOrDefault(z => z.FieldKey.ToLowerInvariant() == fld); + var TheField = PickList.ColumnDefinitions.SingleOrDefault(z => z.FieldKey.ToLowerInvariant() == fld.ToLowerInvariant()); if (TheField == null) { diff --git a/server/AyaNova/util/Seeder.cs b/server/AyaNova/util/Seeder.cs index 048c2691..a5a9abe3 100644 --- a/server/AyaNova/util/Seeder.cs +++ b/server/AyaNova/util/Seeder.cs @@ -710,13 +710,13 @@ namespace AyaNova.Util ///////////////////////////////////////////////////// //Seed some test memos { - for (int x = 0; x < 10; x++) + for (int x = 0; x < 100; x++) { Memo memo = new Memo(); - memo.Name = Fake.Rant.Review(); + memo.Name = Fake.Lorem.Sentence(); memo.Notes = Fake.Lorem.Paragraphs(); - memo.ToId = 1; - memo.FromId = Fake.Random.Long(2, 15); + memo.ToId = Fake.Random.Long(1, 15); + memo.FromId = Fake.Random.Long(1, 15); memo.Tags = RandomTags(); using (AyContext ct = ServiceProviderProvider.DBContext) {