Esempio n. 1
0
        /// <summary>
        /// Inserts field visibility rule.
        /// </summary>
        /// <param name="dto">The DTO object.</param>
        /// <exception cref="System.ArgumentException">The input DTO is null.</exception>
        /// <exception cref="System.Data.DBConcurrencyException">Indicates stale data.</exception>
        public void InsertFieldVisibilityRule(FieldVisibilityRuleEditDto dto)
        {
            if (dto == null) throw new ArgumentException(string.Format(CultureInfo.InvariantCulture, Resources.NullArguementException, "dto"));

            const string CommandText = @"
INSERT  INTO [dbo].[FieldVisibilityRules]
        ( [RuleId] ,
          [FieldGuid] ,
          [LastModifiedOn]
        )
VALUES  ( @ruleId ,
          @fieldGuid ,
          GETDATE()
        );";

            using (var cmd = new SqlCommand(CommandText))
            {
                cmd.Parameters.AddWithValue("@ruleId", dto.RuleId);
                cmd.Parameters.AddWithValue("@fieldGuid", dto.FieldGuid);

                var rowsAffetcted = Database.Execute(cmd);
                if (rowsAffetcted == 0)
                {
                    throw new DBConcurrencyException(Resources.StaleDataException);
                }
            }
        }
Esempio n. 2
0
        /// <summary>
        /// Reads field visibility rules.
        /// </summary>
        /// <param name="process">The process.</param>
        /// <param name="sr">The reader.</param>
        private static void ReadFieldVisibilityRules(ProcessEditDto process, SafeDataReader sr)
        {
            int? ruleId = null;
            ProcessActionRuleEditDto rule = null;

            sr.NextResult();

            while (sr.Read())
            {
                var visibilityRule = new FieldVisibilityRuleEditDto
                {
                    RuleId = sr.GetInt32(0),
                    FieldGuid = sr.GetGuid(1)
                };

                if (visibilityRule.RuleId != ruleId)
                {
                    rule = process.ActionRules.First(r => r.Id == visibilityRule.RuleId);
                    ruleId = rule.Id;
                }

                rule.FieldVisibilityRules.Add(visibilityRule);
            }
        }