From 97f36221bce850f5a8d0a1b5fa0b8bebbb7b5563 Mon Sep 17 00:00:00 2001 From: John Cardinal Date: Wed, 3 Feb 2021 18:15:57 +0000 Subject: [PATCH] --- server/AyaNova/biz/DataListSavedFilterBiz.cs | 26 ++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/server/AyaNova/biz/DataListSavedFilterBiz.cs b/server/AyaNova/biz/DataListSavedFilterBiz.cs index 960099aa..a1970f1f 100644 --- a/server/AyaNova/biz/DataListSavedFilterBiz.cs +++ b/server/AyaNova/biz/DataListSavedFilterBiz.cs @@ -136,6 +136,8 @@ namespace AyaNova.Biz List items = new List(); if (!string.IsNullOrWhiteSpace(listKey)) { + //First ensure there is a default + items = await ct.DataListSavedFilter .AsNoTracking() .Where(z => z.ListKey == listKey && (z.Public == true || z.UserId == UserId)) @@ -151,6 +153,30 @@ namespace AyaNova.Biz } + //////////////////////////////////////////////////////////////////////////////////////////////// + //CREATE Default if it doesn't exist already + internal async Task EnsureDefaultAsync(string listKey) + { + if (!await ct.DataListSavedFilter.AnyAsync(z => z.UserId == UserId && z.ListKey == listKey && z.DefaultFilter == true)) + { + if (!DataListFactory.ListKeyIsValid(listKey)) + { + throw new System.ArgumentOutOfRangeException($"ListKey '{listKey}' is not a valid DataListKey"); + } + + var dataList = DataListFactory.GetAyaDataList(listKey); + + DataListSavedFilter d = new DataListSavedFilter(); + d.ListKey = listKey; + d.Name = "-"; + d.DefaultFilter = true; + d.Public = false; + d.UserId = UserId; + d.Filter = "{}"; + await ct.DataListSavedFilter.AddAsync(d); + await ct.SaveChangesAsync(); + } + } ////////////////////////////////////////////////////////////////////////////////////////////////