public int Salvar(ConsideracaoFinal consideracaoFinal, BancoDeDados banco = null) { if (consideracaoFinal == null) { throw new Exception("Consideração Final é nulo."); } if (consideracaoFinal.Id <= 0) { consideracaoFinal.Id = Criar(consideracaoFinal, banco); } else { Editar(consideracaoFinal, banco); } return(consideracaoFinal.Id); }
public ConsideracaoFinalVM() { ConsideracaoFinal = new ConsideracaoFinal(); _consideracaoFinalTestemunhaVM = new List <ConsideracaoFinalTestemunhaVM>(2); _consideracaoFinalTestemunhaVM.Add(new ConsideracaoFinalTestemunhaVM { Testemunha = new ConsideracaoFinalTestemunha { Colocacao = 1 } }); _consideracaoFinalTestemunhaVM.Add(new ConsideracaoFinalTestemunhaVM { Testemunha = new ConsideracaoFinalTestemunha { Colocacao = 2 } }); ArquivoVM = new ArquivoVM(); ArquivoJSon = string.Empty; AssinantesVM = new FiscalizacaoAssinanteVM(); }
public ConsideracaoFinal Obter(int id, BancoDeDados banco = null) { ConsideracaoFinal entidade = null; try { entidade = _da.Obter(id); entidade.Testemunhas.ForEach(x => { if (x.TestemunhaIDAF.Value) { var setorLocalizacao = _busSetorLocalizacao.Obter(x.TestemunhaSetorId.Value); x.TestemunhaEndereco = setorLocalizacao.FormatarEndereco(); } }); } catch (Exception exc) { Validacao.AddErro(exc); } return(entidade); }
public int Criar(ConsideracaoFinal consideracaoFinal, BancoDeDados banco = null) { using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco)) { bancoDeDados.IniciarTransacao(); Comando comando = bancoDeDados.CriarComando(@" insert into {0}tab_fisc_consid_final (id, fiscalizacao, descrever, tem_reparacao, reparacao, tem_termo_comp, tem_termo_comp_justificar, tid, arquivo_termo) values ({0}seq_tab_fisc_consid_final.nextval, :fiscalizacao, :descrever, :tem_reparacao, :reparacao, :tem_termo_comp, :tem_termo_comp_justificar, :tid, :arquivo_termo) returning id into :id" , EsquemaBanco); comando.AdicionarParametroEntrada("fiscalizacao", consideracaoFinal.FiscalizacaoId, DbType.Int32); comando.AdicionarParametroEntClob("descrever", consideracaoFinal.Descrever); comando.AdicionarParametroEntrada("tem_reparacao", consideracaoFinal.HaReparacao, DbType.Int32); comando.AdicionarParametroEntrada("reparacao", DbType.String, 2000, consideracaoFinal.Reparacao); comando.AdicionarParametroEntrada("tem_termo_comp", consideracaoFinal.HaTermoCompromisso, DbType.Int32); comando.AdicionarParametroEntrada("tem_termo_comp_justificar", DbType.String, 250, consideracaoFinal.TermoCompromissoJustificar); comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual()); comando.AdicionarParametroEntrada("arquivo_termo", (consideracaoFinal.Arquivo ?? new Arquivo()).Id, DbType.Int32); comando.AdicionarParametroSaida("id", DbType.Int32); bancoDeDados.ExecutarNonQuery(comando); consideracaoFinal.Id = Convert.ToInt32(comando.ObterValorParametro("id")); #region Testemunhas foreach (var item in consideracaoFinal.Testemunhas) { comando = bancoDeDados.CriarComando(@" insert into {0}tab_fisc_consid_final_test (id, consid_final, idaf, testemunha, nome, endereco, tid, testemunha_setor, cpf) values ({0}seq_tab_fiscconsidfinaltest.nextval, :consid_final, :idaf, :testemunha, :nome, :endereco, :tid, :testemunha_setor, :cpf) returning id into :id" , EsquemaBanco); comando.AdicionarParametroEntrada("consid_final", consideracaoFinal.Id, DbType.Int32); comando.AdicionarParametroEntrada("idaf", item.TestemunhaIDAF, DbType.Int32); comando.AdicionarParametroEntrada("testemunha", item.TestemunhaId, DbType.Int32); comando.AdicionarParametroEntrada("nome", DbType.String, 80, item.TestemunhaNome); comando.AdicionarParametroEntrada("endereco", DbType.String, 200, item.TestemunhaEndereco); comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual()); comando.AdicionarParametroEntrada("testemunha_setor", item.TestemunhaSetorId, DbType.Int32); comando.AdicionarParametroEntrada("cpf", item.TestemunhaCPF, DbType.String); comando.AdicionarParametroSaida("id", DbType.Int32); bancoDeDados.ExecutarNonQuery(comando); item.Id = Convert.ToInt32(comando.ObterValorParametro("id")); } #endregion #region Assinantes foreach (var item in consideracaoFinal.Assinantes) { comando = bancoDeDados.CriarComando(@" insert into {0}tab_fisc_consid_final_ass(id, consid_final, funcionario, cargo, tid) values ({0}seq_fisc_consid_final_ass.nextval, :consid_final, :funcionario, :cargo, :tid) returning id into :id" , EsquemaBanco); comando.AdicionarParametroEntrada("consid_final", consideracaoFinal.Id, DbType.Int32); comando.AdicionarParametroEntrada("funcionario", item.FuncionarioId, DbType.Int32); comando.AdicionarParametroEntrada("cargo", item.FuncionarioCargoId, DbType.Int32); comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual()); comando.AdicionarParametroSaida("id", DbType.Int32); bancoDeDados.ExecutarNonQuery(comando); item.Id = Convert.ToInt32(comando.ObterValorParametro("id")); } #endregion #region Anexos foreach (var item in consideracaoFinal.Anexos) { comando = bancoDeDados.CriarComando(@" insert into {0}tab_fisc_consid_final_arq a (id, consid_final, arquivo, ordem, descricao, tid) values ({0}seq_fisc_consid_final_arq.nextval, :consid_final, :arquivo, :ordem, :descricao, :tid)" , EsquemaBanco); comando.AdicionarParametroEntrada("consid_final", consideracaoFinal.Id, DbType.Int32); comando.AdicionarParametroEntrada("arquivo", item.Arquivo.Id, DbType.Int32); comando.AdicionarParametroEntrada("ordem", item.Ordem, DbType.Int32); comando.AdicionarParametroEntrada("descricao", DbType.String, 100, item.Descricao); comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual()); bancoDeDados.ExecutarNonQuery(comando); } #endregion #region Anexos IUF foreach (var item in consideracaoFinal.AnexosIUF) { comando = bancoDeDados.CriarComando(@" insert into {0}tab_fisc_consid_final_iuf a (id, consid_final, arquivo, ordem, descricao, tid) values ({0}seq_fisc_consid_final_iuf.nextval, :consid_final, :arquivo, :ordem, :descricao, :tid)" , EsquemaBanco); comando.AdicionarParametroEntrada("consid_final", consideracaoFinal.Id, DbType.Int32); comando.AdicionarParametroEntrada("arquivo", item.Arquivo.Id, DbType.Int32); comando.AdicionarParametroEntrada("ordem", item.Ordem, DbType.Int32); comando.AdicionarParametroEntrada("descricao", DbType.String, 100, item.Descricao); comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual()); bancoDeDados.ExecutarNonQuery(comando); } #endregion Historico.Gerar(consideracaoFinal.FiscalizacaoId, eHistoricoArtefato.fiscalizacao, eHistoricoAcao.atualizar, bancoDeDados); Consulta.Gerar(consideracaoFinal.FiscalizacaoId, eHistoricoArtefato.fiscalizacao, bancoDeDados); bancoDeDados.Commit(); } return(consideracaoFinal.Id); }
public ConsideracaoFinal Obter(int fiscalizacaoId, BancoDeDados banco = null) { ConsideracaoFinal consideracaoFinal = new ConsideracaoFinal(); using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco)) { Comando comando = bancoDeDados.CriarComando(@" select t.id Id, t.fiscalizacao FiscalizacaoId, t.justificar Justificar, t.descrever Descrever, t.tem_reparacao HaReparacao, t.reparacao Reparacao, t.tem_termo_comp HaTermoCompromisso, t.tem_termo_comp_justificar TermoCompromissoJustificar, t.tid Tid, t.arquivo_termo arquivo_id, ta.nome arquivo_nome from {0}tab_fisc_consid_final t, {0}tab_arquivo ta where t.arquivo_termo = ta.id(+) and t.fiscalizacao = :fiscalizacao" , EsquemaBanco); comando.AdicionarParametroEntrada("fiscalizacao", fiscalizacaoId, DbType.Int32); consideracaoFinal = bancoDeDados.ObterEntity <ConsideracaoFinal>(comando, (IDataReader reader, ConsideracaoFinal item) => { item.Arquivo = new Arquivo(); item.Arquivo.Id = reader.GetValue <int>("arquivo_id"); item.Arquivo.Nome = reader.GetValue <string>("arquivo_nome"); }); #region Testemunhas comando = bancoDeDados.CriarComando(@" select t.id Id, t.consid_final ConsideracaoFinalId, t.idaf TestemunhaIDAF, t.testemunha TestemunhaId, t.nome TestemunhaNome, t.endereco TestemunhaEndereco, t.tid Tid, t.testemunha_setor TestemunhaSetorId, t.cpf TestemunhaCPF from {0}tab_fisc_consid_final_test t where t.consid_final = :consid_final" , EsquemaBanco); comando.AdicionarParametroEntrada("consid_final", consideracaoFinal.Id, DbType.Int32); consideracaoFinal.Testemunhas = bancoDeDados.ObterEntityList <ConsideracaoFinalTestemunha>(comando); #endregion #region Assinantes comando = bancoDeDados.CriarComando(@"select ta.id, ta.consid_final, f.id func_id, f.nome func_nome, ta.cargo, c.nome cargo_nome, ta.tid from {0}tab_fisc_consid_final_ass ta, {0}tab_funcionario f, {0}tab_cargo c where ta.funcionario = f.id and ta.cargo = c.id and ta.consid_final = :consid_final" , EsquemaBanco); comando.AdicionarParametroEntrada("consid_final", consideracaoFinal.Id, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { FiscalizacaoAssinante item; while (reader.Read()) { item = new FiscalizacaoAssinante(); item.Id = reader.GetValue <int>("id"); item.Tid = reader.GetValue <String>("tid"); item.FuncionarioId = reader.GetValue <int>("func_id"); item.FuncionarioNome = reader.GetValue <String>("func_nome"); item.FuncionarioCargoId = reader.GetValue <int>("cargo"); item.FuncionarioCargoNome = reader.GetValue <String>("cargo_nome"); item.Selecionado = true; consideracaoFinal.Assinantes.Add(item); } reader.Close(); } #endregion #region Anexos comando = bancoDeDados.CriarComando(@" select a.id Id, a.ordem Ordem, a.descricao Descricao, b.nome, b.extensao, b.id arquivo_id, b.caminho, a.tid Tid from {0}tab_fisc_consid_final_arq a, {0}tab_arquivo b where a.arquivo = b.id and a.consid_final = :consid_final order by a.ordem" , EsquemaBanco); comando.AdicionarParametroEntrada("consid_final", consideracaoFinal.Id, DbType.Int32); consideracaoFinal.Anexos = bancoDeDados.ObterEntityList <Anexo>(comando, (IDataReader reader, Anexo item) => { item.Arquivo.Id = reader.GetValue <int>("arquivo_id"); item.Arquivo.Caminho = reader.GetValue <string>("caminho"); item.Arquivo.Nome = reader.GetValue <string>("nome"); item.Arquivo.Extensao = reader.GetValue <string>("extensao"); }); #endregion #region Anexos IUF comando = bancoDeDados.CriarComando(@" select a.id Id, a.ordem Ordem, a.descricao Descricao, b.nome, b.extensao, b.id arquivo_id, b.caminho, a.tid Tid from {0}tab_fisc_consid_final_iuf a, {0}tab_arquivo b where a.arquivo = b.id and a.consid_final = :consid_final order by a.ordem" , EsquemaBanco); comando.AdicionarParametroEntrada("consid_final", consideracaoFinal.Id, DbType.Int32); consideracaoFinal.AnexosIUF = bancoDeDados.ObterEntityList <Anexo>(comando, (IDataReader reader, Anexo item) => { item.Arquivo.Id = reader.GetValue <int>("arquivo_id"); item.Arquivo.Caminho = reader.GetValue <string>("caminho"); item.Arquivo.Nome = reader.GetValue <string>("nome"); item.Arquivo.Extensao = reader.GetValue <string>("extensao"); }); #endregion } return(consideracaoFinal); }
public void Editar(ConsideracaoFinal consideracaoFinal, BancoDeDados banco = null) { using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco)) { bancoDeDados.IniciarTransacao(); Comando comando = bancoDeDados.CriarComando(@" update {0}tab_fisc_consid_final t set t.descrever = :descrever, t.tem_reparacao = :tem_reparacao, t.reparacao = :reparacao, t.tem_termo_comp = :tem_termo_comp, t.tem_termo_comp_justificar = :tem_termo_comp_justificar, t.tid = :tid, t.arquivo_termo = :arquivo_termo where t.id = :id" , EsquemaBanco); comando.AdicionarParametroEntClob("descrever", consideracaoFinal.Descrever); comando.AdicionarParametroEntrada("tem_reparacao", consideracaoFinal.HaReparacao, DbType.Int32); comando.AdicionarParametroEntrada("reparacao", DbType.String, 2000, consideracaoFinal.Reparacao); comando.AdicionarParametroEntrada("tem_termo_comp", consideracaoFinal.HaTermoCompromisso, DbType.Int32); comando.AdicionarParametroEntrada("tem_termo_comp_justificar", DbType.String, 250, consideracaoFinal.TermoCompromissoJustificar); comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual()); comando.AdicionarParametroEntrada("arquivo_termo", (consideracaoFinal.Arquivo ?? new Arquivo()).Id, DbType.Int32); comando.AdicionarParametroEntrada("id", consideracaoFinal.Id, DbType.Int32); bancoDeDados.ExecutarNonQuery(comando); #region Testemunhas comando = bancoDeDados.CriarComando("delete from {0}tab_fisc_consid_final_test ra ", EsquemaBanco); comando.DbCommand.CommandText += String.Format("where ra.consid_final = :consid_final{0}", comando.AdicionarNotIn("and", "ra.id", DbType.Int32, consideracaoFinal.Testemunhas.Select(x => x.Id).ToList())); comando.AdicionarParametroEntrada("consid_final", consideracaoFinal.Id, DbType.Int32); bancoDeDados.ExecutarNonQuery(comando); foreach (var item in consideracaoFinal.Testemunhas) { if (item.Id > 0) { comando = bancoDeDados.CriarComando(@" update {0}tab_fisc_consid_final_test t set t.idaf = :idaf, t.testemunha = :testemunha, t.nome = :nome, t.endereco = :endereco, t.tid = :tid, t.testemunha_setor = :testemunha_setor, t.cpf = :cpf where t.id = :id" , EsquemaBanco); comando.AdicionarParametroEntrada("id", item.Id, DbType.Int32); } else { comando = bancoDeDados.CriarComando(@" insert into {0}tab_fisc_consid_final_test (id, consid_final, idaf, testemunha, nome, endereco, tid, testemunha_setor, cpf) values ({0}seq_tab_fiscconsidfinaltest.nextval, :consid_final, :idaf, :testemunha, :nome, :endereco, :tid, :testemunha_setor, :cpf) returning id into :id" , EsquemaBanco); comando.AdicionarParametroEntrada("consid_final", consideracaoFinal.Id, DbType.Int32); comando.AdicionarParametroSaida("id", DbType.Int32); } comando.AdicionarParametroEntrada("idaf", item.TestemunhaIDAF, DbType.Int32); comando.AdicionarParametroEntrada("testemunha", item.TestemunhaId, DbType.Int32); comando.AdicionarParametroEntrada("nome", DbType.String, 80, item.TestemunhaNome); comando.AdicionarParametroEntrada("endereco", DbType.String, 80, item.TestemunhaEndereco); comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual()); comando.AdicionarParametroEntrada("testemunha_setor", item.TestemunhaSetorId, DbType.Int32); comando.AdicionarParametroEntrada("cpf", item.TestemunhaCPF, DbType.String); bancoDeDados.ExecutarNonQuery(comando); item.Id = item.Id > 0 ? item.Id : Convert.ToInt32(comando.ObterValorParametro("id")); } #endregion #region Assinantes comando = bancoDeDados.CriarComando("delete from {0}tab_fisc_consid_final_ass ass ", EsquemaBanco); comando.DbCommand.CommandText += String.Format("where ass.consid_final = :consid_final{0}", comando.AdicionarNotIn("and", "ass.id", DbType.Int32, consideracaoFinal.Assinantes.Select(x => x.Id).ToList())); comando.AdicionarParametroEntrada("consid_final", consideracaoFinal.Id, DbType.Int32); bancoDeDados.ExecutarNonQuery(comando); foreach (var item in consideracaoFinal.Assinantes) { if (item.Id > 0) { comando = bancoDeDados.CriarComando(@" update {0}tab_fisc_consid_final_ass t set t.funcionario = :funcionario, t.cargo = :cargo, t.tid = :tid where t.id = :id" , EsquemaBanco); comando.AdicionarParametroEntrada("id", item.Id, DbType.Int32); } else { comando = bancoDeDados.CriarComando(@" insert into {0}tab_fisc_consid_final_ass(id, consid_final, funcionario, cargo, tid) values ({0}seq_fisc_consid_final_ass.nextval, :consid_final, :funcionario, :cargo, :tid) returning id into :id" , EsquemaBanco); comando.AdicionarParametroEntrada("consid_final", consideracaoFinal.Id, DbType.Int32); } comando.AdicionarParametroEntrada("funcionario", item.FuncionarioId, DbType.Int32); comando.AdicionarParametroEntrada("cargo", item.FuncionarioCargoId, DbType.Int32); comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual()); comando.AdicionarParametroSaida("id", DbType.Int32); bancoDeDados.ExecutarNonQuery(comando); item.Id = Convert.ToInt32(comando.ObterValorParametro("id")); } #endregion #region Anexos comando = bancoDeDados.CriarComando("delete from {0}tab_fisc_consid_final_arq ra ", EsquemaBanco); comando.DbCommand.CommandText += String.Format("where ra.consid_final = :consid_final{0}", comando.AdicionarNotIn("and", "ra.id", DbType.Int32, consideracaoFinal.Anexos.Select(x => x.Id).ToList())); comando.AdicionarParametroEntrada("consid_final", consideracaoFinal.Id, DbType.Int32); bancoDeDados.ExecutarNonQuery(comando); foreach (var item in consideracaoFinal.Anexos) { if (item.Id > 0) { comando = bancoDeDados.CriarComando(@" update {0}tab_fisc_consid_final_arq t set t.arquivo = :arquivo, t.ordem = :ordem, t.descricao = :descricao, t.tid = :tid where t.id = :id" , EsquemaBanco); comando.AdicionarParametroEntrada("id", item.Id, DbType.Int32); } else { comando = bancoDeDados.CriarComando(@" insert into {0}tab_fisc_consid_final_arq a (id, consid_final, arquivo, ordem, descricao, tid) values ({0}seq_fisc_consid_final_arq.nextval, :consid_final, :arquivo, :ordem, :descricao, :tid)" , EsquemaBanco); comando.AdicionarParametroEntrada("consid_final", consideracaoFinal.Id, DbType.Int32); } comando.AdicionarParametroEntrada("arquivo", item.Arquivo.Id, DbType.Int32); comando.AdicionarParametroEntrada("ordem", item.Ordem, DbType.Int32); comando.AdicionarParametroEntrada("descricao", DbType.String, 100, item.Descricao); comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual()); bancoDeDados.ExecutarNonQuery(comando); } #endregion #region Anexos IUF comando = bancoDeDados.CriarComando("delete from {0}tab_fisc_consid_final_iuf ra ", EsquemaBanco); comando.DbCommand.CommandText += String.Format("where ra.consid_final = :consid_final{0}", comando.AdicionarNotIn("and", "ra.id", DbType.Int32, consideracaoFinal.AnexosIUF.Select(x => x.Id).ToList())); comando.AdicionarParametroEntrada("consid_final", consideracaoFinal.Id, DbType.Int32); bancoDeDados.ExecutarNonQuery(comando); foreach (var item in consideracaoFinal.AnexosIUF) { if (item.Id > 0) { comando = bancoDeDados.CriarComando(@" update {0}tab_fisc_consid_final_iuf t set t.arquivo = :arquivo, t.ordem = :ordem, t.descricao = :descricao, t.tid = :tid where t.id = :id" , EsquemaBanco); comando.AdicionarParametroEntrada("id", item.Id, DbType.Int32); } else { comando = bancoDeDados.CriarComando(@" insert into {0}tab_fisc_consid_final_iuf a (id, consid_final, arquivo, ordem, descricao, tid) values ({0}seq_fisc_consid_final_iuf.nextval, :consid_final, :arquivo, :ordem, :descricao, :tid)" , EsquemaBanco); comando.AdicionarParametroEntrada("consid_final", consideracaoFinal.Id, DbType.Int32); } comando.AdicionarParametroEntrada("arquivo", item.Arquivo.Id, DbType.Int32); comando.AdicionarParametroEntrada("ordem", item.Ordem, DbType.Int32); comando.AdicionarParametroEntrada("descricao", DbType.String, 100, item.Descricao); comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual()); bancoDeDados.ExecutarNonQuery(comando); } #endregion Historico.Gerar(consideracaoFinal.FiscalizacaoId, eHistoricoArtefato.fiscalizacao, eHistoricoAcao.atualizar, bancoDeDados); Consulta.Gerar(consideracaoFinal.FiscalizacaoId, eHistoricoArtefato.fiscalizacao, bancoDeDados); bancoDeDados.Commit(); } }
public bool Salvar(ConsideracaoFinal consideracao) { if (string.IsNullOrWhiteSpace(consideracao.Descrever)) { Validacao.Add(Mensagem.ConsideracaoFinalMsg.DescreverObrigatorio); } if (!consideracao.HaReparacao.HasValue) { Validacao.Add(Mensagem.ConsideracaoFinalMsg.OpinarObrigatorio); } else { if (consideracao.HaReparacao.Value == 1) { if (string.IsNullOrWhiteSpace(consideracao.Reparacao)) { Validacao.Add(Mensagem.ConsideracaoFinalMsg.OpinarReparacaoOpinarObrigatorio); } if (!consideracao.HaTermoCompromisso.HasValue) { Validacao.Add(Mensagem.ConsideracaoFinalMsg.FirmarCompromissoObrigatorio); } else { if (!consideracao.HaTermoCompromisso.Value && string.IsNullOrWhiteSpace(consideracao.TermoCompromissoJustificar)) { Validacao.Add(Mensagem.ConsideracaoFinalMsg.JustificarFirmarCompromissoObrigatorio); } } } else if (consideracao.HaReparacao.Value != -1 && string.IsNullOrWhiteSpace(consideracao.Reparacao)) { Validacao.Add(Mensagem.ConsideracaoFinalMsg.OpinarReparacaoJustificarObrigatorio); } } #region Testemunhas foreach (var item in consideracao.Testemunhas) { if (item.TestemunhaIDAF.HasValue) { if (item.TestemunhaIDAF.Value) { if (item.TestemunhaId.GetValueOrDefault() == 0) { AddFormarMsg(Mensagem.ConsideracaoFinalMsg.TestemunhaObrigatorio, item.Colocacao.ToString()); } } else { if (string.IsNullOrWhiteSpace(item.TestemunhaNome)) { AddFormarMsg(Mensagem.ConsideracaoFinalMsg.TestemunhaNomeObrigatorio, item.Colocacao.ToString()); } } } } #endregion #region Assinantes if (consideracao.Assinantes == null || consideracao.Assinantes.Count == 0) { Validacao.Add(Mensagem.ConsideracaoFinalMsg.AssinanteObrigatorio); } else { if (!consideracao.Assinantes.Exists(x => x.FuncionarioId == User.FuncionarioId)) { Validacao.Add(Mensagem.ConsideracaoFinalMsg.AssinanteFuncionarioLogado); } if (consideracao.Assinantes.GroupBy(x => new { FuncionarioId = x.FuncionarioId, FuncionarioCargoId = x.FuncionarioCargoId }).Where(x => x.Count() > 1).Count() > 0) { Validacao.Add(Mensagem.ConsideracaoFinalMsg.AssinanteFuncionarioUnico); } } #endregion return(Validacao.EhValido); }
public bool Salvar(ConsideracaoFinal entidade) { try { if (_validar.Salvar(entidade)) { if (entidade.Id < 1) { entidade.Id = _da.ObterID(entidade.FiscalizacaoId); } #region Arquivos/Diretorio ArquivoBus _busArquivo = new ArquivoBus(eExecutorTipo.Interno); if (entidade.Arquivo != null && !string.IsNullOrWhiteSpace(entidade.Arquivo.Nome) && entidade.Arquivo.Id.GetValueOrDefault() == 0) { entidade.Arquivo = _busArquivo.Copiar(entidade.Arquivo); } foreach (var anexo in entidade.Anexos) { if (anexo.Arquivo.Id == 0) { anexo.Arquivo = _busArquivo.Copiar(anexo.Arquivo); } } foreach (var anexo in entidade.AnexosIUF) { if (anexo.Arquivo.Id == 0) { anexo.Arquivo = _busArquivo.Copiar(anexo.Arquivo); } } #endregion GerenciadorTransacao.ObterIDAtual(); using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia()) { bancoDeDados.IniciarTransacao(); #region Arquivos/Banco ArquivoDa _arquivoDa = new ArquivoDa(); if (entidade.Arquivo != null && entidade.Arquivo.Id.GetValueOrDefault() == 0) { _arquivoDa.Salvar(entidade.Arquivo, User.FuncionarioId, User.Name, User.Login, (int)eExecutorTipo.Interno, User.FuncionarioTid, bancoDeDados); } foreach (var anexo in entidade.Anexos) { if (anexo.Arquivo.Id == 0) { _arquivoDa.Salvar(anexo.Arquivo, User.FuncionarioId, User.Name, User.Login, (int)eExecutorTipo.Interno, User.FuncionarioTid, bancoDeDados); } } foreach (var anexo in entidade.AnexosIUF) { if (anexo.Arquivo.Id == 0) { _arquivoDa.Salvar(anexo.Arquivo, User.FuncionarioId, User.Name, User.Login, (int)eExecutorTipo.Interno, User.FuncionarioTid, bancoDeDados); } } #endregion entidade.Testemunhas.ForEach(x => { x.TestemunhaEndereco = x.TestemunhaIDAF.GetValueOrDefault() ? string.Empty : x.TestemunhaEndereco; }); _da.Salvar(entidade, bancoDeDados); bancoDeDados.Commit(); } } } catch (Exception e) { Validacao.AddErro(e); } return(Validacao.EhValido); }