public override bool Validate(IFieldValues fieldValues) { var prevalueIdForAllOrAny = fieldValues.GetValue <int>("MatchType"); var allOrAny = Umbraco.GetPreValueAsString(prevalueIdForAllOrAny); var membership = new MembershipHelper(UmbracoContext.Current); var groups = fieldValues.GetValue("Group").Split(','); bool success; if (allOrAny == "All") { success = groups.All(c => Roles.IsUserInRole(membership.CurrentUserName, c)); } else { success = groups.Any(c => Roles.IsUserInRole(membership.CurrentUserName, c)); } return(membership.IsLoggedIn() && success); }
public override bool Validate(IFieldValues fieldValues) { var membershipHelper = new MembershipHelper(UmbracoContext.Current); return(membershipHelper.IsLoggedIn()); }
internal static string BuildUpdateByPrimaryKeyQuery(string tableName, IFieldValues fieldValues) { StringBuilder query = new StringBuilder(); if (fieldValues.PrimaryKeyFieldValues.Length == 0) { throw new ApplicationException("The Primary Key is missing on table '" + tableName + "'."); } // attach all the little pieces of the query query.Append(BuildUpdatePortion(tableName, fieldValues.FieldValues)); query.AppendLine(BuildWhereClause(fieldValues.PrimaryKeyFieldValues)); return query.ToString(); }
internal static string BuildSelectByPrimaryKeyQuery(string tableName, IFieldValues fieldValues) { string selectClause = BuildSelectAllQuery(tableName, fieldValues); string whereClause = BuildWhereClause(fieldValues.PrimaryKeyFieldValues); return selectClause + Environment.NewLine + whereClause; }
internal static string BuildSelectAllQuery(string tableName, IFieldValues fieldValues) { StringBuilder query = new StringBuilder(); query.Append("SELECT "); for (int index = 0; index < fieldValues.FieldValues.Length; index++) { query.Append(m_FieldPrefix + fieldValues.FieldValues[index].FieldDefinition.SourceColumnName + m_FieldSuffix + ", "); } query.Remove(query.Length - 2, 2); query.AppendLine(); query.AppendLine("FROM " + tableName); return query.ToString(); }
internal static ParameterizedQuery BuildInsertQuery(string tableName , IFieldValues fieldValues) { string insertQuery; string fields = " ( "; string values = " VALUES ( "; ParameterizedQuery parameterizedQuery; List<FieldValue> insertFieldList = new List<FieldValue>(); List<FieldDefinition> pkDefinitions = new List<FieldDefinition>(); #region build the insert portion of the query for (int index = 0; index < fieldValues.FieldValues.Length; index++) { if (!fieldValues.FieldValues[index].FieldDefinition.IsReadOnly) { // skip fields that are null and have a default value if (!(fieldValues.FieldValues[index].Value == null && fieldValues.FieldValues[index].FieldDefinition.HasDefault)) { fields += m_FieldPrefix + fieldValues.FieldValues[index].FieldDefinition.SourceColumnName + m_FieldSuffix + ", "; values += "@" + fieldValues.FieldValues[index].FieldDefinition.Name + ", "; insertFieldList.Add(fieldValues.FieldValues[index]); } } } fields = fields.Substring(0, fields.Length - 2); values = values.Substring(0, values.Length - 2); fields += " )"; values += " )"; insertQuery = "INSERT INTO " + tableName + Environment.NewLine + fields + Environment.NewLine + values; #endregion parameterizedQuery.Query = insertQuery; parameterizedQuery.ParameterFieldValueList = insertFieldList; return parameterizedQuery; }
internal static List<SqlParameter> GetSqlParameters(IFieldValues fieldValues) { List<SqlParameter> parameterList = new List<SqlParameter>(); for (int index = 0; index < fieldValues.FieldValues.Length; index++) { if (!fieldValues.FieldValues[index].FieldDefinition.IsReadOnly) { if (!(fieldValues.FieldValues[index].Value == null && fieldValues.FieldValues[index].FieldDefinition.HasDefault)) { parameterList.Add(new SqlParameter("@" + fieldValues.FieldValues[index].FieldDefinition.Name, fieldValues.FieldValues[index].Value)); } } } return parameterList; }
internal static ParameterizedQuery BuildInsertQuery(string tableName , IFieldValues fieldValues) { string insertQuery; string selectQuery; string fields = " ( "; string values = " VALUES ( "; ParameterizedQuery parameterizedQuery; List<FieldValue> insertFieldList = new List<FieldValue>(); List<FieldDefinition> pkDefinitions = new List<FieldDefinition>(); #region build the insert portion of the query for (int index = 0; index < fieldValues.FieldValues.Length; index++) { if (!fieldValues.FieldValues[index].FieldDefinition.IsReadOnly) { // skip fields that are null and have a default value if (!(fieldValues.FieldValues[index].Value == null && fieldValues.FieldValues[index].FieldDefinition.HasDefault)) { fields += m_FieldPrefix + fieldValues.FieldValues[index].FieldDefinition.SourceColumnName + m_FieldSuffix + ", "; values += "@" + fieldValues.FieldValues[index].FieldDefinition.Name + ", "; insertFieldList.Add(fieldValues.FieldValues[index]); } } } fields = fields.Substring(0, fields.Length - 2); values = values.Substring(0, values.Length - 2); fields += " )"; values += " )"; insertQuery = "INSERT INTO " + tableName + Environment.NewLine + fields + Environment.NewLine + values; #endregion #region build the select portion of the query selectQuery = Environment.NewLine + Environment.NewLine; selectQuery += BuildSelectAllQuery(tableName, fieldValues); // build the where clause string whereClause = ""; if( fieldValues.PrimaryKeyFieldValues.Length > 0 ) { foreach (FieldValue fieldValue in fieldValues.PrimaryKeyFieldValues) { if (fieldValue.FieldDefinition.IsIdentity) { whereClause += fieldValue.FieldDefinition.SourceColumnName + " = SCOPE_IDENTITY() And "; } else { whereClause += fieldValue.FieldDefinition.SourceColumnName + " = @" + fieldValue.FieldDefinition.Name + " And "; } } } else { for (int index = 0; index < fieldValues.FieldValues.Length; index++) { if (!fieldValues.FieldValues[index].FieldDefinition.IsReadOnly) { whereClause += fieldValues.FieldValues[index].FieldDefinition.SourceColumnName + " = @" + fieldValues.FieldValues[index].FieldDefinition.Name + " And "; } } } if (whereClause.Length > 0) { whereClause = whereClause.Substring(0, whereClause.Length - 5); selectQuery += Environment.NewLine + "WHERE "; selectQuery += whereClause; } else { selectQuery = ""; } #endregion insertQuery += selectQuery; parameterizedQuery.Query = insertQuery; parameterizedQuery.ParameterFieldValueList = insertFieldList; return parameterizedQuery; }