/// <summary> /// Inserts checklist QA map. /// </summary> /// <param name="dto">The DTO object.</param> /// <exception cref="System.ArgumentNullException">The input DTO is null.</exception> /// <exception cref="System.Data.DBConcurrencyException">Indicates stale data.</exception> public void InsertChecklistQAMap(ChecklistQAMapDto dto) { if (dto == null) throw new ArgumentNullException(string.Format(CultureInfo.InvariantCulture, Resources.NullArguementException, "dto")); const string CommandText = @" INSERT INTO [dbo].[stepChecklistQAMap] ( [FieldId] ,[QuestionFieldSystemName] ,[QuestionFieldGuid] ,[QuestionFieldSource] ,[AnswerFieldSystemName] ) VALUES ( @fieldId ,@questionFieldSystemName ,@questionFieldGuid ,@questionFieldSource ,@answerFieldId) SET @id = SCOPE_IDENTITY()"; using (var cmd = new SqlCommand(CommandText)) { cmd.Parameters.AddWithValue("@fieldId", dto.FieldId); cmd.Parameters.AddWithValue("@questionFieldSystemName", dto.QuestionFieldSystemName); cmd.Parameters.AddWithValue("@questionFieldGuid", AdoHelper.NullCheck(dto.QuestionFieldGuid)); cmd.Parameters.AddWithValue("@questionFieldSource", dto.QuestionFieldSource.ToString()); cmd.Parameters.AddWithValue("@answerFieldId", dto.AnswerFieldSystemName); var idParam = new SqlParameter("@id", SqlDbType.Int, 0, "Id") { Direction = ParameterDirection.Output }; cmd.Parameters.Add(idParam); var rowsAffetcted = Database.Execute(cmd); if (rowsAffetcted == 0) { throw new DBConcurrencyException(Resources.StaleDataException); } dto.Id = (int)idParam.Value; } }
/// <summary> /// Updates checklist QA map. /// </summary> /// <param name="dto">The DTO object.</param> /// <exception cref="System.ArgumentNullException">The input DTO is null.</exception> public void UpdateChecklistQAMap(ChecklistQAMapDto dto) { if (dto == null) throw new ArgumentNullException(string.Format(CultureInfo.InvariantCulture, Resources.NullArguementException, "dto")); const string CommandText = @" UPDATE [dbo].[stepChecklistQAMap] SET [QuestionFieldSystemName] = @questionFieldSystemName ,[QuestionFieldGuid] = @questionFieldGuid ,[QuestionFieldSource] = @questionFieldSource ,[AnswerFieldSystemName] = @answerFieldSystemName WHERE [Id] = @id"; using (var cmd = new SqlCommand(CommandText)) { cmd.Parameters.AddWithValue("@id", dto.Id); cmd.Parameters.AddWithValue("@questionFieldSystemName", dto.QuestionFieldSystemName); cmd.Parameters.AddWithValue("@questionFieldGuid", AdoHelper.NullCheck(dto.QuestionFieldGuid)); cmd.Parameters.AddWithValue("@questionFieldSource", dto.QuestionFieldSource.ToString()); cmd.Parameters.AddWithValue("@answerFieldSystemName", dto.AnswerFieldSystemName); Database.Execute(cmd); } }