This commit is contained in:
@@ -176,13 +176,13 @@ namespace AyaNova.Biz
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
//SEARCH
|
//SEARCH
|
||||||
//
|
//
|
||||||
private async Task SearchIndexAsync(Contract obj, bool isNew)
|
private async Task SearchIndexAsync(Contract obj, bool isNew)
|
||||||
{
|
{
|
||||||
var SearchParams = new Search.SearchIndexProcessObjectParameters(UserTranslationId, obj.Id, BizType);
|
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)
|
if (isNew)
|
||||||
await Search.ProcessNewObjectKeywordsAsync(SearchParams);
|
await Search.ProcessNewObjectKeywordsAsync(SearchParams);
|
||||||
else
|
else
|
||||||
@@ -191,13 +191,23 @@ namespace AyaNova.Biz
|
|||||||
|
|
||||||
public async Task<Search.SearchIndexProcessObjectParameters> GetSearchResultSummary(long id)
|
public async Task<Search.SearchIndexProcessObjectParameters> 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();
|
var SearchParams = new Search.SearchIndexProcessObjectParameters();
|
||||||
if (obj != null)
|
DigestSearchText(obj,SearchParams);
|
||||||
SearchParams.AddText(obj.Notes).AddText(obj.Name).AddText(obj.Wiki).AddText(obj.Tags).AddCustomFields(obj.CustomFields);
|
|
||||||
return 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
|
//VALIDATION
|
||||||
|
|||||||
@@ -219,33 +219,7 @@ namespace AyaNova.Biz
|
|||||||
//
|
//
|
||||||
private async Task SearchIndexAsync(Customer obj, bool isNew)
|
private async Task SearchIndexAsync(Customer obj, bool isNew)
|
||||||
{
|
{
|
||||||
var SearchParams = new Search.SearchIndexProcessObjectParameters(UserTranslationId, obj.Id, BizType);
|
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);
|
|
||||||
DigestSearchText(obj,SearchParams);
|
DigestSearchText(obj,SearchParams);
|
||||||
if (isNew)
|
if (isNew)
|
||||||
await Search.ProcessNewObjectKeywordsAsync(SearchParams);
|
await Search.ProcessNewObjectKeywordsAsync(SearchParams);
|
||||||
@@ -258,33 +232,6 @@ namespace AyaNova.Biz
|
|||||||
var obj = await ct.Customer.SingleOrDefaultAsync(z => z.Id == id);
|
var obj = await ct.Customer.SingleOrDefaultAsync(z => z.Id == id);
|
||||||
var SearchParams = new Search.SearchIndexProcessObjectParameters();
|
var SearchParams = new Search.SearchIndexProcessObjectParameters();
|
||||||
DigestSearchText(obj,SearchParams);
|
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;
|
return SearchParams;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
//Just re-throw for now, let exception handler deal, but in future may want to deal with this more here
|
||||||
throw;
|
throw;
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -156,7 +156,7 @@ namespace AyaNova.Biz
|
|||||||
private async Task SearchIndexAsync(CustomerNote obj, bool isNew)
|
private async Task SearchIndexAsync(CustomerNote obj, bool isNew)
|
||||||
{
|
{
|
||||||
var SearchParams = new Search.SearchIndexProcessObjectParameters(UserTranslationId, obj.Id, BizType);
|
var SearchParams = new Search.SearchIndexProcessObjectParameters(UserTranslationId, obj.Id, BizType);
|
||||||
SearchParams.AddText(obj.Notes).AddText(obj.Tags);
|
DigestSearchText(obj, SearchParams);
|
||||||
if (isNew)
|
if (isNew)
|
||||||
await Search.ProcessNewObjectKeywordsAsync(SearchParams);
|
await Search.ProcessNewObjectKeywordsAsync(SearchParams);
|
||||||
else
|
else
|
||||||
@@ -165,13 +165,20 @@ namespace AyaNova.Biz
|
|||||||
|
|
||||||
public async Task<Search.SearchIndexProcessObjectParameters> GetSearchResultSummary(long id)
|
public async Task<Search.SearchIndexProcessObjectParameters> 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();
|
var SearchParams = new Search.SearchIndexProcessObjectParameters();
|
||||||
if (obj != null)
|
DigestSearchText(obj, SearchParams);
|
||||||
SearchParams.AddText(obj.Notes).AddText(obj.Tags);
|
|
||||||
return SearchParams;
|
return SearchParams;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void DigestSearchText(CustomerNote obj, Search.SearchIndexProcessObjectParameters searchParams)
|
||||||
|
{
|
||||||
|
if (obj != null)
|
||||||
|
searchParams.AddText(obj.Notes)
|
||||||
|
.AddText(obj.Tags);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
//REPORTING
|
//REPORTING
|
||||||
|
|||||||
@@ -205,7 +205,7 @@ namespace AyaNova.Biz
|
|||||||
private async Task SearchIndexAsync(HeadOffice obj, bool isNew)
|
private async Task SearchIndexAsync(HeadOffice obj, bool isNew)
|
||||||
{
|
{
|
||||||
var SearchParams = new Search.SearchIndexProcessObjectParameters(UserTranslationId, obj.Id, BizType);
|
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)
|
if (isNew)
|
||||||
await Search.ProcessNewObjectKeywordsAsync(SearchParams);
|
await Search.ProcessNewObjectKeywordsAsync(SearchParams);
|
||||||
else
|
else
|
||||||
@@ -216,11 +216,40 @@ namespace AyaNova.Biz
|
|||||||
{
|
{
|
||||||
var obj = await ct.HeadOffice.SingleOrDefaultAsync(z => z.Id == id);
|
var obj = await ct.HeadOffice.SingleOrDefaultAsync(z => z.Id == id);
|
||||||
var SearchParams = new Search.SearchIndexProcessObjectParameters();
|
var SearchParams = new Search.SearchIndexProcessObjectParameters();
|
||||||
if (obj != null)
|
DigestSearchText(obj, SearchParams);
|
||||||
SearchParams.AddText(obj.Notes).AddText(obj.Name).AddText(obj.Wiki).AddText(obj.Tags).AddCustomFields(obj.CustomFields);
|
|
||||||
return 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
|
//VALIDATION
|
||||||
@@ -432,13 +461,13 @@ namespace AyaNova.Biz
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
// NOTIFICATION PROCESSING
|
// 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<HeadOfficeBiz>();
|
ILogger log = AyaNova.Util.ApplicationLogging.CreateLogger<HeadOfficeBiz>();
|
||||||
if (ServerBootConfig.SEEDING) return;
|
if (ServerBootConfig.SEEDING) return;
|
||||||
|
|||||||
@@ -147,7 +147,8 @@ namespace AyaNova.Biz
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
LoanUnit dbObject = await ct.LoanUnit.SingleOrDefaultAsync(z => z.Id == id);
|
LoanUnit dbObject = await ct.LoanUnit.SingleOrDefaultAsync(z => z.Id == id);
|
||||||
if (dbObject == null){
|
if (dbObject == null)
|
||||||
|
{
|
||||||
AddError(ApiErrorCode.NOT_FOUND);
|
AddError(ApiErrorCode.NOT_FOUND);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -182,7 +183,7 @@ namespace AyaNova.Biz
|
|||||||
private async Task SearchIndexAsync(LoanUnit obj, bool isNew)
|
private async Task SearchIndexAsync(LoanUnit obj, bool isNew)
|
||||||
{
|
{
|
||||||
var SearchParams = new Search.SearchIndexProcessObjectParameters(UserTranslationId, obj.Id, BizType);
|
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)
|
if (isNew)
|
||||||
await Search.ProcessNewObjectKeywordsAsync(SearchParams);
|
await Search.ProcessNewObjectKeywordsAsync(SearchParams);
|
||||||
else
|
else
|
||||||
@@ -193,11 +194,21 @@ namespace AyaNova.Biz
|
|||||||
{
|
{
|
||||||
var obj = await ct.LoanUnit.SingleOrDefaultAsync(z => z.Id == id);
|
var obj = await ct.LoanUnit.SingleOrDefaultAsync(z => z.Id == id);
|
||||||
var SearchParams = new Search.SearchIndexProcessObjectParameters();
|
var SearchParams = new Search.SearchIndexProcessObjectParameters();
|
||||||
if (obj != null)
|
DigestSearchText(obj, SearchParams);
|
||||||
SearchParams.AddText(obj.Notes).AddText(obj.Name).AddText(obj.Wiki).AddText(obj.Tags).AddCustomFields(obj.CustomFields);
|
|
||||||
return 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
|
//VALIDATION
|
||||||
@@ -212,7 +223,7 @@ namespace AyaNova.Biz
|
|||||||
if (string.IsNullOrWhiteSpace(proposedObj.Name))
|
if (string.IsNullOrWhiteSpace(proposedObj.Name))
|
||||||
AddError(ApiErrorCode.VALIDATION_REQUIRED, "Name");
|
AddError(ApiErrorCode.VALIDATION_REQUIRED, "Name");
|
||||||
|
|
||||||
|
|
||||||
//If name is otherwise OK, check that name is unique
|
//If name is otherwise OK, check that name is unique
|
||||||
if (!PropertyHasErrors("Name"))
|
if (!PropertyHasErrors("Name"))
|
||||||
{
|
{
|
||||||
@@ -245,13 +256,13 @@ namespace AyaNova.Biz
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
// NOTIFICATION PROCESSING
|
// 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<LoanUnitBiz>();
|
ILogger log = AyaNova.Util.ApplicationLogging.CreateLogger<LoanUnitBiz>();
|
||||||
if (ServerBootConfig.SEEDING) return;
|
if (ServerBootConfig.SEEDING) return;
|
||||||
|
|||||||
@@ -204,7 +204,7 @@ namespace AyaNova.Biz
|
|||||||
private async Task SearchIndexAsync(Memo obj, bool isNew)
|
private async Task SearchIndexAsync(Memo obj, bool isNew)
|
||||||
{
|
{
|
||||||
var SearchParams = new Search.SearchIndexProcessObjectParameters(UserTranslationId, obj.Id, BizType);
|
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)
|
if (isNew)
|
||||||
await Search.ProcessNewObjectKeywordsAsync(SearchParams);
|
await Search.ProcessNewObjectKeywordsAsync(SearchParams);
|
||||||
else
|
else
|
||||||
@@ -213,13 +213,22 @@ namespace AyaNova.Biz
|
|||||||
|
|
||||||
public async Task<Search.SearchIndexProcessObjectParameters> GetSearchResultSummary(long id)
|
public async Task<Search.SearchIndexProcessObjectParameters> 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();
|
var SearchParams = new Search.SearchIndexProcessObjectParameters();
|
||||||
if (obj != null)
|
DigestSearchText(obj, SearchParams);
|
||||||
SearchParams.AddText(obj.Notes).AddText(obj.Name).AddText(obj.Wiki).AddText(obj.Tags).AddCustomFields(obj.CustomFields);
|
|
||||||
return 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
|
//VALIDATION
|
||||||
@@ -444,13 +453,13 @@ namespace AyaNova.Biz
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
// NOTIFICATION PROCESSING
|
// 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<MemoBiz>();
|
ILogger log = AyaNova.Util.ApplicationLogging.CreateLogger<MemoBiz>();
|
||||||
if (ServerBootConfig.SEEDING) return;
|
if (ServerBootConfig.SEEDING) return;
|
||||||
|
|||||||
@@ -100,7 +100,7 @@ namespace AyaNova.Biz
|
|||||||
//Handle child and associated items:
|
//Handle child and associated items:
|
||||||
await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, o.Id, BizType, AyaEvent.Created), ct);
|
await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, o.Id, BizType, AyaEvent.Created), ct);
|
||||||
await SearchIndexAsync(o, true);
|
await SearchIndexAsync(o, true);
|
||||||
// await NotifyEventProcessor.HandlePotentialNotificationEvent(AyaEvent.Created, newObject);
|
// await NotifyEventProcessor.HandlePotentialNotificationEvent(AyaEvent.Created, newObject);
|
||||||
// await TagBiz.ProcessUpdateTagsInRepositoryAsync(ct, o.Tags, null);
|
// await TagBiz.ProcessUpdateTagsInRepositoryAsync(ct, o.Tags, null);
|
||||||
|
|
||||||
return o;
|
return o;
|
||||||
@@ -115,7 +115,8 @@ namespace AyaNova.Biz
|
|||||||
//
|
//
|
||||||
|
|
||||||
internal async Task<PM> DuplicateAsync(PM dbObject)
|
internal async Task<PM> DuplicateAsync(PM dbObject)
|
||||||
{ await Task.CompletedTask;
|
{
|
||||||
|
await Task.CompletedTask;
|
||||||
throw new System.NotImplementedException("STUB: WORKORDER DUPLICATE");
|
throw new System.NotImplementedException("STUB: WORKORDER DUPLICATE");
|
||||||
// PM outObj = new PM();
|
// PM outObj = new PM();
|
||||||
// CopyObject.Copy(dbObject, outObj, "Wiki");
|
// CopyObject.Copy(dbObject, outObj, "Wiki");
|
||||||
@@ -197,12 +198,13 @@ namespace AyaNova.Biz
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
//SEARCH
|
||||||
|
//
|
||||||
private async Task SearchIndexAsync(PM obj, bool isNew)
|
private async Task SearchIndexAsync(PM obj, bool isNew)
|
||||||
{
|
{
|
||||||
//SEARCH INDEXING
|
|
||||||
var SearchParams = new Search.SearchIndexProcessObjectParameters(UserTranslationId, obj.Id, BizType);
|
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)
|
if (isNew)
|
||||||
await Search.ProcessNewObjectKeywordsAsync(SearchParams);
|
await Search.ProcessNewObjectKeywordsAsync(SearchParams);
|
||||||
else
|
else
|
||||||
@@ -213,16 +215,27 @@ namespace AyaNova.Biz
|
|||||||
{
|
{
|
||||||
var obj = await ct.PM.SingleOrDefaultAsync(z => z.Id == id);
|
var obj = await ct.PM.SingleOrDefaultAsync(z => z.Id == id);
|
||||||
var SearchParams = new Search.SearchIndexProcessObjectParameters();
|
var SearchParams = new Search.SearchIndexProcessObjectParameters();
|
||||||
if (obj != null)
|
DigestSearchText(obj, SearchParams);
|
||||||
SearchParams.AddText(obj.Notes).AddText(obj.Serial).AddText(obj.Wiki).AddText(obj.Tags).AddCustomFields(obj.CustomFields);
|
|
||||||
return 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
|
//DELETE
|
||||||
//
|
//
|
||||||
internal async Task<bool> DeleteAsync(PM dbObject)
|
internal async Task<bool> DeleteAsync(PM dbObject)
|
||||||
{ await Task.CompletedTask;
|
{
|
||||||
|
await Task.CompletedTask;
|
||||||
throw new System.NotImplementedException("STUB: WORKORDER DELETE");
|
throw new System.NotImplementedException("STUB: WORKORDER DELETE");
|
||||||
//Determine if the object can be deleted, do the deletion tentatively
|
//Determine if the object can be deleted, do the deletion tentatively
|
||||||
//Probably also in here deal with tags and associated search text etc
|
//Probably also in here deal with tags and associated search text etc
|
||||||
@@ -257,7 +270,7 @@ namespace AyaNova.Biz
|
|||||||
// if (string.IsNullOrWhiteSpace(proposedObj.Name))
|
// if (string.IsNullOrWhiteSpace(proposedObj.Name))
|
||||||
// AddError(ApiErrorCode.VALIDATION_REQUIRED, "Name");
|
// AddError(ApiErrorCode.VALIDATION_REQUIRED, "Name");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// //If name is otherwise OK, check that name is unique
|
// //If name is otherwise OK, check that name is unique
|
||||||
// if (!PropertyHasErrors("Name"))
|
// if (!PropertyHasErrors("Name"))
|
||||||
|
|||||||
@@ -162,7 +162,8 @@ namespace AyaNova.Biz
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
PMTemplate dbObject = await ct.PMTemplate.SingleOrDefaultAsync(z => z.Id == id);
|
PMTemplate dbObject = await ct.PMTemplate.SingleOrDefaultAsync(z => z.Id == id);
|
||||||
if (dbObject == null){
|
if (dbObject == null)
|
||||||
|
{
|
||||||
AddError(ApiErrorCode.NOT_FOUND);
|
AddError(ApiErrorCode.NOT_FOUND);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -191,13 +192,14 @@ namespace AyaNova.Biz
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
//SEARCH
|
//SEARCH
|
||||||
//
|
//
|
||||||
private async Task SearchIndexAsync(PMTemplate obj, bool isNew)
|
private async Task SearchIndexAsync(PMTemplate obj, bool isNew)
|
||||||
{
|
{
|
||||||
var SearchParams = new Search.SearchIndexProcessObjectParameters(UserTranslationId, obj.Id, BizType);
|
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)
|
if (isNew)
|
||||||
await Search.ProcessNewObjectKeywordsAsync(SearchParams);
|
await Search.ProcessNewObjectKeywordsAsync(SearchParams);
|
||||||
else
|
else
|
||||||
@@ -208,11 +210,21 @@ namespace AyaNova.Biz
|
|||||||
{
|
{
|
||||||
var obj = await ct.PMTemplate.SingleOrDefaultAsync(z => z.Id == id);
|
var obj = await ct.PMTemplate.SingleOrDefaultAsync(z => z.Id == id);
|
||||||
var SearchParams = new Search.SearchIndexProcessObjectParameters();
|
var SearchParams = new Search.SearchIndexProcessObjectParameters();
|
||||||
if (obj != null)
|
DigestSearchText(obj, SearchParams);
|
||||||
SearchParams.AddText(obj.Notes).AddText(obj.Name).AddText(obj.Wiki).AddText(obj.Tags).AddCustomFields(obj.CustomFields);
|
|
||||||
return 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
|
//VALIDATION
|
||||||
@@ -227,7 +239,7 @@ namespace AyaNova.Biz
|
|||||||
if (string.IsNullOrWhiteSpace(proposedObj.Name))
|
if (string.IsNullOrWhiteSpace(proposedObj.Name))
|
||||||
AddError(ApiErrorCode.VALIDATION_REQUIRED, "Name");
|
AddError(ApiErrorCode.VALIDATION_REQUIRED, "Name");
|
||||||
|
|
||||||
|
|
||||||
//If name is otherwise OK, check that name is unique
|
//If name is otherwise OK, check that name is unique
|
||||||
if (!PropertyHasErrors("Name"))
|
if (!PropertyHasErrors("Name"))
|
||||||
{
|
{
|
||||||
@@ -260,14 +272,14 @@ namespace AyaNova.Biz
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
// NOTIFICATION PROCESSING
|
// 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<PMTemplateBiz>();
|
ILogger log = AyaNova.Util.ApplicationLogging.CreateLogger<PMTemplateBiz>();
|
||||||
if (ServerBootConfig.SEEDING) return;
|
if (ServerBootConfig.SEEDING) return;
|
||||||
|
|||||||
@@ -147,7 +147,8 @@ namespace AyaNova.Biz
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
Part dbObject = await ct.Part.SingleOrDefaultAsync(m => m.Id == id);
|
Part dbObject = await ct.Part.SingleOrDefaultAsync(m => m.Id == id);
|
||||||
if (dbObject == null){
|
if (dbObject == null)
|
||||||
|
{
|
||||||
AddError(ApiErrorCode.NOT_FOUND);
|
AddError(ApiErrorCode.NOT_FOUND);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -176,13 +177,14 @@ namespace AyaNova.Biz
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
//SEARCH
|
//SEARCH
|
||||||
//
|
//
|
||||||
private async Task SearchIndexAsync(Part obj, bool isNew)
|
private async Task SearchIndexAsync(Part obj, bool isNew)
|
||||||
{
|
{
|
||||||
var SearchParams = new Search.SearchIndexProcessObjectParameters(UserTranslationId, obj.Id, BizType);
|
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)
|
if (isNew)
|
||||||
await Search.ProcessNewObjectKeywordsAsync(SearchParams);
|
await Search.ProcessNewObjectKeywordsAsync(SearchParams);
|
||||||
else
|
else
|
||||||
@@ -191,13 +193,23 @@ namespace AyaNova.Biz
|
|||||||
|
|
||||||
public async Task<Search.SearchIndexProcessObjectParameters> GetSearchResultSummary(long id)
|
public async Task<Search.SearchIndexProcessObjectParameters> 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();
|
var SearchParams = new Search.SearchIndexProcessObjectParameters();
|
||||||
if (obj != null)
|
DigestSearchText(obj, SearchParams);
|
||||||
SearchParams.AddText(obj.Notes).AddText(obj.Name).AddText(obj.Wiki).AddText(obj.Tags).AddCustomFields(obj.CustomFields);
|
|
||||||
return 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
|
//VALIDATION
|
||||||
@@ -212,7 +224,7 @@ namespace AyaNova.Biz
|
|||||||
if (string.IsNullOrWhiteSpace(proposedObj.Name))
|
if (string.IsNullOrWhiteSpace(proposedObj.Name))
|
||||||
AddError(ApiErrorCode.VALIDATION_REQUIRED, "Name");
|
AddError(ApiErrorCode.VALIDATION_REQUIRED, "Name");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//If name is otherwise OK, check that name is unique
|
//If name is otherwise OK, check that name is unique
|
||||||
if (!PropertyHasErrors("Name"))
|
if (!PropertyHasErrors("Name"))
|
||||||
@@ -246,13 +258,13 @@ namespace AyaNova.Biz
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
// NOTIFICATION PROCESSING
|
// 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<PartBiz>();
|
ILogger log = AyaNova.Util.ApplicationLogging.CreateLogger<PartBiz>();
|
||||||
if (ServerBootConfig.SEEDING) return;
|
if (ServerBootConfig.SEEDING) return;
|
||||||
|
|||||||
@@ -152,7 +152,8 @@ namespace AyaNova.Biz
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
Project dbObject = await ct.Project.SingleOrDefaultAsync(m => m.Id == id);
|
Project dbObject = await ct.Project.SingleOrDefaultAsync(m => m.Id == id);
|
||||||
if (dbObject == null){
|
if (dbObject == null)
|
||||||
|
{
|
||||||
AddError(ApiErrorCode.NOT_FOUND);
|
AddError(ApiErrorCode.NOT_FOUND);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -181,13 +182,15 @@ namespace AyaNova.Biz
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
//SEARCH
|
//SEARCH
|
||||||
//
|
//
|
||||||
private async Task SearchIndexAsync(Project obj, bool isNew)
|
private async Task SearchIndexAsync(Project obj, bool isNew)
|
||||||
{
|
{
|
||||||
var SearchParams = new Search.SearchIndexProcessObjectParameters(UserTranslationId, obj.Id, BizType);
|
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)
|
if (isNew)
|
||||||
await Search.ProcessNewObjectKeywordsAsync(SearchParams);
|
await Search.ProcessNewObjectKeywordsAsync(SearchParams);
|
||||||
else
|
else
|
||||||
@@ -196,13 +199,24 @@ namespace AyaNova.Biz
|
|||||||
|
|
||||||
public async Task<Search.SearchIndexProcessObjectParameters> GetSearchResultSummary(long id)
|
public async Task<Search.SearchIndexProcessObjectParameters> 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();
|
var SearchParams = new Search.SearchIndexProcessObjectParameters();
|
||||||
if (obj != null)
|
DigestSearchText(obj, SearchParams);
|
||||||
SearchParams.AddText(obj.Notes).AddText(obj.Name).AddText(obj.Wiki).AddText(obj.Tags).AddCustomFields(obj.CustomFields);
|
|
||||||
return 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
|
//VALIDATION
|
||||||
@@ -217,7 +231,7 @@ namespace AyaNova.Biz
|
|||||||
if (string.IsNullOrWhiteSpace(proposedObj.Name))
|
if (string.IsNullOrWhiteSpace(proposedObj.Name))
|
||||||
AddError(ApiErrorCode.VALIDATION_REQUIRED, "Name");
|
AddError(ApiErrorCode.VALIDATION_REQUIRED, "Name");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//If name is otherwise OK, check that name is unique
|
//If name is otherwise OK, check that name is unique
|
||||||
if (!PropertyHasErrors("Name"))
|
if (!PropertyHasErrors("Name"))
|
||||||
@@ -399,19 +413,19 @@ namespace AyaNova.Biz
|
|||||||
await JobsBiz.LogJobAsync(job.GId, ExceptionUtil.ExtractAllExceptionMessages(ex));
|
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);
|
await JobsBiz.UpdateJobStatusAsync(job.GId, JobStatus.Completed);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
// NOTIFICATION PROCESSING
|
// 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<ProjectBiz>();
|
ILogger log = AyaNova.Util.ApplicationLogging.CreateLogger<ProjectBiz>();
|
||||||
if (ServerBootConfig.SEEDING) return;
|
if (ServerBootConfig.SEEDING) return;
|
||||||
|
|||||||
@@ -147,7 +147,8 @@ namespace AyaNova.Biz
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
PurchaseOrder dbObject = await ct.PurchaseOrder.SingleOrDefaultAsync(z => z.Id == id);
|
PurchaseOrder dbObject = await ct.PurchaseOrder.SingleOrDefaultAsync(z => z.Id == id);
|
||||||
if (dbObject == null){
|
if (dbObject == null)
|
||||||
|
{
|
||||||
AddError(ApiErrorCode.NOT_FOUND);
|
AddError(ApiErrorCode.NOT_FOUND);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -174,13 +175,15 @@ namespace AyaNova.Biz
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
//SEARCH
|
//SEARCH
|
||||||
//
|
//
|
||||||
private async Task SearchIndexAsync(PurchaseOrder obj, bool isNew)
|
private async Task SearchIndexAsync(PurchaseOrder obj, bool isNew)
|
||||||
{
|
{
|
||||||
var SearchParams = new Search.SearchIndexProcessObjectParameters(UserTranslationId, obj.Id, BizType);
|
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)
|
if (isNew)
|
||||||
await Search.ProcessNewObjectKeywordsAsync(SearchParams);
|
await Search.ProcessNewObjectKeywordsAsync(SearchParams);
|
||||||
else
|
else
|
||||||
@@ -191,11 +194,21 @@ namespace AyaNova.Biz
|
|||||||
{
|
{
|
||||||
var obj = await ct.PurchaseOrder.SingleOrDefaultAsync(z => z.Id == id);
|
var obj = await ct.PurchaseOrder.SingleOrDefaultAsync(z => z.Id == id);
|
||||||
var SearchParams = new Search.SearchIndexProcessObjectParameters();
|
var SearchParams = new Search.SearchIndexProcessObjectParameters();
|
||||||
if (obj != null)
|
DigestSearchText(obj, SearchParams);
|
||||||
SearchParams.AddText(obj.Notes).AddText(obj.Name).AddText(obj.Wiki).AddText(obj.Tags).AddCustomFields(obj.CustomFields);
|
|
||||||
return 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
|
//VALIDATION
|
||||||
@@ -243,13 +256,13 @@ namespace AyaNova.Biz
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
// NOTIFICATION PROCESSING
|
// 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<PurchaseOrderBiz>();
|
ILogger log = AyaNova.Util.ApplicationLogging.CreateLogger<PurchaseOrderBiz>();
|
||||||
if (ServerBootConfig.SEEDING) return;
|
if (ServerBootConfig.SEEDING) return;
|
||||||
|
|||||||
@@ -203,12 +203,13 @@ namespace AyaNova.Biz
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
//SEARCH
|
||||||
|
//
|
||||||
private async Task SearchIndexAsync(Quote obj, bool isNew)
|
private async Task SearchIndexAsync(Quote obj, bool isNew)
|
||||||
{
|
{
|
||||||
//SEARCH INDEXING
|
|
||||||
var SearchParams = new Search.SearchIndexProcessObjectParameters(UserTranslationId, obj.Id, BizType);
|
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)
|
if (isNew)
|
||||||
await Search.ProcessNewObjectKeywordsAsync(SearchParams);
|
await Search.ProcessNewObjectKeywordsAsync(SearchParams);
|
||||||
else
|
else
|
||||||
@@ -219,11 +220,21 @@ namespace AyaNova.Biz
|
|||||||
{
|
{
|
||||||
var obj = await ct.Quote.SingleOrDefaultAsync(z => z.Id == id);
|
var obj = await ct.Quote.SingleOrDefaultAsync(z => z.Id == id);
|
||||||
var SearchParams = new Search.SearchIndexProcessObjectParameters();
|
var SearchParams = new Search.SearchIndexProcessObjectParameters();
|
||||||
if (obj != null)
|
DigestSearchText(obj, SearchParams);
|
||||||
SearchParams.AddText(obj.Notes).AddText(obj.Serial).AddText(obj.Wiki).AddText(obj.Tags).AddCustomFields(obj.CustomFields);
|
|
||||||
return 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
|
//DELETE
|
||||||
//
|
//
|
||||||
@@ -264,7 +275,7 @@ namespace AyaNova.Biz
|
|||||||
// if (string.IsNullOrWhiteSpace(proposedObj.Name))
|
// if (string.IsNullOrWhiteSpace(proposedObj.Name))
|
||||||
// AddError(ApiErrorCode.VALIDATION_REQUIRED, "Name");
|
// AddError(ApiErrorCode.VALIDATION_REQUIRED, "Name");
|
||||||
|
|
||||||
|
|
||||||
// //If name is otherwise OK, check that name is unique
|
// //If name is otherwise OK, check that name is unique
|
||||||
// if (!PropertyHasErrors("Name"))
|
// if (!PropertyHasErrors("Name"))
|
||||||
// {
|
// {
|
||||||
|
|||||||
@@ -180,12 +180,13 @@ namespace AyaNova.Biz
|
|||||||
//###################################################################################################################################################
|
//###################################################################################################################################################
|
||||||
|
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
//SEARCH
|
||||||
|
//
|
||||||
private async Task SearchIndexAsync(QuoteTemplate obj, bool isNew)
|
private async Task SearchIndexAsync(QuoteTemplate obj, bool isNew)
|
||||||
{
|
{
|
||||||
//SEARCH INDEXING
|
|
||||||
var SearchParams = new Search.SearchIndexProcessObjectParameters(UserTranslationId, obj.Id, BizType);
|
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)
|
if (isNew)
|
||||||
await Search.ProcessNewObjectKeywordsAsync(SearchParams);
|
await Search.ProcessNewObjectKeywordsAsync(SearchParams);
|
||||||
else
|
else
|
||||||
@@ -196,11 +197,21 @@ namespace AyaNova.Biz
|
|||||||
{
|
{
|
||||||
var obj = await ct.QuoteTemplate.SingleOrDefaultAsync(z => z.Id == id);
|
var obj = await ct.QuoteTemplate.SingleOrDefaultAsync(z => z.Id == id);
|
||||||
var SearchParams = new Search.SearchIndexProcessObjectParameters();
|
var SearchParams = new Search.SearchIndexProcessObjectParameters();
|
||||||
if (obj != null)
|
DigestSearchText(obj, SearchParams);
|
||||||
SearchParams.AddText(obj.Notes).AddText(obj.Name).AddText(obj.Wiki).AddText(obj.Tags).AddCustomFields(obj.CustomFields);
|
|
||||||
return 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
|
//DELETE
|
||||||
//
|
//
|
||||||
@@ -240,7 +251,7 @@ namespace AyaNova.Biz
|
|||||||
if (string.IsNullOrWhiteSpace(proposedObj.Name))
|
if (string.IsNullOrWhiteSpace(proposedObj.Name))
|
||||||
AddError(ApiErrorCode.VALIDATION_REQUIRED, "Name");
|
AddError(ApiErrorCode.VALIDATION_REQUIRED, "Name");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//If name is otherwise OK, check that name is unique
|
//If name is otherwise OK, check that name is unique
|
||||||
if (!PropertyHasErrors("Name"))
|
if (!PropertyHasErrors("Name"))
|
||||||
|
|||||||
@@ -152,7 +152,8 @@ namespace AyaNova.Biz
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
Reminder dbObject = await ct.Reminder.SingleOrDefaultAsync(m => m.Id == id);
|
Reminder dbObject = await ct.Reminder.SingleOrDefaultAsync(m => m.Id == id);
|
||||||
if (dbObject == null){
|
if (dbObject == null)
|
||||||
|
{
|
||||||
AddError(ApiErrorCode.NOT_FOUND);
|
AddError(ApiErrorCode.NOT_FOUND);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -181,13 +182,15 @@ namespace AyaNova.Biz
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
//SEARCH
|
//SEARCH
|
||||||
//
|
//
|
||||||
private async Task SearchIndexAsync(Reminder obj, bool isNew)
|
private async Task SearchIndexAsync(Reminder obj, bool isNew)
|
||||||
{
|
{
|
||||||
var SearchParams = new Search.SearchIndexProcessObjectParameters(UserTranslationId, obj.Id, BizType);
|
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)
|
if (isNew)
|
||||||
await Search.ProcessNewObjectKeywordsAsync(SearchParams);
|
await Search.ProcessNewObjectKeywordsAsync(SearchParams);
|
||||||
else
|
else
|
||||||
@@ -196,13 +199,23 @@ namespace AyaNova.Biz
|
|||||||
|
|
||||||
public async Task<Search.SearchIndexProcessObjectParameters> GetSearchResultSummary(long id)
|
public async Task<Search.SearchIndexProcessObjectParameters> 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();
|
var SearchParams = new Search.SearchIndexProcessObjectParameters();
|
||||||
if (obj != null)
|
DigestSearchText(obj, SearchParams);
|
||||||
SearchParams.AddText(obj.Notes).AddText(obj.Name).AddText(obj.Wiki).AddText(obj.Tags).AddCustomFields(obj.CustomFields);
|
|
||||||
return 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
|
//VALIDATION
|
||||||
@@ -217,7 +230,7 @@ namespace AyaNova.Biz
|
|||||||
if (string.IsNullOrWhiteSpace(proposedObj.Name))
|
if (string.IsNullOrWhiteSpace(proposedObj.Name))
|
||||||
AddError(ApiErrorCode.VALIDATION_REQUIRED, "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] != '#')
|
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");
|
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, 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);
|
await JobsBiz.UpdateJobStatusAsync(job.GId, JobStatus.Completed);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
// NOTIFICATION PROCESSING
|
// 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<ReminderBiz>();
|
ILogger log = AyaNova.Util.ApplicationLogging.CreateLogger<ReminderBiz>();
|
||||||
if (ServerBootConfig.SEEDING) return;
|
if (ServerBootConfig.SEEDING) return;
|
||||||
|
|||||||
@@ -206,7 +206,8 @@ namespace AyaNova.Biz
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
Report dbObject = await ct.Report.SingleOrDefaultAsync(z => z.Id == id);
|
Report dbObject = await ct.Report.SingleOrDefaultAsync(z => z.Id == id);
|
||||||
if (dbObject == null){
|
if (dbObject == null)
|
||||||
|
{
|
||||||
AddError(ApiErrorCode.NOT_FOUND);
|
AddError(ApiErrorCode.NOT_FOUND);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -256,7 +257,7 @@ namespace AyaNova.Biz
|
|||||||
private async Task SearchIndexAsync(Report obj, bool isNew)
|
private async Task SearchIndexAsync(Report obj, bool isNew)
|
||||||
{
|
{
|
||||||
var SearchParams = new Search.SearchIndexProcessObjectParameters(UserTranslationId, obj.Id, BizType);
|
var SearchParams = new Search.SearchIndexProcessObjectParameters(UserTranslationId, obj.Id, BizType);
|
||||||
SearchParams.AddText(obj.Notes).AddText(obj.Name);
|
DigestSearchText(obj, SearchParams);
|
||||||
if (isNew)
|
if (isNew)
|
||||||
await Search.ProcessNewObjectKeywordsAsync(SearchParams);
|
await Search.ProcessNewObjectKeywordsAsync(SearchParams);
|
||||||
else
|
else
|
||||||
@@ -267,11 +268,24 @@ namespace AyaNova.Biz
|
|||||||
{
|
{
|
||||||
var obj = await ct.Report.SingleOrDefaultAsync(z => z.Id == id);
|
var obj = await ct.Report.SingleOrDefaultAsync(z => z.Id == id);
|
||||||
var SearchParams = new Search.SearchIndexProcessObjectParameters();
|
var SearchParams = new Search.SearchIndexProcessObjectParameters();
|
||||||
if (obj != null)
|
DigestSearchText(obj, SearchParams);
|
||||||
SearchParams.AddText(obj.Notes).AddText(obj.Name);
|
|
||||||
return 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
|
//VALIDATION
|
||||||
|
|||||||
@@ -182,13 +182,14 @@ namespace AyaNova.Biz
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
//SEARCH
|
//SEARCH
|
||||||
//
|
//
|
||||||
private async Task SearchIndexAsync(Review obj, bool isNew)
|
private async Task SearchIndexAsync(Review obj, bool isNew)
|
||||||
{
|
{
|
||||||
var SearchParams = new Search.SearchIndexProcessObjectParameters(UserTranslationId, obj.Id, BizType);
|
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)
|
if (isNew)
|
||||||
await Search.ProcessNewObjectKeywordsAsync(SearchParams);
|
await Search.ProcessNewObjectKeywordsAsync(SearchParams);
|
||||||
else
|
else
|
||||||
@@ -197,13 +198,24 @@ namespace AyaNova.Biz
|
|||||||
|
|
||||||
public async Task<Search.SearchIndexProcessObjectParameters> GetSearchResultSummary(long id)
|
public async Task<Search.SearchIndexProcessObjectParameters> 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();
|
var SearchParams = new Search.SearchIndexProcessObjectParameters();
|
||||||
if (obj != null)
|
DigestSearchText(obj, SearchParams);
|
||||||
SearchParams.AddText(obj.Notes).AddText(obj.Name).AddText(obj.CompletionNotes).AddText(obj.Wiki).AddText(obj.Tags).AddCustomFields(obj.CustomFields);
|
|
||||||
return 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
|
//VALIDATION
|
||||||
|
|||||||
@@ -147,7 +147,8 @@ namespace AyaNova.Biz
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
Unit dbObject = await ct.Unit.SingleOrDefaultAsync(z => z.Id == id);
|
Unit dbObject = await ct.Unit.SingleOrDefaultAsync(z => z.Id == id);
|
||||||
if (dbObject == null){
|
if (dbObject == null)
|
||||||
|
{
|
||||||
AddError(ApiErrorCode.NOT_FOUND);
|
AddError(ApiErrorCode.NOT_FOUND);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -174,13 +175,15 @@ namespace AyaNova.Biz
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
//SEARCH
|
//SEARCH
|
||||||
//
|
//
|
||||||
private async Task SearchIndexAsync(Unit obj, bool isNew)
|
private async Task SearchIndexAsync(Unit obj, bool isNew)
|
||||||
{
|
{
|
||||||
var SearchParams = new Search.SearchIndexProcessObjectParameters(UserTranslationId, obj.Id, BizType);
|
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)
|
if (isNew)
|
||||||
await Search.ProcessNewObjectKeywordsAsync(SearchParams);
|
await Search.ProcessNewObjectKeywordsAsync(SearchParams);
|
||||||
else
|
else
|
||||||
@@ -191,11 +194,21 @@ namespace AyaNova.Biz
|
|||||||
{
|
{
|
||||||
var obj = await ct.Unit.SingleOrDefaultAsync(z => z.Id == id);
|
var obj = await ct.Unit.SingleOrDefaultAsync(z => z.Id == id);
|
||||||
var SearchParams = new Search.SearchIndexProcessObjectParameters();
|
var SearchParams = new Search.SearchIndexProcessObjectParameters();
|
||||||
if (obj != null)
|
DigestSearchText(obj, SearchParams);
|
||||||
SearchParams.AddText(obj.Notes).AddText(obj.Name).AddText(obj.Wiki).AddText(obj.Tags).AddCustomFields(obj.CustomFields);
|
|
||||||
return 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
|
//VALIDATION
|
||||||
@@ -242,14 +255,14 @@ namespace AyaNova.Biz
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
// NOTIFICATION PROCESSING
|
// 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<UnitBiz>();
|
ILogger log = AyaNova.Util.ApplicationLogging.CreateLogger<UnitBiz>();
|
||||||
if (ServerBootConfig.SEEDING) return;
|
if (ServerBootConfig.SEEDING) return;
|
||||||
|
|||||||
@@ -147,7 +147,8 @@ namespace AyaNova.Biz
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
UnitModel dbObject = await ct.UnitModel.SingleOrDefaultAsync(z => z.Id == id);
|
UnitModel dbObject = await ct.UnitModel.SingleOrDefaultAsync(z => z.Id == id);
|
||||||
if (dbObject == null){
|
if (dbObject == null)
|
||||||
|
{
|
||||||
AddError(ApiErrorCode.NOT_FOUND);
|
AddError(ApiErrorCode.NOT_FOUND);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -174,13 +175,14 @@ namespace AyaNova.Biz
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
//SEARCH
|
//SEARCH
|
||||||
//
|
//
|
||||||
private async Task SearchIndexAsync(UnitModel obj, bool isNew)
|
private async Task SearchIndexAsync(UnitModel obj, bool isNew)
|
||||||
{
|
{
|
||||||
var SearchParams = new Search.SearchIndexProcessObjectParameters(UserTranslationId, obj.Id, BizType);
|
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)
|
if (isNew)
|
||||||
await Search.ProcessNewObjectKeywordsAsync(SearchParams);
|
await Search.ProcessNewObjectKeywordsAsync(SearchParams);
|
||||||
else
|
else
|
||||||
@@ -191,11 +193,21 @@ namespace AyaNova.Biz
|
|||||||
{
|
{
|
||||||
var obj = await ct.UnitModel.SingleOrDefaultAsync(z => z.Id == id);
|
var obj = await ct.UnitModel.SingleOrDefaultAsync(z => z.Id == id);
|
||||||
var SearchParams = new Search.SearchIndexProcessObjectParameters();
|
var SearchParams = new Search.SearchIndexProcessObjectParameters();
|
||||||
if (obj != null)
|
DigestSearchText(obj, SearchParams);
|
||||||
SearchParams.AddText(obj.Notes).AddText(obj.Name).AddText(obj.Wiki).AddText(obj.Tags).AddCustomFields(obj.CustomFields);
|
|
||||||
return 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
|
//VALIDATION
|
||||||
@@ -210,7 +222,7 @@ namespace AyaNova.Biz
|
|||||||
if (string.IsNullOrWhiteSpace(proposedObj.Name))
|
if (string.IsNullOrWhiteSpace(proposedObj.Name))
|
||||||
AddError(ApiErrorCode.VALIDATION_REQUIRED, "Name");
|
AddError(ApiErrorCode.VALIDATION_REQUIRED, "Name");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//If name is otherwise OK, check that name is unique
|
//If name is otherwise OK, check that name is unique
|
||||||
if (!PropertyHasErrors("Name"))
|
if (!PropertyHasErrors("Name"))
|
||||||
@@ -244,13 +256,13 @@ namespace AyaNova.Biz
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
// NOTIFICATION PROCESSING
|
// 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<UnitModelBiz>();
|
ILogger log = AyaNova.Util.ApplicationLogging.CreateLogger<UnitModelBiz>();
|
||||||
if (ServerBootConfig.SEEDING) return;
|
if (ServerBootConfig.SEEDING) return;
|
||||||
|
|||||||
@@ -417,12 +417,13 @@ namespace AyaNova.Biz
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
//SEARCH
|
||||||
|
//
|
||||||
private async Task SearchIndexAsync(User obj, bool isNew)
|
private async Task SearchIndexAsync(User obj, bool isNew)
|
||||||
{
|
{
|
||||||
//SEARCH INDEXING
|
|
||||||
var SearchParams = new Search.SearchIndexProcessObjectParameters(UserTranslationId, obj.Id, BizType);
|
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)
|
if (isNew)
|
||||||
await Search.ProcessNewObjectKeywordsAsync(SearchParams);
|
await Search.ProcessNewObjectKeywordsAsync(SearchParams);
|
||||||
else
|
else
|
||||||
@@ -433,12 +434,25 @@ namespace AyaNova.Biz
|
|||||||
{
|
{
|
||||||
var obj = await ct.User.SingleOrDefaultAsync(z => z.Id == id);
|
var obj = await ct.User.SingleOrDefaultAsync(z => z.Id == id);
|
||||||
var SearchParams = new Search.SearchIndexProcessObjectParameters();
|
var SearchParams = new Search.SearchIndexProcessObjectParameters();
|
||||||
if (obj != null)
|
DigestSearchText(obj, SearchParams);
|
||||||
SearchParams.AddText(obj.Notes).AddText(obj.Name).AddText(obj.EmployeeNumber).AddText(obj.Tags).AddText(obj.Wiki).AddCustomFields(obj.CustomFields);
|
|
||||||
|
|
||||||
return 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
|
//DELETE
|
||||||
//
|
//
|
||||||
|
|||||||
@@ -178,13 +178,15 @@ namespace AyaNova.Biz
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
//SEARCH
|
//SEARCH
|
||||||
//
|
//
|
||||||
private async Task SearchIndexAsync(Vendor obj, bool isNew)
|
private async Task SearchIndexAsync(Vendor obj, bool isNew)
|
||||||
{
|
{
|
||||||
var SearchParams = new Search.SearchIndexProcessObjectParameters(UserTranslationId, obj.Id, BizType);
|
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)
|
if (isNew)
|
||||||
await Search.ProcessNewObjectKeywordsAsync(SearchParams);
|
await Search.ProcessNewObjectKeywordsAsync(SearchParams);
|
||||||
else
|
else
|
||||||
@@ -195,11 +197,44 @@ namespace AyaNova.Biz
|
|||||||
{
|
{
|
||||||
var obj = await ct.Vendor.SingleOrDefaultAsync(z => z.Id == id);
|
var obj = await ct.Vendor.SingleOrDefaultAsync(z => z.Id == id);
|
||||||
var SearchParams = new Search.SearchIndexProcessObjectParameters();
|
var SearchParams = new Search.SearchIndexProcessObjectParameters();
|
||||||
if (obj != null)
|
DigestSearchText(obj, SearchParams);
|
||||||
SearchParams.AddText(obj.Notes).AddText(obj.Name).AddText(obj.Wiki).AddText(obj.Tags).AddCustomFields(obj.CustomFields);
|
|
||||||
return 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
|
//VALIDATION
|
||||||
@@ -399,19 +434,19 @@ namespace AyaNova.Biz
|
|||||||
await JobsBiz.LogJobAsync(job.GId, ExceptionUtil.ExtractAllExceptionMessages(ex));
|
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);
|
await JobsBiz.UpdateJobStatusAsync(job.GId, JobStatus.Completed);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
// NOTIFICATION PROCESSING
|
// 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<VendorBiz>();
|
ILogger log = AyaNova.Util.ApplicationLogging.CreateLogger<VendorBiz>();
|
||||||
if (ServerBootConfig.SEEDING) return;
|
if (ServerBootConfig.SEEDING) return;
|
||||||
|
|||||||
@@ -210,7 +210,7 @@ namespace AyaNova.Biz
|
|||||||
private async Task SearchIndexAsync(Widget obj, bool isNew)
|
private async Task SearchIndexAsync(Widget obj, bool isNew)
|
||||||
{
|
{
|
||||||
var SearchParams = new Search.SearchIndexProcessObjectParameters(UserTranslationId, obj.Id, BizType);
|
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)
|
if (isNew)
|
||||||
await Search.ProcessNewObjectKeywordsAsync(SearchParams);
|
await Search.ProcessNewObjectKeywordsAsync(SearchParams);
|
||||||
else
|
else
|
||||||
@@ -221,11 +221,24 @@ namespace AyaNova.Biz
|
|||||||
{
|
{
|
||||||
var obj = await ct.Widget.SingleOrDefaultAsync(z => z.Id == id);
|
var obj = await ct.Widget.SingleOrDefaultAsync(z => z.Id == id);
|
||||||
var SearchParams = new Search.SearchIndexProcessObjectParameters();
|
var SearchParams = new Search.SearchIndexProcessObjectParameters();
|
||||||
if (obj != null)
|
DigestSearchText(obj, SearchParams);
|
||||||
SearchParams.AddText(obj.Notes).AddText(obj.Name).AddText(obj.Serial).AddText(obj.Wiki).AddText(obj.Tags).AddCustomFields(obj.CustomFields);
|
|
||||||
return 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
|
//VALIDATION
|
||||||
@@ -452,13 +465,13 @@ namespace AyaNova.Biz
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
// NOTIFICATION PROCESSING
|
// 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<WidgetBiz>();
|
ILogger log = AyaNova.Util.ApplicationLogging.CreateLogger<WidgetBiz>();
|
||||||
if (ServerBootConfig.SEEDING) return;
|
if (ServerBootConfig.SEEDING) return;
|
||||||
|
|||||||
@@ -166,7 +166,7 @@ namespace AyaNova.Biz
|
|||||||
|
|
||||||
await ValidateAsync(dbObject, SnapshotOfOriginalDBObj);
|
await ValidateAsync(dbObject, SnapshotOfOriginalDBObj);
|
||||||
if (HasErrors)
|
if (HasErrors)
|
||||||
return false;
|
return false;
|
||||||
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 SearchIndexAsync(dbObject, false);
|
await SearchIndexAsync(dbObject, false);
|
||||||
await TagBiz.ProcessUpdateTagsInRepositoryAsync(ct, dbObject.Tags, SnapshotOfOriginalDBObj.Tags);
|
await TagBiz.ProcessUpdateTagsInRepositoryAsync(ct, dbObject.Tags, SnapshotOfOriginalDBObj.Tags);
|
||||||
@@ -175,12 +175,13 @@ namespace AyaNova.Biz
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
//SEARCH
|
||||||
|
//
|
||||||
private async Task SearchIndexAsync(WorkOrderTemplate obj, bool isNew)
|
private async Task SearchIndexAsync(WorkOrderTemplate obj, bool isNew)
|
||||||
{
|
{
|
||||||
//SEARCH INDEXING
|
|
||||||
var SearchParams = new Search.SearchIndexProcessObjectParameters(UserTranslationId, obj.Id, BizType);
|
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)
|
if (isNew)
|
||||||
await Search.ProcessNewObjectKeywordsAsync(SearchParams);
|
await Search.ProcessNewObjectKeywordsAsync(SearchParams);
|
||||||
else
|
else
|
||||||
@@ -191,11 +192,20 @@ namespace AyaNova.Biz
|
|||||||
{
|
{
|
||||||
var obj = await ct.WorkOrderTemplate.SingleOrDefaultAsync(z => z.Id == id);
|
var obj = await ct.WorkOrderTemplate.SingleOrDefaultAsync(z => z.Id == id);
|
||||||
var SearchParams = new Search.SearchIndexProcessObjectParameters();
|
var SearchParams = new Search.SearchIndexProcessObjectParameters();
|
||||||
if (obj != null)
|
DigestSearchText(obj, SearchParams);
|
||||||
SearchParams.AddText(obj.Notes).AddText(obj.Name).AddText(obj.Wiki).AddText(obj.Tags).AddCustomFields(obj.CustomFields);
|
|
||||||
return 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
|
// 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
|
// 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<WorkOrderTemplateBiz>();
|
ILogger log = AyaNova.Util.ApplicationLogging.CreateLogger<WorkOrderTemplateBiz>();
|
||||||
if (ServerBootConfig.SEEDING) return;
|
if (ServerBootConfig.SEEDING) return;
|
||||||
|
|||||||
@@ -1,8 +1,5 @@
|
|||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using AyaNova.Biz;
|
using AyaNova.Biz;
|
||||||
using System.ComponentModel.DataAnnotations;
|
using System.ComponentModel.DataAnnotations;
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
|
|
||||||
namespace AyaNova.Models
|
namespace AyaNova.Models
|
||||||
@@ -60,10 +57,6 @@ namespace AyaNova.Models
|
|||||||
PreferCSSPageSize=false;
|
PreferCSSPageSize=false;
|
||||||
PrintBackground=false;
|
PrintBackground=false;
|
||||||
Scale=1;
|
Scale=1;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}//eoc
|
}//eoc
|
||||||
|
|||||||
Reference in New Issue
Block a user