internal PecaTecnica Obter(int id, BancoDeDados banco = null, string tid = null, bool simplificado = false) { PecaTecnica pecaTecnica = new PecaTecnica(); using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco)) { if (String.IsNullOrWhiteSpace(tid)) { pecaTecnica = Obter(id, bancoDeDados, simplificado); } else { Comando comando = bancoDeDados.CriarComando(@"select count(r.id) existe from {0}tab_peca_tecnica r where r.id = :id and r.tid = :tid", EsquemaBanco); comando.AdicionarParametroEntrada("id", id, DbType.Int32); comando.AdicionarParametroEntrada("tid", DbType.String, 36, tid); if (Convert.ToBoolean(bancoDeDados.ExecutarScalar(comando))) { pecaTecnica = Obter(id, bancoDeDados, simplificado); } else { pecaTecnica = ObterHistorico(id, bancoDeDados, tid, simplificado); } } } return(pecaTecnica); }
public PecaTecnicaVM(PecaTecnica pecaTecnica) { PecaTecnica = pecaTecnica; Elaboradores = new List <SelectListItem>() { new SelectListItem() { Text = " *** Selecione *** ", Value = "0" } }; Setores = new List <SelectListItem>() { new SelectListItem() { Text = " *** Selecione *** ", Value = "0" } }; RespEmpreendimento = new List <SelectListItem>() { new SelectListItem() { Text = " *** Selecione *** ", Value = "0" } }; }
public int Salvar(PecaTecnica pecaTecnica) { try { if (_validar.Salvar(pecaTecnica)) { GerenciadorTransacao.ObterIDAtual(); using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia()) { bancoDeDados.IniciarTransacao(); int id = _da.Salvar(pecaTecnica, bancoDeDados); bancoDeDados.Commit(); Validacao.Add(Mensagem.AnaliseItem.PecaTecnicaSalvaComSucesso); return(id); } } } catch (Exception exc) { Validacao.AddErro(exc); } return(0); }
public bool Salvar(PecaTecnica pecaTecnica) { if (pecaTecnica.Elaborador <= 0) { Validacao.Add(Mensagem.AnaliseItem.PecaTecnicaElaboradorObrigatorio); } if (pecaTecnica.Atividade <= 0) { Validacao.Add(Mensagem.AnaliseItem.PecaTecnicaAtividadeObrigatorio); } if (pecaTecnica.ResponsaveisEmpreendimento.Count <= 0) { Validacao.Add(Mensagem.AnaliseItem.PecaTecnicaRespEmpreendimentoObrigatorio); } if (pecaTecnica.ElaboradorTipoEnum == eElaboradorTipo.TecnicoIdaf && pecaTecnica.SetorCadastro <= 0) { Validacao.Add(Mensagem.AnaliseItem.PecaTecnicaSetorObrigatorio); } if (!Validacao.EhValido) { return(false); } IProtocolo protocolo = _busProtocolo.ObterSimplificado(pecaTecnica.Protocolo.Id.GetValueOrDefault()); if (protocolo.Empreendimento.Id <= 0) { Validacao.Add(Mensagem.AnaliseItem.PecaTecnicaNaoPossuiEmpreendimento); return(false); } List <Requerimento> requerimentos = _busProtocolo.ObterProtocoloRequerimentos(pecaTecnica.ProtocoloPai.GetValueOrDefault()); if (!requerimentos.Exists(x => x.ProtocoloId == pecaTecnica.Protocolo.Id)) { Validacao.Add(Mensagem.AnaliseItem.PecaTecnicaRequerimentoNaoAssociado); return(false); } ProjetoGeograficoBus busProjetoGeo = new ProjetoGeograficoBus(); int projetoGeoId = busProjetoGeo.ExisteProjetoGeografico(pecaTecnica.Protocolo.Empreendimento.Id, (int)eCaracterizacao.Dominialidade); if (busProjetoGeo.ObterSitacaoProjetoGeografico(projetoGeoId) != (int)eProjetoGeograficoSituacao.Finalizado) { Validacao.Add(Mensagem.AnaliseItem.PecaTecnicaProjetoDeveSerFinalizado); } return(Validacao.EhValido); }
public PecaTecnica ObterSimplificado(int id, string tid = null, BancoDeDados banco = null) { PecaTecnica pecaTecnica = null; try { pecaTecnica = _da.Obter(id, banco, tid, true); } catch (Exception exc) { Validacao.AddErro(exc); } return(pecaTecnica); }
public ActionResult ObterPecaTecnicaConteudo(int id, int protocoloId) { int pecaTecnicaId = _busPecaTecnica.ExistePecaTecnica(id, protocoloId); PecaTecnica pecaTecnica = pecaTecnicaId > 0 ? _busPecaTecnica.Obter(pecaTecnicaId) : new PecaTecnica(); PecaTecnicaVM vm = new PecaTecnicaVM(pecaTecnica); List <int> tiposDestinatario = new List <int>() { (int)eEmpreendimentoResponsavelTipo.Proprietario, (int)eEmpreendimentoResponsavelTipo.Socio, (int)eEmpreendimentoResponsavelTipo.Herdeiro, (int)eEmpreendimentoResponsavelTipo.Posseiro }; vm.PecaTecnica.Protocolo = _protocoloBus.ObterSimplificado(protocoloId); if (pecaTecnicaId > 0) { List <PessoaLst> responsaveisTecnicos; if (vm.PecaTecnica.ElaboradorTipoEnum == eElaboradorTipo.TecnicoIdaf) { vm.Setores = ViewModelHelper.CriarSelectList(_busFuncionario.ObterSetoresFuncionario()); EtramiteIdentity func = User.Identity as EtramiteIdentity ?? new EtramiteIdentity("", "", "", null, "", 0, 0, "", "", 0, 0); responsaveisTecnicos = new List <PessoaLst>(); responsaveisTecnicos.Add(new PessoaLst() { Texto = func.Name, Id = func.UsuarioId }); } else { responsaveisTecnicos = _protocoloBus.ObterResponsaveisTecnicos(vm.PecaTecnica.Protocolo.Id.GetValueOrDefault()); } vm.Elaboradores = ViewModelHelper.CriarSelectList(responsaveisTecnicos, itemTextoPadrao: responsaveisTecnicos.Count != 1); } List <PessoaLst> responsaveis = _busEmpreendimento.ObterResponsaveis(vm.PecaTecnica.Protocolo.Empreendimento.Id).Where(x => tiposDestinatario.Contains(x.VinculoTipo)).ToList(); vm.RespEmpreendimento = ViewModelHelper.CriarSelectList <PessoaLst>(responsaveis, itemTextoPadrao: responsaveis.Count != 1); string html = ViewModelHelper.RenderPartialViewToString(ControllerContext, "PecaTecnicaConteudo", vm); return(Json(new { EhValido = true, Msg = Validacao.Erros, html = html })); }
public int Salvar(PecaTecnica pecaTecnica, BancoDeDados banco = null) { if (pecaTecnica == null) { throw new Exception("Peça Técnica é nula."); } if (!pecaTecnica.Id.HasValue || pecaTecnica.Id <= 0) { return(Criar(pecaTecnica, banco).GetValueOrDefault()); } else { Editar(pecaTecnica, banco); return(pecaTecnica.Id.GetValueOrDefault()); } }
public ActionResult ObterPecaTecnicaRequerimentos(string numero) { PecaTecnica pecaTecnica = _busPecaTecnica.VerificarProtocolo(numero); pecaTecnica.ProtocoloPai = pecaTecnica.Protocolo.Id; PecaTecnicaVM vm = new PecaTecnicaVM(pecaTecnica); vm.Requerimentos = _protocoloBus.ObterProtocoloRequerimentos(pecaTecnica.Protocolo.Id.GetValueOrDefault()); return(Json(new { @IsProcesso = pecaTecnica.Protocolo.IsProcesso, @ProtocoloId = pecaTecnica.Protocolo.Id, @Html = ViewModelHelper.RenderPartialViewToString(ControllerContext, "PecaTecnicaRequerimentos", vm), Msg = Validacao.Erros, EhValido = Validacao.EhValido }, JsonRequestBehavior.AllowGet)); }
public PecaTecnica VerificarProtocolo(string numero) { PecaTecnica pecaTecnica = new PecaTecnica(); ProtocoloNumero protocolo = _busProtocolo.ObterProtocolo(numero) ?? new ProtocoloNumero(); pecaTecnica.Protocolo = new Protocolo(protocolo); try { if (_validar.VerificarProtocolo(protocolo)) { pecaTecnica.Protocolo.Id = protocolo.Id; } } catch (Exception exc) { Validacao.AddErro(exc); } return(pecaTecnica); }
internal int?Criar(PecaTecnica pecaTecnica, BancoDeDados banco = null) { using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco)) { bancoDeDados.IniciarTransacao(); #region Dados Principais Comando comando = null; if (pecaTecnica.ElaboradorTipo == (int)eElaboradorTipo.TecnicoIdaf) { comando = bancoDeDados.CriarComando(@"insert into {0}tab_peca_tecnica t (id, protocolo, atividade, elaborador_tipo, elaborador_tecnico, setor_cadastro, tid) values ({0}seq_peca_tecnica.nextval, :protocolo, :atividade, :elaborador_tipo, :elaborador, :setor_cadastro, :tid) returning t.id into :id" , EsquemaBanco); } else { comando = bancoDeDados.CriarComando(@"insert into {0}tab_peca_tecnica t (id, protocolo, atividade, elaborador_tipo, elaborador_pessoa, setor_cadastro, tid) values ({0}seq_peca_tecnica.nextval, :protocolo, :atividade, :elaborador_tipo, :elaborador, :setor_cadastro, :tid) returning t.id into :id" , EsquemaBanco); } comando.AdicionarParametroEntrada("protocolo", pecaTecnica.Protocolo.Id, DbType.Int32); comando.AdicionarParametroEntrada("atividade", pecaTecnica.Atividade, DbType.Int32); comando.AdicionarParametroEntrada("elaborador_tipo", pecaTecnica.ElaboradorTipo, DbType.Int32); comando.AdicionarParametroEntrada("elaborador", pecaTecnica.Elaborador, DbType.Int32); comando.AdicionarParametroEntrada("setor_cadastro", pecaTecnica.SetorCadastro, DbType.Int32); comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual()); comando.AdicionarParametroSaida("id", DbType.Int32); bancoDeDados.ExecutarNonQuery(comando); pecaTecnica.Id = Convert.ToInt32(comando.ObterValorParametro("id")); #endregion #region Responsaveis/Destinatarios if (pecaTecnica.ResponsaveisEmpreendimento != null && pecaTecnica.ResponsaveisEmpreendimento.Count > 0) { foreach (Responsavel item in pecaTecnica.ResponsaveisEmpreendimento) { comando = bancoDeDados.CriarComando(@"insert into {0}tab_peca_tecnica_dest (id, peca_tecnica, destinatario, tid) values ({0}seq_peca_tecnica_dest.nextval, :peca_tecnica, :destinatario, :tid)" , EsquemaBanco); comando.AdicionarParametroEntrada("peca_tecnica", pecaTecnica.Id, DbType.Int32); comando.AdicionarParametroEntrada("destinatario", item.Id, DbType.Int32); comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual()); bancoDeDados.ExecutarNonQuery(comando); } } #endregion #region Histórico/Consulta/Posse Historico.Gerar(pecaTecnica.Id.Value, eHistoricoArtefato.pecatecnica, eHistoricoAcao.criar, bancoDeDados); #endregion bancoDeDados.Commit(); return(pecaTecnica.Id); } }
internal PecaTecnica ObterHistorico(int id, BancoDeDados banco = null, string tid = null, bool simplificado = false) { PecaTecnica pecaTecnica = new PecaTecnica(); int hst = 0; using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco)) { #region Dados Principais Comando comando = bancoDeDados.CriarComando(@"select t.protocolo_id, t.atividade_id, t.elaborador_tipo_id, t.elaborador_tipo_id, t.setor_cadastro_id, t.tid from {0}hst_peca_tecnica t where t.peca_tecnica_id = :id and t.tid = :tid" , EsquemaBanco); comando.AdicionarParametroEntrada("id", id, DbType.Int32); comando.AdicionarParametroEntrada("tid", DbType.String, 36, tid); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { if (reader.Read()) { hst = Convert.ToInt32(reader["id"]); pecaTecnica.Id = id; pecaTecnica.Tid = reader["tid"].ToString(); if (reader["protocolo_id"] != null && !Convert.IsDBNull(reader["protocolo_id"])) { pecaTecnica.Protocolo.Id = Convert.ToInt32(reader["protocolo_id"]); } if (reader["atividade_id"] != null && !Convert.IsDBNull(reader["atividade_id"])) { pecaTecnica.Atividade = Convert.ToInt32(reader["atividade_id"]); } if (reader["elaborador_tipo_id"] != null && !Convert.IsDBNull(reader["elaborador_tipo_id"])) { pecaTecnica.ElaboradorTipo = Convert.ToInt32(reader["elaborador_tipo_id"]); } if (reader["elaborador_id"] != null && !Convert.IsDBNull(reader["elaborador_id"])) { pecaTecnica.Elaborador = Convert.ToInt32(reader["elaborador_id"]); } if (reader["setor_cadastro_id"] != null && !Convert.IsDBNull(reader["setor_cadastro_id"])) { pecaTecnica.SetorCadastro = Convert.ToInt32(reader["setor_cadastro_id"]); } } reader.Close(); } if (pecaTecnica.Id <= 0 || simplificado) { return(pecaTecnica); } #endregion #region Responsaveis/Destinatarios comando = bancoDeDados.CriarComando(@"select p.pessoa_id destinatario_id, nvl(p.nome, p.razao_social) destinatario_nome_razao from {0}hst_peca_tecnica_dest pr, {0}hst_pessoa p where pr.peca_tecnica_id = :peca_tecnica and pr.id_hst = :id_hst and p.tid = pr.destinatario_tid and pr.destinatario_id = p.pessoa_id" , EsquemaBanco); comando.AdicionarParametroEntrada("peca_tecnica", pecaTecnica.Id, DbType.Int32); comando.AdicionarParametroEntrada("id_hst", hst, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { while (reader.Read()) { Responsavel responsavel = new Responsavel(); responsavel.Id = reader.GetValue <Int32>("destinatario_id"); responsavel.NomeRazao = reader.GetValue <String>("destinatario_nome_razao"); pecaTecnica.ResponsaveisEmpreendimento.Add(responsavel); } reader.Close(); } #endregion } return(pecaTecnica); }
internal void Editar(PecaTecnica pecaTecnica, BancoDeDados banco = null) { using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco)) { bancoDeDados.IniciarTransacao(); Comando comando = null; #region Limpar os dados do banco comando = bancoDeDados.CriarComando(@"delete from {0}tab_peca_tecnica_dest p where p.peca_tecnica = :peca_tecnica ", EsquemaBanco); comando.AdicionarParametroEntrada("peca_tecnica", pecaTecnica.Id, DbType.Int32); bancoDeDados.ExecutarNonQuery(comando); #endregion #region Dados Principais if (pecaTecnica.ElaboradorTipo == (int)eElaboradorTipo.TecnicoIdaf) { comando = bancoDeDados.CriarComando(@"update {0}tab_peca_tecnica t set t.protocolo = :protocolo, t.atividade = :atividade, t.elaborador_tipo = :elaborador_tipo, t.elaborador_pessoa = null, t.elaborador_tecnico = :elaborador, t.setor_cadastro = :setor_cadastro, t.tid = :tid where t.id = :id" , EsquemaBanco); } else { comando = bancoDeDados.CriarComando(@"update {0}tab_peca_tecnica t set t.protocolo = :protocolo, t.atividade = :atividade, t.elaborador_tipo = :elaborador_tipo, t.elaborador_pessoa = :elaborador, t.elaborador_tecnico = null, t.setor_cadastro = :setor_cadastro, t.tid = :tid where t.id = :id" , EsquemaBanco); } comando.AdicionarParametroEntrada("id", pecaTecnica.Id, DbType.Int32); comando.AdicionarParametroEntrada("protocolo", pecaTecnica.Protocolo.Id, DbType.Int32); comando.AdicionarParametroEntrada("atividade", pecaTecnica.Atividade, DbType.Int32); comando.AdicionarParametroEntrada("elaborador_tipo", pecaTecnica.ElaboradorTipo, DbType.Int32); comando.AdicionarParametroEntrada("elaborador", pecaTecnica.Elaborador, DbType.Int32); comando.AdicionarParametroEntrada("setor_cadastro", pecaTecnica.SetorCadastro, DbType.Int32); comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual()); bancoDeDados.ExecutarNonQuery(comando); #endregion if (pecaTecnica.ResponsaveisEmpreendimento != null && pecaTecnica.ResponsaveisEmpreendimento.Count > 0) { foreach (Responsavel item in pecaTecnica.ResponsaveisEmpreendimento) { comando = bancoDeDados.CriarComando(@"insert into {0}tab_peca_tecnica_dest (id, peca_tecnica, destinatario, tid) values ({0}seq_peca_tecnica_dest.nextval, :peca_tecnica, :destinatario, :tid)" , EsquemaBanco); comando.AdicionarParametroEntrada("peca_tecnica", pecaTecnica.Id, DbType.Int32); comando.AdicionarParametroEntrada("destinatario", item.Id, DbType.Int32); comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual()); bancoDeDados.ExecutarNonQuery(comando); } } #region Histórico Historico.Gerar(pecaTecnica.Id.Value, eHistoricoArtefato.pecatecnica, eHistoricoAcao.atualizar, bancoDeDados); #endregion bancoDeDados.Commit(); } }
public ActionResult SalvarPecaTecnica(PecaTecnica pecaTecnica) { int pecaTecnicaId = _busPecaTecnica.Salvar(pecaTecnica); return(Json(new { @EhValido = Validacao.EhValido, @Msg = Validacao.Erros, @Id = pecaTecnicaId })); }