Exemple #1
0
        /// <summary>
        /// Inserts process report security configuration.
        /// </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 InsertProcessReportSecurityConfiguration(ProcessReportSecurityConfigurationDto dto)
        {
            if (dto == null) throw new ArgumentException(string.Format(CultureInfo.InvariantCulture, Resources.NullArguementException, "dto"));

            const string CommandText = @"
INSERT INTO [dbo].[ProcessReportSecurityConfigurations]
(
     [LastModifiedOn]
    ,[Guid]
    ,[ReportId]
    ,[RoleId]
    ,[BusinessUnitId]
    ,[Name]
)
VALUES
(
     GETDATE()
    ,@guid
    ,@reportId
    ,@roleId
    ,@businessUnitId
    ,@name
);

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("@guid", dto.Guid);
                cmd.Parameters.AddWithValue("@reportId", dto.ReportId);
                cmd.Parameters.AddWithValue("@roleId", dto.RoleId);
                cmd.Parameters.AddWithValue("@businessUnitId", dto.BusinessUnitId);
                cmd.Parameters.AddWithValue("@name", dto.Name);

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

                dto.Id = (int)idParam.Value;
            }
        }
Exemple #2
0
        /// <summary>
        /// Updates process report security configuration.
        /// </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 UpdateProcessReportSecurityConfiguration(ProcessReportSecurityConfigurationDto dto)
        {
            if (dto == null) throw new ArgumentException(string.Format(CultureInfo.InvariantCulture, Resources.NullArguementException, "dto"));

            const string CommandText = @"
UPDATE [dbo].[ProcessReportSecurityConfigurations]
SET
     [LastModifiedOn] = GETDATE()
    ,[Guid] = @guid
    ,[ReportId] = @reportId
    ,[RoleId] = @roleId
    ,[BusinessUnitId] = @businessUnitId
    ,[Name] = @name
WHERE [Id] = @id;";

            using (var cmd = new SqlCommand(CommandText))
            {
                cmd.Parameters.AddWithValue("@id", dto.Id);
                cmd.Parameters.AddWithValue("@guid", dto.Guid);
                cmd.Parameters.AddWithValue("@reportId", dto.ReportId);
                cmd.Parameters.AddWithValue("@roleId", dto.RoleId);
                cmd.Parameters.AddWithValue("@businessUnitId", dto.BusinessUnitId);
                cmd.Parameters.AddWithValue("@name", dto.Name);

                var rowsAffected = Database.Execute(cmd);
                if (rowsAffected == 0)
                {
                    throw new DBConcurrencyException(Resources.StaleDataException);
                }
            }
        }
Exemple #3
0
        /// <summary>
        /// Reads report security configurations.
        /// </summary>
        /// <param name="process">The process.</param>
        /// <param name="sr">The reader.</param>
        private static void ReadReportSecurityConfigurations(ProcessEditDto process, SafeDataReader sr)
        {
            sr.NextResult();

            int? reportId = null;
            ProcessReportEditDto report = null;

            while (sr.Read())
            {
                var config = new ProcessReportSecurityConfigurationDto
                {
                    Id = sr.GetInt(0),
                    Guid = sr.GetGuid(1),
                    ReportId = sr.GetInt(2),
                    RoleId = sr.GetInt(3),
                    BusinessUnitId = sr.GetInt(4),
                    Name = sr.GetString(5)
                };

                if (config.ReportId != reportId)
                {
                    report = process.ReportList.First(r => r.Id == config.ReportId);
                    reportId = config.ReportId;
                }

                report.SecurityConfigurations.Add(config);
            }
        }