public ActionResult Criar(UnidadeConsolidacao caracterizacao, int projetoDigitalId = 0) { _bus.Salvar(caracterizacao); return(Json(new { @EhValido = Validacao.EhValido, @Msg = Validacao.Erros, @UrlRedirecionar = Url.Action("", "Caracterizacao", new { id = caracterizacao.Id, projetoDigitalId = projetoDigitalId, Msg = Validacao.QueryParam() }) }, JsonRequestBehavior.AllowGet)); }
internal bool CodigoUCExiste(UnidadeConsolidacao unidade) { using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia()) { Comando comando = bancoDeDados.CriarComando(@"select count(id) from {0}crt_unidade_consolidacao where codigo_uc = :codigo and id <> :id", EsquemaBanco); comando.AdicionarParametroEntrada("codigo", unidade.CodigoUC, DbType.Int64); comando.AdicionarParametroEntrada("id", unidade.Id, DbType.Int32); return(Convert.ToInt32(bancoDeDados.ExecutarScalar(comando)) > 0); } }
public bool Salvar(UnidadeConsolidacao unidade) { try { if (!_validar.Salvar(unidade)) { return(Validacao.EhValido); } if (!unidade.PossuiCodigoUC) { if (unidade.Id < 1) { int codigo = _da.ObterSequenciaCodigoUC(); EmpreendimentoCaracterizacao empreendimento = _busCaracterizacao.ObterEmpreendimentoSimplificado(unidade.Empreendimento.Id); unidade.CodigoUC = Convert.ToInt64(empreendimento.MunicipioIBGE.ToString() + codigo.ToString("D4")); } else { unidade.CodigoUC = ObterPorEmpreendimento(unidade.Empreendimento.Id, true).CodigoUC; } } foreach (var aux in unidade.ResponsaveisTecnicos) { aux.CFONumero = aux.CFONumero.Split('-').GetValue(0).ToString(); } GerenciadorTransacao.ObterIDAtual(); using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia()) { bancoDeDados.IniciarTransacao(); _da.Salvar(unidade, bancoDeDados); Validacao.Add(Mensagem.UnidadeConsolidacao.UnidadeConsolidacaoSalvaSucesso); bancoDeDados.Commit(); } } catch (Exception e) { Validacao.AddErro(e); } return(Validacao.EhValido); }
public UnidadeConsolidacao ObterPorEmpreendimento(int empreendimentoId, bool simplificado = false, BancoDeDados banco = null) { UnidadeConsolidacao caracterizacao = new UnidadeConsolidacao(); try { caracterizacao = _da.ObterPorEmpreendimento(empreendimentoId, simplificado: simplificado); } catch (Exception exc) { Validacao.AddErro(exc); } return(caracterizacao); }
public UnidadeConsolidacao ObterHistorico(int caracterizacaoID, string caracterizacaoTID, bool simplificado = false) { UnidadeConsolidacao caracterizacao = null; try { caracterizacao = _da.ObterHistorico(caracterizacaoID, caracterizacaoTID, simplificado: simplificado); } catch (Exception exc) { Validacao.AddErro(exc); } return(caracterizacao); }
public UnidadeConsolidacao ObterPorEmpreendimento(int empreendimentoInternoId, bool simplificado = false) { UnidadeConsolidacao unidadeConsolidacao = null; try { unidadeConsolidacao = _da.ObterPorEmpreendimento(empreendimentoInternoId, simplificado); } catch (Exception ex) { Validacao.AddErro(ex); } return(unidadeConsolidacao); }
internal void Salvar(UnidadeConsolidacao unidadeConsolidacao, BancoDeDados banco = null) { if (unidadeConsolidacao == null) { throw new Exception("A Caracterização é nula."); } if (unidadeConsolidacao.Id <= 0) { Criar(unidadeConsolidacao, banco); } else { Editar(unidadeConsolidacao, banco); } }
public bool CopiarDadosCredenciado(Dependencia dependencia, int empreendimentoInternoId, BancoDeDados banco, BancoDeDados bancoCredenciado) { if (banco == null) { return(false); } if (_validar == null) { _validar = new UnidadeConsolidacaoValidar(); } #region Configurar Caracterização UnidadeConsolidacaoCredBus.UnidadeConsolidacaoBus credenciadoBus = new UnidadeConsolidacaoCredBus.UnidadeConsolidacaoBus(); UnidadeConsolidacao caracterizacao = credenciadoBus.ObterHistorico(dependencia.DependenciaId, dependencia.DependenciaTid); caracterizacao.Empreendimento.Id = empreendimentoInternoId; caracterizacao.CredenciadoID = caracterizacao.Id; caracterizacao.Id = 0; caracterizacao.Tid = string.Empty; caracterizacao.Cultivares.ForEach(r => { r.IdRelacionamento = 0; }); caracterizacao.ResponsaveisTecnicos.ForEach(r => { r.IdRelacionamento = 0; }); #endregion if (_validar.CopiarDadosCredenciado(caracterizacao)) { GerenciadorTransacao.ObterIDAtual(); using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco)) { bancoDeDados.IniciarTransacao(); //Setar ID caracterizacao.Id = ObterPorEmpreendimento(empreendimentoInternoId, simplificado: true, banco: bancoDeDados).Id; _da.CopiarDadosCredenciado(caracterizacao, bancoDeDados); credenciadoBus.AtualizarInternoIdTid(caracterizacao.CredenciadoID, caracterizacao.Id, GerenciadorTransacao.ObterIDAtual(), bancoCredenciado); bancoDeDados.Commit(); } } return(Validacao.EhValido); }
internal bool CopiarDadosCredenciado(UnidadeConsolidacao caracterizacao) { if (caracterizacao.CredenciadoID <= 0) { Validacao.Add(Mensagem.UnidadeConsolidacao.CopiarCaractizacaoCadastrada); return(false); } string retorno = _da.CodigoUCExiste(caracterizacao.Empreendimento.Id, caracterizacao.CodigoUC); if (!string.IsNullOrEmpty(retorno)) { Validacao.Add(Mensagem.UnidadeConsolidacao.CodigoUCJaExistenteInterno(retorno)); } return(Validacao.EhValido); }
public ActionResult Visualizar(int id) { if (!_validar.Acessar(id)) { return(RedirectToAction("", "Caracterizacao", new { id = id, Msg = Validacao.QueryParam() })); } UnidadeConsolidacao caracterizacao = _bus.ObterPorEmpreendimento(id); UnidadeConsolidacaoVM vm = new UnidadeConsolidacaoVM(); vm.IsVisualizar = true; vm.UnidadeConsolidacao = caracterizacao; vm.LstUnidadeMedida = ViewModelHelper.CriarSelectList(_bus.ObterListaUnidadeMedida()); vm.UrlRetorno = Url.Action("", "Caracterizacao", new { id = caracterizacao.Empreendimento.Id }); return(View(vm)); }
internal UnidadeConsolidacao ObterPorEmpreendimento(int empreendimentoId, bool simplificado = false, BancoDeDados banco = null) { UnidadeConsolidacao caracterizacao = new UnidadeConsolidacao(); using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco)) { Comando comando = bancoDeDados.CriarComando(@"select t.id from {0}crt_unidade_consolidacao t where t.empreendimento = :empreendimento", EsquemaBanco); comando.AdicionarParametroEntrada("empreendimento", empreendimentoId, DbType.Int32); object valor = bancoDeDados.ExecutarScalar(comando); if (valor != null && !Convert.IsDBNull(valor)) { caracterizacao = Obter(Convert.ToInt32(valor), bancoDeDados, simplificado); } } return(caracterizacao); }
internal bool CodigoUCExiste(UnidadeConsolidacao unidade) { // bool existe = false; // int empreendimentoInternoID = 0; // using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(EsquemaCredenciadoBanco)) // { // Comando comando = bancoDeDados.CriarComando(@"select nvl((select e.interno from tab_empreendimento e where e.id = :empreendimento), 0) from dual", EsquemaCredenciadoBanco); // comando.AdicionarParametroEntrada("empreendimento", unidade.Empreendimento.Id, DbType.Int32); // empreendimentoInternoID = Convert.ToInt32(bancoDeDados.ExecutarScalar(comando)); // } // using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia()) // { // Comando comando = bancoDeDados.CriarComando(@"select count(c.id) from {0}crt_unidade_consolidacao c, {0}tab_empreendimento e // where c.empreendimento = e.id and c.codigo_uc = :codigo and c.empreendimento <> :empreendimento", EsquemaBanco); // comando.AdicionarParametroEntrada("codigo", unidade.CodigoUC, DbType.Int64); // comando.AdicionarParametroEntrada("empreendimento", empreendimentoInternoID, DbType.Int32); // existe = Convert.ToInt32(bancoDeDados.ExecutarScalar(comando)) > 0; // } // if (existe) // { // return true; // } using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(EsquemaCredenciadoBanco)) { Comando comando = bancoDeDados.CriarComando(@" select count(c.id) from {0}crt_unidade_consolidacao c, {0}tab_empreendimento e where e.id = c.empreendimento and c.codigo_uc = :codigo and c.id <> :id and e.credenciado = :credenciado" , EsquemaCredenciadoBanco); comando.AdicionarParametroEntrada("codigo", unidade.CodigoUC, DbType.Int64); comando.AdicionarParametroEntrada("id", unidade.Id, DbType.Int32); comando.AdicionarParametroEntrada("credenciado", User.FuncionarioId, DbType.Int32); return(Convert.ToInt32(bancoDeDados.ExecutarScalar(comando)) > 0); } }
public bool CopiarDadosInstitucional(int empreendimentoID, int empreendimentoInternoID, BancoDeDados banco) { if (banco == null) { return(false); } if (_validar == null) { _validar = new UnidadeConsolidacaoValidar(); } #region Configurar Caracterização UnidadeConsolidacaoInternoBus unidadeConsolidacaoInternoBus = new UnidadeConsolidacaoInternoBus(); UnidadeConsolidacao caracterizacao = unidadeConsolidacaoInternoBus.ObterPorEmpreendimento(empreendimentoInternoID); caracterizacao.Empreendimento.Id = empreendimentoID; caracterizacao.InternoId = caracterizacao.Id; caracterizacao.InternoTid = caracterizacao.Tid; caracterizacao.Cultivares.ForEach(r => { r.IdRelacionamento = 0; }); caracterizacao.ResponsaveisTecnicos.ForEach(r => { r.IdRelacionamento = 0; }); #endregion if (_validar.CopiarDadosInstitucional(caracterizacao)) { using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco, UsuarioCredenciado)) { bancoDeDados.IniciarTransacao(); //Setar ID do credenciado caracterizacao.Id = ObterPorEmpreendimento(empreendimentoID, simplificado: true, banco: bancoDeDados).Id; _da.CopiarDadosInstitucional(caracterizacao, bancoDeDados); bancoDeDados.Commit(); } } return(Validacao.EhValido); }
public ActionResult Editar(int id) { if (!_caracterizacaoValidar.Basicas(id)) { return(RedirectToAction("Index", "../Empreendimento", Validacao.QueryParamSerializer())); } if (!_validar.Acessar(id)) { return(RedirectToAction("", "Caracterizacao", new { id = id, Msg = Validacao.QueryParam() })); } UnidadeConsolidacao caracterizacao = _bus.ObterPorEmpreendimento(id); UnidadeConsolidacaoVM vm = new UnidadeConsolidacaoVM(); vm.UnidadeConsolidacao = caracterizacao; vm.LstUnidadeMedida = ViewModelHelper.CriarSelectList(_bus.ObterListaUnidadeMedida()); return(View(vm)); }
public ActionResult VisualizarCredenciado(int projetoDigitalId, int protocoloId = 0) { ProjetoDigitalCredenciadoBus _busProjetoDigitalCredenciado = new ProjetoDigitalCredenciadoBus(); ProjetoDigital projeto = _busProjetoDigitalCredenciado.Obter(projetoDigitalId); UCBusCred.UnidadeConsolidacaoBus _busCredenciado = new UCBusCred.UnidadeConsolidacaoBus(); UnidadeConsolidacao caracterizacao = _busCredenciado.ObterPorEmpreendimento(projeto.EmpreendimentoId.GetValueOrDefault(), projetoDigitalId); UnidadeConsolidacaoVM vm = new UnidadeConsolidacaoVM(); vm.IsVisualizar = true; vm.UnidadeConsolidacao = caracterizacao; vm.LstUnidadeMedida = ViewModelHelper.CriarSelectList(_bus.ObterListaUnidadeMedida()); vm.ProtocoloId = protocoloId; vm.ProjetoDigitalId = projeto.Id; vm.RequerimentoId = projeto.RequerimentoId; vm.UrlRetorno = Url.Action("Analisar", "../AnaliseItens", new { protocoloId = protocoloId, requerimentoId = projeto.RequerimentoId }); return(View("Visualizar", vm)); }
public ActionResult Criar(int id, int projetoDigitalId) { if (!_caracterizacaoValidar.Basicas(id)) { return(RedirectToAction("Index", "../Empreendimento", Validacao.QueryParamSerializer())); } UnidadeConsolidacao caracterizacao = new UnidadeConsolidacao(); caracterizacao.Empreendimento.Id = id; if (!_validar.Acessar(caracterizacao.Empreendimento.Id, projetoDigitalId)) { return(RedirectToAction("", "Caracterizacao", new { id = id, projetoDigitalId = projetoDigitalId, Msg = Validacao.QueryParam() })); } UnidadeConsolidacaoVM vm = new UnidadeConsolidacaoVM(); vm.LstUnidadeMedida = ViewModelHelper.CriarSelectList(_bus.ObterListaUnidadeMedida()); vm.LstCultivar = ViewModelHelper.CriarSelectList(new List <Lista>()); vm.UnidadeConsolidacao = caracterizacao; vm.UnidadeConsolidacao.Empreendimento = _caracterizacaoBus.ObterEmpreendimentoSimplificado(id); UnidadeConsolidacaoInternoBus internoBus = new UnidadeConsolidacaoInternoBus(); UnidadeConsolidacao caracterizacaoInterno = internoBus.ObterPorEmpreendimento(vm.UnidadeConsolidacao.Empreendimento.InternoID, true); if (caracterizacaoInterno.Id > 0) { vm.UnidadeConsolidacao.CodigoUC = caracterizacaoInterno.CodigoUC; vm.UnidadeConsolidacao.PossuiCodigoUC = caracterizacaoInterno.PossuiCodigoUC; vm.FoiCopiada = true; } return(View(vm)); }
public UnidadeConsolidacao ObterPorEmpreendimento(int empreendimentoId, int projetoDigitalId = 0, bool simplificado = false, BancoDeDados banco = null) { UnidadeConsolidacao caracterizacao = null; try { List <Caracterizacao> caracterizacoesAssociadas = _busCaracterizacao.ObterCaracterizacoesAssociadasProjetoDigital(projetoDigitalId).Where(x => x.Tipo == eCaracterizacao.UnidadeConsolidacao).ToList(); if (caracterizacoesAssociadas != null && caracterizacoesAssociadas.Count > 0) { caracterizacao = ObterHistorico(caracterizacoesAssociadas.FirstOrDefault().Id, caracterizacoesAssociadas.FirstOrDefault().Tid); } else { caracterizacao = _da.ObterPorEmpreendimento(empreendimentoId, simplificado); } } catch (Exception exc) { Validacao.AddErro(exc); } return(caracterizacao); }
internal bool Salvar(UnidadeConsolidacao unidade) { if (!_caracterizacaoValidar.Basicas(unidade.Empreendimento.Id)) { return(false); } if (unidade.Id <= 0 && (_da.ObterPorEmpreendimento(unidade.Empreendimento.Id, true) ?? new UnidadeConsolidacao()).Id > 0) { Validacao.Add(Mensagem.Caracterizacao.EmpreendimentoCaracterizacaoJaCriada); return(false); } if (unidade.PossuiCodigoUC) { if (unidade.CodigoUC < 1) { Validacao.Add(Mensagem.UnidadeConsolidacao.CodigoUCObrigatorio); } else { if (unidade.CodigoUC.ToString().Length < 11) { Validacao.Add(Mensagem.UnidadeConsolidacao.CodigoUCInvalido); } else { if (Convert.ToInt32(unidade.CodigoUC.ToString().Substring(7)) > Convert.ToInt32(_configSys.Obter <String>(ConfiguracaoSistema.KeyUnidadeConsolidacaoMaxCodigoUC))) { Validacao.Add(Mensagem.UnidadeConsolidacao.CodigoUCSuperiorMaximo); } else if (_da.CodigoUCExiste(unidade)) { Validacao.Add(Mensagem.UnidadeConsolidacao.CodigoUCJaExistente); } } } } if (string.IsNullOrWhiteSpace(unidade.LocalLivroDisponivel)) { Validacao.Add(Mensagem.UnidadeConsolidacao.LocalLivroDisponivelObrigatorio); } #region Cultivar if (unidade.Cultivares.Count < 1) { Validacao.Add(Mensagem.UnidadeConsolidacao.CapacidadeProcessamentoObrigatorioAdicionar); } else { if (unidade.Cultivares.Exists(x => x.CulturaId < 1) || unidade.Cultivares.Exists(x => x.CapacidadeMes <= 0) || unidade.Cultivares.Exists(x => x.UnidadeMedida < 1)) { Validacao.Add(Mensagem.UnidadeConsolidacao.PossuiCultivarInvalido); } if (unidade.Cultivares.Any(x => unidade.Cultivares.Count(y => y.Id == x.Id && y.Id > 0) > 1)) { Validacao.Add(Mensagem.UnidadeConsolidacao.CultivarJaAdicionado); } } #endregion #region Responsável Técnico if (unidade.ResponsaveisTecnicos.Count < 1) { Validacao.Add(Mensagem.UnidadeConsolidacao.ResponsavelTecnicoObrigatorioAdicionar); } else { if (unidade.ResponsaveisTecnicos.Exists(x => x.Id < 1) || unidade.ResponsaveisTecnicos.Exists(x => string.IsNullOrEmpty(x.CFONumero)) || unidade.ResponsaveisTecnicos.Exists(x => string.IsNullOrEmpty(x.NumeroArt)) || unidade.ResponsaveisTecnicos.Exists(x => !x.ArtCargoFuncao && !ValidacoesGenericasBus.ValidarData(x.DataValidadeART))) { Validacao.Add(Mensagem.UnidadeConsolidacao.PossuiResponsavelTecnicoInvalido); } else { unidade.ResponsaveisTecnicos.ForEach(responsavel => { ValidarAssociarResponsavelTecnicoHabilitado(new HabilitarEmissaoCFOCFOC { Responsavel = new CredenciadoIntEnt() { Id = responsavel.Id } }, unidade.Cultivares); }); } if (unidade.ResponsaveisTecnicos.Any(x => unidade.ResponsaveisTecnicos.Count(y => y.Id == x.Id) > 1)) { Validacao.Add(Mensagem.UnidadeConsolidacao.ResponsavelTecnicoJaAdicionado); } } #endregion if (string.IsNullOrWhiteSpace(unidade.TipoApresentacaoProducaoFormaIdentificacao)) { Validacao.Add(Mensagem.UnidadeConsolidacao.TipoApresentacaoProducaoFormaIdentificacaoObrigatorio); } return(Validacao.EhValido); }
public UnidadeConsolidacaoVM() { UnidadeConsolidacao = new UnidadeConsolidacao(); LstUnidadeMedida = new List <SelectListItem>(); }
internal void CopiarDadosInstitucional(UnidadeConsolidacao caracterizacao, BancoDeDados banco) { using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco, EsquemaCredenciadoBanco)) { bancoDeDados.IniciarTransacao(); Comando comando = null; if (caracterizacao.Id <= 0) { comando = bancoDeDados.CriarComando(@" insert into {0}crt_unidade_consolidacao (id, empreendimento, possui_codigo_uc, codigo_uc, local_livro_disponivel, tipo_apresentacao_produto, tid, interno_id, interno_tid) values (seq_crt_unidade_consolidacao.nextval, :empreendimento, :possui_codigo_uc, :codigo_uc, :local_livro_disponivel, :tipo_apresentacao_produto, :tid, :interno_id, :interno_tid) returning id into :id" , EsquemaCredenciadoBanco); comando.AdicionarParametroEntrada("empreendimento", caracterizacao.Empreendimento.Id, DbType.Int32); comando.AdicionarParametroSaida("id", DbType.Int32); } else { comando = bancoDeDados.CriarComando(@" update {0}crt_unidade_consolidacao set possui_codigo_uc = :possui_codigo_uc, codigo_uc = :codigo_uc, local_livro_disponivel = :local_livro_disponivel, tipo_apresentacao_produto = :tipo_apresentacao_produto, tid = :tid, interno_id = :interno_id, interno_tid = :interno_tid where id = :id" , EsquemaCredenciadoBanco); comando.AdicionarParametroEntrada("id", caracterizacao.Id, DbType.Int32); } comando.AdicionarParametroEntrada("codigo_uc", caracterizacao.CodigoUC, DbType.Int64); comando.AdicionarParametroEntrada("possui_codigo_uc", caracterizacao.PossuiCodigoUC, DbType.Int32); comando.AdicionarParametroEntrada("local_livro_disponivel", DbType.String, 100, caracterizacao.LocalLivroDisponivel); comando.AdicionarParametroEntrada("tipo_apresentacao_produto", DbType.String, 250, caracterizacao.TipoApresentacaoProducaoFormaIdentificacao); comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual()); comando.AdicionarParametroEntrada("interno_id", caracterizacao.InternoId, DbType.Int32); comando.AdicionarParametroEntrada("interno_tid", caracterizacao.InternoTid, DbType.String); bancoDeDados.ExecutarNonQuery(comando); if (caracterizacao.Id <= 0) { caracterizacao.Id = Convert.ToInt32(comando.ObterValorParametro("id")); } #region Apagando dados //Responsáveis técnicos comando = bancoDeDados.CriarComando(@"delete from crt_unida_conso_resp_tec where unidade_consolidacao = :unidade_consolidacao", EsquemaCredenciadoBanco); comando.AdicionarParametroEntrada("unidade_consolidacao", caracterizacao.Id, DbType.Int32); bancoDeDados.ExecutarNonQuery(comando); //Cultivares comando = bancoDeDados.CriarComando(@"delete from crt_unidade_cons_cultivar c where c.unidade_consolidacao = :unidade_consolidacao", EsquemaCredenciadoBanco); comando.AdicionarParametroEntrada("unidade_consolidacao", caracterizacao.Id, DbType.Int32); bancoDeDados.ExecutarNonQuery(comando); #endregion #region Cultivares caracterizacao.Cultivares.ForEach(x => { comando = bancoDeDados.CriarComando(@" insert into crt_unidade_cons_cultivar (id, unidade_consolidacao, cultivar, capacidade_mes, unidade_medida, tid, cultura) values (seq_crt_unidade_cons_cultivar.nextval, :unidade_consolidacao, :cultivar, :capacidade_mes, :unidade_medida, :tid, :cultura)" , EsquemaCredenciadoBanco); comando.AdicionarParametroEntrada("unidade_consolidacao", caracterizacao.Id, DbType.Int32); comando.AdicionarParametroEntrada("cultivar", x.Id < 1 ? (object)DBNull.Value : x.Id, DbType.Int32); comando.AdicionarParametroEntrada("capacidade_mes", x.CapacidadeMes, DbType.Decimal); comando.AdicionarParametroEntrada("unidade_medida", x.UnidadeMedida, DbType.Int32); comando.AdicionarParametroEntrada("cultura", x.CulturaId, DbType.Int32); comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual()); bancoDeDados.ExecutarNonQuery(comando); }); #endregion #region Responsáveis Técnicos caracterizacao.ResponsaveisTecnicos.ForEach(x => { comando = bancoDeDados.CriarComando(@" insert into crt_unida_conso_resp_tec (id, unidade_consolidacao, responsavel_tecnico, numero_hab_cfo_cfoc, numero_art, art_cargo_funcao, data_validade_art, tid) values (seq_crt_unida_conso_resp_tec.nextval, :unidade_consolidacao, :responsavel_tecnico, :numero_hab_cfo_cfoc, :numero_art, :art_cargo_funcao, :data_validade_art, :tid)" , EsquemaCredenciadoBanco); comando.AdicionarParametroEntrada("unidade_consolidacao", caracterizacao.Id, DbType.Int32); comando.AdicionarParametroEntrada("responsavel_tecnico", x.Id, DbType.Int32); comando.AdicionarParametroEntrada("numero_hab_cfo_cfoc", x.CFONumero, DbType.String); comando.AdicionarParametroEntrada("numero_art", x.NumeroArt, DbType.String); comando.AdicionarParametroEntrada("art_cargo_funcao", x.ArtCargoFuncao, DbType.Int32); comando.AdicionarParametroEntrada("data_validade_art", x.DataValidadeART, DbType.String); comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual()); bancoDeDados.ExecutarNonQuery(comando); }); #endregion Historico.Gerar(caracterizacao.Id, eHistoricoArtefatoCaracterizacao.unidadeconsolidacao, eHistoricoAcao.copiar, bancoDeDados, null); bancoDeDados.Commit(); } }
public UnidadeConsolidacao ObterHistorico(int id, string tid, bool simplificado = false, BancoDeDados banco = null) { UnidadeConsolidacao caracterizacao = new UnidadeConsolidacao(); int hst = 0; using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco, EsquemaCredenciadoBanco)) { Comando comando = bancoDeDados.CriarComando(@" select c.id, c.tid, c.interno_id, c.interno_tid, c.empreendimento_id, c.possui_codigo_uc, c.codigo_uc, c.local_livro_disponivel, c.tipo_apresentacao_produto from {0}hst_crt_unidade_consolidacao c where c.unidade_consolidacao = :id and c.tid = :tid" , EsquemaCredenciadoBanco); comando.AdicionarParametroEntrada("id", id, DbType.Int32); comando.AdicionarParametroEntrada("tid", DbType.String, 36, tid); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { if (reader.Read()) { hst = reader.GetValue <int>("id"); caracterizacao.Id = id; caracterizacao.CredenciadoID = id; caracterizacao.Tid = reader.GetValue <string>("tid"); caracterizacao.InternoId = reader.GetValue <int>("interno_id"); caracterizacao.InternoTid = reader.GetValue <string>("interno_tid"); caracterizacao.Empreendimento.Id = reader.GetValue <int>("empreendimento_id"); caracterizacao.PossuiCodigoUC = reader.GetValue <bool>("possui_codigo_uc"); caracterizacao.CodigoUC = reader.GetValue <long>("codigo_uc"); caracterizacao.LocalLivroDisponivel = reader.GetValue <string>("local_livro_disponivel"); caracterizacao.TipoApresentacaoProducaoFormaIdentificacao = reader.GetValue <string>("tipo_apresentacao_produto"); } reader.Close(); } if (caracterizacao.Id < 1 || simplificado) { return(caracterizacao); } #region Cultivares comando = bancoDeDados.CriarComando(@" select c.unid_consoli_cultivar_id id, c.tid, c.cultura_id, cu.texto cultura_texto, c.cultivar_id, cc.cultivar_nome, c.capacidade_mes, c.unidade_medida_id, c.unidade_medida_texto from hst_crt_unidade_cons_cultivar c, hst_cultura cu, hst_cultura_cultivar cc where cu.cultura_id = c.cultura_id and cu.tid = c.cultura_tid and cc.cultivar_id(+) = c.cultivar_id and cc.tid(+) = c.cultivar_tid and c.id_hst = :id" , EsquemaCredenciadoBanco); comando.AdicionarParametroEntrada("id", hst, DbType.Int32); Cultivar cultivar = null; using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { while (reader.Read()) { cultivar = new Cultivar(); cultivar.IdRelacionamento = reader.GetValue <int>("id"); cultivar.Tid = reader.GetValue <string>("tid"); cultivar.CulturaId = reader.GetValue <int>("cultura_id"); cultivar.CulturaTexto = reader.GetValue <string>("cultura_texto"); cultivar.Id = reader.GetValue <int>("cultivar_id"); cultivar.Nome = reader.GetValue <string>("cultivar_nome"); cultivar.CapacidadeMes = reader.GetValue <decimal>("capacidade_mes"); cultivar.UnidadeMedida = reader.GetValue <int>("unidade_medida_id"); cultivar.UnidadeMedidaTexto = reader.GetValue <string>("unidade_medida_texto"); caracterizacao.Cultivares.Add(cultivar); } reader.Close(); } #endregion #region Responsáveis Técnicos comando = bancoDeDados.CriarComando(@" select distinct c.unid_consoli_resp_tec_id id, c.responsavel_tecnico_id, c.numero_hab_cfo_cfoc, c.numero_art, c.art_cargo_funcao, c.data_validade_art, c.tid, nvl(tp.nome, tp.razao_social) nome_razao, nvl(tp.cpf, tp.cnpj) cpf_cnpj, pf.texto profissao, oc.orgao_sigla, pp.registro, (select h.extensao_habilitacao from hst_hab_emi_cfo_cfoc h where h.responsavel_id = c.responsavel_tecnico_id and h.responsavel_tid = c.responsavel_tecnico_tid and h.data_execucao = (select max(hh.data_execucao) from hst_hab_emi_cfo_cfoc hh where hh.responsavel_id = h.responsavel_id and hh.responsavel_tid = h.responsavel_tid and hh.data_execucao <= (select hc.data_execucao from hst_crt_unidade_consolidacao hc where hc.id = c.id_hst))) extensao_habilitacao from hst_crt_unida_conso_resp_tec c, hst_credenciado tc, hst_pessoa tp, hst_pessoa_profissao pp, hst_profissao pf, tab_orgao_classe oc where tc.credenciado_id = c.responsavel_tecnico_id and tc.tid = c.responsavel_tecnico_tid and tp.pessoa_id = tc.pessoa_id and tp.tid = tc.pessoa_tid and pp.id_hst(+) = tp.id and pf.profissao_id(+) = pp.profissao_id and pf.tid(+) = pp.profissao_tid and oc.id(+) = pp.orgao_classe_id and c.id_hst = :id" , EsquemaBanco, EsquemaCredenciadoBanco); comando.AdicionarParametroEntrada("id", hst, DbType.Int32); ResponsavelTecnico responsavel = null; using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { while (reader.Read()) { responsavel = new ResponsavelTecnico(); responsavel.IdRelacionamento = reader.GetValue <int>("id"); responsavel.Id = reader.GetValue <int>("responsavel_tecnico_id"); responsavel.NomeRazao = reader.GetValue <string>("nome_razao"); responsavel.CpfCnpj = reader.GetValue <string>("cpf_cnpj"); responsavel.CFONumero = reader.GetValue <string>("numero_hab_cfo_cfoc"); responsavel.NumeroArt = reader.GetValue <string>("numero_art"); responsavel.ArtCargoFuncao = reader.GetValue <bool>("art_cargo_funcao"); responsavel.ProfissaoTexto = reader.GetValue <string>("profissao"); responsavel.OrgaoClasseSigla = reader.GetValue <string>("orgao_sigla"); responsavel.NumeroRegistro = reader.GetValue <string>("registro"); responsavel.DataValidadeART = reader.GetValue <string>("data_validade_art"); if (!string.IsNullOrEmpty(responsavel.DataValidadeART)) { responsavel.DataValidadeART = Convert.ToDateTime(responsavel.DataValidadeART).ToShortDateString(); } if (Convert.ToBoolean(reader.GetValue <int>("extensao_habilitacao"))) { responsavel.CFONumero += "-ES"; } caracterizacao.ResponsaveisTecnicos.Add(responsavel); } reader.Close(); } #endregion } return(caracterizacao); }
private UnidadeConsolidacao Obter(int id, BancoDeDados banco = null, bool simplificado = false) { UnidadeConsolidacao caracterizacao = new UnidadeConsolidacao(); using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco)) { #region Unidade de Produção Comando comando = bancoDeDados.CriarComando(@" select c.id,c.possui_codigo_uc, c.codigo_uc, c.local_livro_disponivel, c.tipo_apresentacao_produto, c.tid, c.empreendimento, e.codigo empreendimento_codigo from {0}crt_unidade_consolidacao c, {0}tab_empreendimento e where c.empreendimento = e.id and c.id = :id" , EsquemaBanco); comando.AdicionarParametroEntrada("id", id, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { if (reader.Read()) { caracterizacao.Id = reader.GetValue <int>("id"); caracterizacao.Empreendimento.Id = reader.GetValue <int>("empreendimento"); caracterizacao.Empreendimento.Codigo = reader.GetValue <int>("empreendimento_codigo"); caracterizacao.PossuiCodigoUC = reader.GetValue <bool>("possui_codigo_uc"); caracterizacao.CodigoUC = reader.GetValue <long>("codigo_uc"); caracterizacao.LocalLivroDisponivel = reader.GetValue <string>("local_livro_disponivel"); caracterizacao.TipoApresentacaoProducaoFormaIdentificacao = reader.GetValue <string>("tipo_apresentacao_produto"); caracterizacao.Tid = reader.GetValue <string>("tid"); } reader.Close(); } #endregion if (simplificado) { return(caracterizacao); } #region Cultivares comando = bancoDeDados.CriarComando(@" select c.id, c.tid, c.unidade_consolidacao, c.capacidade_mes, c.unidade_medida, lu.texto unidade_medida_texto, c.cultivar, cc.cultivar cultivar_nome, c.cultura, tc.texto cultura_texto from crt_unidade_cons_cultivar c, tab_cultura tc, tab_cultura_cultivar cc, lov_crt_un_conso_un_medida lu where tc.id = c.cultura and cc.id(+) = c.cultivar and lu.id = c.unidade_medida and c.unidade_consolidacao = :unidade" , EsquemaBanco); comando.AdicionarParametroEntrada("unidade", id, DbType.Int32); Cultivar cultivar = null; using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { while (reader.Read()) { cultivar = new Cultivar(); cultivar.CapacidadeMes = reader.GetValue <decimal>("capacidade_mes"); cultivar.Id = reader.GetValue <int>("cultivar"); cultivar.IdRelacionamento = reader.GetValue <int>("id"); cultivar.Nome = reader.GetValue <string>("cultivar_nome"); cultivar.Tid = reader.GetValue <string>("tid"); cultivar.UnidadeMedida = reader.GetValue <int>("unidade_medida"); cultivar.UnidadeMedidaTexto = reader.GetValue <string>("unidade_medida_texto"); cultivar.CulturaId = reader.GetValue <int>("cultura"); cultivar.CulturaTexto = reader.GetValue <string>("cultura_texto"); caracterizacao.Cultivares.Add(cultivar); } reader.Close(); } #endregion #region Responsáveis Técnicos comando = bancoDeDados.CriarComando(@" select c.id, c.unidade_consolidacao, c.responsavel_tecnico, c.numero_hab_cfo_cfoc, c.numero_art, c.art_cargo_funcao, c.data_validade_art, c.tid, nvl(tp.nome, tp.razao_social) nome_razao, nvl(tp.cpf, tp.cnpj) cpf_cnpj, pf.texto profissao, oc.orgao_sigla, pp.registro, (select h.extensao_habilitacao from tab_hab_emi_cfo_cfoc h where h.responsavel = c.responsavel_tecnico) extensao_habilitacao from {0}crt_unida_conso_resp_tec c, {0}tab_credenciado tc, {1}tab_pessoa tp, {1}tab_pessoa_profissao pp, {0}tab_profissao pf, {0}tab_orgao_classe oc where tc.id = c.responsavel_tecnico and tp.id = tc.pessoa and pp.pessoa(+) = tp.id and pf.id(+) = pp.profissao and oc.id(+) = pp.orgao_classe and c.unidade_consolidacao = :unidade" , EsquemaBanco, EsquemaCredenciadoBanco); comando.AdicionarParametroEntrada("unidade", id, DbType.Int32); ResponsavelTecnico responsavel = null; using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { while (reader.Read()) { responsavel = new ResponsavelTecnico(); responsavel.IdRelacionamento = reader.GetValue <int>("id"); responsavel.Id = reader.GetValue <int>("responsavel_tecnico"); responsavel.NomeRazao = reader.GetValue <string>("nome_razao"); responsavel.CpfCnpj = reader.GetValue <string>("cpf_cnpj"); responsavel.CFONumero = reader.GetValue <string>("numero_hab_cfo_cfoc"); responsavel.NumeroArt = reader.GetValue <string>("numero_art"); responsavel.ArtCargoFuncao = reader.GetValue <bool>("art_cargo_funcao"); responsavel.ProfissaoTexto = reader.GetValue <string>("profissao"); responsavel.OrgaoClasseSigla = reader.GetValue <string>("orgao_sigla"); responsavel.NumeroRegistro = reader.GetValue <string>("registro"); responsavel.DataValidadeART = reader.GetValue <string>("data_validade_art"); if (!string.IsNullOrEmpty(responsavel.DataValidadeART)) { responsavel.DataValidadeART = Convert.ToDateTime(responsavel.DataValidadeART).ToShortDateString(); } if (Convert.ToBoolean(reader.GetValue <int>("extensao_habilitacao"))) { responsavel.CFONumero += "-ES"; } caracterizacao.ResponsaveisTecnicos.Add(responsavel); } reader.Close(); } #endregion } return(caracterizacao); }
private void Editar(UnidadeConsolidacao unidadeConsolidacao, BancoDeDados banco = null) { using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco)) { bancoDeDados.IniciarTransacao(); Comando comando = bancoDeDados.CriarComando(@"update {0}crt_unidade_consolidacao set codigo_uc = :codigo_uc, local_livro_disponivel = :local_livro_disponivel, tipo_apresentacao_produto = :tipo_apresentacao_produto, tid = :tid where id = :id" , EsquemaBanco); comando.AdicionarParametroEntrada("id", unidadeConsolidacao.Id, DbType.Int32); comando.AdicionarParametroEntrada("codigo_uc", unidadeConsolidacao.CodigoUC, DbType.Int64); comando.AdicionarParametroEntrada("local_livro_disponivel", DbType.String, 100, unidadeConsolidacao.LocalLivroDisponivel); comando.AdicionarParametroEntrada("tipo_apresentacao_produto", DbType.String, 250, unidadeConsolidacao.TipoApresentacaoProducaoFormaIdentificacao); comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual()); bancoDeDados.ExecutarNonQuery(comando); #region Apagando dados //Responsáveis técnicos comando = bancoDeDados.CriarComando(@"delete from crt_unida_conso_resp_tec ", EsquemaBanco); comando.DbCommand.CommandText += String.Format("where unidade_consolidacao = :unidade_consolidacao {0}", comando.AdicionarNotIn("and", "id", DbType.Int32, unidadeConsolidacao.ResponsaveisTecnicos.Select(x => x.IdRelacionamento).ToList())); comando.AdicionarParametroEntrada("unidade_consolidacao", unidadeConsolidacao.Id, DbType.Int32); bancoDeDados.ExecutarNonQuery(comando); //Cultivares comando = bancoDeDados.CriarComando(@"delete from crt_unidade_cons_cultivar c", EsquemaBanco); comando.DbCommand.CommandText += String.Format(" where c.unidade_consolidacao = :unidade_consolidacao {0}", comando.AdicionarNotIn("and", "c.id", DbType.Int32, unidadeConsolidacao.Cultivares.Select(x => x.IdRelacionamento).ToList())); comando.AdicionarParametroEntrada("unidade_consolidacao", unidadeConsolidacao.Id, DbType.Int32); bancoDeDados.ExecutarNonQuery(comando); #endregion #region Cultivares unidadeConsolidacao.Cultivares.ForEach(x => { if (x.IdRelacionamento > 0) { comando = bancoDeDados.CriarComando(@" update crt_unidade_cons_cultivar set cultivar = :cultivar, capacidade_mes = :capacidade_mes, cultura =:cultura, unidade_medida = :unidade_medida, tid = :tid where id = :id_rel" , EsquemaBanco); comando.AdicionarParametroEntrada("id_rel", x.IdRelacionamento, DbType.Int32); } else { comando = bancoDeDados.CriarComando(@" insert into crt_unidade_cons_cultivar (id, unidade_consolidacao, cultivar, capacidade_mes, unidade_medida, tid, cultura) values (seq_crt_unidade_cons_cultivar.nextval, :unidade_consolidacao, :cultivar, :capacidade_mes, :unidade_medida, :tid, :cultura)" , EsquemaBanco); comando.AdicionarParametroEntrada("unidade_consolidacao", unidadeConsolidacao.Id, DbType.Int32); } comando.AdicionarParametroEntrada("cultivar", x.Id < 1 ? (object)DBNull.Value : x.Id, DbType.Int32); comando.AdicionarParametroEntrada("capacidade_mes", x.CapacidadeMes, DbType.Decimal); comando.AdicionarParametroEntrada("unidade_medida", x.UnidadeMedida, DbType.Int32); comando.AdicionarParametroEntrada("cultura", x.CulturaId, DbType.Int32); comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual()); bancoDeDados.ExecutarNonQuery(comando); }); #endregion #region Responsáveis Técnicos unidadeConsolidacao.ResponsaveisTecnicos.ForEach(x => { if (x.IdRelacionamento > 0) { comando = bancoDeDados.CriarComando(@" update crt_unida_conso_resp_tec set responsavel_tecnico =:responsavel_tecnico, numero_hab_cfo_cfoc =:numero_hab_cfo_cfoc, numero_art = :numero_art, art_cargo_funcao = :art_cargo_funcao, data_validade_art = :data_validade_art, tid = :tid where id = :id_rel" , EsquemaBanco); comando.AdicionarParametroEntrada("id_rel", x.IdRelacionamento, DbType.Int32); } else { comando = bancoDeDados.CriarComando(@" insert into crt_unida_conso_resp_tec (id, unidade_consolidacao, responsavel_tecnico, numero_hab_cfo_cfoc, numero_art, art_cargo_funcao, data_validade_art, tid) values (seq_crt_unida_conso_resp_tec.nextval, :unidade_consolidacao, :responsavel_tecnico, :numero_hab_cfo_cfoc, :numero_art, :art_cargo_funcao, :data_validade_art, :tid)" , EsquemaBanco); comando.AdicionarParametroEntrada("unidade_consolidacao", unidadeConsolidacao.Id, DbType.Int32); } comando.AdicionarParametroEntrada("responsavel_tecnico", x.Id, DbType.Int32); comando.AdicionarParametroEntrada("numero_hab_cfo_cfoc", x.CFONumero, DbType.String); comando.AdicionarParametroEntrada("numero_art", x.NumeroArt, DbType.String); comando.AdicionarParametroEntrada("art_cargo_funcao", x.ArtCargoFuncao, DbType.Int32); comando.AdicionarParametroEntrada("data_validade_art", x.DataValidadeART, DbType.String); comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual()); bancoDeDados.ExecutarNonQuery(comando); }); #endregion Historico.Gerar(unidadeConsolidacao.Id, eHistoricoArtefatoCaracterizacao.unidadeconsolidacao, eHistoricoAcao.atualizar, bancoDeDados, null); bancoDeDados.Commit(); } }
private void Criar(UnidadeConsolidacao unidadeConsolidacao, BancoDeDados banco = null) { using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco)) { bancoDeDados.IniciarTransacao(); Comando comando = bancoDeDados.CriarComando(@" insert into {0}crt_unidade_consolidacao (id, empreendimento, possui_codigo_uc, codigo_uc, local_livro_disponivel, tipo_apresentacao_produto, tid) values (seq_crt_unidade_consolidacao.nextval, :empreendimento,:possui_codigo_uc, :codigo_uc, :local_livro_disponivel, :tipo_apresentacao_produto, :tid) returning id into :id" , EsquemaBanco); comando.AdicionarParametroEntrada("possui_codigo_uc", unidadeConsolidacao.PossuiCodigoUC, DbType.Int32); comando.AdicionarParametroEntrada("codigo_uc", unidadeConsolidacao.CodigoUC, DbType.Int64); comando.AdicionarParametroEntrada("empreendimento", unidadeConsolidacao.Empreendimento.Id, DbType.Int32); comando.AdicionarParametroEntrada("local_livro_disponivel", DbType.String, 100, unidadeConsolidacao.LocalLivroDisponivel); comando.AdicionarParametroEntrada("tipo_apresentacao_produto", DbType.String, 250, unidadeConsolidacao.TipoApresentacaoProducaoFormaIdentificacao); comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual()); comando.AdicionarParametroSaida("id", DbType.Int32); bancoDeDados.ExecutarNonQuery(comando); unidadeConsolidacao.Id = comando.ObterValorParametro <int>("id"); #region Cultivares comando = bancoDeDados.CriarComando(@" insert into crt_unidade_cons_cultivar (id, unidade_consolidacao, cultivar, capacidade_mes, unidade_medida, tid, cultura) values (seq_crt_unidade_cons_cultivar.nextval, :unidade_consolidacao, :cultivar, :capacidade_mes, :unidade_medida, :tid, :cultura)" , EsquemaBanco); comando.AdicionarParametroEntrada("unidade_consolidacao", unidadeConsolidacao.Id, DbType.Int32); comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual()); comando.AdicionarParametroEntrada("cultivar", DbType.Int32); comando.AdicionarParametroEntrada("capacidade_mes", DbType.Decimal); comando.AdicionarParametroEntrada("unidade_medida", DbType.Int32); comando.AdicionarParametroEntrada("cultura", DbType.Int32); unidadeConsolidacao.Cultivares.ForEach(x => { comando.SetarValorParametro("cultivar", x.Id < 1 ? (object)DBNull.Value : x.Id); comando.SetarValorParametro("capacidade_mes", x.CapacidadeMes); comando.SetarValorParametro("unidade_medida", x.UnidadeMedida); comando.SetarValorParametro("cultura", x.CulturaId); bancoDeDados.ExecutarNonQuery(comando); }); #endregion #region Responsáveis Técnicos comando = bancoDeDados.CriarComando(@" insert into crt_unida_conso_resp_tec (id, unidade_consolidacao, responsavel_tecnico, numero_hab_cfo_cfoc, numero_art, art_cargo_funcao, data_validade_art, tid) values (seq_crt_unida_conso_resp_tec.nextval, :unidade_consolidacao, :responsavel_tecnico, :numero_hab_cfo_cfoc, :numero_art, :art_cargo_funcao, :data_validade_art, :tid)" , EsquemaBanco); comando.AdicionarParametroEntrada("unidade_consolidacao", unidadeConsolidacao.Id, DbType.Int32); comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual()); comando.AdicionarParametroEntrada("responsavel_tecnico", DbType.Int32); comando.AdicionarParametroEntrada("numero_hab_cfo_cfoc", DbType.String); comando.AdicionarParametroEntrada("numero_art", DbType.String); comando.AdicionarParametroEntrada("art_cargo_funcao", DbType.Int32); comando.AdicionarParametroEntrada("data_validade_art", DbType.String); unidadeConsolidacao.ResponsaveisTecnicos.ForEach(x => { comando.SetarValorParametro("responsavel_tecnico", x.Id); comando.SetarValorParametro("numero_hab_cfo_cfoc", x.CFONumero); comando.SetarValorParametro("numero_art", x.NumeroArt); comando.SetarValorParametro("art_cargo_funcao", x.ArtCargoFuncao); comando.SetarValorParametro("data_validade_art", x.DataValidadeART); bancoDeDados.ExecutarNonQuery(comando); }); #endregion Historico.Gerar(unidadeConsolidacao.Id, eHistoricoArtefatoCaracterizacao.unidadeconsolidacao, eHistoricoAcao.criar, bancoDeDados, null); bancoDeDados.Commit(); } }
public UnidadeConsolidacaoPDF(UnidadeConsolidacao unidade, List <PessoaLst> responsaveisEmp) { unidade = unidade ?? new UnidadeConsolidacao(); CodigoUC = unidade.CodigoUC.ToString(); ResponsaveisEmpreendimento = responsaveisEmp; //Cultivares foreach (var item in unidade.Cultivares) { Cultivares.Add(new CultivarPDF() { Nome = item.Nome, Cultura = item.CulturaTexto, Unidade = item.UnidadeMedidaTexto, Capacidade = item.CapacidadeMes.ToStringTrunc(4) }); } //ResponsaveisTecnicos List <ResponsavelPDF> responsaveis = new List <ResponsavelPDF>(); string dadosCompletos = string.Empty; foreach (var responsavel in unidade.ResponsaveisTecnicos) { dadosCompletos = responsavel.NomeRazao; if (!string.IsNullOrEmpty(responsavel.ProfissaoTexto)) { dadosCompletos += ", " + responsavel.ProfissaoTexto; } if (!string.IsNullOrEmpty(responsavel.OrgaoClasseSigla)) { dadosCompletos += ", " + responsavel.OrgaoClasseSigla; } if (!string.IsNullOrEmpty(responsavel.NumeroRegistro)) { dadosCompletos += " " + responsavel.NumeroRegistro; } if (!responsaveis.Exists(x => x.CPFCNPJ == responsavel.CpfCnpj)) { ResponsaveisTecnicos.Add(new ResponsavelPDF() { CPFCNPJ = responsavel.CpfCnpj, NomeRazaoSocial = responsavel.NomeRazao, CFONumero = responsavel.CFONumero, Profissao = responsavel.ProfissaoTexto, OrgaoClasseSigla = responsavel.OrgaoClasseSigla, NumeroRegistro = responsavel.NumeroRegistro, DadosCompletos = dadosCompletos }); } } ResponsaveisTecnicosStragg = EntitiesBus.Concatenar(ResponsaveisTecnicos.Select(x => x.DadosCompletos.Trim()).ToList()); ResponsaveisTecnicosCFONumeroStragg = EntitiesBus.Concatenar(ResponsaveisTecnicos.Select(x => x.CFONumero.Trim()).ToList()); if (ResponsaveisTecnicos.Count > 1) { ResponsaveisTecnicosCFONumeroStragg += " respectivamente"; } }