public FieldValidation(Field onField, Enums.ValidationRule rule, Enums.Operator byRuleOperator, object value, string errorMsg, string forSPPrinciples, Enums.Operator bySPPrinciplesOperator) { this.OnField = onField; this.Rule = rule; this.ByRuleOperator = byRuleOperator; this.Value = value; this.ErrorMsg = errorMsg; this.ForSPPrinciples = forSPPrinciples; this.BySPPrinciplesOperator = bySPPrinciplesOperator; this.Conditions = new Conditions(); }
protected void createTabXML() { FieldValidations allFieldsValidations = new FieldValidations(); DataTable validationDataTable = ValidationDataTable; DataTable validationConditionDataTable = ValidationConditionDataTable; foreach (DataRow drValidationRow in validationDataTable.Rows) { string FieldName = drValidationRow[Constants.ValidationField.SPFieldName].ToString(); Enums.ValidationRule ValidationRule = (Enums.ValidationRule)(Convert.ToInt32(drValidationRow[Constants.ValidationField.ValidationRuleID].ToString())); Enums.Operator FieldOperatorID = (Enums.Operator)(Convert.ToInt32(drValidationRow[Constants.ValidationField.SPFieldOperatorID].ToString())); string ValidationValue = drValidationRow[Constants.ValidationField.Value].ToString(); string ErrorMessage = drValidationRow[Constants.ValidationField.ErrorMessage].ToString(); Enums.Operator BySPPrincipalOperator = (Enums.Operator)(Convert.ToInt32(drValidationRow[Constants.ValidationField.SPPrinciplesOperatorID].ToString())); string ForSPPrinciples = drValidationRow[Constants.ValidationField.SPPrinciples].ToString(); FieldValidation objValidation = new FieldValidation(new Field(FieldName), ValidationRule, FieldOperatorID, ValidationValue, ErrorMessage, ForSPPrinciples, BySPPrincipalOperator); int validationID = Convert.ToInt32(drValidationRow[Constants.RowID]); DataTable conditionOfSelectedValidation = Helper.GetViewFromDataTable(validationConditionDataTable, validationID, Constants.ConditionField.ValidationRowID).ToTable(); if (conditionOfSelectedValidation != null && conditionOfSelectedValidation.Rows.Count > 0) { foreach (DataRow drCondition in conditionOfSelectedValidation.Rows) { string OnField2 = drCondition[Constants.ConditionField.SPFieldName].ToString(); Enums.Operator ByFieldOperator = (Enums.Operator)Convert.ToInt32(drCondition[Constants.ConditionField.SPFieldOperatorID].ToString()); object Value = drCondition[Constants.ConditionField.Value].ToString(); objValidation.Conditions.Add(new Condition(new Field(OnField2), ByFieldOperator, Value)); } } allFieldsValidations.Add(objValidation); } SPSecurity.RunWithElevatedPrivileges(delegate { using (SPSite objSite = new SPSite(SPContext.Current.Web.Url.ToString())) { using (SPWeb objWeb = objSite.OpenWeb()) { SPList list = objWeb.Lists[new Guid(Request.QueryString["List"])]; objWeb.AllowUnsafeUpdates = true; string xml = allFieldsValidations.ToString(); if (allFieldsValidations.Count > 0 && Helper.IsValidXml(xml)) { Helper.CreateConfigFile(list, Constants.ConfigFile.FieldValidationFile, xml); } else { Helper.DeleteConfigFile(list, Constants.ConfigFile.FieldValidationFile, xml); } objWeb.AllowUnsafeUpdates = false; } } }); }