Exemplo n.º 1
0
        /// <summary>
        /// Updates Gage RR 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 UpdateGageRROptionsStep(GageRROptionsStepDto dto)
        {
            if (dto == null) throw new ArgumentException(string.Format(CultureInfo.InvariantCulture, Resources.NullArguementException, "dto"));

            const string Sql =
                @"
UPDATE [dbo].[GageRROptionsFieldStep]
SET
     [FieldId] = @fieldId
    ,[LastUpdatedOn] = getdate()
    ,[GageRRSourceProcessId] = @gageRRSourceProcessId
    ,[GageRRSourceProcessSysName] = @gageRRSourceProcessSysName
    ,[GageRRDataProcessSysName] = @gageRRDataProcessSysName
    ,[SampleFilterGuid] = @sampleFilterGuid
    ,[SampleFilterDefinition] = @sampleFilterDefinition
    ,[ChecklistFieldName] = @checklistFieldName
    ,[SampleFieldName] = @sampleFieldName
    ,[AppraiserFieldName] = @appraiserFieldName
    ,[TrialFieldName] = @trialFieldName
    ,[NumberOfAppraisers] = @numberOfAppraisers
    ,[NumberOfTrials] = @numberOfTrials
    ,[UseDataGroupingFilter] = @useDataGroupingFilter
WHERE [Id] = @id;
";

            using (var ctx = ConnectionManager<SqlConnection>.GetManager(Database.VeyronMeta, false))
            {
                var cn = ctx.Connection;

                using (var cmd = new SqlCommand(Sql, cn))
                {
                    cmd.Parameters.AddWithValue("@fieldId", dto.FieldId);
                    cmd.Parameters.AddWithValue("@gageRRSourceProcessId", AdoHelper.NullCheck(dto.GageRRSourceProcessId));
                    cmd.Parameters.AddWithValue("@gageRRSourceProcessSysName", dto.GageRRSourceProcessSysName ?? string.Empty);
                    cmd.Parameters.AddWithValue("@gageRRDataProcessSysName", dto.GageRRDataProcessSysName ?? string.Empty);
                    cmd.Parameters.AddWithValue("@sampleFilterGuid", AdoHelper.NullCheck(dto.SampleFilterGuid));
                    cmd.Parameters.AddWithValue("@sampleFilterDefinition", dto.SampleFilterDefinition ?? string.Empty);
                    cmd.Parameters.AddWithValue("@checklistFieldName", dto.ChecklistFieldName ?? string.Empty);
                    cmd.Parameters.AddWithValue("@sampleFieldName", dto.SampleFieldName ?? string.Empty);
                    cmd.Parameters.AddWithValue("@appraiserFieldName", dto.AppraiserFieldName ?? string.Empty);
                    cmd.Parameters.AddWithValue("@trialFieldName", dto.TrialFieldName ?? string.Empty);
                    cmd.Parameters.AddWithValue("@numberOfAppraisers", dto.NumberOfAppraisers);
                    cmd.Parameters.AddWithValue("@numberOfTrials", dto.NumberOfTrials);
                    cmd.Parameters.AddWithValue("@useDataGroupingFilter", dto.UseDataGroupingFilter);
                    cmd.Parameters.AddWithValue("@id", dto.Id);

                    var rowsAffected = cmd.ExecuteNonQuery();

                    if (rowsAffected == 0)
                    {
                        throw new DBConcurrencyException(Resources.StaleDataException);
                    }
                }
            }
        }
        public void PropertiesTest()
        {
            var vm = new GageRROptionsStepDto
            {
                GageRRSourceProcessId = 1,
                GageRRSourceProcessSysName = "SourceProcessName",
                GageRRDataProcessSysName = "DataProcessName",
                SampleFilterGuid = Guid.NewGuid(),
                SampleFilterDefinition = "FilterDefinition",
                ChecklistFieldName = "Checklist",
                SampleFieldName = "Samples",
                AppraiserFieldName = "Appraiser",
                TrialFieldName = "Trial",
                NumberOfAppraisers = 3,
                NumberOfTrials = 3,
                UseDataGroupingFilter = true
            };

            TestsHelper.TestPublicDeclaredPropertiesGetSet(vm, true);
        }
