/// <summary> /// /// </summary> /// <param name="AContext"></param> /// <param name="ARow"></param> /// <param name="AVerificationResultCollection"></param> /// <param name="AValidationControlsDict"></param> public static void ValidateAdminGrantReceivable(object AContext, AFeesReceivableRow ARow, ref TVerificationResultCollection AVerificationResultCollection, TValidationControlsDict AValidationControlsDict) { // ChargeOption = { "Minimum", "Maximum", "Fixed", "Percentage" } // Don't validate deleted DataRows if (ARow.RowState == DataRowState.Deleted) { return; } if (ARow.ChargeOption == "Percentage") { DataColumn ValidationColumn = ARow.Table.Columns[AFeesReceivableTable.ColumnChargePercentageId]; TValidationControlsData ValidationControlsData; if (AValidationControlsDict.TryGetValue(ValidationColumn, out ValidationControlsData)) { decimal enteredValue = (ARow.IsChargePercentageNull() ? -1 : ARow.ChargePercentage); // If the user has cleared the value in the control, I'll treat it as -1. TVerificationResult VerificationResult = TNumericalChecks.IsPositiveDecimal(enteredValue, ValidationControlsData.ValidationControlLabel, AContext, ValidationColumn, ValidationControlsData.ValidationControl); // Handle addition to/removal from TVerificationResultCollection AVerificationResultCollection.Auto_Add_Or_AddOrRemove(AContext, VerificationResult, ValidationColumn); } } else // the ChargeOption relates to an amount { DataColumn ValidationColumn = ARow.Table.Columns[AFeesReceivableTable.ColumnChargeAmountId]; TValidationControlsData ValidationControlsData; if (AValidationControlsDict.TryGetValue(ValidationColumn, out ValidationControlsData)) { decimal enteredValue = (ARow.IsChargeAmountNull() ? -1 : ARow.ChargeAmount); // If the user has cleared the value in the control, I'll treat it as -1. TVerificationResult VerificationResult = TNumericalChecks.IsPositiveDecimal(enteredValue, ValidationControlsData.ValidationControlLabel, AContext, ValidationColumn, ValidationControlsData.ValidationControl); // Handle addition to/removal from TVerificationResultCollection AVerificationResultCollection.Auto_Add_Or_AddOrRemove(AContext, VerificationResult, ValidationColumn); } } }