示例#1
0
        /// <summary>
        /// Inserts security configuration.
        /// </summary>
        /// <param name="securityDto">The security DTO.</param>
        /// <exception cref="System.ArgumentException">The input DTO is null.</exception>
        public void InsertSecurityConfiguration(ProcessSecurityConfigurationDto securityDto)
        {
            if (securityDto == null) throw new ArgumentException(string.Format(CultureInfo.InvariantCulture, Resources.NullArguementException, "securityDto"));

            const string Sql =
                @"
INSERT  INTO [dbo].[ProcessSecurityConfigurations]
        ( [ProcessId] ,
          [CanCreate] ,
          [CanDelete] ,
          [BusinessUnitId] ,
          [RoleId]
        )
VALUES  ( @ProcessId ,
          @CanCreate ,
          @CanDelete ,
          @BusinessUnitId ,
          @RoleId
        );
SELECT  SCOPE_IDENTITY()";

            using (var ctx = ConnectionManager<SqlConnection>.GetManager(Database.VeyronMeta, false))
            {
                var connection = ctx.Connection;

                using (var cmd = new SqlCommand(Sql, connection))
                {
                    cmd.Parameters.AddWithValue("@ProcessId", securityDto.ProcessId);
                    cmd.Parameters.AddWithValue("@CanCreate", securityDto.CanCreate);
                    cmd.Parameters.AddWithValue("@CanDelete", securityDto.CanDelete);
                    cmd.Parameters.AddWithValue("@BusinessUnitId", securityDto.BusinessUnitId);
                    cmd.Parameters.AddWithValue("@RoleId", securityDto.RoleId);

                    var r = cmd.ExecuteScalar();
                    var newId = int.Parse(r.ToString(), CultureInfo.InvariantCulture);

                    securityDto.Id = newId;
                }
            }
        }
示例#2
0
        /// <summary>
        /// Updates security configuration.
        /// </summary>
        /// <param name="securityDto">The security DTO.</param>
        /// <exception cref="System.ArgumentException">The input DTO is null.</exception>
        public void UpdateSecurityConfiguration(ProcessSecurityConfigurationDto securityDto)
        {
            if (securityDto == null) throw new ArgumentException(string.Format(CultureInfo.InvariantCulture, Resources.NullArguementException, "securityDto"));

            const string Sql =
                @"
UPDATE [dbo].[ProcessSecurityConfigurations]
SET
    [ProcessId] = @ProcessId,
    [CanCreate] = @CanCreate,
    [CanDelete] = @CanDelete,
    [BusinessUnitId] = @BusinessUnitId,
    [RoleId] = @RoleId
WHERE [Id] = @Id";

            using (var ctx = ConnectionManager<SqlConnection>.GetManager(Database.VeyronMeta, false))
            {
                var connection = ctx.Connection;

                using (var cmd = new SqlCommand(Sql, connection))
                {
                    cmd.Parameters.AddWithValue("@Id", securityDto.Id);
                    cmd.Parameters.AddWithValue("@ProcessId", securityDto.ProcessId);
                    cmd.Parameters.AddWithValue("@CanCreate", securityDto.CanCreate);
                    cmd.Parameters.AddWithValue("@CanDelete", securityDto.CanDelete);
                    cmd.Parameters.AddWithValue("@BusinessUnitId", securityDto.BusinessUnitId);
                    cmd.Parameters.AddWithValue("@RoleId", securityDto.RoleId);

                    cmd.ExecuteNonQuery();
                }
            }
        }
示例#3
0
        /// <summary>
        /// Reads process security configurations.
        /// </summary>
        /// <param name="process">The process.</param>
        /// <param name="sr">The reader.</param>
        private static void ReadProcessSecurityConfigurations(ProcessEditDto process, SafeDataReader sr)
        {
            sr.NextResult();

            while (sr.Read())
            {
                var securityConfigurationDto = new ProcessSecurityConfigurationDto
                {
                    Id = sr.GetInt32(0),
                    CanCreate = sr.GetBoolean(1),
                    CanDelete = sr.GetBoolean(2),
                    ProcessId = sr.GetInt32(3),
                    RoleId = sr.GetInt32(4),
                    BusinessUnitId = sr.GetInt32(5),
                };

                process.SecurityConfigurations.Add(securityConfigurationDto);
            }
        }