This commit is contained in:
2020-07-10 20:59:30 +00:00
parent ab43ebfeaa
commit 920ccf7250

View File

@@ -53,7 +53,8 @@ namespace AyaNova.Biz
await ct.NotifySubscription.AddAsync(newObject); await ct.NotifySubscription.AddAsync(newObject);
await ct.SaveChangesAsync(); await ct.SaveChangesAsync();
await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, newObject.Id, BizType, AyaEvent.Created), ct); await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, newObject.Id, BizType, AyaEvent.Created), ct);
// await SearchIndexAsync(newObject, true); await TagBiz.ProcessUpdateTagsInRepositoryAsync(ct, newObject.InTags, null);
await TagBiz.ProcessUpdateTagsInRepositoryAsync(ct, newObject.OutTags, null);
return newObject; return newObject;
} }
} }
@@ -63,7 +64,7 @@ namespace AyaNova.Biz
// //
internal async Task<NotifySubscription> DuplicateAsync(long id) internal async Task<NotifySubscription> DuplicateAsync(long id)
{ {
throw new System.NotImplementedException("NotifySubscriptionBiz::Duplicateasync NOT IMPLEMENTED YET");
NotifySubscription dbObject = await GetAsync(id, false); NotifySubscription dbObject = await GetAsync(id, false);
if (dbObject == null) if (dbObject == null)
{ {
@@ -71,7 +72,7 @@ namespace AyaNova.Biz
return null; return null;
} }
NotifySubscription newObject = new NotifySubscription(); NotifySubscription newObject = new NotifySubscription();
CopyObject.Copy(dbObject, newObject, "Wiki,Serial"); CopyObject.Copy(dbObject, newObject);
newObject.Id = 0; newObject.Id = 0;
newObject.Concurrency = 0; newObject.Concurrency = 0;
@@ -79,7 +80,8 @@ namespace AyaNova.Biz
await ct.SaveChangesAsync(); await ct.SaveChangesAsync();
await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, newObject.Id, BizType, AyaEvent.Created), ct); await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, newObject.Id, BizType, AyaEvent.Created), ct);
//await SearchIndexAsync(newObject, true); //await SearchIndexAsync(newObject, true);
// await TagBiz.ProcessUpdateTagsInRepositoryAsync(ct, newObject.Tags, null); await TagBiz.ProcessUpdateTagsInRepositoryAsync(ct, newObject.InTags, null);
await TagBiz.ProcessUpdateTagsInRepositoryAsync(ct, newObject.OutTags, null);
return newObject; return newObject;
} }
@@ -127,7 +129,8 @@ namespace AyaNova.Biz
return null; return null;
} }
await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, dbObject.Id, BizType, AyaEvent.Modified), ct); await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, dbObject.Id, BizType, AyaEvent.Modified), ct);
await TagBiz.ProcessUpdateTagsInRepositoryAsync(ct, dbObject.InTags, SnapshotOfOriginalDBObj.InTags);
await TagBiz.ProcessUpdateTagsInRepositoryAsync(ct, dbObject.OutTags, SnapshotOfOriginalDBObj.OutTags);
return dbObject; return dbObject;
} }
@@ -153,9 +156,11 @@ namespace AyaNova.Biz
//Log event //Log event
await EventLogProcessor.DeleteObjectLogAsync(UserId, BizType, dbObject.Id, dbObject.EventType.ToString(), ct); await EventLogProcessor.DeleteObjectLogAsync(UserId, BizType, dbObject.Id, dbObject.EventType.ToString(), ct);
await Search.ProcessDeletedObjectKeywordsAsync(dbObject.Id, BizType, ct); // await Search.ProcessDeletedObjectKeywordsAsync(dbObject.Id, BizType, ct);
await TagBiz.ProcessDeleteTagsInRepositoryAsync(ct, dbObject.InTags);
await FileUtil.DeleteAttachmentsForObjectAsync(BizType, dbObject.Id, ct); await TagBiz.ProcessDeleteTagsInRepositoryAsync(ct, dbObject.OutTags);
//await FileUtil.DeleteAttachmentsForObjectAsync(BizType, dbObject.Id, ct);
//TODO: DELETE RELATED RECORDS HERE
//all good do the commit //all good do the commit
await transaction.CommitAsync(); await transaction.CommitAsync();
} }
@@ -178,6 +183,11 @@ namespace AyaNova.Biz
// //
private async Task ValidateAsync(NotifySubscription proposedObj) private async Task ValidateAsync(NotifySubscription proposedObj)
{ {
//todo: validate subscription is valid
//perhaps check if customer type user doesn't have non customer notification etc
//NOTE: In DB schema only name and serial are not nullable //NOTE: In DB schema only name and serial are not nullable
//run validation and biz rules //run validation and biz rules