public void SalvarRTF(RtfDTO rtf) { using (var tran = new TransactionScope(TransactionScopeOption.RequiresNew)) { var evidencias = new List <RtfTesteEvidenciaDTO>(); var dataAtualizacao = DateTime.Now; var rtfId = this.SalvarInserirRtf(rtf, dataAtualizacao); this.ApagarTestesFuncionaisNaoEncontrados(rtfId, rtf.Testes.Where(r => r.RtfTesteID > 0).Select(r => r.RtfTesteID)); foreach (var teste in rtf.Testes) { teste.RtfTesteID = this.InserirAtualizarRtfTeste(teste, rtfId, dataAtualizacao); // Preenche ids dos testes criados if (!teste.Evidencias.IsNullOrEmpty()) { teste.Evidencias.ToList().ForEach(e => e.RtfTesteID = teste.RtfTesteID); evidencias.AddRange(teste.Evidencias); } if (!teste.Erros.IsNullOrEmpty()) { teste.Erros.ToList().ForEach(e => e.RtfTesteID = teste.RtfTesteID); evidencias.AddRange(teste.Erros); } } this.SalvarEvidencias(rtfId, evidencias, dataAtualizacao); tran.Complete(); } }
private int SalvarInserirRtf(RtfDTO rtf, DateTime dataAtualizacao) { #region SQL + const string sqlInsert = @" INSERT INTO MDS.Rtf ( SolicitacaoID, DataCriacao, DataAtualizacao, UsuarioID, UsuarioVerificacaoID, UsuarioAtualizacaoID) VALUES (@SolicitacaoID, @DataCriacao, @DataAtualizacao, @UsuarioID, @UsuarioVerificacaoID, @UsuarioAtualizacaoID) DECLARE @ID INT = SCOPE_IDENTITY() EXEC MDS.usp_GravarHistoricoRtf @ID SELECT @ID"; const string sqlUpdate = @" UPDATE MDS.Rtf SET DataAtualizacao = @DataAtualizacao ,UsuarioID = @UsuarioID ,UsuarioVerificacaoID = @UsuarioVerificacaoID ,UsuarioAtualizacaoID = @UsuarioAtualizacaoID WHERE RtfID = @RtfID EXEC MDS.usp_GravarHistoricoRtf @RtfID SELECT @RtfID"; var sql = rtf.RtfID > 0 ? sqlUpdate : sqlInsert; #endregion return(base.Repository.ExecuteScalar <int>(sql, p => { p.AddWithValue("@RtfID", rtf.RtfID); p.AddWithValue("@SolicitacaoID", rtf.SolicitacaoID); p.AddWithValue("@DataCriacao", dataAtualizacao); p.AddWithValue("@DataAtualizacao", dataAtualizacao); p.AddWithValue("@UsuarioID", rtf.UsuarioID); p.AddWithValue("@UsuarioVerificacaoID", rtf.UsuarioVerificacaoID); p.AddWithValue("@UsuarioAtualizacaoID", this._context.UsuarioID); })); }
public void SalvarRTF(RtfDTO rtf) { this._repository.SalvarRTF(rtf); }