public override ProcessResultsCollection FieldRetrieval(IBusinessComponent component, ProcessInvocationPoint point, ref Xiap.Framework.Metadata.Field field, int pluginId) { UwGenericDataItem item = (UwGenericDataItem)component; // Check if this is an aggregate, deductible or AD excess Generic Data Type if (item.GenericDataTypeCode == "AND1" || item.GenericDataTypeCode == "AND2" || item.GenericDataTypeCode == "AND3") { // If we're retrieving is 'Division', because this is the name on the GenericDataItem's CustomCode01 field. if (field.PropertyName.Equals(UwGenericDataItem.CustomCode01FieldName)) { field.LookupParameters.GroupCode = EmptyGroup; // Get the header from the Generic Data Item Header header = item.GenericDataSet.GetUwHeader(); if (header != null) { // Get the inception date from the latest Header Version (or today's date if it's not set), and the Major Insured from the Header. DateTime effectiveDate = ((HeaderVersion)header.GetLatestVersion()).InceptionDate.GetValueOrDefault(DateTime.Today); UwNameInvolvement insured = header.NameInvolvements.Where(a => a.NameID != null && a.NameInvolvementType == (short)StaticValues.NameInvolvementType.MajorInsured).FirstOrDefault() as UwNameInvolvement; if (insured != null) { // Assuming we have the insured name involvement, find the name usage for the inception date from the header. IInsuranceDirectoryService ids = ObjectFactory.Resolve<IInsuranceDirectoryService>(); INameUsage assdNameUsage = ids.GetNameUsage(insured.NameID.Value, insured.NameUsageTypeCode, effectiveDate); if (assdNameUsage != null && assdNameUsage.CustomReference01 != null) { // Use the CustomReference01 value from the Insured Name Usage as the Group Code for the drop down in our Division lookup. field.LookupParameters.GroupCode = assdNameUsage.CustomReference01; } } } } } return null; }
/// <summary> /// This method sets the value of Reason (ClaimTransactionDescription) as "Claim Detail Closed" and allocates next transaction reference to Claim Transaction Reference (ClaimTransactionHeaderReference) /// if claim detail is being closed and corresponding reserves are being set to zero. /// </summary> /// <param name="businessTransaction">Business Transaction</param> /// <param name="point">Transaction Point</param> /// <param name="PluginId">Plugin Id</param> /// <param name="parameters">Extra Parameters</param> /// <returns>Process Results Collection</returns> public ProcessResultsCollection ProcessTransaction(Xiap.Framework.BusinessTransaction.IBusinessTransaction businessTransaction, TransactionInvocationPoint point, int PluginId, params object[] parameters) { if (point == TransactionInvocationPoint.PreComplete) { ClaimHeader claimHeader = (ClaimHeader)businessTransaction.Component; foreach (var inProgressTransactionHeader in claimHeader.InProgressClaimTransactionHeaders) { if (inProgressTransactionHeader.ClaimTransactionSource == (short)StaticValues.ClaimTransactionSource.Reserve || inProgressTransactionHeader.ClaimTransactionSource == (short)StaticValues.ClaimTransactionSource.RecoveryReserve) { foreach (var ctg in inProgressTransactionHeader.ClaimTransactionGroups) { ClaimDetail claimDetail = ctg.ClaimDetail; if (claimDetail.OriginalTransitionStatus != claimDetail.ClaimDetailStatusCode) { // if ClaimDetail is being closed or finalized if (claimDetail.ClaimDetailInternalStatus == (short?)StaticValues.ClaimDetailInternalStatus.ClosedCreatedinError || claimDetail.ClaimDetailInternalStatus == (short?)StaticValues.ClaimDetailInternalStatus.Finalized) { // if finalization is allowed with non-zero Outstanding if (claimDetail.GetProduct().IsFinalizationWithNonZeroOSAllowed.GetValueOrDefault(false)) { inProgressTransactionHeader.ClaimTransactionDescription = "Claim Detail Closed"; inProgressTransactionHeader.ClaimTransactionHeaderReference = LockManager.AllocateReference(string.Empty, ReferenceType.ClaimTransactionHeaderReference, string.Empty, "0000000001", 10, "9999999999", false); break; } } } } } } } return businessTransaction.Results; }
/// <summary> /// It validate CancelPayment Transaction for UnauthorisedReserve,UnauthorisedPayment,UnauthorisedRecoveryReceipt /// </summary> /// <param name="businessTransaction">Claim Transaction Header</param> private static void PreValidate(Xiap.Framework.BusinessTransaction.IBusinessTransaction businessTransaction) { ClaimTransactionHeader claimTransHeader = (ClaimTransactionHeader)businessTransaction.Component; ClaimHeader claimHeader = claimTransHeader.ClaimHeader; if (claimHeader != null) { StaticValues.ClaimTransactionSource claimTransactionSource = (StaticValues.ClaimTransactionSource)claimTransHeader.ClaimTransactionSource; switch (claimTransactionSource) { case StaticValues.ClaimTransactionSource.Payment: if (ClaimsBusinessLogicHelper.HasUnauthorisedReserve(claimHeader)) { ClaimsBusinessLogicHelper.AddFatalError(businessTransaction.Results, ClaimConstants.CLAIM_AMOUNT_UNAUTHORISED, TransactionInvocationPoint.PreCreate, businessTransaction.Component, StaticValues.ClaimTransactionSource.Reserve.ToString(), claimHeader.ClaimReference); } if (ClaimsBusinessLogicHelper.HasUnauthorisedPayment(claimHeader)) { ClaimsBusinessLogicHelper.AddFatalError(businessTransaction.Results, ClaimConstants.CLAIM_AMOUNT_UNAUTHORISED, TransactionInvocationPoint.PreCreate, businessTransaction.Component, StaticValues.ClaimTransactionSource.Payment.ToString(), claimHeader.ClaimReference); } if (ClaimsBusinessLogicHelper.HasUnauthorisedRecoveryReceipt(claimHeader)) { ClaimsBusinessLogicHelper.AddFatalError(businessTransaction.Results, ClaimConstants.CLAIM_AMOUNT_UNAUTHORISED, TransactionInvocationPoint.PreCreate, businessTransaction.Component, StaticValues.ClaimTransactionSource.RecoveryReceipt.ToString(), claimHeader.ClaimReference); } break; } } }
/// <summary> /// Field Retrival for diffrent type of Name type set field visibilty /// </summary> /// <param name="component">Claim Name Involvement</param> /// <param name="point">Field Retrieval</param> /// <param name="field">CustomReference02, CustomReference03,CustomReference04-Field Description Change according to Name Type </param> /// <param name="pluginId">Plugin Id </param> /// <returns>Process Results Collection</returns> public override ProcessResultsCollection FieldRetrieval(IBusinessComponent component, ProcessInvocationPoint point, ref Xiap.Framework.Metadata.Field field, int pluginId) { ClaimNameInvolvement claimNameInvolvement = component as ClaimNameInvolvement; if (claimNameInvolvement.NameID != null) { ClaimsTransactionContext transactionContext = component.Context as ClaimsTransactionContext; IName name = transactionContext.GetName(claimNameInvolvement.NameID.Value); if (name.NameType == (short)StaticValues.NameType.Company) { // UI Label = Contact; Not used in all the NI's // else if UI Label = Contact; Not used in all the NI's if (field.PropertyName == ClaimNameInvolvement.CustomReference02FieldName || field.PropertyName == ClaimNameInvolvement.CustomReference03FieldName || field.PropertyName == ClaimNameInvolvement.CustomReference04FieldName) { field.Visible = true; } } else if (name.NameType == (short)StaticValues.NameType.Person) { if (field.PropertyName == ClaimNameInvolvement.CustomReference02FieldName || field.PropertyName == ClaimNameInvolvement.CustomReference03FieldName || field.PropertyName == ClaimNameInvolvement.CustomReference04FieldName) { field.Visible = false; } } } return null; }
/// <summary> /// Call on ClaimInvolvement Deletion /// Sets the Name on the Claim Detail Title on the deletion of the AdditionalClaimant and Driver type Claim Name Involvements /// </summary> /// <param name="pluginHelper">ClaimInvolvement type claim helper</param> /// <param name="point"> Delete Point</param> private void OnDelete(PluginHelper<ClaimInvolvement> pluginHelper, Xiap.Framework.ProcessInvocationPoint point) { pluginHelper.Component.ClaimDetailToClaimInvolvementLinks .ForEach(c => { ClaimsBusinessLogicHelper.SetClaimDetailTitle(c, point); }); }
/// <summary> /// Call on CancelPaymentTransaction /// </summary> /// <param name="businessTransaction">Claim Transaction</param> /// <param name="point">Point PostCreate</param> /// <param name="PluginId">Plugin ID</param> /// <param name="parameters">Processing Transaction Parameters</param> /// <returns>return ProcessResultCollection which have Error msg If any validation failed.</returns> public ProcessResultsCollection ProcessTransaction(Xiap.Framework.BusinessTransaction.IBusinessTransaction businessTransaction, Xiap.Framework.TransactionInvocationPoint point, int PluginId, params object[] parameters) { if (point == TransactionInvocationPoint.PostCreate) { this.CreateEventOnTransaction(businessTransaction); } return businessTransaction.Results; }
/// <summary> /// Retrive field for ClaimHeader Component /// </summary> /// <param name="component">Claim Header </param> /// <param name="point"> Invocation point -FieldRetrieval</param> /// <param name="field">Field Name </param> /// <param name="pluginId">Plug In ID</param> /// <returns>Result Collection</returns> public override ProcessResultsCollection FieldRetrieval(IBusinessComponent component, ProcessInvocationPoint point, ref Xiap.Framework.Metadata.Field field, int pluginId) { ClaimHeader claimHeader = component as ClaimHeader; if ((field.PropertyName == ClaimHeader.DateOfLossTypeCodeFieldName || field.PropertyName == ClaimHeader.DateOfLossFromFieldName) && claimHeader.Context.TransactionType == ClaimConstants.TRANSACTION_TYPE_AMEND_CLAIM && claimHeader.PolicyHeaderID != null && claimHeader.PropertiesChanged.ContainsKey(ClaimConstants.POLICY_HEADER_ID) == false) { field.Readonly = true; } return null; }
protected override bool IsAvailableFor(XIAP.FrontendModules.Claims.Model.ClaimModel claimModel, Xiap.Framework.Data.DtoBase parentDto) { IClaimLitigationData claimlitigationdata = null; claimlitigationdata = parentDto.Data as ClaimLitigationData; if (base.IsAvailableFor(claimModel, parentDto) && (claimlitigationdata.LitigationType == AXAClaimConstants.LITIGATIONTYPE_LIT || claimlitigationdata.LitigationType == AXAClaimConstants.LITIGATIONTYPE_OTH)) { return true; } return false; }
public bool IsAvailable(XIAP.Frontend.Infrastructure.ITransactionController transactionController, XIAP.FrontendModules.Infrastructure.NavTree.TreeStructureStore definition, Xiap.Framework.Data.DtoBase parentDto) { IClaimLitigationData cld = null; cld = parentDto.Data as ClaimLitigationData; if (definition.Node == "ClaimLitigationMainDetails" && (cld.LitigationType == AXAClaimConstants.LITIGATIONTYPE_LIT || cld.LitigationType == AXAClaimConstants.LITIGATIONTYPE_OTH)) { return true; } return false; }
protected override bool AddUsageVerifyResponse(Xiap.ClientServices.Facade.Common.Response response) { string messages = string.Empty; if (response.Messages != null && response.Messages.Count > 0) { messages = string.Join("\n", response.Messages.Select(m => m.MessageTitle).ToArray()); XIAPMessageBox.Show("Error", messages, XIAPMessageBox.Buttons.OK, null); return false; } return true; }
/// <summary> /// Starting point of Plugin invocation /// </summary> /// <param name="component">IBusiness Component</param> /// <param name="point">Process Invocation Point</param> /// <param name="pluginId">Plugin ID</param> /// <returns>Process Results Collection </returns> public override ProcessResultsCollection ProcessComponent(Xiap.Framework.IBusinessComponent component, Xiap.Framework.ProcessInvocationPoint point, int pluginId) { PluginHelper<IBusinessComponent> pluginHelper = new PluginHelper<IBusinessComponent>(point, (ClaimHeader)component, new ProcessResultsCollection()); switch (pluginHelper.InvocationPoint) { case ProcessInvocationPoint.PreValidationDefaulting: { this.UpdateDriverExcessAmount(pluginHelper); break; } } return pluginHelper.ProcessResults; }
/// <summary> /// Call on ClaimInvolvement /// </summary> /// <param name="component">Claim Involvement</param> /// <param name="point">Component Change,Delete</param> /// <param name="pluginId">PlugIn ID</param> /// <returns>return ProcessResultCollection which have Error msg If any validation failed.</returns> public override ProcessResultsCollection ProcessComponent(Xiap.Framework.IBusinessComponent component, Xiap.Framework.ProcessInvocationPoint point, int pluginId) { PluginHelper<ClaimInvolvement> pluginHelper = new PluginHelper<ClaimInvolvement>(point, (ClaimInvolvement)component, new ProcessResultsCollection()); switch (point) { case Xiap.Framework.ProcessInvocationPoint.ComponentChange: this.ChangeCDTitle(pluginHelper, point); break; case Xiap.Framework.ProcessInvocationPoint.Delete: this.OnDelete(pluginHelper, point); break; } return pluginHelper.ProcessResults; }
/// <summary> /// Invoke the AXADefaultClaimEventValues virtual process against this event, via a plugin call. /// </summary> /// <param name="ev"> Event type object </param> /// <param name="eventContainer">Event Container</param> /// <param name="point">Points PostComplete,Precomplete</param> private void InvokeVirtualProcess(IEvent ev, IEventContainer eventContainer, Xiap.Framework.TransactionInvocationPoint point) { ProductXML.ProductEvent pdevent = ev.GetProduct(); if (pdevent != null) { IBusinessComponent eventComponent = (IBusinessComponent)ev; string alias = "AXADefaultClaimEventValues"; // invoke the 'process handler' plugin if (_Logger.IsInfoEnabled) { _Logger.Info("Invoked Virtual plugin " + alias + point.ToString() + "for " + eventComponent.GetType().Name); } ProcessParameters processParameters = new ProcessParameters() { Alias = alias, TransactionInvocationPoint = point }; ProcessHelper.HandleVirtualProcess(eventComponent, processParameters); } }
/// <summary> /// Invocation Method of plugin /// </summary> /// <param name="component">Component name </param> /// <param name="point"> plugin Invocation point </param> /// <param name="pluginId">Plugin id</param> /// <returns>Result Collection</returns> public override ProcessResultsCollection ProcessComponent(Xiap.Framework.IBusinessComponent component, Xiap.Framework.ProcessInvocationPoint point, int pluginId) { PluginHelper<ClaimHeader> pluginHelper = new PluginHelper<ClaimHeader>(point, (ClaimHeader)component, new ProcessResultsCollection()); switch (point) { case Xiap.Framework.ProcessInvocationPoint.Created: this.SetDateOfEventFromDateOfLoss(pluginHelper); break; case Xiap.Framework.ProcessInvocationPoint.ComponentChange: this.AssignGeniusPolicyFields(pluginHelper); this.ComponentChangeDefaulting(pluginHelper); break; } return pluginHelper.ProcessResults; }
/// <summary> /// This method fetches the metadata of the passed in document. /// </summary> /// <param name="document">The document component</param> /// <param name="documentControlLog">The document control component</param> /// <param name="metadataDocument">Meta data</param> /// <param name="reference">Reference of the claim</param> /// <param name="detailReference">Reference of the claim detail</param> /// <returns>A dictionary object of all the metadata.</returns> public Dictionary<string, object> GetMetadata(Xiap.Metadata.Data.IDocumentData document, Xiap.Metadata.Data.IDocumentControlLogData documentControlLog, IMetadataDocument metadataDocument, string reference, string detailReference) { ClaimDocument claimDocument = document as ClaimDocument; if (claimDocument == null) { claimDocument = ObjectFactory.Resolve<IClaimsQuery>().GetClaimDocument(document.DocumentID); } ClaimDocumentControlLog claimDocumentControlLog = documentControlLog as ClaimDocumentControlLog; if (claimDocumentControlLog == null) { claimDocumentControlLog = claimDocument.DocumentControlLogs.FirstOrDefault(a => a.DocumentControlLogID == documentControlLog.DocumentControlLogID) as ClaimDocumentControlLog; } return this.GetMetadata(claimDocument, claimDocumentControlLog, reference); }
/// <summary> /// Generates the data fields from base and assign the value of 'Final Settlment?'(CustomBoolean01 of ClaimPaymentRequest) to TaskOnClaimFinalSettlement field. /// </summary> /// <param name="claimTransactionheader">Claim Transaction Header</param> /// <param name="authorisationMode">Authorisation Mode</param> /// <returns>Generic Data Fields as a Dictionary Object</returns> protected override Dictionary<string, object> GenerateDataFields(Xiap.Claims.BusinessComponent.ClaimTransactionHeader claimTransactionheader, Xiap.Claims.BusinessLogic.ClaimsBusinessLogicHelper.AuthorisationMode authorisationMode) { var dataFields = base.GenerateDataFields(claimTransactionheader, authorisationMode); // If we're authorising a Payment if (authorisationMode == Xiap.Claims.BusinessLogic.ClaimsBusinessLogicHelper.AuthorisationMode.Payment) { // Check the ClaimTransactionHeader we're authorising a payment on has some links to Payment Requests if (claimTransactionheader.ClaimTransactionToPaymentRequestLinks != null) { // If it has some payment requests it links to, find the first, current one. ClaimTransactionToPaymentRequestLink paymentLink = claimTransactionheader.ClaimTransactionToPaymentRequestLinks.Where(o => o.IsLatest == true).FirstOrDefault(); // If we have a link to a payment request and it's for a Claim Payment Request, then process. if (paymentLink != null && paymentLink.ClaimPaymentRequest != null) { dataFields[ClaimConstants.DATAFIELD_TASKONCLAIMFINALSETTLEMENT] = paymentLink.ClaimPaymentRequest.CustomBoolean01.GetValueOrDefault(false); // UI Label = Final Settlement For Claim? logger.Info("dataFields[TaskOnClaimFinalSettlement] : " + dataFields["TaskOnClaimFinalSettlement"]); } } } return dataFields; }
private void UpdatePolicyReasonCodes(Xiap.Framework.IBusinessComponent component, BusinessData dataClass) { ClaimHeader claimHeader = component as ClaimHeader; ClaimHeaderData headerData = dataClass as ClaimHeaderData; if (claimHeader.Context.GetAttachedData<DeductibleReasonCode>(false) != null) { DeductibleReasonCode deductibleReasonCode = claimHeader.Context.GetAttachedData<DeductibleReasonCode>(true).FirstOrDefault(); if (deductibleReasonCode.PolicyReasonCodes != null && deductibleReasonCode.PolicyReasonCodes.Count > 0) { headerData.CodeRowList = deductibleReasonCode.PolicyReasonCodes; } } }
internal static void AmendExistingName(Xiap.InsuranceDirectory.BusinessTransaction.IInsuranceDirectoryBusinessTransaction businessTransaction) { businessTransaction.Name.NameReference = "TESTABC140"; }
public Xiap.Framework.Data.DtoBase Retrieve(Guid componentDataId, Xiap.Framework.Data.BusinessDataVariant dataGroup, Xiap.Framework.Entity.RetrievalType retrievalType, Xiap.Framework.Data.BusinessDataVariant childDataVariant, Xiap.Framework.Data.BusinessDataVariant latestVersionVariant, List<string> childNamesToRetrieve, VersionSelectionParameters versionSelectionParameters = null) { throw new NotImplementedException(); }
public Xiap.Framework.Data.DtoBase Retrieve(IBusinessComponent componentToRetrieve, Xiap.Framework.Data.BusinessDataVariant dataGroup, Xiap.Framework.Entity.RetrievalType retrievalType, Xiap.Framework.Data.BusinessDataVariant childDataVariant, Xiap.Framework.Data.BusinessDataVariant latestVersionVariant, List<string> childNamesToRetrieve) { throw new NotImplementedException(); }
public List<Xiap.Framework.DataMapping.Payload> ProcessData(List<Xiap.Framework.DataMapping.Payload> requestedChanges, Xiap.Framework.DataMapping.VirtualProcessRequest virtualProcessRequest, ValidationLevel validationLevel, bool forceFullDataRetrieval) { throw new NotImplementedException(); }
public List<Xiap.Framework.DataMapping.Payload> ProcessData(List<Xiap.Framework.DataMapping.Payload> requestedChanges, Xiap.Framework.DataMapping.VirtualProcessRequest virtualProcessRequest, ValidationLevel validationLevel, bool forceFullDataRetrieval, Action action, bool resumeTransaction, bool treatWarningsAsErrors = false) { throw new NotImplementedException(); }
public override Xiap.Framework.Data.BusinessData[] Retrieve(Xiap.Framework.Data.BusinessTransactionContext context, string[] componentPath) { throw new NotImplementedException(); }
public override void ProcessBusinessData(Xiap.Framework.Data.BusinessData businessData) { throw new NotImplementedException(); }
protected override void ProcessBusinessData(Xiap.Framework.Data.BusinessTransactionContext context) { throw new NotImplementedException(); }
public override void DeleteComponent(Xiap.Framework.IBusinessComponent component, bool validateOnly) { throw new NotImplementedException(); }
public override void UpdateBusinessData(Xiap.Framework.IBusinessComponent component, Xiap.Framework.Data.BusinessData dataClass) { base.UpdateBusinessData(component, dataClass); this.UpdateCustomProperties(component, dataClass); }
/// <summary> /// Call on specific field of ClaimHeader. /// </summary> /// <param name="component">Claim Header</param> /// <param name="point">Field Retrieval</param> /// <param name="field">On which field</param> /// <param name="pluginId">PlugIN ID</param> /// <returns>return ProcessResultCollection which have Error msg If any validation failed.</returns> public override ProcessResultsCollection FieldRetrieval(IBusinessComponent component, ProcessInvocationPoint point, ref Xiap.Framework.Metadata.Field field, int pluginId) { bool isGroupCodeSet = false; ClaimHeader header = (ClaimHeader)component; DateTime? validationDate = header.Context != null ? (DateTime?)header.ValidationDate : null; switch (field.PropertyName) { case ClaimHeader.ClaimHeaderAnalysisCode04FieldName: var insurd = (from ci in header.ClaimInvolvements where ci.ClaimInvolvementType == (short)StaticValues.LinkableComponentType.NameInvolvement from cni in ci.ClaimNameInvolvements where cni.NameID != null && cni.NameInvolvementType == (short)StaticValues.NameInvolvementType.MajorInsured && cni.NameInvolvementMaintenanceStatus == (short)StaticValues.ClaimNameInvolvementMaintenanceStatus.Latest select cni).FirstOrDefault(); if (insurd != null) { ClaimsTransactionContext transactionContext = (ClaimsTransactionContext)component.Context; INameUsage assdNameUsage = transactionContext.GetNameUsage(insurd.NameID.Value, ((ClaimNameInvolvement)insurd).NameUsageTypeCode, header.DateOfLossFrom.GetValueOrDefault(DateTime.Today)); // UI Label = Client ID; For Insured if (assdNameUsage != null && assdNameUsage.CustomReference01 != null) { field.LookupParameters.GroupCode = assdNameUsage.CustomReference01; // UI Label = Client ID; For Insured isGroupCodeSet = true; } } if (!isGroupCodeSet) { field.LookupParameters.GroupCode = ClaimConstants.EmptyGroup; } this.SetFieldMandatory(field, header.ClaimHeaderAnalysisCode04VS, header.ClaimHeaderAnalysisCode04, validationDate); break; case ClaimHeader.ClaimHeaderAnalysisCode05FieldName: this.SetFieldMandatory(field, header.ClaimHeaderAnalysisCode05VS, header.ClaimHeaderAnalysisCode04, validationDate); break; case ClaimHeader.ClaimHeaderAnalysisCode06FieldName: this.SetFieldMandatory(field, header.ClaimHeaderAnalysisCode06VS, header.ClaimHeaderAnalysisCode05, validationDate); break; case ClaimHeader.CustomCode01FieldName: // UI Label = Circumstances 1 // CustomCode01VS =Circumstances 1 this.SetFieldMandatory(field, header.CustomCode01VS, header.ClaimHeaderAnalysisCode02, validationDate); // UI Label = Circumstance 1 break; case ClaimHeader.CustomCode02FieldName: // UI Label = Circumstances 2 // CustomCode02VS =Circumstances 2 this.SetFieldMandatory(field, header.CustomCode02VS, header.CustomCode01, validationDate); // UI Label = Circumstance 2 break; case ClaimHeader.CustomCode03FieldName: // UI Label = Circumstances 3; Only used for Motor Product - CGBIMO // CustomCode03VS =Circumstances 3 this.SetFieldMandatory(field, header.CustomCode03VS, header.CustomCode02, validationDate); // UI Label = Circumstance 3; Only used for Motor Product - CGBIMO break; } return null; }
protected override void DoValidate(Xiap.Framework.ValidationMode mode) { // No Validate processing required }