public static bool ValidateLoanField(senpa.WorkFlowFieldValidations aVal, senpa.RegistrationRequest classObject) { object val = null; bool found = false; FieldInfo[] fields = classObject.GetType().GetFields(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance); foreach (FieldInfo f in fields) { if (f.Name == aVal.ParameterField + "Field") { val = f.GetValue(classObject); found = true; break; } else { } } if (found) { return(ValidateField(aVal, val)); } else { return(false); } }
private void lstRules_SelectedIndexChanged(object sender, EventArgs e) { SenpaApi agent = new SenpaApi(); using (new OperationContextScope(agent.context)) { try { chkNew.Checked = false; currentId = long.Parse(lstRules.SelectedItems[0].SubItems[0].Text); senpa.WorkFlowFieldValidations response = agent.operation.GetValidation(currentId); Globals.SetPickListValue(cmbField, response.ParameterField); chkActive.Checked = response.Active; Globals.SetPickListValue(cmbDataType, response.ParameterDataType); txtText.Text = response.ParameterFieldName; txtValue.Text = response.ParameterValue; txtValueMax.Text = response.ParameterMaxValue; Globals.SetPickListValue(cmbEvaluationType, response.ParameterEvaluationType); } catch { } } }
static bool ValidateField(senpa.WorkFlowFieldValidations aVal, object val) { bool allValidated = true; if (aVal.ParameterDataType == "quantity") { if (aVal.ParameterEvaluationType == "less") { if (float.Parse(val.ToString()) < float.Parse(aVal.ParameterValue)) { allValidated = true; } else { allValidated = false; } } else if (aVal.ParameterEvaluationType == "greater") { if (float.Parse(val.ToString()) > float.Parse(aVal.ParameterValue)) { allValidated = true; } else { allValidated = false; } } else if (aVal.ParameterEvaluationType == "equal") { if (float.Parse(val.ToString()) == float.Parse(aVal.ParameterValue)) { allValidated = true; } else { allValidated = false; } } else if (aVal.ParameterEvaluationType == "not") { if (float.Parse(val.ToString()) != float.Parse(aVal.ParameterValue)) { allValidated = true; } else { allValidated = false; } } else if (aVal.ParameterEvaluationType == "in") { if ((float.Parse(val.ToString()) >= float.Parse(aVal.ParameterValue)) && (float.Parse(val.ToString()) <= float.Parse(aVal.ParameterMaxValue))) { allValidated = true; } else { allValidated = false; } } else if (aVal.ParameterEvaluationType == "between") { if ((float.Parse(val.ToString()) > float.Parse(aVal.ParameterValue)) && (float.Parse(val.ToString()) < float.Parse(aVal.ParameterMaxValue))) { allValidated = true; } else { allValidated = false; } } else if (aVal.ParameterEvaluationType == "out") { if ((float.Parse(val.ToString()) < float.Parse(aVal.ParameterValue)) || (float.Parse(val.ToString()) > float.Parse(aVal.ParameterMaxValue))) { allValidated = true; } else { allValidated = false; } } } else { if (aVal.ParameterEvaluationType == "equal") { //loop if value is , separated string[] temp = aVal.ParameterValue.Split(','); foreach (string x in temp) { if (val.ToString() == x) { allValidated = true; break; } else { allValidated = false; } } } else if (aVal.ParameterEvaluationType == "not") { if (val.ToString() != aVal.ParameterValue) { allValidated = true; } else { allValidated = false; } } else if (aVal.ParameterEvaluationType == "like") { if (val.ToString().IndexOf(aVal.ParameterValue) > -1) { allValidated = true; } else { allValidated = false; } } else if (aVal.ParameterEvaluationType == "not like") { if (val.ToString().IndexOf(aVal.ParameterValue) < 0) { allValidated = true; } else { allValidated = false; } } } return(allValidated); }