58 lines
1.8 KiB
C#
58 lines
1.8 KiB
C#
using System.Collections.Generic;
|
|
using System.Linq;
|
|
|
|
namespace LCU.Library.Internal.IncentiveApiModels.Entities
|
|
{
|
|
public class BusinessLine
|
|
{
|
|
public string Name { get; }
|
|
public string Code { get; }
|
|
public string OrgCode { get; }
|
|
|
|
private const string HeadQuarters = "headquarters";
|
|
private const string BranchName = "branch";
|
|
private const string OperationsName = "operations";
|
|
|
|
private BusinessLine(string name, string code, string orgcode)
|
|
{
|
|
Name = name;
|
|
Code = code;
|
|
OrgCode = orgcode;
|
|
}
|
|
|
|
public static BusinessLine BranchOperations = new BusinessLine("Branches", "BCHOPS", Organization.MemberExperience.OrgCode);
|
|
public static BusinessLine MemberServices = new BusinessLine("Member Services", "MEMSRV", Organization.MemberExperience.OrgCode);
|
|
public static BusinessLine Operations = new BusinessLine("Operations", "OPS", Organization.MemberExperience.OrgCode);
|
|
|
|
public static List<BusinessLine> BusinessLines = new List<BusinessLine>
|
|
{
|
|
BranchOperations,
|
|
MemberServices,
|
|
Operations
|
|
};
|
|
|
|
public static BusinessLine FindByCode(string code) => BusinessLines.FirstOrDefault(bl => bl.Code == code);
|
|
|
|
public static BusinessLine TryLookup(string employeeOrgUnit)
|
|
{
|
|
if (string.IsNullOrWhiteSpace(employeeOrgUnit))
|
|
{
|
|
return MemberServices;
|
|
}
|
|
|
|
if (employeeOrgUnit.ToLower().Contains(BranchName))
|
|
{
|
|
return BranchOperations;
|
|
}
|
|
|
|
if (employeeOrgUnit.ToLower().Contains(OperationsName))
|
|
{
|
|
return Operations;
|
|
}
|
|
|
|
return MemberServices;
|
|
}
|
|
}
|
|
|
|
}
|