Exemplo n.º 1
0
        /// <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();
                }
            }
        }
Exemplo n.º 2
0
        /// <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);
                    }
                }
            }
        }