Esempio n. 1
0
        /// <summary>
        /// Inserts system field security config.
        /// </summary>
        /// <param name="dto">The DTO object.</param>
        /// <exception cref="System.ArgumentNullException">Indicates stale data.</exception>
        /// <exception cref="System.Data.DBConcurrencyException">The input DTO is null.</exception>
        public void InsertSystemFieldSecurityConfig(ProcessSystemFieldSecurityConfigEditDto dto)
        {
            if (dto == null) throw new ArgumentNullException(string.Format(CultureInfo.InvariantCulture, Resources.NullArguementException, "dto"));

            const string CommandText = @"
INSERT INTO [dbo].[ProcessSecurityConfigSystemFields]
(
     [LastModifiedOn]
    ,[SecurityConfigId]
    ,[Guid]
    ,[FieldSystemName]
    ,[CanView]
    ,[CanEdit]
)
VALUES
(
     GETDATE()
    ,@securityConfigId
    ,@guid
    ,@fieldSystemName
    ,@canView
    ,@canEdit
);

SET @id = SCOPE_IDENTITY();
";

            using (var cmd = new SqlCommand(CommandText))
            {
                var idParam = cmd.Parameters.Add("@id", SqlDbType.Int);
                idParam.Direction = ParameterDirection.Output;

                cmd.Parameters.AddWithValue("@securityConfigId", dto.SecurityConfigId);
                cmd.Parameters.AddWithValue("@guid", dto.Guid);
                cmd.Parameters.AddWithValue("@fieldSystemName", dto.FieldSystemName);
                cmd.Parameters.AddWithValue("@canView", dto.CanView);
                cmd.Parameters.AddWithValue("@canEdit", dto.CanEdit);

                var rowsAffetcted = Database.Execute(cmd);
                if (rowsAffetcted == 0)
                {
                    throw new DBConcurrencyException(Resources.StaleDataException);
                }

                dto.Id = (int)idParam.Value;
            }
        }
Esempio n. 2
0
        /// <summary>
        /// Updates system field security config.
        /// </summary>
        /// <param name="dto">The DTO object.</param>
        /// <exception cref="System.ArgumentNullException">The input DTO is null.</exception>
        public void UpdateSystemFieldSecurityConfig(ProcessSystemFieldSecurityConfigEditDto dto)
        {
            if (dto == null) throw new ArgumentNullException(string.Format(CultureInfo.InvariantCulture, Resources.NullArguementException, "dto"));

            const string CommandText = @"
UPDATE [dbo].[ProcessSecurityConfigSystemFields]
SET
     [LastModifiedOn] = GETDATE()
    ,[SecurityConfigId] = @securityConfigId
    ,[Guid] = @guid
    ,[FieldSystemName] = @fieldSystemName
    ,[CanView] = @canView
    ,[CanEdit] = @canEdit
WHERE [Id] = @id;
";

            using (var cmd = new SqlCommand(CommandText))
            {
                cmd.Parameters.AddWithValue("@id", dto.Id);
                cmd.Parameters.AddWithValue("@securityConfigId", dto.SecurityConfigId);
                cmd.Parameters.AddWithValue("@guid", dto.Guid);
                cmd.Parameters.AddWithValue("@fieldSystemName", dto.FieldSystemName);
                cmd.Parameters.AddWithValue("@canView", dto.CanView);
                cmd.Parameters.AddWithValue("@canEdit", dto.CanEdit);

                Database.Execute(cmd);
            }
        }
Esempio n. 3
0
        /// <summary>
        /// The read security config system fields.
        /// </summary>
        /// <param name="sr">The reader.</param>
        /// <param name="process">The process.</param>
        private static void ReadSecurityConfigSystemFields(SafeDataReader sr, ProcessEditDto process)
        {
            sr.NextResult();
            while (sr.Read())
            {
                var systemFieldSecurityConfig = new ProcessSystemFieldSecurityConfigEditDto
                {
                    Id = sr.GetInt(0),
                    SecurityConfigId = sr.GetInt(1),
                    Guid = sr.GetGuid(2),
                    FieldSystemName = sr.GetString(3),
                    CanView = sr.GetBoolean(4),
                    CanEdit = sr.GetBoolean(5)
                };

                var config = process.SecurityConfigs.FirstOrDefault(sc => sc.Id == systemFieldSecurityConfig.SecurityConfigId);

                if (config != null)
                {
                    config.SecurityConfigSystemFields.Add(systemFieldSecurityConfig);
                }
            }
        }