/// <summary> /// Reads required rule config fields. /// </summary> /// <param name="process">The process.</param> /// <param name="sr">The reader.</param> /// ProcessCommandSecurityConfigurations private static void ReadRequiredRuleConfigFields(ProcessEditDto process, SafeDataReader sr) { sr.NextResult(); int? requiredConfigId = null; RequiredRuleConfigEditDto config = null; while (sr.Read()) { var configFieldDto = new RequiredRuleConfigFieldEditDto { Id = sr.GetInt32(0), RequiredConfigId = sr.GetInt32(1), Guid = sr.GetGuid(2), FieldGuid = sr.GetGuid(3), IsRequired = sr.GetBoolean(4) }; if (configFieldDto.RequiredConfigId != requiredConfigId) { config = process.RequiredRuleConfigs.First(rrc => rrc.Id == configFieldDto.RequiredConfigId); requiredConfigId = configFieldDto.RequiredConfigId; } config.FieldList.Add(configFieldDto); } }
/// <summary> /// Updates required rule config field. /// </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 UpdateRequiredRuleConfigField(RequiredRuleConfigFieldEditDto dto) { if (dto == null) throw new ArgumentException(string.Format(CultureInfo.InvariantCulture, Resources.NullArguementException, "dto")); const string CommandText = @" UPDATE [dbo].[RequiredRuleConfigFields] SET [RequiredConfigId] = @requiredConfigId , [Guid] = @guid , [LastModifiedOn] = GETDATE() , [FieldGuid] = @fieldGuid , [IsRequired] = @isRequired WHERE [Id] = @id"; using (var cmd = new SqlCommand(CommandText)) { cmd.Parameters.AddWithValue("@id", dto.Id); cmd.Parameters.AddWithValue("@requiredConfigId", dto.RequiredConfigId); cmd.Parameters.AddWithValue("@guid", dto.Guid); cmd.Parameters.AddWithValue("@fieldGuid", dto.FieldGuid); cmd.Parameters.AddWithValue("@isRequired", dto.IsRequired); var rowsAffected = Database.Execute(cmd); if (rowsAffected == 0) { throw new DBConcurrencyException(Resources.StaleDataException); } } }
/// <summary> /// Inserts required rule config field. /// </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 InsertRequiredRuleConfigField(RequiredRuleConfigFieldEditDto dto) { if (dto == null) throw new ArgumentException(string.Format(CultureInfo.InvariantCulture, Resources.NullArguementException, "dto")); const string CommandText = @" INSERT INTO [dbo].[RequiredRuleConfigFields] ( [RequiredConfigId] , [Guid] , [LastModifiedOn] , [FieldGuid] , [IsRequired] ) VALUES ( @requiredConfigId , @guid , GETDATE() , @fieldGuid , @isRequired ); SELECT @id = SCOPE_IDENTITY();"; using (var cmd = new SqlCommand(CommandText)) { var idParam = cmd.Parameters.AddWithValue("@id", SqlDbType.Int); idParam.Direction = ParameterDirection.Output; cmd.Parameters.AddWithValue("@requiredConfigId", dto.RequiredConfigId); cmd.Parameters.AddWithValue("@guid", dto.Guid); cmd.Parameters.AddWithValue("@fieldGuid", dto.FieldGuid); cmd.Parameters.AddWithValue("@isRequired", dto.IsRequired); var rowsAffected = Database.Execute(cmd); if (rowsAffected == 0) { throw new DBConcurrencyException(Resources.StaleDataException); } dto.Id = (int)idParam.Value; } }