private static RecordType GetEfficiencyRecordType(
            BusinessUnitType businessUnitType,
            bool hasTimesheet,
            bool isEmployeeTransactional,
            WorkcenterType workcenterType,
            bool isTransactionTypeMeasured)
        {
            if (hasTimesheet == false && businessUnitType == BusinessUnitType.LTL)
            {
                return(RecordType.NonTransactional);
            }
            if (isEmployeeTransactional == false)
            {
                return(RecordType.NonTransactional);
            }
            if (workcenterType == WorkcenterType.NON_TRANSACTIONAL)
            {
                return(RecordType.NonTransactional);
            }
            if (workcenterType == WorkcenterType.MONITORED)
            {
                return(RecordType.Monitored);
            }
            if (isTransactionTypeMeasured == false)
            {
                return(RecordType.Monitored);
            }

            return(RecordType.Transactional);
        }
 public EfficiencyRecordType([NotNull] EfficiencyShift shift, string transactionTypeCode)
 {
     _transactionTypes        = shift.TransactionTypes;
     _isEmployeeTransactional = shift.IsEmployeeTransactional;
     _workcenterType          = shift.WorkcenterType;
     _hasTimesheet            = shift.TimeSheetId.HasValue;
     _businessUnitType        = shift.BusinessUnitType;
     TransactionTypeCode      = transactionTypeCode;
     _isRecordTypeComputed    = true;
 }