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();
 }
Beispiel #2
0
        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;
                    }
                }
            });
        }