This commit is contained in:
2021-03-01 23:10:06 +00:00
parent ad10e15eea
commit 2a1713aadc
4 changed files with 47 additions and 41 deletions

View File

@@ -70,20 +70,24 @@ namespace AyaNova.Api.Controllers
if (format != "csv" && format != "json") if (format != "csv" && format != "json")
return BadRequest(new ApiErrorResponse(ApiErrorCode.VALIDATION_INVALID_VALUE, null, "format not valid, must be 'csv' or 'json'")); return BadRequest(new ApiErrorResponse(ApiErrorCode.VALIDATION_INVALID_VALUE, null, "format not valid, must be 'csv' or 'json'"));
var UserId = UserIdFromContext.Id(HttpContext.Items);
var UserRoles = UserRolesFromContext.Roles(HttpContext.Items);
var UserTranslationId = UserTranslationIdFromContext.Id(HttpContext.Items);
//Rehydrate id list if necessary //Rehydrate id list if necessary
if (selectedRequest.SelectedRowIds.Length == 0) if (selectedRequest.SelectedRowIds.Length == 0)
selectedRequest.SelectedRowIds = await DataListSelectedProcessingOptions.RehydrateIdList( selectedRequest.SelectedRowIds = await DataListSelectedProcessingOptions.RehydrateIdList(
selectedRequest, selectedRequest,
ct, ct,
UserRolesFromContext.Roles(HttpContext.Items), UserRoles,
log, log,
UserIdFromContext.Id(HttpContext.Items), UserId,
UserTranslationIdFromContext.Id(HttpContext.Items)); UserTranslationId);
log.LogDebug($"Instantiating biz object handler for {selectedRequest.ObjectType}"); log.LogDebug($"Instantiating biz object handler for {selectedRequest.ObjectType}");
var biz = BizObjectFactory.GetBizObject(selectedRequest.ObjectType, ct); var biz = BizObjectFactory.GetBizObject(selectedRequest.ObjectType, ct, UserId, UserRoles, UserTranslationId);
log.LogDebug($"Fetching data for {selectedRequest.SelectedRowIds.Length} {selectedRequest.ObjectType} items"); log.LogDebug($"Fetching data for {selectedRequest.SelectedRowIds.Length} {selectedRequest.ObjectType} items");
// var TheData = await ((IExportAbleObject)biz).GetJSONExportData(dataListSelection.SelectedRowIds); // var TheData = await ((IExportAbleObject)biz).GetJSONExportData(dataListSelection.SelectedRowIds);

View File

