/// <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; } } }
/// <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(); } } }
/// <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); } }