This commit is contained in:
2018-09-07 20:24:56 +00:00
parent 7c5a6b3ad8
commit 6641179132
4 changed files with 20 additions and 17 deletions

View File

@@ -27,16 +27,7 @@ Once that is done then can steam ahead on the biz objects but until I have the c
IMMEDIATE ITEMS:
================
- Tag groups (modify tags already coded)
- Tag: add test for untag everything
- TAG: add test that can't delete if it's in a taggroup mapping
- TAGGrOUP: add tests for all crud ops
- TESTS: Make a test for each type of group operation from biz point of view
- TAGMAP: CREATEASYNC code to tag an item should take into account if it's already tagged and not make a new record, just return existing
- TAGGROUPMAP: add tagGROUPMAP CREATEASYNC should take into account if already added //TODO: see if already present and just return inObj if so
Happy monday Radiant Maiden ;)
- Need an ObjectExists type object for checking if something exists when specified by type and ID
- Could this be a combined method to get the name as well just to save time?
- Or should that be another method (YES, first code a translator to translate types to db tables (however the fuck that works with EF), then can use it in turn to verify existance and get name separately)

View File

@@ -30,13 +30,19 @@ namespace AyaNova.Biz
}
////////////////////////////////////////////////////////////////////////////////////////////////
//CREATE
internal async Task<TagGroupMap> CreateAsync(TagGroupMapInfo inObj)
{
//TODO: see if already present and just return inObj if so
// if(ct.TagGroupMap.Any().where)
//Is this taggroup mapping already present?
var Existing = await ct.TagGroupMap.Where(m => m.TagId == inObj.TagId && m.TagGroupId == inObj.TagGroupId).FirstOrDefaultAsync();
if (Existing != null)
{
//yup so just return it, don't make a new one
return Existing;
}
Validate(inObj, true);
@@ -86,7 +92,7 @@ namespace AyaNova.Biz
}
////////////////////////////////////////////////////////////////////////////////////////////////

View File

@@ -30,12 +30,18 @@ namespace AyaNova.Biz
}
////////////////////////////////////////////////////////////////////////////////////////////////
//CREATE
internal async Task<TagMap> CreateAsync(TagMapInfo inObj)
{
//TODO: Does object exist before attempting to tag it??
//Is this tag already present?
var Existing = await ct.TagMap.Where(m => m.TagId == inObj.TagId && m.TagToObjectId == inObj.TagToObjectId && m.TagToObjectType == inObj.TagToObjectType).FirstOrDefaultAsync();
if (Existing != null)
{
//yup so just return it, don't make a new one
return Existing;
}
Validate(inObj, true);
if (HasErrors)

View File

@@ -205,7 +205,7 @@ namespace AyaNova.Util
if (currentSchema < 6)
{
LogUpdateMessage(log);
// LOOKAT: Should taggroupmap have an index that enforces no taggroup can have the same tag more than once? Same for objects being tagged?
exec("CREATE TABLE atag (id BIGSERIAL PRIMARY KEY, ownerid bigint not null, name varchar(255) not null)");
exec("CREATE UNIQUE INDEX tagname_idx ON atag (name);");
exec("CREATE TABLE atagmap (id BIGSERIAL PRIMARY KEY, ownerid bigint not null," +