From fe7104a999fe9a50697735e54ff7f5feba698ba9 Mon Sep 17 00:00:00 2001 From: John Cardinal Date: Tue, 18 Dec 2018 19:18:46 +0000 Subject: [PATCH] --- devdocs/todo.txt | 11 +++------- server/AyaNova/biz/TagUtil.cs | 40 +++++++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+), 8 deletions(-) diff --git a/devdocs/todo.txt b/devdocs/todo.txt index df32a513..2fd73451 100644 --- a/devdocs/todo.txt +++ b/devdocs/todo.txt @@ -80,24 +80,19 @@ TODO CLIENT STUFF TODO SERVER STUFF - - - - - TODO: Make sure private data filters get deleted with users who created them - - non issue due to delete not allowed for any user after any data created under it so - TAGS: REally need to have a think about how tags are used in the UI, probably need a autofill route that has a source of used or common tags to drive it - so user can type first fiew characters adn select - So consistency is maintained and not sloppy multiple spellings - Maybe a db stored procedure and trigger or biz code that feeds a consolidated tag table of all entered tags in the system? - - Maybe a reference count for each tag to drive a tag cloud feature and also a order by commonality feature when offering and also to know when to remove the tag repository when no one is using that tag anymore in any records + - Maybe a reference count for each tag to drive a tag cloud feature and also a order by commonality feature when offering and also to know when to remove from the tag repository when no one is using that tag anymore in any records - Boot server and seed with debug log turned on, see what is being tracked by EF that doesn't need to, seems some of that shit is being tracked. - Docs: pagingOptions, sort and filter need to be documented for API - - INTEGRATION TEST PROJECT: Move it to it's own folder outside of RAVEN one to avoid constant weirdness in Visual Studio Code editor with both projects in same folder structure + ----------------- -TODO AFTER ABOVE: +TODO AFTER CLIENT block ABOVE: diff --git a/server/AyaNova/biz/TagUtil.cs b/server/AyaNova/biz/TagUtil.cs index 3244b9a3..cc28c999 100644 --- a/server/AyaNova/biz/TagUtil.cs +++ b/server/AyaNova/biz/TagUtil.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System; using AyaNova.Util; using System.Linq; +using AyaNova.Models; namespace AyaNova.Biz { @@ -39,6 +40,45 @@ namespace AyaNova.Biz } + public static void ProcessTagsIntoRepository(AyContext ct, List addTags, List removeTags) + { + //Add / increase reference count for added tags + //remove / decrease reference count for removed tags + var v=ct.Event.Any(x=>x.Textra=="word"); + //https://stackoverflow.com/questions/10233298/increment-a-value-in-postgres + /* + ONE SHOT WAY WHICH IS BOSS!! + +UPDATE totals + SET total = total + 1 +WHERE name = 'bill'; + +If you want to make sure the current value is indeed 203 (and not accidently increase it again) you can also add another condition: + +UPDATE totals + SET total = total + 1 +WHERE name = 'bill' + AND total = 203; + + + */ + +//WAY I PROBABLY SHOULD USE AND GROK for inventory later: +//https://stackoverflow.com/questions/14718929/best-practice-to-lock-a-record-for-editing-while-using-entity-framework + +//Catch the concurrency exception, refetch and try again a certain number of times maximum until it's resolved +//maybe wrap that in a method I can re-use. + + //Iterate remove tags + //Fetch the tag if it exists and decrement it's ref count + //Iterate addTags + //Fetch the tag if it exists and update it's ref count + + + + } + + /*