/// <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); }
/// <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); }