@@ -12,8 +12,10 @@ namespace AyaNova.Biz
//Returns the biz object class that corresponds to the type presented //Returns the biz object class that corresponds to the type presented
//Used by SEARCH, REPORTING and objects with JOBS //Used by SEARCH, REPORTING and objects with JOBS
internal static BizObject GetBizObject(AyaType ayaType, AyContext ct, long userId = 1, AuthorizationRoles roles = AuthorizationRoles.All) internal static BizObject GetBizObject(AyaType ayaType, AyContext ct, long userId = 1, AuthorizationRoles roles = AuthorizationRoles.All, long translationId = 0)
{ {
if (translationId == 0)
translationId = ServerBootConfig.AYANOVA_DEFAULT_TRANSLATION_ID;
switch (ayaType) switch (ayaType)
{ {
@@ -23,60 +25,60 @@ namespace AyaNova.Biz
case AyaType.TrialSeeder: case AyaType.TrialSeeder:
return new TrialBiz(ct, userId, roles); return new TrialBiz(ct, userId, roles);
case AyaType.Translation: case AyaType.Translation:
return new TranslationBiz(ct, userId, ServerBootConfig.AYANOVA_DEFAULT_TRANSLATION_ID, roles); return new TranslationBiz(ct, userId, translationId, roles);
case AyaType.DataListSavedFilter: case AyaType.DataListSavedFilter:
return new DataListSavedFilterBiz(ct, userId, ServerBootConfig.AYANOVA_DEFAULT_TRANSLATION_ID, roles); return new DataListSavedFilterBiz(ct, userId, translationId, roles);
case AyaType.FormCustom: case AyaType.FormCustom:
return new FormCustomBiz(ct, userId, ServerBootConfig.AYANOVA_DEFAULT_TRANSLATION_ID, roles); return new FormCustomBiz(ct, userId, translationId, roles);
case AyaType.Widget: case AyaType.Widget:
return new WidgetBiz(ct, userId, ServerBootConfig.AYANOVA_DEFAULT_TRANSLATION_ID, roles); return new WidgetBiz(ct, userId, translationId, roles);
case AyaType.FileAttachment: case AyaType.FileAttachment:
return new AttachmentBiz(ct, userId, roles); return new AttachmentBiz(ct, userId, roles);
case AyaType.Customer: case AyaType.Customer:
return new CustomerBiz(ct, userId, ServerBootConfig.AYANOVA_DEFAULT_TRANSLATION_ID, roles); return new CustomerBiz(ct, userId, translationId, roles);
case AyaType.CustomerNote: case AyaType.CustomerNote:
return new CustomerNoteBiz(ct, userId, ServerBootConfig.AYANOVA_DEFAULT_TRANSLATION_ID, roles); return new CustomerNoteBiz(ct, userId, translationId, roles);
case AyaType.User: case AyaType.User:
return new UserBiz(ct, userId, ServerBootConfig.AYANOVA_DEFAULT_TRANSLATION_ID, roles); return new UserBiz(ct, userId, translationId, roles);
case AyaType.Memo: case AyaType.Memo:
return new MemoBiz(ct, userId, ServerBootConfig.AYANOVA_DEFAULT_TRANSLATION_ID, roles); return new MemoBiz(ct, userId, translationId, roles);
case AyaType.Contract: case AyaType.Contract:
return new ContractBiz(ct, userId, ServerBootConfig.AYANOVA_DEFAULT_TRANSLATION_ID, roles); return new ContractBiz(ct, userId, translationId, roles);
case AyaType.HeadOffice: case AyaType.HeadOffice:
return new HeadOfficeBiz(ct, userId, ServerBootConfig.AYANOVA_DEFAULT_TRANSLATION_ID, roles); return new HeadOfficeBiz(ct, userId, translationId, roles);
case AyaType.LoanUnit: case AyaType.LoanUnit:
return new LoanUnitBiz(ct, userId, ServerBootConfig.AYANOVA_DEFAULT_TRANSLATION_ID, roles); return new LoanUnitBiz(ct, userId, translationId, roles);
case AyaType.Part: case AyaType.Part:
return new PartBiz(ct, userId, ServerBootConfig.AYANOVA_DEFAULT_TRANSLATION_ID, roles); return new PartBiz(ct, userId, translationId, roles);
case AyaType.PartWarehouse: case AyaType.PartWarehouse:
return new PartWarehouseBiz(ct, userId, ServerBootConfig.AYANOVA_DEFAULT_TRANSLATION_ID, roles); return new PartWarehouseBiz(ct, userId, translationId, roles);
case AyaType.PartAssembly: case AyaType.PartAssembly:
return new PartAssemblyBiz(ct, userId, ServerBootConfig.AYANOVA_DEFAULT_TRANSLATION_ID, roles); return new PartAssemblyBiz(ct, userId, translationId, roles);
case AyaType.PartInventory: case AyaType.PartInventory:
return new PartInventoryBiz(ct, userId, ServerBootConfig.AYANOVA_DEFAULT_TRANSLATION_ID, roles); return new PartInventoryBiz(ct, userId, translationId, roles);
case AyaType.PM: case AyaType.PM:
return new PMBiz(ct, userId, ServerBootConfig.AYANOVA_DEFAULT_TRANSLATION_ID, roles); return new PMBiz(ct, userId, translationId, roles);
case AyaType.PMTemplate: case AyaType.PMTemplate:
return new PMTemplateBiz(ct, userId, ServerBootConfig.AYANOVA_DEFAULT_TRANSLATION_ID, roles); return new PMTemplateBiz(ct, userId, translationId, roles);
case AyaType.Project: case AyaType.Project:
return new ProjectBiz(ct, userId, ServerBootConfig.AYANOVA_DEFAULT_TRANSLATION_ID, roles); return new ProjectBiz(ct, userId, translationId, roles);
case AyaType.PurchaseOrder: case AyaType.PurchaseOrder:
return new PurchaseOrderBiz(ct, userId, ServerBootConfig.AYANOVA_DEFAULT_TRANSLATION_ID, roles); return new PurchaseOrderBiz(ct, userId, translationId, roles);
case AyaType.Quote: case AyaType.Quote:
return new QuoteBiz(ct, userId, ServerBootConfig.AYANOVA_DEFAULT_TRANSLATION_ID, roles); return new QuoteBiz(ct, userId, translationId, roles);
case AyaType.QuoteTemplate: case AyaType.QuoteTemplate:
return new QuoteTemplateBiz(ct, userId, ServerBootConfig.AYANOVA_DEFAULT_TRANSLATION_ID, roles); return new QuoteTemplateBiz(ct, userId, translationId, roles);
case AyaType.Unit: case AyaType.Unit:
return new UnitBiz(ct, userId, ServerBootConfig.AYANOVA_DEFAULT_TRANSLATION_ID, roles); return new UnitBiz(ct, userId, translationId, roles);
case AyaType.UnitModel: case AyaType.UnitModel:
return new UnitModelBiz(ct, userId, ServerBootConfig.AYANOVA_DEFAULT_TRANSLATION_ID, roles); return new UnitModelBiz(ct, userId, translationId, roles);
case AyaType.Vendor: case AyaType.Vendor:
return new VendorBiz(ct, userId, ServerBootConfig.AYANOVA_DEFAULT_TRANSLATION_ID, roles); return new VendorBiz(ct, userId, translationId, roles);
//--- WorkOrder //--- WorkOrder
case AyaType.WorkOrder: case AyaType.WorkOrder:
case AyaType.WorkOrderItem: case AyaType.WorkOrderItem:
@@ -89,25 +91,25 @@ namespace AyaNova.Biz
case AyaType.WorkOrderItemTask: case AyaType.WorkOrderItemTask:
case AyaType.WorkOrderItemTravel: case AyaType.WorkOrderItemTravel:
case AyaType.WorkOrderItemUnit: case AyaType.WorkOrderItemUnit:
return new WorkOrderBiz(ct, userId, ServerBootConfig.AYANOVA_DEFAULT_TRANSLATION_ID, roles); return new WorkOrderBiz(ct, userId, translationId, roles);
//--- //---
case AyaType.WorkOrderTemplate: case AyaType.WorkOrderTemplate:
return new WorkOrderTemplateBiz(ct, userId, ServerBootConfig.AYANOVA_DEFAULT_TRANSLATION_ID, roles); return new WorkOrderTemplateBiz(ct, userId, translationId, roles);
case AyaType.Reminder: case AyaType.Reminder:
return new ReminderBiz(ct, userId, ServerBootConfig.AYANOVA_DEFAULT_TRANSLATION_ID, roles); return new ReminderBiz(ct, userId, translationId, roles);
case AyaType.Review: case AyaType.Review:
return new ReviewBiz(ct, userId, ServerBootConfig.AYANOVA_DEFAULT_TRANSLATION_ID, roles); return new ReviewBiz(ct, userId, translationId, roles);
case AyaType.ServiceRate: case AyaType.ServiceRate:
return new ServiceRateBiz(ct, userId, ServerBootConfig.AYANOVA_DEFAULT_TRANSLATION_ID, roles); return new ServiceRateBiz(ct, userId, translationId, roles);
case AyaType.TravelRate: case AyaType.TravelRate:
return new TravelRateBiz(ct, userId, ServerBootConfig.AYANOVA_DEFAULT_TRANSLATION_ID, roles); return new TravelRateBiz(ct, userId, translationId, roles);
case AyaType.TaxCode: case AyaType.TaxCode:
return new TaxCodeBiz(ct, userId, ServerBootConfig.AYANOVA_DEFAULT_TRANSLATION_ID, roles); return new TaxCodeBiz(ct, userId, translationId, roles);
case AyaType.ServiceBank: case AyaType.ServiceBank:
return new ServiceBankBiz(ct, userId, ServerBootConfig.AYANOVA_DEFAULT_TRANSLATION_ID, roles); return new ServiceBankBiz(ct, userId, translationId, roles);
case AyaType.CustomerServiceRequest: case AyaType.CustomerServiceRequest:
return new CustomerServiceRequestBiz(ct, userId, ServerBootConfig.AYANOVA_DEFAULT_TRANSLATION_ID, roles); return new CustomerServiceRequestBiz(ct, userId, translationId, roles);

View File

@@ -354,7 +354,7 @@ namespace AyaNova.Biz
log.LogDebug($"Instantiating biz object handler for {selectedRequest.ObjectType}"); log.LogDebug($"Instantiating biz object handler for {selectedRequest.ObjectType}");
var biz = BizObjectFactory.GetBizObject(selectedRequest.ObjectType, ct); var biz = BizObjectFactory.GetBizObject(selectedRequest.ObjectType, ct, UserId, CurrentUserRoles, UserTranslationId);
log.LogDebug($"Fetching data for {selectedRequest.SelectedRowIds.Length} {selectedRequest.ObjectType} items"); log.LogDebug($"Fetching data for {selectedRequest.SelectedRowIds.Length} {selectedRequest.ObjectType} items");
return await ((IReportAbleObject)biz).GetReportData(selectedRequest.SelectedRowIds); return await ((IReportAbleObject)biz).GetReportData(selectedRequest.SelectedRowIds);
} }

View File

@@ -267,7 +267,7 @@ namespace AyaNova.Biz
PhraseItems.ToArray(); PhraseItems.ToArray();
//get text //get text
ISearchAbleObject o = (ISearchAbleObject)BizObjectFactory.GetBizObject(ayaType, ct, userId, currentUserRoles); ISearchAbleObject o = (ISearchAbleObject)BizObjectFactory.GetBizObject(ayaType, ct, userId, currentUserRoles, translationId);
//get extract //get extract
var searchParams = await o.GetSearchResultSummary(id); var searchParams = await o.GetSearchResultSummary(id);