public bool PodeCopiar(int empInternoID, BancoDeDados banco = null) { CredenciadoPessoa credenciado = _busCaracterizacao.ObterCredenciado(User.FuncionarioId, true); UnidadeConsolidacaoInternoBus unidadeConsolidacaoInternoBus = new UnidadeConsolidacaoInternoBus(); UnidadeConsolidacao caracterizacao = unidadeConsolidacaoInternoBus.ObterPorEmpreendimento(empInternoID); return(caracterizacao.ResponsaveisTecnicos.Any(x => x.CpfCnpj == credenciado.Pessoa.CPFCNPJ)); }
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 bool Salvar(UnidadeConsolidacao unidade) { try { if (!_validar.Salvar(unidade)) { return(Validacao.EhValido); } EmpreendimentoCaracterizacao empreendimento = _busCaracterizacao.ObterEmpreendimentoSimplificado(unidade.Empreendimento.Id); UnidadeConsolidacaoInternoBus internoBus = new UnidadeConsolidacaoInternoBus(); UnidadeConsolidacao caracterizacaoInterno = internoBus.ObterPorEmpreendimento(empreendimento.InternoID, true); if (caracterizacaoInterno.Id > 0) { unidade.PossuiCodigoUC = caracterizacaoInterno.PossuiCodigoUC; unidade.CodigoUC = caracterizacaoInterno.CodigoUC; } else { if (!unidade.PossuiCodigoUC) { if (unidade.Id < 1) { int codigo = _da.ObterSequenciaCodigoUC(); unidade.CodigoUC = Convert.ToInt64(empreendimento.MunicipioIBGE.ToString() + codigo.ToString("D4")); } else { unidade.CodigoUC = ObterPorEmpreendimento(unidade.Empreendimento.Id, simplificado: true).CodigoUC; } } else if (_da.FoiCopiada(unidade.Id)) { unidade.CodigoUC = ObterPorEmpreendimento(unidade.Empreendimento.Id, simplificado: true).CodigoUC; } } foreach (var aux in unidade.ResponsaveisTecnicos) { aux.CFONumero = aux.CFONumero.Split('-').GetValue(0).ToString(); } GerenciadorTransacao.ObterIDAtual(); using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(UsuarioCredenciado)) { bancoDeDados.IniciarTransacao(); _da.Salvar(unidade, bancoDeDados); Validacao.Add(Mensagem.UnidadeConsolidacao.UnidadeConsolidacaoSalvaSucesso); bancoDeDados.Commit(); } } catch (Exception e) { Validacao.AddErro(e); } return(Validacao.EhValido); }