Exemplo n.º 3
0
        /// <summary>
        /// Inserts Gage RR options step.
        /// </summary>
        /// <param name="dto">The DTO object.</param>
        /// <exception cref="System.ArgumentException">The input DTO is null.</exception>
        public void InsertGageRROptionsStep(GageRROptionsStepDto dto)
        {
            if (dto == null) throw new ArgumentException(string.Format(CultureInfo.InvariantCulture, Resources.NullArguementException, "dto"));

            const string Sql =
                @"
INSERT INTO [dbo].[GageRROptionsFieldStep]
(
     [FieldId]
    ,[LastUpdatedOn]
    ,[GageRRSourceProcessId]
    ,[GageRRSourceProcessSysName]
    ,[GageRRDataProcessSysName]
    ,[SampleFilterGuid]
    ,[SampleFilterDefinition]
    ,[ChecklistFieldName]
    ,[SampleFieldName]
    ,[AppraiserFieldName]
    ,[TrialFieldName]
    ,[NumberOfAppraisers]
    ,[NumberOfTrials]
    ,[UseDataGroupingFilter]
)
VALUES
(
     @fieldId
    ,getdate()
    ,@gageRRSourceProcessId
    ,@gageRRSourceProcessSysName
    ,@gageRRDataProcessSysName
    ,@sampleFilterGuid
    ,@sampleFilterDefinition
    ,@checklistFieldName
    ,@sampleFieldName
    ,@appraiserFieldName
    ,@trialFieldName
    ,@numberOfAppraisers
    ,@numberOfTrials
    ,@useDataGroupingFilter
);

SELECT [Id]
FROM   [dbo].[GageRROptionsFieldStep]
WHERE  [Id] = SCOPE_IDENTITY()";

            using (var ctx = ConnectionManager<SqlConnection>.GetManager(Database.VeyronMeta, false))
            {
                var cn = ctx.Connection;

                using (var cmd = new SqlCommand(Sql, cn))
                {
                    cmd.Parameters.AddWithValue("@fieldId", dto.FieldId);
                    cmd.Parameters.AddWithValue("@gageRRSourceProcessId", AdoHelper.NullCheck(dto.GageRRSourceProcessId));
                    cmd.Parameters.AddWithValue("@gageRRSourceProcessSysName", dto.GageRRSourceProcessSysName ?? string.Empty);
                    cmd.Parameters.AddWithValue("@gageRRDataProcessSysName", dto.GageRRDataProcessSysName ?? string.Empty);
                    cmd.Parameters.AddWithValue("@sampleFilterGuid", AdoHelper.NullCheck(dto.SampleFilterGuid));
                    cmd.Parameters.AddWithValue("@sampleFilterDefinition", AdoHelper.NullCheck(dto.SampleFilterDefinition));
                    cmd.Parameters.AddWithValue("@checklistFieldName", dto.ChecklistFieldName ?? string.Empty);
                    cmd.Parameters.AddWithValue("@sampleFieldName", dto.SampleFieldName ?? string.Empty);
                    cmd.Parameters.AddWithValue("@appraiserFieldName", dto.AppraiserFieldName ?? string.Empty);
                    cmd.Parameters.AddWithValue("@trialFieldName", dto.TrialFieldName ?? string.Empty);
                    cmd.Parameters.AddWithValue("@numberOfAppraisers", dto.NumberOfAppraisers);
                    cmd.Parameters.AddWithValue("@numberOfTrials", dto.NumberOfTrials);
                    cmd.Parameters.AddWithValue("@useDataGroupingFilter", dto.UseDataGroupingFilter);

                    dto.Id = (int)cmd.ExecuteScalar();
                }
            }
        }
        public void LoadPropertiesMethodTest()
        {
            var stepDto = new GageRROptionsStepDto { Id = 5, FieldId = 22, GageRRSourceProcessId = 77 };
            var sampleFilterGuid = Guid.NewGuid();
            stepDto.GageRRSourceProcessSysName = "ChecklistProcess";
            stepDto.GageRRDataProcessSysName = "AnswerProcess";
            stepDto.SampleFilterGuid = sampleFilterGuid;
            stepDto.SampleFilterDefinition = "FilterDefinition";
            stepDto.ChecklistFieldName = "ChecklistField";
            stepDto.SampleFieldName = "SampleField";
            stepDto.AppraiserFieldName = "AppraiserField";
            stepDto.TrialFieldName = "TrialField";
            stepDto.NumberOfAppraisers = 3;
            stepDto.NumberOfTrials = 3;
            stepDto.UseDataGroupingFilter = true;

            var step = new GageRROptionsStepEdit();

            var processMock = Mock.Create<PublishedProcessInfo>();
            processMock.Id = 77;
            Mock.Arrange(() => PublishedProcesses.GetPublishedProcessInfo(77)).Returns((PublishedProcessInfo)null);
            Mock.Arrange(() => PublishedProcessInfo.GetProcessInfo(77)).Returns(processMock);

            var privateAccessor = new PrivateAccessor(step);
            privateAccessor.CallMethod("LoadProperties", stepDto);

            Assert.AreEqual(step.Id, 5);
            Assert.AreEqual(step.FieldId, 22);
            Assert.AreEqual(step.GageRRSourceProcessId, 77);
            Assert.AreEqual(step.SampleFilterGuid, sampleFilterGuid);
            Assert.AreEqual(step.SampleFilterDefinition, "FilterDefinition");
            Assert.AreEqual(step.ChecklistFieldName, "ChecklistField");
            Assert.AreEqual(step.SampleFieldName, "SampleField");
            Assert.AreEqual(step.AppraiserFieldName, "AppraiserField");
            Assert.AreEqual(step.TrialFieldName, "TrialField");
            Assert.AreEqual(step.NumberOfAppraisers, 3);
            Assert.AreEqual(step.NumberOfTrials, 3);
            Assert.AreEqual(step.GageRRSourceProcessSysName, "ChecklistProcess");
            Assert.AreEqual(step.GageRRDataProcessSysName, "AnswerProcess");
            Assert.IsTrue(step.UseDataGroupingFilter);
        }