Files
sockeye/server/biz/BizObjectFactory.cs
2023-01-23 00:59:38 +00:00

86 lines
3.7 KiB
C#

using Sockeye.Util;
using Sockeye.Models;
namespace Sockeye.Biz
{
internal static class BizObjectFactory
{
//Returns the biz object class that corresponds to the type presented
//Used by SEARCH, REPORTING and objects with JOBS
internal static BizObject GetBizObject(SockType sockType,
AyContext ct,
long userId,
AuthorizationRoles roles,
long translationId = 0)
{
if (translationId == 0)
translationId = ServerBootConfig.SOCKEYE_DEFAULT_TRANSLATION_ID;
switch (sockType)
{
//CoreBizObject add here
case SockType.ServerJob:
return new JobOperationsBiz(ct, userId, roles);
case SockType.Translation:
return new TranslationBiz(ct, userId, translationId, roles);
case SockType.DataListSavedFilter:
return new DataListSavedFilterBiz(ct, userId, translationId, roles);
case SockType.FormCustom:
return new FormCustomBiz(ct, userId, translationId, roles);
case SockType.FileAttachment:
return new AttachmentBiz(ct, userId, roles);
case SockType.Customer:
return new CustomerBiz(ct, userId, translationId, roles);
case SockType.CustomerNote:
return new CustomerNoteBiz(ct, userId, translationId, roles);
case SockType.User:
return new UserBiz(ct, userId, translationId, roles);
case SockType.Memo:
return new MemoBiz(ct, userId, translationId, roles);
case SockType.HeadOffice:
return new HeadOfficeBiz(ct, userId, translationId, roles);
case SockType.Reminder:
return new ReminderBiz(ct, userId, translationId, roles);
case SockType.Review:
return new ReviewBiz(ct, userId, translationId, roles);
case SockType.CustomerNotifySubscription:
return new CustomerNotifySubscriptionBiz(ct, userId, translationId, roles);
case SockType.Report:
return new ReportBiz(ct, userId, translationId, roles);
case SockType.License:
return new LicenseBiz(ct, userId, translationId, roles);
case SockType.TrialLicenseRequest:
return new TrialLicenseRequestBiz(ct, userId, translationId, roles);
case SockType.SubscriptionServer:
return new SubscriptionServerBiz(ct, userId, translationId, roles);
case SockType.Purchase:
return new PurchaseBiz(ct, userId, translationId, roles);
case SockType.VendorNotification:
return new VendorNotificationBiz(ct, userId, translationId, roles);
case SockType.Product:
return new ProductBiz(ct, userId, translationId, roles);
case SockType.GZCase:
return new GZCaseBiz(ct, userId, translationId, roles);
default:
throw new System.NotSupportedException($"Sockeye.BLL.BizObjectFactory::GetBizObject type {sockType.ToString()} is not supported");
}
}
/////////////////////////////////////////////////////////////////////
}//eoc
}//eons