/// <summary> /// Inserts cross ref options step. /// </summary> /// <param name="dto">The DTO object.</param> /// <exception cref="System.ArgumentException"> /// FieldId can not be empty. /// </exception> /// <exception cref="ArgumentException">DTO object in invalid state.</exception> public void InsertCrossRefOptionsStep(CrossRefOptionsStepDto dto) { if (dto == null) throw new ArgumentException(string.Format(CultureInfo.InvariantCulture, Resources.NullArguementException, "dto")); if (dto.FieldId == 0) { throw new ArgumentException("FieldId can not be empty"); } const string CmdText = @" INSERT INTO CrossRefOptionsFieldStep ( -- Id -- this column value is auto-generated FieldId , LastModifiedOn , FilterGuid , FilterDefinition , [AllowAddNew] , [AllowViewDetail] , [AllowClear] , [MaxCapacity] ) VALUES ( @fieldId , GETDATE() , @filterGuid , @filterDef , @allowAddNew , @allowViewDetail , @allowClear , @maxCapacity ); SELECT [Id] FROM [dbo].[CrossRefOptionsFieldStep] WHERE [Id] = SCOPE_IDENTITY()"; using (var ctx = ConnectionManager<SqlConnection>.GetManager(Database.VeyronMeta, false)) { var cn = ctx.Connection; using (var cmd = new SqlCommand(CmdText, cn)) { cmd.Parameters.AddWithValue("@fieldId", dto.FieldId); cmd.Parameters.AddWithValue("@filterGuid", AdoHelper.NullCheck(dto.FilterGuid)); cmd.Parameters.AddWithValue("@filterDef", AdoHelper.NullCheck(dto.FilterDefinition)); cmd.Parameters.AddWithValue("@allowAddNew", dto.AllowAddNew); cmd.Parameters.AddWithValue("@allowViewDetail", dto.AllowViewDetail); cmd.Parameters.AddWithValue("@allowClear", dto.AllowClear); cmd.Parameters.AddWithValue("@maxCapacity", dto.MaxCapacity); dto.Id = (int)cmd.ExecuteScalar(); } } }
/// <summary> /// Updates cross ref options step. /// </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 UpdateCrossRefOptionsStep(CrossRefOptionsStepDto dto) { if (dto == null) throw new ArgumentException(string.Format(CultureInfo.InvariantCulture, Resources.NullArguementException, "dto")); const string CmdText = @" UPDATE [dbo].[CrossRefOptionsFieldStep] SET [FilterGuid] = @filterGuid , [FilterDefinition] = @filterDef , [FieldId] = @fieldId , [AllowAddNew] = @allowAddNew , [AllowViewDetail] = @allowViewDetail , [AllowClear] = @allowClear , [MaxCapacity] = @maxCapacity , [LastModifiedOn] = GETDATE() WHERE [Id] = @stepId"; using (var ctx = ConnectionManager<SqlConnection>.GetManager(Database.VeyronMeta, false)) { var cn = ctx.Connection; using (var cmd = new SqlCommand(CmdText, cn)) { cmd.Parameters.AddWithValue("@stepId", dto.Id); cmd.Parameters.AddWithValue("@fieldId", dto.FieldId); cmd.Parameters.AddWithValue("@filterGuid", AdoHelper.NullCheck(dto.FilterGuid)); cmd.Parameters.AddWithValue("@filterDef", AdoHelper.NullCheck(dto.FilterDefinition)); cmd.Parameters.AddWithValue("@allowAddNew", dto.AllowAddNew); cmd.Parameters.AddWithValue("@allowViewDetail", dto.AllowViewDetail); cmd.Parameters.AddWithValue("@allowClear", dto.AllowClear); cmd.Parameters.AddWithValue("@maxCapacity", dto.MaxCapacity); var rowsAffetcted = cmd.ExecuteNonQuery(); if (rowsAffetcted == 0) { throw new DBConcurrencyException(Resources.StaleDataException); } } } }