diff --git a/server/AyaNova/biz/ContractBiz.cs b/server/AyaNova/biz/ContractBiz.cs index 64919855..974828e6 100644 --- a/server/AyaNova/biz/ContractBiz.cs +++ b/server/AyaNova/biz/ContractBiz.cs @@ -176,13 +176,13 @@ namespace AyaNova.Biz } } - //////////////////////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////////////////////// //SEARCH // private async Task SearchIndexAsync(Contract obj, bool isNew) { - var SearchParams = new Search.SearchIndexProcessObjectParameters(UserTranslationId, obj.Id, BizType); - SearchParams.AddText(obj.Notes).AddText(obj.Name).AddText(obj.Wiki).AddText(obj.Tags).AddCustomFields(obj.CustomFields); + var SearchParams = new Search.SearchIndexProcessObjectParameters(UserTranslationId, obj.Id, BizType); + DigestSearchText(obj,SearchParams); if (isNew) await Search.ProcessNewObjectKeywordsAsync(SearchParams); else @@ -191,13 +191,23 @@ namespace AyaNova.Biz public async Task GetSearchResultSummary(long id) { - var obj = await ct.Contract.SingleOrDefaultAsync(m => m.Id == id); + var obj = await ct.Contract.SingleOrDefaultAsync(z => z.Id == id); var SearchParams = new Search.SearchIndexProcessObjectParameters(); - if (obj != null) - SearchParams.AddText(obj.Notes).AddText(obj.Name).AddText(obj.Wiki).AddText(obj.Tags).AddCustomFields(obj.CustomFields); + DigestSearchText(obj,SearchParams); return SearchParams; } + public void DigestSearchText(Contract obj, Search.SearchIndexProcessObjectParameters searchParams) + { + if (obj != null) + searchParams.AddText(obj.Notes) + .AddText(obj.Name) + .AddText(obj.Wiki) + .AddText(obj.Tags) + .AddCustomFields(obj.CustomFields); + } + + //////////////////////////////////////////////////////////////////////////////////////////////// //VALIDATION diff --git a/server/AyaNova/biz/CustomerBiz.cs b/server/AyaNova/biz/CustomerBiz.cs index e6a043b3..248c424e 100644 --- a/server/AyaNova/biz/CustomerBiz.cs +++ b/server/AyaNova/biz/CustomerBiz.cs @@ -219,33 +219,7 @@ namespace AyaNova.Biz // private async Task SearchIndexAsync(Customer obj, bool isNew) { - var SearchParams = new Search.SearchIndexProcessObjectParameters(UserTranslationId, obj.Id, BizType); - // SearchParams.AddText(obj.Notes) - // .AddText(obj.Name) - // .AddText(obj.Wiki) - // .AddText(obj.Tags) - // .AddText(obj.WebAddress) - // .AddText(obj.PopUpNotes) - // .AddText(obj.TechNotes) - // .AddText(obj.AccountNumber) - // .AddText(obj.Phone1) - // .AddText(obj.Phone2) - // .AddText(obj.Phone3) - // .AddText(obj.Phone4) - // .AddText(obj.Phone5) - // .AddText(obj.EmailAddress) - // .AddText(obj.PostAddress) - // .AddText(obj.PostCity) - // .AddText(obj.PostRegion) - // .AddText(obj.PostCountry) - // .AddText(obj.PostCode) - // .AddText(obj.Address) - // .AddText(obj.City) - // .AddText(obj.Region) - // .AddText(obj.Country) - // .AddText(obj.Latitude) - // .AddText(obj.Longitude) - // .AddCustomFields(obj.CustomFields); + var SearchParams = new Search.SearchIndexProcessObjectParameters(UserTranslationId, obj.Id, BizType); DigestSearchText(obj,SearchParams); if (isNew) await Search.ProcessNewObjectKeywordsAsync(SearchParams); @@ -258,33 +232,6 @@ namespace AyaNova.Biz var obj = await ct.Customer.SingleOrDefaultAsync(z => z.Id == id); var SearchParams = new Search.SearchIndexProcessObjectParameters(); DigestSearchText(obj,SearchParams); - // if (obj != null) - // SearchParams.AddText(obj.Notes) - // .AddText(obj.Name) - // .AddText(obj.Wiki) - // .AddText(obj.Tags) - // .AddText(obj.WebAddress) - // .AddText(obj.PopUpNotes) - // .AddText(obj.TechNotes) - // .AddText(obj.AccountNumber) - // .AddText(obj.Phone1) - // .AddText(obj.Phone2) - // .AddText(obj.Phone3) - // .AddText(obj.Phone4) - // .AddText(obj.Phone5) - // .AddText(obj.EmailAddress) - // .AddText(obj.PostAddress) - // .AddText(obj.PostCity) - // .AddText(obj.PostRegion) - // .AddText(obj.PostCountry) - // .AddText(obj.PostCode) - // .AddText(obj.Address) - // .AddText(obj.City) - // .AddText(obj.Region) - // .AddText(obj.Country) - // .AddText(obj.Latitude) - // .AddText(obj.Longitude) - // .AddCustomFields(obj.CustomFields); return SearchParams; } diff --git a/server/AyaNova/biz/CustomerNoteBiz.cs b/server/AyaNova/biz/CustomerNoteBiz.cs index b776c194..12aae575 100644 --- a/server/AyaNova/biz/CustomerNoteBiz.cs +++ b/server/AyaNova/biz/CustomerNoteBiz.cs @@ -145,7 +145,7 @@ namespace AyaNova.Biz //Just re-throw for now, let exception handler deal, but in future may want to deal with this more here throw; } - + return true; } @@ -156,7 +156,7 @@ namespace AyaNova.Biz private async Task SearchIndexAsync(CustomerNote obj, bool isNew) { var SearchParams = new Search.SearchIndexProcessObjectParameters(UserTranslationId, obj.Id, BizType); - SearchParams.AddText(obj.Notes).AddText(obj.Tags); + DigestSearchText(obj, SearchParams); if (isNew) await Search.ProcessNewObjectKeywordsAsync(SearchParams); else @@ -165,13 +165,20 @@ namespace AyaNova.Biz public async Task GetSearchResultSummary(long id) { - var obj = await ct.CustomerNote.SingleOrDefaultAsync(m => m.Id == id); + var obj = await ct.CustomerNote.SingleOrDefaultAsync(z => z.Id == id); var SearchParams = new Search.SearchIndexProcessObjectParameters(); - if (obj != null) - SearchParams.AddText(obj.Notes).AddText(obj.Tags); + DigestSearchText(obj, SearchParams); return SearchParams; } + public void DigestSearchText(CustomerNote obj, Search.SearchIndexProcessObjectParameters searchParams) + { + if (obj != null) + searchParams.AddText(obj.Notes) + .AddText(obj.Tags); + } + + //////////////////////////////////////////////////////////////////////////////////////////////// //REPORTING diff --git a/server/AyaNova/biz/HeadOfficeBiz.cs b/server/AyaNova/biz/HeadOfficeBiz.cs index 9904d094..d8865fff 100644 --- a/server/AyaNova/biz/HeadOfficeBiz.cs +++ b/server/AyaNova/biz/HeadOfficeBiz.cs @@ -205,7 +205,7 @@ namespace AyaNova.Biz private async Task SearchIndexAsync(HeadOffice obj, bool isNew) { var SearchParams = new Search.SearchIndexProcessObjectParameters(UserTranslationId, obj.Id, BizType); - SearchParams.AddText(obj.Notes).AddText(obj.Name).AddText(obj.Wiki).AddText(obj.Tags).AddCustomFields(obj.CustomFields); + DigestSearchText(obj, SearchParams); if (isNew) await Search.ProcessNewObjectKeywordsAsync(SearchParams); else @@ -216,11 +216,40 @@ namespace AyaNova.Biz { var obj = await ct.HeadOffice.SingleOrDefaultAsync(z => z.Id == id); var SearchParams = new Search.SearchIndexProcessObjectParameters(); - if (obj != null) - SearchParams.AddText(obj.Notes).AddText(obj.Name).AddText(obj.Wiki).AddText(obj.Tags).AddCustomFields(obj.CustomFields); + DigestSearchText(obj, SearchParams); return SearchParams; } + public void DigestSearchText(HeadOffice obj, Search.SearchIndexProcessObjectParameters searchParams) + { + if (obj != null) + searchParams.AddText(obj.Notes) + .AddText(obj.Name) + .AddText(obj.Wiki) + .AddText(obj.Tags) + .AddText(obj.WebAddress) + .AddText(obj.AccountNumber) + .AddText(obj.Phone1) + .AddText(obj.Phone2) + .AddText(obj.Phone3) + .AddText(obj.Phone4) + .AddText(obj.Phone5) + .AddText(obj.EmailAddress) + .AddText(obj.PostAddress) + .AddText(obj.PostCity) + .AddText(obj.PostRegion) + .AddText(obj.PostCountry) + .AddText(obj.PostCode) + .AddText(obj.Address) + .AddText(obj.City) + .AddText(obj.Region) + .AddText(obj.Country) + .AddText(obj.Latitude) + .AddText(obj.Longitude) + .AddCustomFields(obj.CustomFields); + } + + //////////////////////////////////////////////////////////////////////////////////////////////// //VALIDATION @@ -432,13 +461,13 @@ namespace AyaNova.Biz - + //////////////////////////////////////////////////////////////////////////////////////////////// // NOTIFICATION PROCESSING // - public async Task HandlePotentialNotificationEvent(AyaEvent ayaEvent, ICoreBizObjectModel proposedObj, ICoreBizObjectModel currentObj=null) + public async Task HandlePotentialNotificationEvent(AyaEvent ayaEvent, ICoreBizObjectModel proposedObj, ICoreBizObjectModel currentObj = null) { ILogger log = AyaNova.Util.ApplicationLogging.CreateLogger(); if (ServerBootConfig.SEEDING) return; diff --git a/server/AyaNova/biz/LoanUnitBiz.cs b/server/AyaNova/biz/LoanUnitBiz.cs index 88bffa9a..54175ac2 100644 --- a/server/AyaNova/biz/LoanUnitBiz.cs +++ b/server/AyaNova/biz/LoanUnitBiz.cs @@ -147,7 +147,8 @@ namespace AyaNova.Biz try { LoanUnit dbObject = await ct.LoanUnit.SingleOrDefaultAsync(z => z.Id == id); - if (dbObject == null){ + if (dbObject == null) + { AddError(ApiErrorCode.NOT_FOUND); return false; } @@ -182,7 +183,7 @@ namespace AyaNova.Biz private async Task SearchIndexAsync(LoanUnit obj, bool isNew) { var SearchParams = new Search.SearchIndexProcessObjectParameters(UserTranslationId, obj.Id, BizType); - SearchParams.AddText(obj.Notes).AddText(obj.Name).AddText(obj.Wiki).AddText(obj.Tags).AddCustomFields(obj.CustomFields); + DigestSearchText(obj, SearchParams); if (isNew) await Search.ProcessNewObjectKeywordsAsync(SearchParams); else @@ -193,11 +194,21 @@ namespace AyaNova.Biz { var obj = await ct.LoanUnit.SingleOrDefaultAsync(z => z.Id == id); var SearchParams = new Search.SearchIndexProcessObjectParameters(); - if (obj != null) - SearchParams.AddText(obj.Notes).AddText(obj.Name).AddText(obj.Wiki).AddText(obj.Tags).AddCustomFields(obj.CustomFields); + DigestSearchText(obj, SearchParams); return SearchParams; } + public void DigestSearchText(LoanUnit obj, Search.SearchIndexProcessObjectParameters searchParams) + { + if (obj != null) + searchParams.AddText(obj.Notes) + .AddText(obj.Name) + .AddText(obj.Wiki) + .AddText(obj.Tags) + .AddCustomFields(obj.CustomFields); + } + + //////////////////////////////////////////////////////////////////////////////////////////////// //VALIDATION @@ -212,7 +223,7 @@ namespace AyaNova.Biz if (string.IsNullOrWhiteSpace(proposedObj.Name)) AddError(ApiErrorCode.VALIDATION_REQUIRED, "Name"); - + //If name is otherwise OK, check that name is unique if (!PropertyHasErrors("Name")) { @@ -245,13 +256,13 @@ namespace AyaNova.Biz } - + //////////////////////////////////////////////////////////////////////////////////////////////// // NOTIFICATION PROCESSING // - public async Task HandlePotentialNotificationEvent(AyaEvent ayaEvent, ICoreBizObjectModel proposedObj, ICoreBizObjectModel currentObj=null) + public async Task HandlePotentialNotificationEvent(AyaEvent ayaEvent, ICoreBizObjectModel proposedObj, ICoreBizObjectModel currentObj = null) { ILogger log = AyaNova.Util.ApplicationLogging.CreateLogger(); if (ServerBootConfig.SEEDING) return; diff --git a/server/AyaNova/biz/MemoBiz.cs b/server/AyaNova/biz/MemoBiz.cs index 2c479a66..ef4de7fa 100644 --- a/server/AyaNova/biz/MemoBiz.cs +++ b/server/AyaNova/biz/MemoBiz.cs @@ -204,7 +204,7 @@ namespace AyaNova.Biz private async Task SearchIndexAsync(Memo obj, bool isNew) { var SearchParams = new Search.SearchIndexProcessObjectParameters(UserTranslationId, obj.Id, BizType); - SearchParams.AddText(obj.Notes).AddText(obj.Name).AddText(obj.Wiki).AddText(obj.Tags).AddCustomFields(obj.CustomFields); + DigestSearchText(obj, SearchParams); if (isNew) await Search.ProcessNewObjectKeywordsAsync(SearchParams); else @@ -213,13 +213,22 @@ namespace AyaNova.Biz public async Task GetSearchResultSummary(long id) { - var obj = await ct.Memo.SingleOrDefaultAsync(m => m.Id == id); + var obj = await ct.Memo.SingleOrDefaultAsync(z => z.Id == id); var SearchParams = new Search.SearchIndexProcessObjectParameters(); - if (obj != null) - SearchParams.AddText(obj.Notes).AddText(obj.Name).AddText(obj.Wiki).AddText(obj.Tags).AddCustomFields(obj.CustomFields); + DigestSearchText(obj, SearchParams); return SearchParams; } + public void DigestSearchText(Memo obj, Search.SearchIndexProcessObjectParameters searchParams) + { + if (obj != null) + searchParams.AddText(obj.Notes) + .AddText(obj.Name) + .AddText(obj.Wiki) + .AddText(obj.Tags) + .AddCustomFields(obj.CustomFields); + } + //////////////////////////////////////////////////////////////////////////////////////////////// //VALIDATION @@ -444,13 +453,13 @@ namespace AyaNova.Biz - + //////////////////////////////////////////////////////////////////////////////////////////////// // NOTIFICATION PROCESSING // - public async Task HandlePotentialNotificationEvent(AyaEvent ayaEvent, ICoreBizObjectModel proposedObj, ICoreBizObjectModel currentObj=null) + public async Task HandlePotentialNotificationEvent(AyaEvent ayaEvent, ICoreBizObjectModel proposedObj, ICoreBizObjectModel currentObj = null) { ILogger log = AyaNova.Util.ApplicationLogging.CreateLogger(); if (ServerBootConfig.SEEDING) return; diff --git a/server/AyaNova/biz/PMBiz.cs b/server/AyaNova/biz/PMBiz.cs index 73d21501..539ff3d8 100644 --- a/server/AyaNova/biz/PMBiz.cs +++ b/server/AyaNova/biz/PMBiz.cs @@ -100,7 +100,7 @@ namespace AyaNova.Biz //Handle child and associated items: await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, o.Id, BizType, AyaEvent.Created), ct); await SearchIndexAsync(o, true); - // await NotifyEventProcessor.HandlePotentialNotificationEvent(AyaEvent.Created, newObject); + // await NotifyEventProcessor.HandlePotentialNotificationEvent(AyaEvent.Created, newObject); // await TagBiz.ProcessUpdateTagsInRepositoryAsync(ct, o.Tags, null); return o; @@ -115,7 +115,8 @@ namespace AyaNova.Biz // internal async Task DuplicateAsync(PM dbObject) - { await Task.CompletedTask; + { + await Task.CompletedTask; throw new System.NotImplementedException("STUB: WORKORDER DUPLICATE"); // PM outObj = new PM(); // CopyObject.Copy(dbObject, outObj, "Wiki"); @@ -197,12 +198,13 @@ namespace AyaNova.Biz + //////////////////////////////////////////////////////////////////////////////////////////////// + //SEARCH + // private async Task SearchIndexAsync(PM obj, bool isNew) { - //SEARCH INDEXING var SearchParams = new Search.SearchIndexProcessObjectParameters(UserTranslationId, obj.Id, BizType); - SearchParams.AddText(obj.Notes).AddText(obj.Serial).AddText(obj.Wiki).AddText(obj.Tags).AddCustomFields(obj.CustomFields); - + DigestSearchText(obj, SearchParams); if (isNew) await Search.ProcessNewObjectKeywordsAsync(SearchParams); else @@ -213,16 +215,27 @@ namespace AyaNova.Biz { var obj = await ct.PM.SingleOrDefaultAsync(z => z.Id == id); var SearchParams = new Search.SearchIndexProcessObjectParameters(); - if (obj != null) - SearchParams.AddText(obj.Notes).AddText(obj.Serial).AddText(obj.Wiki).AddText(obj.Tags).AddCustomFields(obj.CustomFields); + DigestSearchText(obj, SearchParams); return SearchParams; } + public void DigestSearchText(PM obj, Search.SearchIndexProcessObjectParameters searchParams) + { + if (obj != null) + searchParams.AddText(obj.Notes) + .AddText(obj.Serial) + .AddText(obj.Wiki) + .AddText(obj.Tags) + .AddCustomFields(obj.CustomFields); + } + + //////////////////////////////////////////////////////////////////////////////////////////////// //DELETE // internal async Task DeleteAsync(PM dbObject) - { await Task.CompletedTask; + { + await Task.CompletedTask; throw new System.NotImplementedException("STUB: WORKORDER DELETE"); //Determine if the object can be deleted, do the deletion tentatively //Probably also in here deal with tags and associated search text etc @@ -257,7 +270,7 @@ namespace AyaNova.Biz // if (string.IsNullOrWhiteSpace(proposedObj.Name)) // AddError(ApiErrorCode.VALIDATION_REQUIRED, "Name"); - + // //If name is otherwise OK, check that name is unique // if (!PropertyHasErrors("Name")) diff --git a/server/AyaNova/biz/PMTemplateBiz.cs b/server/AyaNova/biz/PMTemplateBiz.cs index d6a90bd5..d8bbc246 100644 --- a/server/AyaNova/biz/PMTemplateBiz.cs +++ b/server/AyaNova/biz/PMTemplateBiz.cs @@ -162,7 +162,8 @@ namespace AyaNova.Biz try { PMTemplate dbObject = await ct.PMTemplate.SingleOrDefaultAsync(z => z.Id == id); - if (dbObject == null){ + if (dbObject == null) + { AddError(ApiErrorCode.NOT_FOUND); return false; } @@ -191,13 +192,14 @@ namespace AyaNova.Biz } } + //////////////////////////////////////////////////////////////////////////////////////////////// //SEARCH // private async Task SearchIndexAsync(PMTemplate obj, bool isNew) { var SearchParams = new Search.SearchIndexProcessObjectParameters(UserTranslationId, obj.Id, BizType); - SearchParams.AddText(obj.Notes).AddText(obj.Name).AddText(obj.Wiki).AddText(obj.Tags).AddCustomFields(obj.CustomFields); + DigestSearchText(obj, SearchParams); if (isNew) await Search.ProcessNewObjectKeywordsAsync(SearchParams); else @@ -208,11 +210,21 @@ namespace AyaNova.Biz { var obj = await ct.PMTemplate.SingleOrDefaultAsync(z => z.Id == id); var SearchParams = new Search.SearchIndexProcessObjectParameters(); - if (obj != null) - SearchParams.AddText(obj.Notes).AddText(obj.Name).AddText(obj.Wiki).AddText(obj.Tags).AddCustomFields(obj.CustomFields); + DigestSearchText(obj, SearchParams); return SearchParams; } + public void DigestSearchText(PMTemplate obj, Search.SearchIndexProcessObjectParameters searchParams) + { + if (obj != null) + searchParams.AddText(obj.Notes) + .AddText(obj.Name) + .AddText(obj.Wiki) + .AddText(obj.Tags) + .AddCustomFields(obj.CustomFields); + } + + //////////////////////////////////////////////////////////////////////////////////////////////// //VALIDATION @@ -227,7 +239,7 @@ namespace AyaNova.Biz if (string.IsNullOrWhiteSpace(proposedObj.Name)) AddError(ApiErrorCode.VALIDATION_REQUIRED, "Name"); - + //If name is otherwise OK, check that name is unique if (!PropertyHasErrors("Name")) { @@ -260,14 +272,14 @@ namespace AyaNova.Biz } - - + + //////////////////////////////////////////////////////////////////////////////////////////////// // NOTIFICATION PROCESSING // - public async Task HandlePotentialNotificationEvent(AyaEvent ayaEvent, ICoreBizObjectModel proposedObj, ICoreBizObjectModel currentObj=null) + public async Task HandlePotentialNotificationEvent(AyaEvent ayaEvent, ICoreBizObjectModel proposedObj, ICoreBizObjectModel currentObj = null) { ILogger log = AyaNova.Util.ApplicationLogging.CreateLogger(); if (ServerBootConfig.SEEDING) return; diff --git a/server/AyaNova/biz/PartBiz.cs b/server/AyaNova/biz/PartBiz.cs index ee41dc59..2b9f5c28 100644 --- a/server/AyaNova/biz/PartBiz.cs +++ b/server/AyaNova/biz/PartBiz.cs @@ -147,7 +147,8 @@ namespace AyaNova.Biz try { Part dbObject = await ct.Part.SingleOrDefaultAsync(m => m.Id == id); - if (dbObject == null){ + if (dbObject == null) + { AddError(ApiErrorCode.NOT_FOUND); return false; } @@ -176,13 +177,14 @@ namespace AyaNova.Biz } } + //////////////////////////////////////////////////////////////////////////////////////////////// //SEARCH // private async Task SearchIndexAsync(Part obj, bool isNew) { var SearchParams = new Search.SearchIndexProcessObjectParameters(UserTranslationId, obj.Id, BizType); - SearchParams.AddText(obj.Notes).AddText(obj.Name).AddText(obj.Wiki).AddText(obj.Tags).AddCustomFields(obj.CustomFields); + DigestSearchText(obj, SearchParams); if (isNew) await Search.ProcessNewObjectKeywordsAsync(SearchParams); else @@ -191,13 +193,23 @@ namespace AyaNova.Biz public async Task GetSearchResultSummary(long id) { - var obj = await ct.Part.SingleOrDefaultAsync(m => m.Id == id); + var obj = await ct.Part.SingleOrDefaultAsync(z => z.Id == id); var SearchParams = new Search.SearchIndexProcessObjectParameters(); - if (obj != null) - SearchParams.AddText(obj.Notes).AddText(obj.Name).AddText(obj.Wiki).AddText(obj.Tags).AddCustomFields(obj.CustomFields); + DigestSearchText(obj, SearchParams); return SearchParams; } + public void DigestSearchText(Part obj, Search.SearchIndexProcessObjectParameters searchParams) + { + if (obj != null) + searchParams.AddText(obj.Notes) + .AddText(obj.Name) + .AddText(obj.Wiki) + .AddText(obj.Tags) + .AddCustomFields(obj.CustomFields); + } + + //////////////////////////////////////////////////////////////////////////////////////////////// //VALIDATION @@ -212,7 +224,7 @@ namespace AyaNova.Biz if (string.IsNullOrWhiteSpace(proposedObj.Name)) AddError(ApiErrorCode.VALIDATION_REQUIRED, "Name"); - + //If name is otherwise OK, check that name is unique if (!PropertyHasErrors("Name")) @@ -246,13 +258,13 @@ namespace AyaNova.Biz } - + //////////////////////////////////////////////////////////////////////////////////////////////// // NOTIFICATION PROCESSING // - public async Task HandlePotentialNotificationEvent(AyaEvent ayaEvent, ICoreBizObjectModel proposedObj, ICoreBizObjectModel currentObj=null) + public async Task HandlePotentialNotificationEvent(AyaEvent ayaEvent, ICoreBizObjectModel proposedObj, ICoreBizObjectModel currentObj = null) { ILogger log = AyaNova.Util.ApplicationLogging.CreateLogger(); if (ServerBootConfig.SEEDING) return; diff --git a/server/AyaNova/biz/ProjectBiz.cs b/server/AyaNova/biz/ProjectBiz.cs index 1d81cc60..7dd6abde 100644 --- a/server/AyaNova/biz/ProjectBiz.cs +++ b/server/AyaNova/biz/ProjectBiz.cs @@ -152,7 +152,8 @@ namespace AyaNova.Biz try { Project dbObject = await ct.Project.SingleOrDefaultAsync(m => m.Id == id); - if (dbObject == null){ + if (dbObject == null) + { AddError(ApiErrorCode.NOT_FOUND); return false; } @@ -181,13 +182,15 @@ namespace AyaNova.Biz } } + + //////////////////////////////////////////////////////////////////////////////////////////////// //SEARCH // private async Task SearchIndexAsync(Project obj, bool isNew) { var SearchParams = new Search.SearchIndexProcessObjectParameters(UserTranslationId, obj.Id, BizType); - SearchParams.AddText(obj.Notes).AddText(obj.Name).AddText(obj.Wiki).AddText(obj.Tags).AddCustomFields(obj.CustomFields); + DigestSearchText(obj, SearchParams); if (isNew) await Search.ProcessNewObjectKeywordsAsync(SearchParams); else @@ -196,13 +199,24 @@ namespace AyaNova.Biz public async Task GetSearchResultSummary(long id) { - var obj = await ct.Project.SingleOrDefaultAsync(m => m.Id == id); + var obj = await ct.Project.SingleOrDefaultAsync(z => z.Id == id); var SearchParams = new Search.SearchIndexProcessObjectParameters(); - if (obj != null) - SearchParams.AddText(obj.Notes).AddText(obj.Name).AddText(obj.Wiki).AddText(obj.Tags).AddCustomFields(obj.CustomFields); + DigestSearchText(obj, SearchParams); return SearchParams; } + public void DigestSearchText(Project obj, Search.SearchIndexProcessObjectParameters searchParams) + { + if (obj != null) + searchParams.AddText(obj.Notes) + .AddText(obj.Name) + .AddText(obj.Wiki) + .AddText(obj.Tags) + .AddText(obj.AccountNumber) + .AddCustomFields(obj.CustomFields); + } + + //////////////////////////////////////////////////////////////////////////////////////////////// //VALIDATION @@ -217,7 +231,7 @@ namespace AyaNova.Biz if (string.IsNullOrWhiteSpace(proposedObj.Name)) AddError(ApiErrorCode.VALIDATION_REQUIRED, "Name"); - + //If name is otherwise OK, check that name is unique if (!PropertyHasErrors("Name")) @@ -399,19 +413,19 @@ namespace AyaNova.Biz await JobsBiz.LogJobAsync(job.GId, ExceptionUtil.ExtractAllExceptionMessages(ex)); } } - await JobsBiz.LogJobAsync(job.GId, $"LT:BatchJob {job.SubType} {idList.Count}{(FailedObjectCount > 0 ? " - LT:Failed " + FailedObjectCount : "")}"); + await JobsBiz.LogJobAsync(job.GId, $"LT:BatchJob {job.SubType} {idList.Count}{(FailedObjectCount > 0 ? " - LT:Failed " + FailedObjectCount : "")}"); await JobsBiz.UpdateJobStatusAsync(job.GId, JobStatus.Completed); } - + //////////////////////////////////////////////////////////////////////////////////////////////// // NOTIFICATION PROCESSING // - public async Task HandlePotentialNotificationEvent(AyaEvent ayaEvent, ICoreBizObjectModel proposedObj, ICoreBizObjectModel currentObj=null) + public async Task HandlePotentialNotificationEvent(AyaEvent ayaEvent, ICoreBizObjectModel proposedObj, ICoreBizObjectModel currentObj = null) { ILogger log = AyaNova.Util.ApplicationLogging.CreateLogger(); if (ServerBootConfig.SEEDING) return; diff --git a/server/AyaNova/biz/PurchaseOrderBiz.cs b/server/AyaNova/biz/PurchaseOrderBiz.cs index 82859c9f..81b0ffc5 100644 --- a/server/AyaNova/biz/PurchaseOrderBiz.cs +++ b/server/AyaNova/biz/PurchaseOrderBiz.cs @@ -147,7 +147,8 @@ namespace AyaNova.Biz try { PurchaseOrder dbObject = await ct.PurchaseOrder.SingleOrDefaultAsync(z => z.Id == id); - if (dbObject == null){ + if (dbObject == null) + { AddError(ApiErrorCode.NOT_FOUND); return false; } @@ -174,13 +175,15 @@ namespace AyaNova.Biz } } + + //////////////////////////////////////////////////////////////////////////////////////////////// //SEARCH // private async Task SearchIndexAsync(PurchaseOrder obj, bool isNew) { var SearchParams = new Search.SearchIndexProcessObjectParameters(UserTranslationId, obj.Id, BizType); - SearchParams.AddText(obj.Notes).AddText(obj.Name).AddText(obj.Wiki).AddText(obj.Tags).AddCustomFields(obj.CustomFields); + DigestSearchText(obj, SearchParams); if (isNew) await Search.ProcessNewObjectKeywordsAsync(SearchParams); else @@ -191,11 +194,21 @@ namespace AyaNova.Biz { var obj = await ct.PurchaseOrder.SingleOrDefaultAsync(z => z.Id == id); var SearchParams = new Search.SearchIndexProcessObjectParameters(); - if (obj != null) - SearchParams.AddText(obj.Notes).AddText(obj.Name).AddText(obj.Wiki).AddText(obj.Tags).AddCustomFields(obj.CustomFields); + DigestSearchText(obj, SearchParams); return SearchParams; } + public void DigestSearchText(PurchaseOrder obj, Search.SearchIndexProcessObjectParameters searchParams) + { + if (obj != null) + searchParams.AddText(obj.Notes) + .AddText(obj.Name) + .AddText(obj.Wiki) + .AddText(obj.Tags) + .AddCustomFields(obj.CustomFields); + } + + //////////////////////////////////////////////////////////////////////////////////////////////// //VALIDATION @@ -243,13 +256,13 @@ namespace AyaNova.Biz } - + //////////////////////////////////////////////////////////////////////////////////////////////// // NOTIFICATION PROCESSING // - public async Task HandlePotentialNotificationEvent(AyaEvent ayaEvent, ICoreBizObjectModel proposedObj, ICoreBizObjectModel currentObj=null) + public async Task HandlePotentialNotificationEvent(AyaEvent ayaEvent, ICoreBizObjectModel proposedObj, ICoreBizObjectModel currentObj = null) { ILogger log = AyaNova.Util.ApplicationLogging.CreateLogger(); if (ServerBootConfig.SEEDING) return; diff --git a/server/AyaNova/biz/QuoteBiz.cs b/server/AyaNova/biz/QuoteBiz.cs index 94d7af94..69ba57fa 100644 --- a/server/AyaNova/biz/QuoteBiz.cs +++ b/server/AyaNova/biz/QuoteBiz.cs @@ -203,12 +203,13 @@ namespace AyaNova.Biz + //////////////////////////////////////////////////////////////////////////////////////////////// + //SEARCH + // private async Task SearchIndexAsync(Quote obj, bool isNew) { - //SEARCH INDEXING var SearchParams = new Search.SearchIndexProcessObjectParameters(UserTranslationId, obj.Id, BizType); - SearchParams.AddText(obj.Notes).AddText(obj.Serial).AddText(obj.Wiki).AddText(obj.Tags).AddCustomFields(obj.CustomFields); - + DigestSearchText(obj, SearchParams); if (isNew) await Search.ProcessNewObjectKeywordsAsync(SearchParams); else @@ -219,11 +220,21 @@ namespace AyaNova.Biz { var obj = await ct.Quote.SingleOrDefaultAsync(z => z.Id == id); var SearchParams = new Search.SearchIndexProcessObjectParameters(); - if (obj != null) - SearchParams.AddText(obj.Notes).AddText(obj.Serial).AddText(obj.Wiki).AddText(obj.Tags).AddCustomFields(obj.CustomFields); + DigestSearchText(obj, SearchParams); return SearchParams; } + public void DigestSearchText(Quote obj, Search.SearchIndexProcessObjectParameters searchParams) + { + if (obj != null) + searchParams.AddText(obj.Notes) + .AddText(obj.Serial) + .AddText(obj.Wiki) + .AddText(obj.Tags) + .AddCustomFields(obj.CustomFields); + } + + //////////////////////////////////////////////////////////////////////////////////////////////// //DELETE // @@ -264,7 +275,7 @@ namespace AyaNova.Biz // if (string.IsNullOrWhiteSpace(proposedObj.Name)) // AddError(ApiErrorCode.VALIDATION_REQUIRED, "Name"); - + // //If name is otherwise OK, check that name is unique // if (!PropertyHasErrors("Name")) // { diff --git a/server/AyaNova/biz/QuoteTemplateBiz.cs b/server/AyaNova/biz/QuoteTemplateBiz.cs index 8fb867ae..7b2391b8 100644 --- a/server/AyaNova/biz/QuoteTemplateBiz.cs +++ b/server/AyaNova/biz/QuoteTemplateBiz.cs @@ -180,12 +180,13 @@ namespace AyaNova.Biz //################################################################################################################################################### + //////////////////////////////////////////////////////////////////////////////////////////////// + //SEARCH + // private async Task SearchIndexAsync(QuoteTemplate obj, bool isNew) { - //SEARCH INDEXING var SearchParams = new Search.SearchIndexProcessObjectParameters(UserTranslationId, obj.Id, BizType); - SearchParams.AddText(obj.Notes).AddText(obj.Name).AddText(obj.Wiki).AddText(obj.Tags).AddCustomFields(obj.CustomFields); - + DigestSearchText(obj, SearchParams); if (isNew) await Search.ProcessNewObjectKeywordsAsync(SearchParams); else @@ -196,11 +197,21 @@ namespace AyaNova.Biz { var obj = await ct.QuoteTemplate.SingleOrDefaultAsync(z => z.Id == id); var SearchParams = new Search.SearchIndexProcessObjectParameters(); - if (obj != null) - SearchParams.AddText(obj.Notes).AddText(obj.Name).AddText(obj.Wiki).AddText(obj.Tags).AddCustomFields(obj.CustomFields); + DigestSearchText(obj, SearchParams); return SearchParams; } + public void DigestSearchText(QuoteTemplate obj, Search.SearchIndexProcessObjectParameters searchParams) + { + if (obj != null) + searchParams.AddText(obj.Notes) + .AddText(obj.Name) + .AddText(obj.Wiki) + .AddText(obj.Tags) + .AddCustomFields(obj.CustomFields); + } + + //////////////////////////////////////////////////////////////////////////////////////////////// //DELETE // @@ -240,7 +251,7 @@ namespace AyaNova.Biz if (string.IsNullOrWhiteSpace(proposedObj.Name)) AddError(ApiErrorCode.VALIDATION_REQUIRED, "Name"); - + //If name is otherwise OK, check that name is unique if (!PropertyHasErrors("Name")) diff --git a/server/AyaNova/biz/ReminderBiz.cs b/server/AyaNova/biz/ReminderBiz.cs index d829b30a..13050c91 100644 --- a/server/AyaNova/biz/ReminderBiz.cs +++ b/server/AyaNova/biz/ReminderBiz.cs @@ -152,7 +152,8 @@ namespace AyaNova.Biz try { Reminder dbObject = await ct.Reminder.SingleOrDefaultAsync(m => m.Id == id); - if (dbObject == null){ + if (dbObject == null) + { AddError(ApiErrorCode.NOT_FOUND); return false; } @@ -181,13 +182,15 @@ namespace AyaNova.Biz } } + + //////////////////////////////////////////////////////////////////////////////////////////////// //SEARCH // private async Task SearchIndexAsync(Reminder obj, bool isNew) { var SearchParams = new Search.SearchIndexProcessObjectParameters(UserTranslationId, obj.Id, BizType); - SearchParams.AddText(obj.Notes).AddText(obj.Name).AddText(obj.Wiki).AddText(obj.Tags).AddCustomFields(obj.CustomFields); + DigestSearchText(obj, SearchParams); if (isNew) await Search.ProcessNewObjectKeywordsAsync(SearchParams); else @@ -196,13 +199,23 @@ namespace AyaNova.Biz public async Task GetSearchResultSummary(long id) { - var obj = await ct.Reminder.SingleOrDefaultAsync(m => m.Id == id); + var obj = await ct.Reminder.SingleOrDefaultAsync(z => z.Id == id); var SearchParams = new Search.SearchIndexProcessObjectParameters(); - if (obj != null) - SearchParams.AddText(obj.Notes).AddText(obj.Name).AddText(obj.Wiki).AddText(obj.Tags).AddCustomFields(obj.CustomFields); + DigestSearchText(obj, SearchParams); return SearchParams; } + public void DigestSearchText(Reminder obj, Search.SearchIndexProcessObjectParameters searchParams) + { + if (obj != null) + searchParams.AddText(obj.Notes) + .AddText(obj.Name) + .AddText(obj.Wiki) + .AddText(obj.Tags) + .AddCustomFields(obj.CustomFields); + } + + //////////////////////////////////////////////////////////////////////////////////////////////// //VALIDATION @@ -217,7 +230,7 @@ namespace AyaNova.Biz if (string.IsNullOrWhiteSpace(proposedObj.Name)) AddError(ApiErrorCode.VALIDATION_REQUIRED, "Name"); - //Hexadecimal notation: #RGB[A] R (red), G (green), B (blue), and A (alpha) are hexadecimal characters (0–9, A–F). A is optional. The three-digit notation (#RGB) is a shorter version of the six-digit form (#RRGGBB). For example, #f09 is the same color as #ff0099. Likewise, the four-digit RGB notation (#RGBA) is a shorter version of the eight-digit form (#RRGGBBAA). For example, #0f38 is the same color as #00ff3388. + //Hexadecimal notation: #RGB[A] R (red), G (green), B (blue), and A (alpha) are hexadecimal characters (0–9, A–F). A is optional. The three-digit notation (#RGB) is a shorter version of the six-digit form (#RRGGBB). For example, #f09 is the same color as #ff0099. Likewise, the four-digit RGB notation (#RGBA) is a shorter version of the eight-digit form (#RRGGBBAA). For example, #0f38 is the same color as #00ff3388. if (proposedObj.Color.Length > 12 || proposedObj.Color.Length < 4 || proposedObj.Color[0] != '#') { AddError(ApiErrorCode.VALIDATION_INVALID_VALUE, "UiColor", "UiColor must be valid HEX color value"); @@ -394,20 +407,20 @@ namespace AyaNova.Biz await JobsBiz.LogJobAsync(job.GId, ExceptionUtil.ExtractAllExceptionMessages(ex)); } } - await JobsBiz.LogJobAsync(job.GId, $"LT:BatchJob {job.SubType} {idList.Count}{(FailedObjectCount > 0 ? " - LT:Failed " + FailedObjectCount : "")}"); + await JobsBiz.LogJobAsync(job.GId, $"LT:BatchJob {job.SubType} {idList.Count}{(FailedObjectCount > 0 ? " - LT:Failed " + FailedObjectCount : "")}"); await JobsBiz.UpdateJobStatusAsync(job.GId, JobStatus.Completed); } - + //////////////////////////////////////////////////////////////////////////////////////////////// // NOTIFICATION PROCESSING // - public async Task HandlePotentialNotificationEvent(AyaEvent ayaEvent, ICoreBizObjectModel proposedObj, ICoreBizObjectModel currentObj=null) + public async Task HandlePotentialNotificationEvent(AyaEvent ayaEvent, ICoreBizObjectModel proposedObj, ICoreBizObjectModel currentObj = null) { ILogger log = AyaNova.Util.ApplicationLogging.CreateLogger(); if (ServerBootConfig.SEEDING) return; diff --git a/server/AyaNova/biz/ReportBiz.cs b/server/AyaNova/biz/ReportBiz.cs index 28bb4fd8..4ea2be60 100644 --- a/server/AyaNova/biz/ReportBiz.cs +++ b/server/AyaNova/biz/ReportBiz.cs @@ -206,7 +206,8 @@ namespace AyaNova.Biz try { Report dbObject = await ct.Report.SingleOrDefaultAsync(z => z.Id == id); - if (dbObject == null){ + if (dbObject == null) + { AddError(ApiErrorCode.NOT_FOUND); return false; } @@ -256,7 +257,7 @@ namespace AyaNova.Biz private async Task SearchIndexAsync(Report obj, bool isNew) { var SearchParams = new Search.SearchIndexProcessObjectParameters(UserTranslationId, obj.Id, BizType); - SearchParams.AddText(obj.Notes).AddText(obj.Name); + DigestSearchText(obj, SearchParams); if (isNew) await Search.ProcessNewObjectKeywordsAsync(SearchParams); else @@ -267,11 +268,24 @@ namespace AyaNova.Biz { var obj = await ct.Report.SingleOrDefaultAsync(z => z.Id == id); var SearchParams = new Search.SearchIndexProcessObjectParameters(); - if (obj != null) - SearchParams.AddText(obj.Notes).AddText(obj.Name); + DigestSearchText(obj, SearchParams); return SearchParams; } + public void DigestSearchText(Report obj, Search.SearchIndexProcessObjectParameters searchParams) + { + if (obj != null) + searchParams.AddText(obj.Notes) + .AddText(obj.Name) + .AddText(obj.Template) + .AddText(obj.Style) + .AddText(obj.JsPrerender) + .AddText(obj.JsHelpers) + .AddText(obj.HeaderTemplate) + .AddText(obj.FooterTemplate); + } + + //////////////////////////////////////////////////////////////////////////////////////////////// //VALIDATION diff --git a/server/AyaNova/biz/ReviewBiz.cs b/server/AyaNova/biz/ReviewBiz.cs index 68fe2062..0ed53d1c 100644 --- a/server/AyaNova/biz/ReviewBiz.cs +++ b/server/AyaNova/biz/ReviewBiz.cs @@ -182,13 +182,14 @@ namespace AyaNova.Biz } } + //////////////////////////////////////////////////////////////////////////////////////////////// //SEARCH // private async Task SearchIndexAsync(Review obj, bool isNew) { var SearchParams = new Search.SearchIndexProcessObjectParameters(UserTranslationId, obj.Id, BizType); - SearchParams.AddText(obj.Notes).AddText(obj.Name).AddText(obj.CompletionNotes).AddText(obj.Wiki).AddText(obj.Tags).AddCustomFields(obj.CustomFields); + DigestSearchText(obj, SearchParams); if (isNew) await Search.ProcessNewObjectKeywordsAsync(SearchParams); else @@ -197,13 +198,24 @@ namespace AyaNova.Biz public async Task GetSearchResultSummary(long id) { - var obj = await ct.Review.SingleOrDefaultAsync(m => m.Id == id); + var obj = await ct.Review.SingleOrDefaultAsync(z => z.Id == id); var SearchParams = new Search.SearchIndexProcessObjectParameters(); - if (obj != null) - SearchParams.AddText(obj.Notes).AddText(obj.Name).AddText(obj.CompletionNotes).AddText(obj.Wiki).AddText(obj.Tags).AddCustomFields(obj.CustomFields); + DigestSearchText(obj, SearchParams); return SearchParams; } + public void DigestSearchText(Review obj, Search.SearchIndexProcessObjectParameters searchParams) + { + if (obj != null) + searchParams.AddText(obj.Notes) + .AddText(obj.Name) + .AddText(obj.Wiki) + .AddText(obj.Tags) + .AddText(obj.CompletionNotes) + .AddCustomFields(obj.CustomFields); + } + + //////////////////////////////////////////////////////////////////////////////////////////////// //VALIDATION diff --git a/server/AyaNova/biz/UnitBiz.cs b/server/AyaNova/biz/UnitBiz.cs index 6bdd9134..a3142db2 100644 --- a/server/AyaNova/biz/UnitBiz.cs +++ b/server/AyaNova/biz/UnitBiz.cs @@ -147,7 +147,8 @@ namespace AyaNova.Biz try { Unit dbObject = await ct.Unit.SingleOrDefaultAsync(z => z.Id == id); - if (dbObject == null){ + if (dbObject == null) + { AddError(ApiErrorCode.NOT_FOUND); return false; } @@ -174,13 +175,15 @@ namespace AyaNova.Biz } } + + //////////////////////////////////////////////////////////////////////////////////////////////// //SEARCH // private async Task SearchIndexAsync(Unit obj, bool isNew) { var SearchParams = new Search.SearchIndexProcessObjectParameters(UserTranslationId, obj.Id, BizType); - SearchParams.AddText(obj.Notes).AddText(obj.Name).AddText(obj.Wiki).AddText(obj.Tags).AddCustomFields(obj.CustomFields); + DigestSearchText(obj, SearchParams); if (isNew) await Search.ProcessNewObjectKeywordsAsync(SearchParams); else @@ -191,11 +194,21 @@ namespace AyaNova.Biz { var obj = await ct.Unit.SingleOrDefaultAsync(z => z.Id == id); var SearchParams = new Search.SearchIndexProcessObjectParameters(); - if (obj != null) - SearchParams.AddText(obj.Notes).AddText(obj.Name).AddText(obj.Wiki).AddText(obj.Tags).AddCustomFields(obj.CustomFields); + DigestSearchText(obj, SearchParams); return SearchParams; } + public void DigestSearchText(Unit obj, Search.SearchIndexProcessObjectParameters searchParams) + { + if (obj != null) + searchParams.AddText(obj.Notes) + .AddText(obj.Name) + .AddText(obj.Wiki) + .AddText(obj.Tags) + .AddCustomFields(obj.CustomFields); + } + + //////////////////////////////////////////////////////////////////////////////////////////////// //VALIDATION @@ -242,14 +255,14 @@ namespace AyaNova.Biz } - - + + //////////////////////////////////////////////////////////////////////////////////////////////// // NOTIFICATION PROCESSING // - public async Task HandlePotentialNotificationEvent(AyaEvent ayaEvent, ICoreBizObjectModel proposedObj, ICoreBizObjectModel currentObj=null) + public async Task HandlePotentialNotificationEvent(AyaEvent ayaEvent, ICoreBizObjectModel proposedObj, ICoreBizObjectModel currentObj = null) { ILogger log = AyaNova.Util.ApplicationLogging.CreateLogger(); if (ServerBootConfig.SEEDING) return; diff --git a/server/AyaNova/biz/UnitModelBiz.cs b/server/AyaNova/biz/UnitModelBiz.cs index e74621c4..5e3cd1e0 100644 --- a/server/AyaNova/biz/UnitModelBiz.cs +++ b/server/AyaNova/biz/UnitModelBiz.cs @@ -147,7 +147,8 @@ namespace AyaNova.Biz try { UnitModel dbObject = await ct.UnitModel.SingleOrDefaultAsync(z => z.Id == id); - if (dbObject == null){ + if (dbObject == null) + { AddError(ApiErrorCode.NOT_FOUND); return false; } @@ -174,13 +175,14 @@ namespace AyaNova.Biz } } + //////////////////////////////////////////////////////////////////////////////////////////////// //SEARCH // private async Task SearchIndexAsync(UnitModel obj, bool isNew) { var SearchParams = new Search.SearchIndexProcessObjectParameters(UserTranslationId, obj.Id, BizType); - SearchParams.AddText(obj.Notes).AddText(obj.Name).AddText(obj.Wiki).AddText(obj.Tags).AddCustomFields(obj.CustomFields); + DigestSearchText(obj, SearchParams); if (isNew) await Search.ProcessNewObjectKeywordsAsync(SearchParams); else @@ -191,11 +193,21 @@ namespace AyaNova.Biz { var obj = await ct.UnitModel.SingleOrDefaultAsync(z => z.Id == id); var SearchParams = new Search.SearchIndexProcessObjectParameters(); - if (obj != null) - SearchParams.AddText(obj.Notes).AddText(obj.Name).AddText(obj.Wiki).AddText(obj.Tags).AddCustomFields(obj.CustomFields); + DigestSearchText(obj, SearchParams); return SearchParams; } + public void DigestSearchText(UnitModel obj, Search.SearchIndexProcessObjectParameters searchParams) + { + if (obj != null) + searchParams.AddText(obj.Notes) + .AddText(obj.Name) + .AddText(obj.Wiki) + .AddText(obj.Tags) + .AddCustomFields(obj.CustomFields); + } + + //////////////////////////////////////////////////////////////////////////////////////////////// //VALIDATION @@ -210,7 +222,7 @@ namespace AyaNova.Biz if (string.IsNullOrWhiteSpace(proposedObj.Name)) AddError(ApiErrorCode.VALIDATION_REQUIRED, "Name"); - + //If name is otherwise OK, check that name is unique if (!PropertyHasErrors("Name")) @@ -244,13 +256,13 @@ namespace AyaNova.Biz } - + //////////////////////////////////////////////////////////////////////////////////////////////// // NOTIFICATION PROCESSING // - public async Task HandlePotentialNotificationEvent(AyaEvent ayaEvent, ICoreBizObjectModel proposedObj, ICoreBizObjectModel currentObj=null) + public async Task HandlePotentialNotificationEvent(AyaEvent ayaEvent, ICoreBizObjectModel proposedObj, ICoreBizObjectModel currentObj = null) { ILogger log = AyaNova.Util.ApplicationLogging.CreateLogger(); if (ServerBootConfig.SEEDING) return; diff --git a/server/AyaNova/biz/UserBiz.cs b/server/AyaNova/biz/UserBiz.cs index c1b00a2c..4e036659 100644 --- a/server/AyaNova/biz/UserBiz.cs +++ b/server/AyaNova/biz/UserBiz.cs @@ -417,12 +417,13 @@ namespace AyaNova.Biz + //////////////////////////////////////////////////////////////////////////////////////////////// + //SEARCH + // private async Task SearchIndexAsync(User obj, bool isNew) { - //SEARCH INDEXING var SearchParams = new Search.SearchIndexProcessObjectParameters(UserTranslationId, obj.Id, BizType); - SearchParams.AddText(obj.Notes).AddText(obj.Name).AddText(obj.EmployeeNumber).AddText(obj.Tags).AddText(obj.Wiki).AddCustomFields(obj.CustomFields); - + DigestSearchText(obj, SearchParams); if (isNew) await Search.ProcessNewObjectKeywordsAsync(SearchParams); else @@ -433,12 +434,25 @@ namespace AyaNova.Biz { var obj = await ct.User.SingleOrDefaultAsync(z => z.Id == id); var SearchParams = new Search.SearchIndexProcessObjectParameters(); - if (obj != null) - SearchParams.AddText(obj.Notes).AddText(obj.Name).AddText(obj.EmployeeNumber).AddText(obj.Tags).AddText(obj.Wiki).AddCustomFields(obj.CustomFields); - + DigestSearchText(obj, SearchParams); return SearchParams; } + public void DigestSearchText(User obj, Search.SearchIndexProcessObjectParameters searchParams) + { + if (obj != null) + searchParams.AddText(obj.Notes) + .AddText(obj.Name) + .AddText(obj.Wiki) + .AddText(obj.Tags) + .AddText(obj.EmployeeNumber) + .AddCustomFields(obj.CustomFields); + } + + + + + //////////////////////////////////////////////////////////////////////////////////////////////// //DELETE // diff --git a/server/AyaNova/biz/VendorBiz.cs b/server/AyaNova/biz/VendorBiz.cs index 3e5ca3aa..e8472bda 100644 --- a/server/AyaNova/biz/VendorBiz.cs +++ b/server/AyaNova/biz/VendorBiz.cs @@ -178,13 +178,15 @@ namespace AyaNova.Biz } } + + //////////////////////////////////////////////////////////////////////////////////////////////// //SEARCH // private async Task SearchIndexAsync(Vendor obj, bool isNew) { var SearchParams = new Search.SearchIndexProcessObjectParameters(UserTranslationId, obj.Id, BizType); - SearchParams.AddText(obj.Notes).AddText(obj.Name).AddText(obj.Wiki).AddText(obj.Tags).AddCustomFields(obj.CustomFields); + DigestSearchText(obj, SearchParams); if (isNew) await Search.ProcessNewObjectKeywordsAsync(SearchParams); else @@ -195,11 +197,44 @@ namespace AyaNova.Biz { var obj = await ct.Vendor.SingleOrDefaultAsync(z => z.Id == id); var SearchParams = new Search.SearchIndexProcessObjectParameters(); - if (obj != null) - SearchParams.AddText(obj.Notes).AddText(obj.Name).AddText(obj.Wiki).AddText(obj.Tags).AddCustomFields(obj.CustomFields); + DigestSearchText(obj, SearchParams); return SearchParams; } + public void DigestSearchText(Vendor obj, Search.SearchIndexProcessObjectParameters searchParams) + { + if (obj != null) + searchParams.AddText(obj.Notes) + .AddText(obj.Name) + .AddText(obj.Wiki) + .AddText(obj.Tags) + .AddText(obj.WebAddress) + .AddText(obj.Contact) + .AddText(obj.ContactNotes) + .AddText(obj.PopUpNotes) + .AddText(obj.AccountNumber) + .AddText(obj.Phone1) + .AddText(obj.Phone2) + .AddText(obj.Phone3) + .AddText(obj.Phone4) + .AddText(obj.Phone5) + .AddText(obj.EmailAddress) + .AddText(obj.PostAddress) + .AddText(obj.PostCity) + .AddText(obj.PostRegion) + .AddText(obj.PostCountry) + .AddText(obj.PostCode) + .AddText(obj.Address) + .AddText(obj.City) + .AddText(obj.Region) + .AddText(obj.Country) + .AddText(obj.Latitude) + .AddText(obj.Longitude) + .AddCustomFields(obj.CustomFields); + } + + + //////////////////////////////////////////////////////////////////////////////////////////////// //VALIDATION @@ -399,19 +434,19 @@ namespace AyaNova.Biz await JobsBiz.LogJobAsync(job.GId, ExceptionUtil.ExtractAllExceptionMessages(ex)); } } - await JobsBiz.LogJobAsync(job.GId, $"LT:BatchJob {job.SubType} {idList.Count}{(FailedObjectCount > 0 ? " - LT:Failed " + FailedObjectCount : "")}"); + await JobsBiz.LogJobAsync(job.GId, $"LT:BatchJob {job.SubType} {idList.Count}{(FailedObjectCount > 0 ? " - LT:Failed " + FailedObjectCount : "")}"); await JobsBiz.UpdateJobStatusAsync(job.GId, JobStatus.Completed); } - + //////////////////////////////////////////////////////////////////////////////////////////////// // NOTIFICATION PROCESSING // - public async Task HandlePotentialNotificationEvent(AyaEvent ayaEvent, ICoreBizObjectModel proposedObj, ICoreBizObjectModel currentObj=null) + public async Task HandlePotentialNotificationEvent(AyaEvent ayaEvent, ICoreBizObjectModel proposedObj, ICoreBizObjectModel currentObj = null) { ILogger log = AyaNova.Util.ApplicationLogging.CreateLogger(); if (ServerBootConfig.SEEDING) return; diff --git a/server/AyaNova/biz/WidgetBiz.cs b/server/AyaNova/biz/WidgetBiz.cs index 3c5dfcf2..1680fed9 100644 --- a/server/AyaNova/biz/WidgetBiz.cs +++ b/server/AyaNova/biz/WidgetBiz.cs @@ -210,7 +210,7 @@ namespace AyaNova.Biz private async Task SearchIndexAsync(Widget obj, bool isNew) { var SearchParams = new Search.SearchIndexProcessObjectParameters(UserTranslationId, obj.Id, BizType); - SearchParams.AddText(obj.Notes).AddText(obj.Name).AddText(obj.Serial).AddText(obj.Wiki).AddText(obj.Tags).AddCustomFields(obj.CustomFields); + DigestSearchText(obj, SearchParams); if (isNew) await Search.ProcessNewObjectKeywordsAsync(SearchParams); else @@ -221,11 +221,24 @@ namespace AyaNova.Biz { var obj = await ct.Widget.SingleOrDefaultAsync(z => z.Id == id); var SearchParams = new Search.SearchIndexProcessObjectParameters(); - if (obj != null) - SearchParams.AddText(obj.Notes).AddText(obj.Name).AddText(obj.Serial).AddText(obj.Wiki).AddText(obj.Tags).AddCustomFields(obj.CustomFields); + DigestSearchText(obj, SearchParams); return SearchParams; } + public void DigestSearchText(Widget obj, Search.SearchIndexProcessObjectParameters searchParams) + { + if (obj != null) + searchParams.AddText(obj.Notes) + .AddText(obj.Name) + .AddText(obj.Wiki) + .AddText(obj.Tags) + .AddText(obj.Serial) + .AddText(obj.DollarAmount) + .AddText(obj.Count) + .AddCustomFields(obj.CustomFields); + } + + //////////////////////////////////////////////////////////////////////////////////////////////// //VALIDATION @@ -452,13 +465,13 @@ namespace AyaNova.Biz - + //////////////////////////////////////////////////////////////////////////////////////////////// // NOTIFICATION PROCESSING // - public async Task HandlePotentialNotificationEvent(AyaEvent ayaEvent, ICoreBizObjectModel proposedObj, ICoreBizObjectModel currentObj=null) + public async Task HandlePotentialNotificationEvent(AyaEvent ayaEvent, ICoreBizObjectModel proposedObj, ICoreBizObjectModel currentObj = null) { ILogger log = AyaNova.Util.ApplicationLogging.CreateLogger(); if (ServerBootConfig.SEEDING) return; diff --git a/server/AyaNova/biz/WorkorderTemplateBiz.cs b/server/AyaNova/biz/WorkorderTemplateBiz.cs index 3f4463b4..bf8b73e3 100644 --- a/server/AyaNova/biz/WorkorderTemplateBiz.cs +++ b/server/AyaNova/biz/WorkorderTemplateBiz.cs @@ -166,7 +166,7 @@ namespace AyaNova.Biz await ValidateAsync(dbObject, SnapshotOfOriginalDBObj); if (HasErrors) - return false; + return false; await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, dbObject.Id, BizType, AyaEvent.Modified), ct); await SearchIndexAsync(dbObject, false); await TagBiz.ProcessUpdateTagsInRepositoryAsync(ct, dbObject.Tags, SnapshotOfOriginalDBObj.Tags); @@ -175,12 +175,13 @@ namespace AyaNova.Biz } + //////////////////////////////////////////////////////////////////////////////////////////////// + //SEARCH + // private async Task SearchIndexAsync(WorkOrderTemplate obj, bool isNew) { - //SEARCH INDEXING var SearchParams = new Search.SearchIndexProcessObjectParameters(UserTranslationId, obj.Id, BizType); - SearchParams.AddText(obj.Notes).AddText(obj.Name).AddText(obj.Wiki).AddText(obj.Tags).AddCustomFields(obj.CustomFields); - + DigestSearchText(obj, SearchParams); if (isNew) await Search.ProcessNewObjectKeywordsAsync(SearchParams); else @@ -191,11 +192,20 @@ namespace AyaNova.Biz { var obj = await ct.WorkOrderTemplate.SingleOrDefaultAsync(z => z.Id == id); var SearchParams = new Search.SearchIndexProcessObjectParameters(); - if (obj != null) - SearchParams.AddText(obj.Notes).AddText(obj.Name).AddText(obj.Wiki).AddText(obj.Tags).AddCustomFields(obj.CustomFields); + DigestSearchText(obj, SearchParams); return SearchParams; } + public void DigestSearchText(WorkOrderTemplate obj, Search.SearchIndexProcessObjectParameters searchParams) + { + if (obj != null) + searchParams.AddText(obj.Notes) + .AddText(obj.Name) + .AddText(obj.Wiki) + .AddText(obj.Tags) + .AddCustomFields(obj.CustomFields); + } + //################################################################################################################################################### //################################################################################################################################################### // WARNING! THIS OBJECT IS AN INITIAL TEST VERSION NOT UP TO CURRENT STANDARDS, SEE WORKORDERBIZ FOR HOW THIS SHOULD BE CODED @@ -278,13 +288,13 @@ namespace AyaNova.Biz - + //////////////////////////////////////////////////////////////////////////////////////////////// // NOTIFICATION PROCESSING // - public async Task HandlePotentialNotificationEvent(AyaEvent ayaEvent, ICoreBizObjectModel proposedObj, ICoreBizObjectModel currentObj=null) + public async Task HandlePotentialNotificationEvent(AyaEvent ayaEvent, ICoreBizObjectModel proposedObj, ICoreBizObjectModel currentObj = null) { ILogger log = AyaNova.Util.ApplicationLogging.CreateLogger(); if (ServerBootConfig.SEEDING) return; diff --git a/server/AyaNova/models/Report.cs b/server/AyaNova/models/Report.cs index 03feaf0a..5438effa 100644 --- a/server/AyaNova/models/Report.cs +++ b/server/AyaNova/models/Report.cs @@ -1,8 +1,5 @@ -using System; -using System.Collections.Generic; using AyaNova.Biz; using System.ComponentModel.DataAnnotations; -using System.ComponentModel.DataAnnotations.Schema; using Newtonsoft.Json; namespace AyaNova.Models @@ -60,10 +57,6 @@ namespace AyaNova.Models PreferCSSPageSize=false; PrintBackground=false; Scale=1; - - - - } }//eoc