Ejemplo n.º 1
0
        /// <summary>
        /// Verifica se j� existe um tema com o mesmo nome.
        /// </summary>
        /// <param name="tep_id">ID do tema.</param>
        /// <param name="tep_nome">Nome do tema.</param>
        /// <returns></returns>
        public static bool VerificaExistePorNome(int tep_id, string tep_nome, TalkDBTransaction banco = null)
        {
            TalkDBTransaction bancoCore = banco == null ? new CFG_TemaPadraoDAO()._Banco.CopyThisInstance() : banco;

            if (banco == null || (!bancoCore.ConnectionIsOpen))
            {
                bancoCore.Open(IsolationLevel.ReadCommitted);
            }

            try
            {
                return(new CFG_TemaPadraoDAO {
                    _Banco = bancoCore
                }.VerificaExistePorNome(tep_id, tep_nome));
            }
            catch (Exception ex)
            {
                if (banco == null)
                {
                    bancoCore.Close(ex);
                }

                throw;
            }
            finally
            {
                if (banco == null && bancoCore.ConnectionIsOpen)
                {
                    bancoCore.Close();
                }
            }
        }
 public static void Save(List <ACA_TipoDisciplinaRelacionada> lstRelacionadas)
 {
     if (lstRelacionadas.Count > 0)
     {
         ACA_TipoDisciplinaRelacionadaDAO dao = new ACA_TipoDisciplinaRelacionadaDAO();
         TalkDBTransaction banco = dao._Banco.CopyThisInstance();
         banco.Open(IsolationLevel.ReadCommitted);
         try
         {
             dao.DeleteByTdsId(lstRelacionadas[0].tds_id);
             lstRelacionadas.ForEach(p => { if (p.Validate())
                                            {
                                                Save(p, banco);
                                            }
                                            else
                                            {
                                                throw new ValidationException(GestaoEscolarUtilBO.ErrosValidacao(p));
                                            } });
         }
         catch (Exception err)
         {
             banco.Close(err);
             throw;
         }
         finally
         {
             banco.Close();
         }
     }
 }
        public static void SaveContatosPessoa(TalkDBTransaction banco, PES_Pessoa entity, DataTable dtContato)
        {
            PES_PessoaContato entityContato = new PES_PessoaContato
            {
                pes_id = entity.pes_id
            };

            if (banco == null)
            {
                PES_PessoaContatoDAO dao = new PES_PessoaContatoDAO();
                banco = dao._Banco.CopyThisInstance();
                banco.Open(IsolationLevel.ReadCommitted);
            }

            for (int i = 0; i < dtContato.Rows.Count; i++)
            {
                if (dtContato.Rows[i].RowState != DataRowState.Deleted)
                {
                    if (dtContato.Rows[i].RowState == DataRowState.Added)
                    {
                        entityContato.tmc_id       = new Guid(dtContato.Rows[i]["tmc_id"].ToString());
                        entityContato.psc_contato  = dtContato.Rows[i]["contato"].ToString();
                        entityContato.psc_situacao = Convert.ToByte(1);
                        entityContato.psc_id       = new Guid(dtContato.Rows[i]["id"].ToString());
                        entityContato.IsNew        = true;
                        Save(entityContato, banco);

                        //Incrementa um na integridade do tipo de contato
                        SYS_TipoMeioContatoDAO tipoDAL = new SYS_TipoMeioContatoDAO {
                            _Banco = banco
                        };
                        tipoDAL.Update_IncrementaIntegridade(entityContato.tmc_id);
                    }
                    else if (dtContato.Rows[i].RowState == DataRowState.Modified)
                    {
                        entityContato.tmc_id       = new Guid(dtContato.Rows[i]["tmc_id"].ToString());
                        entityContato.psc_contato  = dtContato.Rows[i]["contato"].ToString();
                        entityContato.psc_situacao = Convert.ToByte(1);
                        entityContato.psc_id       = new Guid(dtContato.Rows[i]["id"].ToString());
                        entityContato.IsNew        = false;
                        Save(entityContato, banco);
                    }
                }
                else
                {
                    entityContato.psc_id = new Guid(dtContato.Rows[i]["id", DataRowVersion.Original].ToString());
                    entityContato.tmc_id = new Guid(dtContato.Rows[i]["tmc_id", DataRowVersion.Original].ToString());
                    PES_PessoaContatoDAO pesconDAL = new PES_PessoaContatoDAO {
                        _Banco = banco
                    };
                    pesconDAL.Delete(entityContato);

                    //Decrementa um na integridade do tipo de contato
                    SYS_TipoMeioContatoDAO tipoDAL = new SYS_TipoMeioContatoDAO {
                        _Banco = banco
                    };
                    tipoDAL.Update_DecrementaIntegridade(entityContato.tmc_id);
                }
            }
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Verifica se o registro � utilizado em outras tabelas.
        /// </summary>
        /// <param name="tep_id">ID do tema padr�o.</param>
        /// <param name="tpl_id">ID do tema de cores.</param>
        /// <param name="banco"></param>
        /// <returns></returns>
        private static bool VerificaIntegridade(int tep_id, int tpl_id, TalkDBTransaction banco = null)
        {
            TalkDBTransaction bancoCore = banco == null ? new CFG_TemaPaletaDAO()._Banco.CopyThisInstance() : banco;

            if (banco == null || (!bancoCore.ConnectionIsOpen))
            {
                bancoCore.Open(IsolationLevel.ReadCommitted);
            }

            try
            {
                return(new CFG_TemaPaletaDAO {
                    _Banco = bancoCore
                }.VerificaIntegridade(tep_id, tpl_id));
            }
            catch (Exception ex)
            {
                if (banco == null)
                {
                    bancoCore.Close(ex);
                }

                throw;
            }
            finally
            {
                if (banco == null && bancoCore.ConnectionIsOpen)
                {
                    bancoCore.Close();
                }
            }
        }
Ejemplo n.º 5
0
        /// <summary>
        /// Salva as justificativas de pendencia em lote.
        /// </summary>
        /// <param name="dtFechamentoJustificativaPendencia">Tabela com os dados das justificativas.</param>
        /// <returns></returns>
        public static bool SalvarEmLote(List <CLS_FechamentoJustificativaPendencia> lstFechamentoJustificativaPendencia)
        {
            CLS_FechamentoJustificativaPendenciaDAO dao = new CLS_FechamentoJustificativaPendenciaDAO();
            TalkDBTransaction banco = dao._Banco.CopyThisInstance();

            banco.Open(IsolationLevel.ReadCommitted);
            try
            {
                DataTable dtFechamentoJustificativaPendencia = CLS_FechamentoJustificativaPendencia.TipoTabela_FechamentoJustificativaPendencia();
                lstFechamentoJustificativaPendencia.ForEach(p =>
                {
                    DataRow drFechamentoJustificativaPendencia = dtFechamentoJustificativaPendencia.NewRow();
                    dtFechamentoJustificativaPendencia.Rows.Add(EntityToDataRow(p, drFechamentoJustificativaPendencia));
                });

                if (new CLS_FechamentoJustificativaPendenciaDAO {
                    _Banco = banco
                }.SalvarEmLote(dtFechamentoJustificativaPendencia)
                    // Se tiver registro de inserção na tabela, atualizo a lista de pendências no fechamento.
                    && lstFechamentoJustificativaPendencia.Any(p => p.fjp_id <= 0))
                {
                    CLS_AlunoFechamentoPendenciaBO.SalvarFilaPendencias(
                        lstFechamentoJustificativaPendencia
                        .Select(p => new AlunoFechamentoPendencia
                    {
                        tud_id         = p.tud_id,
                        tpc_id         = p.tpc_id,
                        afp_frequencia = false,
                        afp_nota       = false,
                        afp_processado = 2
                    })
                        .ToList()
                        , banco);
                }

                // Limpa o cache.
                try
                {
                    if (lstFechamentoJustificativaPendencia.Count > 0 && HttpContext.Current != null)
                    {
                        lstFechamentoJustificativaPendencia.ForEach(p => GestaoEscolarUtilBO.LimpaCache(string.Format(ModelCache.FECHAMENTO_JUSTIFICATIVA_PENDENCIA_MODEL_KEY, p.tud_id, p.cal_id, p.tpc_id)));
                    }
                }
                catch
                { }

                return(true);
            }
            catch (Exception err)
            {
                banco.Close(err);
                throw;
            }
            finally
            {
                banco.Close();
            }
        }
Ejemplo n.º 6
0
        public static bool SaveList(int esc_id, List <ESC_EscolaCalendarioPeriodo> listPeriodos)
        {
            ESC_EscolaDAO     daoEscola   = new ESC_EscolaDAO();
            TalkDBTransaction bancoGestao = daoEscola._Banco;

            bancoGestao.Open();
            daoEscola._Banco = bancoGestao;

            try
            {
                DataTable dtPeriodosEscola = SelectEscolaPeriodos(esc_id);

                foreach (ESC_EscolaCalendarioPeriodo escolaPeriodo in listPeriodos)
                {
                    bool existePeriodo = dtPeriodosEscola.Rows.Cast <DataRow>().Any(row => row["tpc_id"].ToString().Equals(escolaPeriodo.tpc_id.ToString()) && row["cal_id"].ToString().Equals(escolaPeriodo.cal_id.ToString()));

                    if (!existePeriodo)
                    {
                        escolaPeriodo.esc_id = esc_id;
                        Save(escolaPeriodo, bancoGestao);
                    }

                    RemoveCacheEscolaCalendarioPeriodo(escolaPeriodo.cal_id);
                }

                // Se exister no DataTable, mas não exister na Lista -> Exclui
                foreach (DataRow row in dtPeriodosEscola.Rows)
                {
                    ESC_EscolaCalendarioPeriodo escolaPeriodo = listPeriodos.Find(p => p.cal_id == Convert.ToInt32(row["cal_id"]) && p.tpc_id == Convert.ToInt32(row["tpc_id"]));
                    if (escolaPeriodo == null)
                    {
                        ESC_EscolaCalendarioPeriodo entityEscolaPeriodo = new ESC_EscolaCalendarioPeriodo
                        {
                            esc_id = esc_id,
                            cal_id = Convert.ToInt32(row["cal_id"].ToString()),
                            tpc_id = Convert.ToInt32(row["tpc_id"].ToString())
                        };

                        Delete(entityEscolaPeriodo, bancoGestao);
                    }
                }
            }
            catch (Exception ex)
            {
                bancoGestao.Close(ex);
                throw (ex);
            }
            finally
            {
                if (bancoGestao.ConnectionIsOpen)
                {
                    bancoGestao.Close();
                }
            }

            return(true);
        }
Ejemplo n.º 7
0
        public static bool Excluir(CLS_FechamentoJustificativaPendencia fechamentoJustificativaPendencia)
        {
            CLS_FechamentoJustificativaPendenciaDAO dao = new CLS_FechamentoJustificativaPendenciaDAO();
            TalkDBTransaction banco = dao._Banco.CopyThisInstance();

            banco.Open(IsolationLevel.ReadCommitted);
            try
            {
                if (CLS_FechamentoJustificativaPendenciaBO.Delete(fechamentoJustificativaPendencia, banco))
                {
                    // Atualizo a lista de pendências no fechamento.
                    CLS_AlunoFechamentoPendenciaBO.SalvarFilaPendencias(
                        new List <AlunoFechamentoPendencia> {
                        new AlunoFechamentoPendencia
                        {
                            tud_id         = fechamentoJustificativaPendencia.tud_id,
                            tpc_id         = fechamentoJustificativaPendencia.tpc_id,
                            afp_frequencia = false,
                            afp_nota       = false,
                            afp_processado = 2
                        }
                    }
                        , banco);
                }

                // Limpa o cache.
                try
                {
                    if (HttpContext.Current != null)
                    {
                        GestaoEscolarUtilBO.LimpaCache(string.Format(ModelCache.FECHAMENTO_JUSTIFICATIVA_PENDENCIA_MODEL_KEY, fechamentoJustificativaPendencia.tud_id, fechamentoJustificativaPendencia.cal_id, fechamentoJustificativaPendencia.tpc_id));
                    }
                }
                catch
                { }

                return(true);
            }
            catch (Exception err)
            {
                banco.Close(err);
                throw;
            }
            finally
            {
                banco.Close();
            }
        }
Ejemplo n.º 8
0
        public static bool SaveOrdem
        (
            ACA_CurriculoObjetivo entityDescer
            , ACA_CurriculoObjetivo entitySubir
        )
        {
            ACA_CurriculoObjetivoDAO dao   = new ACA_CurriculoObjetivoDAO();
            TalkDBTransaction        banco = dao._Banco.CopyThisInstance();

            banco.Open(IsolationLevel.ReadCommitted);

            try
            {
                if (entityDescer.Validate())
                {
                    Save(entityDescer, banco);
                }
                else
                {
                    throw new ValidationException(entityDescer.PropertiesErrorList[0].Message);
                }

                if (entitySubir.Validate())
                {
                    Save(entitySubir, banco);
                }
                else
                {
                    throw new ValidationException(entitySubir.PropertiesErrorList[0].Message);
                }

                return(true);
            }
            catch (Exception ex)
            {
                banco.Close(ex);
                throw;
            }
            finally
            {
                if (banco.ConnectionIsOpen)
                {
                    banco.Close();
                }
            }
        }
Ejemplo n.º 9
0
        /// <summary>
        /// Salva uma lista de turma horários da turma
        /// </summary>
        /// <param name="listaTurmaHorario"></param>
        /// <returns></returns>
        public static bool SalvarTurmaHorario(long tur_id, List <TUR_TurmaHorario> listaTurmaHorario, TalkDBTransaction _banco = null)
        {
            TalkDBTransaction banco = _banco == null ? new TUR_TurmaHorarioDAO()._Banco.CopyThisInstance() : _banco;

            if (_banco == null)
            {
                banco.Open(IsolationLevel.ReadCommitted);
            }

            try
            {
                List <TUR_TurmaDisciplina> lstTud = TUR_TurmaDisciplinaBO.GetSelectBy_Turma(tur_id, banco, GestaoEscolarUtilBO.MinutosCacheLongo);

                //Se há uma turma disciplina da turma que não está na lista de turma horário então não permite salvar
                if (lstTud.Where(t => t.tud_tipo != (byte)TurmaDisciplinaTipo.ComponenteRegencia).Any(t => !listaTurmaHorario.Any(th => th.tud_id == t.tud_id)))
                {
                    throw new ValidationException(CustomResource.GetGlobalResourceObject("BLL", "TUR_TurmaHorarioBO.SalvarTurmaHorario.ValidarTudsTurmaHorario"));
                }

                ValidarCarga(listaTurmaHorario, banco);

                listaTurmaHorario.Where(p => p.thr_id > 0 && p.tud_id <= 0)
                .Aggregate(true, (deletou, horario) => deletou & Delete(horario, banco));

                listaTurmaHorario.ForEach(p => p.IsNew = p.thr_id <= 0);

                listaTurmaHorario.Where(p => p.tud_id > 0)
                .Aggregate(true, (salvou, horario) => salvou & Save(horario, banco));

                return(true);
            }
            catch (Exception ex)
            {
                banco.Close(ex);
                throw;
            }
            finally
            {
                if (banco.ConnectionIsOpen)
                {
                    banco.Close();
                }
            }
        }
Ejemplo n.º 10
0
        public static bool Save
        (
            int crc_id
            , ACA_CurriculoSugestao entity
        )
        {
            ACA_CurriculoCapituloSugestaoDAO dao = new ACA_CurriculoCapituloSugestaoDAO();
            TalkDBTransaction banco = dao._Banco.CopyThisInstance();

            banco.Open(IsolationLevel.ReadCommitted);

            try
            {
                bool novo = entity.IsNew;
                ACA_CurriculoSugestaoBO.Save(entity, banco);
                if (novo)
                {
                    Save(new ACA_CurriculoCapituloSugestao {
                        crc_id = crc_id, crs_id = entity.crs_id
                    }, banco);
                }
                return(true);
            }
            catch (Exception ex)
            {
                banco.Close(ex);
                throw;
            }
            finally
            {
                if (banco.ConnectionIsOpen)
                {
                    banco.Close();
                }
            }
        }
        public static void SaveEnderecosPessoa(TalkDBTransaction banco, PES_Pessoa entity, DataTable dtEndereco)
        {
            //Verifica se os dados da pessoa serão sempre salvos em maiúsculo.
            string sSalvarMaiusculo        = SYS_ParametroBO.ParametroValor(SYS_ParametroBO.eChave.SALVAR_SEMPRE_MAIUSCULO);
            bool   Salvar_Sempre_Maiusculo = !string.IsNullOrEmpty(sSalvarMaiusculo) && Convert.ToBoolean(sSalvarMaiusculo);

            PES_PessoaEndereco entityEndereco = new PES_PessoaEndereco
            {
                pes_id = entity.pes_id
            };

            if (banco == null)
            {
                PES_PessoaEnderecoDAO dao = new PES_PessoaEnderecoDAO();
                banco = dao._Banco.CopyThisInstance();
                banco.Open(IsolationLevel.ReadCommitted);
            }


            for (int i = 0; i < dtEndereco.Rows.Count; i++)
            {
                // if (dtEndereco.Rows[i].RowState != DataRowState.Deleted)
                if (!Convert.ToBoolean(dtEndereco.Rows[i]["excluido"].ToString()))
                {
                    string end_id = dtEndereco.Rows[i]["end_id"].ToString();

                    if ((String.IsNullOrEmpty(end_id)) || (end_id.Equals(Guid.Empty.ToString())))
                    {
                        END_Endereco entityNovoEndereco = new END_Endereco
                        {
                            //[OLD]end_id = new Guid(dtEndereco.Rows[i]["end_id"].ToString())
                            end_cep = dtEndereco.Rows[i]["end_cep"].ToString()
                            ,
                            end_logradouro = Salvar_Sempre_Maiusculo ? dtEndereco.Rows[i]["end_logradouro"].ToString().ToUpper() : dtEndereco.Rows[i]["end_logradouro"].ToString()
                            ,
                            end_distrito = Salvar_Sempre_Maiusculo ? dtEndereco.Rows[i]["end_distrito"].ToString().ToUpper() : dtEndereco.Rows[i]["end_distrito"].ToString()
                            ,
                            end_zona = dtEndereco.Rows[i]["end_zona"].ToString() == "0" || string.IsNullOrEmpty(dtEndereco.Rows[i]["end_zona"].ToString()) ? Convert.ToByte(0) : Convert.ToByte(dtEndereco.Rows[i]["end_zona"].ToString())
                            ,
                            end_bairro = Salvar_Sempre_Maiusculo ? dtEndereco.Rows[i]["end_bairro"].ToString().ToUpper() : dtEndereco.Rows[i]["end_bairro"].ToString()
                            ,
                            cid_id = new Guid(dtEndereco.Rows[i]["cid_id"].ToString())
                            ,
                            end_situacao = Convert.ToByte(1)
                        };

                        //Inclui dados na tabela END_Endereco (se necessário)
                        if (entityNovoEndereco.end_id == Guid.Empty)
                        {
                            entityEndereco.end_id     = END_EnderecoBO.Save(entityNovoEndereco, Guid.Empty, banco);
                            entityNovoEndereco.end_id = entityEndereco.end_id;
                        }

                        dtEndereco.Rows[i]["end_id"] = entityNovoEndereco.end_id;
                    }
                    string endRel_id = dtEndereco.Rows[i]["endRel_id"].ToString();

                    if (dtEndereco.Rows[i].RowState == DataRowState.Added || string.IsNullOrEmpty(endRel_id))
                    {
                        //TRATA DECIMAL
                        decimal latitude  = string.IsNullOrEmpty(dtEndereco.Rows[i]["latitude"].ToString()) ? 0 : decimal.Parse(dtEndereco.Rows[i]["latitude"].ToString());
                        decimal longitude = string.IsNullOrEmpty(dtEndereco.Rows[i]["longitude"].ToString()) ? 0 : decimal.Parse(dtEndereco.Rows[i]["longitude"].ToString());

                        //ATRIBUI VALORES
                        entityEndereco.end_id          = new Guid(dtEndereco.Rows[i]["end_id"].ToString());
                        entityEndereco.pse_numero      = Salvar_Sempre_Maiusculo ? dtEndereco.Rows[i]["numero"].ToString().ToUpper() : dtEndereco.Rows[i]["numero"].ToString();
                        entityEndereco.pse_complemento = Salvar_Sempre_Maiusculo ? dtEndereco.Rows[i]["complemento"].ToString().ToUpper() : dtEndereco.Rows[i]["complemento"].ToString();
                        entityEndereco.pse_situacao    = Convert.ToByte(1);
                        entityEndereco.pse_id          = new Guid(dtEndereco.Rows[i]["id"].ToString());
                        entityEndereco.IsNew           = true;

                        entityEndereco.pse_enderecoPrincipal = string.IsNullOrEmpty(dtEndereco.Rows[i]["enderecoprincipal"].ToString()) ? false : Convert.ToBoolean(dtEndereco.Rows[i]["enderecoprincipal"]);
                        entityEndereco.pse_latitude          = latitude;
                        entityEndereco.pse_longitude         = longitude;

                        Save(entityEndereco, banco);

                        //Incrementa um na integridade do endereço
                        END_EnderecoDAO endDAL = new END_EnderecoDAO {
                            _Banco = banco
                        };
                        endDAL.Update_IncrementaIntegridade(entityEndereco.end_id);
                    }
                    else if (dtEndereco.Rows[i].RowState == DataRowState.Modified && !string.IsNullOrEmpty(endRel_id))
                    {
                        //TRATA DECIMAL
                        decimal latitude  = string.IsNullOrEmpty(dtEndereco.Rows[i]["latitude"].ToString()) ? 0 : decimal.Parse(dtEndereco.Rows[i]["latitude"].ToString());
                        decimal longitude = string.IsNullOrEmpty(dtEndereco.Rows[i]["longitude"].ToString()) ? 0 : decimal.Parse(dtEndereco.Rows[i]["longitude"].ToString());
                        //ATRIBUI VALORES
                        entityEndereco.end_id          = new Guid(dtEndereco.Rows[i]["end_id"].ToString());
                        entityEndereco.pse_numero      = Salvar_Sempre_Maiusculo ? dtEndereco.Rows[i]["numero"].ToString().ToUpper() : dtEndereco.Rows[i]["numero"].ToString();
                        entityEndereco.pse_complemento = Salvar_Sempre_Maiusculo ? dtEndereco.Rows[i]["complemento"].ToString().ToUpper() : dtEndereco.Rows[i]["complemento"].ToString();

                        bool excluido = Convert.ToBoolean(dtEndereco.Rows[i]["excluido"]);
                        if (excluido)
                        {
                            entityEndereco.pse_situacao = Convert.ToByte(3);
                        }
                        else
                        {
                            entityEndereco.pse_situacao = Convert.ToByte(1);
                        }

                        entityEndereco.pse_id = new Guid(dtEndereco.Rows[i]["endRel_id"].ToString());
                        entityEndereco.IsNew  = false;

                        entityEndereco.pse_enderecoPrincipal = string.IsNullOrEmpty(dtEndereco.Rows[i]["enderecoprincipal"].ToString()) ? false : Convert.ToBoolean(dtEndereco.Rows[i]["enderecoprincipal"]);
                        entityEndereco.pse_latitude          = latitude;
                        entityEndereco.pse_longitude         = longitude;

                        Save(entityEndereco, banco);
                    }
                }
                else
                {
                    entityEndereco.pse_id = new Guid(dtEndereco.Rows[i]["endRel_id", DataRowVersion.Original].ToString());
                    entityEndereco.end_id = new Guid(dtEndereco.Rows[i]["end_id", DataRowVersion.Original].ToString());
                    PES_PessoaEnderecoDAO pesendDAL = new PES_PessoaEnderecoDAO {
                        _Banco = banco
                    };
                    pesendDAL.Delete(entityEndereco);

                    //Decrementa um na integridade do endereço
                    END_EnderecoDAO endDAL = new END_EnderecoDAO {
                        _Banco = banco
                    };
                    endDAL.Update_DecrementaIntegridade(entityEndereco.end_id);
                }
            }
        }
Ejemplo n.º 12
0
        /// <summary>
        /// Salva os registros recebidos pela API validando e encerrando os registros vigentes.
        /// </summary>
        /// <param name="listaTurmaHorario"></param>
        /// <param name="_banco"></param>
        /// <returns></returns>
        public static bool SalvarTurmaHorarioAPI(List <TUR_TurmaHorarioDTO> listaTurmaHorario, TalkDBTransaction _banco = null)
        {
            TalkDBTransaction banco = _banco == null ? new TUR_TurmaHorarioDAO()._Banco.CopyThisInstance() : _banco;

            if (_banco == null)
            {
                banco.Open(IsolationLevel.ReadCommitted);
            }

            try
            {
                if (!listaTurmaHorario.Any())
                {
                    return(false);
                }

                List <TUR_TurmaHorario> listaTurmaHorarioSalvar = new List <TUR_TurmaHorario>();
                foreach (TUR_TurmaHorarioDTO thr in listaTurmaHorario)
                {
                    TUR_TurmaHorario thrAdd = new TUR_TurmaHorario
                    {
                        trn_id             = thr.trn_id,
                        trh_id             = thr.trh_id,
                        tud_id             = thr.tud_id,
                        thr_vigenciaInicio = thr.thr_vigenciaInicio,
                        IsNew               = true,
                        thr_dataAlteracao   = DateTime.Now,
                        thr_dataCriacao     = DateTime.Now,
                        thr_situacao        = thr.thr_situacao,
                        thr_registroExterno = true
                    };

                    listaTurmaHorarioSalvar.Add(thrAdd);
                }

                ValidarCarga(listaTurmaHorarioSalvar, banco);

                string tud_ids = string.Join(";", listaTurmaHorarioSalvar.Where(p => p.tud_id > 0).GroupBy(p => p.tud_id).Select(p => p.Key.ToString()).ToArray());
                if (!string.IsNullOrEmpty(tud_ids))
                {
                    List <TUR_TurmaHorario> listaEncerrar = SelecionaPorTurmaDisciplinasVigentes(tud_ids, banco);

                    foreach (TUR_TurmaHorario thr in listaEncerrar)
                    {
                        thr.thr_vigenciaFim = listaTurmaHorarioSalvar.First().thr_vigenciaInicio.AddDays(-1);
                        thr.thr_situacao    = 4;//Inativo

                        Save(thr, banco);
                    }
                }

                if (!listaTurmaHorarioSalvar.Any(t => t.thr_situacao == 3) && listaTurmaHorarioSalvar.Any(t => !Save(t, banco)))
                {
                    throw new ValidationException("Erro ao salvar turma horário.");
                }

                return(true);
            }
            catch (Exception ex)
            {
                banco.Close(ex);
                throw;
            }
            finally
            {
                if (banco.ConnectionIsOpen)
                {
                    banco.Close();
                }
            }
        }
Ejemplo n.º 13
0
        public static void SaveCertidoesPessoa(TalkDBTransaction banco, PES_Pessoa entity, DataTable dtCertidao)
        {
            //Verifica se os dados da pessoa serão sempre salvos em maiúsculo.
            string sSalvarMaiusculo        = SYS_ParametroBO.ParametroValor(SYS_ParametroBO.eChave.SALVAR_SEMPRE_MAIUSCULO);
            bool   Salvar_Sempre_Maiusculo = !string.IsNullOrEmpty(sSalvarMaiusculo) && Convert.ToBoolean(sSalvarMaiusculo);

            PES_CertidaoCivil entityCertidaoCivil = new PES_CertidaoCivil
            {
                pes_id = entity.pes_id
            };

            if (banco == null)
            {
                PES_CertidaoCivilDAO dao = new PES_CertidaoCivilDAO();
                banco = dao._Banco.CopyThisInstance();
                banco.Open(IsolationLevel.ReadCommitted);
            }

            for (int i = 0; i < dtCertidao.Rows.Count; i++)
            {
                if (dtCertidao.Rows[i].RowState != DataRowState.Deleted)
                {
                    if (dtCertidao.Rows[i].RowState == DataRowState.Added)
                    {
                        entityCertidaoCivil.ctc_id               = new Guid(dtCertidao.Rows[i]["ctc_id"].ToString());
                        entityCertidaoCivil.ctc_tipo             = Convert.ToByte(dtCertidao.Rows[i]["ctc_tipo"].ToString());
                        entityCertidaoCivil.ctc_numeroTermo      = Salvar_Sempre_Maiusculo ? dtCertidao.Rows[i]["ctc_numeroTermo"].ToString().ToUpper() : dtCertidao.Rows[i]["ctc_numeroTermo"].ToString();
                        entityCertidaoCivil.ctc_folha            = Salvar_Sempre_Maiusculo ? dtCertidao.Rows[i]["ctc_folha"].ToString().ToUpper() : dtCertidao.Rows[i]["ctc_folha"].ToString();
                        entityCertidaoCivil.ctc_livro            = Salvar_Sempre_Maiusculo ? dtCertidao.Rows[i]["ctc_livro"].ToString().ToUpper() : dtCertidao.Rows[i]["ctc_livro"].ToString();
                        entityCertidaoCivil.ctc_nomeCartorio     = Salvar_Sempre_Maiusculo ? dtCertidao.Rows[i]["ctc_nomeCartorio"].ToString().ToUpper() : dtCertidao.Rows[i]["ctc_nomeCartorio"].ToString();
                        entityCertidaoCivil.ctc_distritoCartorio = Salvar_Sempre_Maiusculo ? dtCertidao.Rows[i]["ctc_distritoCartorio"].ToString().ToUpper() : dtCertidao.Rows[i]["ctc_distritoCartorio"].ToString();
                        entityCertidaoCivil.cid_idCartorio       = new Guid(dtCertidao.Rows[i]["cid_idCartorio"].ToString());
                        entityCertidaoCivil.unf_idCartorio       = new Guid(dtCertidao.Rows[i]["unf_idCartorio"].ToString());
                        entityCertidaoCivil.ctc_dataEmissao      = !string.IsNullOrEmpty(dtCertidao.Rows[i]["ctc_dataEmissao"].ToString()) ? Convert.ToDateTime(dtCertidao.Rows[i]["ctc_dataEmissao"].ToString()) : new DateTime();
                        entityCertidaoCivil.ctc_situacao         = Convert.ToByte(1);
                        entityCertidaoCivil.ctc_matricula        = Salvar_Sempre_Maiusculo ? dtCertidao.Rows[i]["ctc_matricula"].ToString().ToUpper() : dtCertidao.Rows[i]["ctc_matricula"].ToString();
                        entityCertidaoCivil.ctc_gemeo            = Convert.ToBoolean(dtCertidao.Rows[i]["ctc_gemeo"]);
                        entityCertidaoCivil.ctc_modeloNovo       = Convert.ToBoolean(dtCertidao.Rows[i]["ctc_modeloNovo"]);
                        entityCertidaoCivil.IsNew = true;
                        Save(entityCertidaoCivil, banco);

                        //Incrementa um na integridade da Cidade (se existir)
                        if (entityCertidaoCivil.cid_idCartorio != Guid.Empty)
                        {
                            END_CidadeDAO cidDao = new END_CidadeDAO {
                                _Banco = banco
                            };
                            cidDao.Update_IncrementaIntegridade(entityCertidaoCivil.cid_idCartorio);
                        }

                        //Incrementa um na integridade da Unidade Federativa (se existir)
                        if (entityCertidaoCivil.unf_idCartorio != Guid.Empty)
                        {
                            END_UnidadeFederativaDAO unfDAL = new END_UnidadeFederativaDAO {
                                _Banco = banco
                            };
                            unfDAL.Update_IncrementaIntegridade(entityCertidaoCivil.unf_idCartorio);
                        }
                    }
                    else if (dtCertidao.Rows[i].RowState == DataRowState.Modified)
                    {
                        entityCertidaoCivil.ctc_id               = new Guid(dtCertidao.Rows[i]["ctc_id"].ToString());
                        entityCertidaoCivil.ctc_tipo             = Convert.ToByte(dtCertidao.Rows[i]["ctc_tipo"].ToString());
                        entityCertidaoCivil.ctc_numeroTermo      = Salvar_Sempre_Maiusculo ? dtCertidao.Rows[i]["ctc_numeroTermo"].ToString().ToUpper() : dtCertidao.Rows[i]["ctc_numeroTermo"].ToString();
                        entityCertidaoCivil.ctc_folha            = Salvar_Sempre_Maiusculo ? dtCertidao.Rows[i]["ctc_folha"].ToString().ToUpper() : dtCertidao.Rows[i]["ctc_folha"].ToString();
                        entityCertidaoCivil.ctc_livro            = Salvar_Sempre_Maiusculo ? dtCertidao.Rows[i]["ctc_livro"].ToString().ToUpper() : dtCertidao.Rows[i]["ctc_livro"].ToString();
                        entityCertidaoCivil.ctc_nomeCartorio     = Salvar_Sempre_Maiusculo ? dtCertidao.Rows[i]["ctc_nomeCartorio"].ToString().ToUpper() : dtCertidao.Rows[i]["ctc_nomeCartorio"].ToString();
                        entityCertidaoCivil.ctc_distritoCartorio = Salvar_Sempre_Maiusculo ? dtCertidao.Rows[i]["ctc_distritoCartorio"].ToString().ToUpper() : dtCertidao.Rows[i]["ctc_distritoCartorio"].ToString();
                        entityCertidaoCivil.cid_idCartorio       = new Guid(dtCertidao.Rows[i]["cid_idCartorio"].ToString());
                        entityCertidaoCivil.unf_idCartorio       = new Guid(dtCertidao.Rows[i]["unf_idCartorio"].ToString());
                        entityCertidaoCivil.ctc_dataEmissao      = !string.IsNullOrEmpty(dtCertidao.Rows[i]["ctc_dataEmissao"].ToString()) ? Convert.ToDateTime(dtCertidao.Rows[i]["ctc_dataEmissao"].ToString()) : new DateTime();
                        entityCertidaoCivil.ctc_situacao         = Convert.ToByte(1);
                        entityCertidaoCivil.ctc_matricula        = Salvar_Sempre_Maiusculo ? dtCertidao.Rows[i]["ctc_matricula"].ToString().ToUpper() : dtCertidao.Rows[i]["ctc_matricula"].ToString();
                        entityCertidaoCivil.ctc_gemeo            = Convert.ToBoolean(dtCertidao.Rows[i]["ctc_gemeo"]);
                        entityCertidaoCivil.ctc_modeloNovo       = Convert.ToBoolean(dtCertidao.Rows[i]["ctc_modeloNovo"]);
                        entityCertidaoCivil.IsNew = false;
                        Save(entityCertidaoCivil, banco);

                        if (new Guid(dtCertidao.Rows[i]["cid_idCartorio"].ToString()) != new Guid(dtCertidao.Rows[i]["cid_idAntigo"].ToString()))
                        {
                            END_CidadeDAO cidDao = new END_CidadeDAO {
                                _Banco = banco
                            };

                            //Decrementa um na integridade da Unidade Federativa anterior (se existia)
                            if (new Guid(dtCertidao.Rows[i]["cid_idAntigo"].ToString()) != Guid.Empty)
                            {
                                cidDao.Update_DecrementaIntegridade(new Guid(dtCertidao.Rows[i]["cid_idAntigo"].ToString()));
                            }

                            //Incrementa um na integridade da Unidade Federetiva atual (se existir)
                            if (new Guid(dtCertidao.Rows[i]["cid_idCartorio"].ToString()) != Guid.Empty)
                            {
                                cidDao.Update_IncrementaIntegridade(new Guid(dtCertidao.Rows[i]["cid_idCartorio"].ToString()));
                            }
                        }

                        if (new Guid(dtCertidao.Rows[i]["unf_idCartorio"].ToString()) != new Guid(dtCertidao.Rows[i]["unf_idAntigo"].ToString()))
                        {
                            END_UnidadeFederativaDAO unfDAL = new END_UnidadeFederativaDAO {
                                _Banco = banco
                            };

                            //Decrementa um na integridade da Unidade Federativa anterior (se existia)
                            if (new Guid(dtCertidao.Rows[i]["unf_idAntigo"].ToString()) != Guid.Empty)
                            {
                                unfDAL.Update_DecrementaIntegridade(new Guid(dtCertidao.Rows[i]["unf_idAntigo"].ToString()));
                            }

                            //Incrementa um na integridade da Unidade Federetiva atual (se existir)
                            if (new Guid(dtCertidao.Rows[i]["unf_idCartorio"].ToString()) != Guid.Empty)
                            {
                                unfDAL.Update_IncrementaIntegridade(new Guid(dtCertidao.Rows[i]["unf_idCartorio"].ToString()));
                            }
                        }
                    }
                }
                else
                {
                    entityCertidaoCivil.ctc_id         = new Guid(dtCertidao.Rows[i]["ctc_id", DataRowVersion.Original].ToString());
                    entityCertidaoCivil.cid_idCartorio = new Guid(dtCertidao.Rows[i]["cid_idCartorio", DataRowVersion.Original].ToString());
                    entityCertidaoCivil.unf_idCartorio = new Guid(dtCertidao.Rows[i]["unf_idCartorio", DataRowVersion.Original].ToString());
                    PES_CertidaoCivilDAO pescerDAL = new PES_CertidaoCivilDAO {
                        _Banco = banco
                    };
                    pescerDAL.Delete(entityCertidaoCivil);

                    //Decrementa um na integridade da Cidade (se existia)
                    if (entityCertidaoCivil.cid_idCartorio != Guid.Empty)
                    {
                        END_CidadeDAO cidDao = new END_CidadeDAO {
                            _Banco = banco
                        };
                        cidDao.Update_DecrementaIntegridade(entityCertidaoCivil.cid_idCartorio);
                    }

                    //Decrementa um na integridade da Unidade Federativa (se existia)
                    if (entityCertidaoCivil.unf_idCartorio != Guid.Empty)
                    {
                        END_UnidadeFederativaDAO unfDAL = new END_UnidadeFederativaDAO {
                            _Banco = banco
                        };
                        unfDAL.Update_DecrementaIntegridade(entityCertidaoCivil.unf_idCartorio);
                    }
                }
            }
        }
Ejemplo n.º 14
0
        /// <summary>
        /// Colocar um protocolo executado com erro para reprocessar
        /// </summary>
        /// <param name="pro_id">Id do Protocolo</param>
        /// <param name="novoPacote">Novo pacote a ser processado</param>
        /// <param name="versao">Versão do aplicativo que enviou o protocolo</param>
        /// <returns></returns>
        public static bool Reprocessar(Guid pro_id, string novoPacote, string versao)
        {
            DCL_ProtocoloReprocessoDAO dao   = new DCL_ProtocoloReprocessoDAO();
            TalkDBTransaction          banco = dao._Banco;

            try
            {
                DCL_Protocolo protocolo = new DCL_Protocolo()
                {
                    pro_id = pro_id
                };
                DCL_ProtocoloReprocesso entity = null;

                DCL_ProtocoloBO.GetEntity(protocolo);

                if (protocolo.IsNew)
                {
                    throw new ProtocoloNãoEncontrado();
                }

                //Verifica se está com status de "Processado com Erro"
                if (protocolo.pro_status == (byte)DCL_ProtocoloBO.eStatus.ProcessadoComErro)
                {
                    entity = new DCL_ProtocoloReprocesso()
                    {
                        pro_id              = protocolo.pro_id,
                        prp_pacote          = protocolo.pro_pacote,
                        prp_status          = protocolo.pro_status,
                        prp_statusObervacao = protocolo.pro_statusObservacao,
                        prp_situacao        = protocolo.pro_situacao,
                        prp_dataCriacao     = DateTime.Now,
                        prp_dataAlteracao   = DateTime.Now
                    };

                    if (!string.IsNullOrEmpty(versao))
                    {
                        protocolo.pro_versaoAplicativo = versao;
                    }

                    protocolo.pro_status           = 1;
                    protocolo.pro_statusObservacao = string.Empty;

                    if (!string.IsNullOrEmpty(novoPacote))
                    {
                        protocolo.pro_pacote = novoPacote;
                    }

                    banco.Open();

                    DCL_ProtocoloReprocessoBO.Save(entity, banco);
                    DCL_ProtocoloBO.Save(protocolo, banco);

                    return(true);
                }
                else
                {
                    throw new ReprocessarProtocoloSemErro();
                }
            }
            catch (Exception err)
            {
                banco.Close(err);
                throw;
            }
            finally
            {
                banco.Close();
            }
        }
        public static void SaveDocumentosPessoa(TalkDBTransaction banco, PES_Pessoa entity, DataTable dtDocumento)
        {
            //Verifica se os dados da pessoa serão sempre salvos em maiúsculo.
            string sSalvarMaiusculo        = SYS_ParametroBO.ParametroValor(SYS_ParametroBO.eChave.SALVAR_SEMPRE_MAIUSCULO);
            bool   Salvar_Sempre_Maiusculo = !string.IsNullOrEmpty(sSalvarMaiusculo) && Convert.ToBoolean(sSalvarMaiusculo);

            PES_PessoaDocumento entityDocumento = new PES_PessoaDocumento
            {
                pes_id = entity.pes_id
            };

            if (banco == null)
            {
                PES_PessoaDocumentoDAO dao = new PES_PessoaDocumentoDAO();
                banco = dao._Banco.CopyThisInstance();
                banco.Open(IsolationLevel.ReadCommitted);
            }

            for (int i = 0; i < dtDocumento.Rows.Count; i++)
            {
                if (dtDocumento.Rows[i].RowState != DataRowState.Deleted)
                {
                    if (dtDocumento.Rows[i].RowState == DataRowState.Added)
                    {
                        entityDocumento.tdo_id                 = new Guid(dtDocumento.Rows[i]["tdo_id"].ToString());
                        entityDocumento.unf_idEmissao          = new Guid(dtDocumento.Rows[i]["unf_idEmissao"].ToString());
                        entityDocumento.psd_numero             = Salvar_Sempre_Maiusculo ? dtDocumento.Rows[i]["numero"].ToString().ToUpper() : dtDocumento.Rows[i]["numero"].ToString();
                        entityDocumento.psd_dataEmissao        = string.IsNullOrEmpty(dtDocumento.Rows[i]["dataemissao"].ToString()) ? new DateTime() : Convert.ToDateTime(dtDocumento.Rows[i]["dataemissao"].ToString());
                        entityDocumento.psd_orgaoEmissao       = Salvar_Sempre_Maiusculo ? dtDocumento.Rows[i]["orgaoemissao"].ToString().ToUpper() : dtDocumento.Rows[i]["orgaoemissao"].ToString();
                        entityDocumento.psd_infoComplementares = Salvar_Sempre_Maiusculo ? dtDocumento.Rows[i]["info"].ToString().ToUpper() : dtDocumento.Rows[i]["info"].ToString();
                        entityDocumento.psd_situacao           = Convert.ToByte(1);

                        //NOVOS CAMPOS
                        entityDocumento.psd_categoria     = Salvar_Sempre_Maiusculo ? dtDocumento.Rows[i]["categoria"].ToString().ToUpper() : dtDocumento.Rows[i]["categoria"].ToString();
                        entityDocumento.psd_classificacao = Salvar_Sempre_Maiusculo ? dtDocumento.Rows[i]["classificacao"].ToString().ToUpper() : dtDocumento.Rows[i]["classificacao"].ToString();
                        entityDocumento.psd_csm           = Salvar_Sempre_Maiusculo ? dtDocumento.Rows[i]["csm"].ToString().ToUpper() : dtDocumento.Rows[i]["csm"].ToString();
                        entityDocumento.psd_dataEntrada   = string.IsNullOrEmpty(dtDocumento.Rows[i]["dataEntrada"].ToString()) ? new DateTime() : Convert.ToDateTime(dtDocumento.Rows[i]["dataEntrada"].ToString());
                        entityDocumento.psd_dataValidade  = string.IsNullOrEmpty(dtDocumento.Rows[i]["dataValidade"].ToString()) ? new DateTime() : Convert.ToDateTime(dtDocumento.Rows[i]["dataValidade"].ToString());
                        entityDocumento.pai_idOrigem      = string.IsNullOrEmpty(dtDocumento.Rows[i]["pai_idOrigem"].ToString()) ? Guid.Empty : new Guid(dtDocumento.Rows[i]["pai_idOrigem"].ToString());
                        entityDocumento.psd_serie         = Salvar_Sempre_Maiusculo ? dtDocumento.Rows[i]["serie"].ToString().ToUpper() : dtDocumento.Rows[i]["serie"].ToString();
                        entityDocumento.psd_tipoGuarda    = Salvar_Sempre_Maiusculo ? dtDocumento.Rows[i]["tipoGuarda"].ToString().ToUpper() : dtDocumento.Rows[i]["tipoGuarda"].ToString();
                        entityDocumento.psd_via           = Salvar_Sempre_Maiusculo ? dtDocumento.Rows[i]["via"].ToString().ToUpper() : dtDocumento.Rows[i]["via"].ToString();
                        entityDocumento.psd_secao         = Salvar_Sempre_Maiusculo ? dtDocumento.Rows[i]["secao"].ToString().ToUpper() : dtDocumento.Rows[i]["secao"].ToString();
                        entityDocumento.psd_zona          = Salvar_Sempre_Maiusculo ? dtDocumento.Rows[i]["zona"].ToString().ToUpper() : dtDocumento.Rows[i]["zona"].ToString();
                        entityDocumento.psd_dataExpedicao = string.IsNullOrEmpty(dtDocumento.Rows[i]["dataexpedicao"].ToString()) ? new DateTime() : Convert.ToDateTime(dtDocumento.Rows[i]["dataexpedicao"].ToString());
                        entityDocumento.psd_regiaoMilitar = Salvar_Sempre_Maiusculo ? dtDocumento.Rows[i]["regiaoMilitar"].ToString().ToUpper() : dtDocumento.Rows[i]["regiaoMilitar"].ToString();
                        entityDocumento.psd_numeroRA      = Salvar_Sempre_Maiusculo ? dtDocumento.Rows[i]["numeroRA"].ToString().ToUpper() : dtDocumento.Rows[i]["numeroRA"].ToString();

                        entityDocumento.IsNew = !VerificaTipoDocumentoExistente(entityDocumento.pes_id, entityDocumento.tdo_id);

                        Save(entityDocumento, banco);

                        //Incrementa um na integridade do tipo de documento
                        SYS_TipoDocumentacaoDAO tipoDAL = new SYS_TipoDocumentacaoDAO {
                            _Banco = banco
                        };
                        tipoDAL.Update_IncrementaIntegridade(entityDocumento.tdo_id);

                        //Incrementa um na integridade da Unidade Federativa (se existir)
                        if (entityDocumento.unf_idEmissao != Guid.Empty)
                        {
                            END_UnidadeFederativaDAO unfDAL = new END_UnidadeFederativaDAO {
                                _Banco = banco
                            };
                            unfDAL.Update_IncrementaIntegridade(entityDocumento.unf_idEmissao);
                        }
                    }
                    else if (dtDocumento.Rows[i].RowState == DataRowState.Modified)
                    {
                        entityDocumento.tdo_id                 = new Guid(dtDocumento.Rows[i]["tdo_id"].ToString());
                        entityDocumento.unf_idEmissao          = new Guid(dtDocumento.Rows[i]["unf_idEmissao"].ToString());
                        entityDocumento.psd_numero             = Salvar_Sempre_Maiusculo ? dtDocumento.Rows[i]["numero"].ToString().ToUpper() : dtDocumento.Rows[i]["numero"].ToString();
                        entityDocumento.psd_dataEmissao        = string.IsNullOrEmpty(dtDocumento.Rows[i]["dataemissao"].ToString()) ? new DateTime() : Convert.ToDateTime(dtDocumento.Rows[i]["dataemissao"].ToString());
                        entityDocumento.psd_orgaoEmissao       = Salvar_Sempre_Maiusculo ? dtDocumento.Rows[i]["orgaoemissao"].ToString().ToUpper() : dtDocumento.Rows[i]["orgaoemissao"].ToString();
                        entityDocumento.psd_infoComplementares = Salvar_Sempre_Maiusculo ? dtDocumento.Rows[i]["info"].ToString().ToUpper() : dtDocumento.Rows[i]["info"].ToString();
                        entityDocumento.psd_situacao           = Convert.ToByte(1);

                        //NOVOS CAMPOS
                        entityDocumento.psd_categoria     = Salvar_Sempre_Maiusculo ? dtDocumento.Rows[i]["categoria"].ToString().ToUpper() : dtDocumento.Rows[i]["categoria"].ToString();
                        entityDocumento.psd_classificacao = Salvar_Sempre_Maiusculo ? dtDocumento.Rows[i]["classificacao"].ToString().ToUpper() : dtDocumento.Rows[i]["classificacao"].ToString();
                        entityDocumento.psd_csm           = Salvar_Sempre_Maiusculo ? dtDocumento.Rows[i]["csm"].ToString().ToUpper() : dtDocumento.Rows[i]["csm"].ToString();
                        entityDocumento.psd_dataEntrada   = string.IsNullOrEmpty(dtDocumento.Rows[i]["dataEntrada"].ToString()) ? new DateTime() : Convert.ToDateTime(dtDocumento.Rows[i]["dataEntrada"].ToString());
                        entityDocumento.psd_dataValidade  = string.IsNullOrEmpty(dtDocumento.Rows[i]["dataValidade"].ToString()) ? new DateTime() : Convert.ToDateTime(dtDocumento.Rows[i]["dataValidade"].ToString());
                        entityDocumento.pai_idOrigem      = string.IsNullOrEmpty(dtDocumento.Rows[i]["pai_idOrigem"].ToString()) ? Guid.Empty : new Guid(dtDocumento.Rows[i]["pai_idOrigem"].ToString());
                        entityDocumento.psd_serie         = Salvar_Sempre_Maiusculo ? dtDocumento.Rows[i]["serie"].ToString().ToUpper() : dtDocumento.Rows[i]["serie"].ToString();
                        entityDocumento.psd_tipoGuarda    = Salvar_Sempre_Maiusculo ? dtDocumento.Rows[i]["tipoGuarda"].ToString().ToUpper() : dtDocumento.Rows[i]["tipoGuarda"].ToString();
                        entityDocumento.psd_via           = Salvar_Sempre_Maiusculo ? dtDocumento.Rows[i]["via"].ToString().ToUpper() : dtDocumento.Rows[i]["via"].ToString();
                        entityDocumento.psd_secao         = Salvar_Sempre_Maiusculo ? dtDocumento.Rows[i]["secao"].ToString().ToUpper() : dtDocumento.Rows[i]["secao"].ToString();
                        entityDocumento.psd_zona          = Salvar_Sempre_Maiusculo ? dtDocumento.Rows[i]["zona"].ToString().ToUpper() : dtDocumento.Rows[i]["zona"].ToString();
                        entityDocumento.psd_dataExpedicao = string.IsNullOrEmpty(dtDocumento.Rows[i]["dataexpedicao"].ToString()) ? new DateTime() : Convert.ToDateTime(dtDocumento.Rows[i]["dataexpedicao"].ToString());
                        entityDocumento.psd_regiaoMilitar = Salvar_Sempre_Maiusculo ? dtDocumento.Rows[i]["regiaoMilitar"].ToString().ToUpper() : dtDocumento.Rows[i]["regiaoMilitar"].ToString();
                        entityDocumento.psd_numeroRA      = Salvar_Sempre_Maiusculo ? dtDocumento.Rows[i]["numeroRA"].ToString().ToUpper() : dtDocumento.Rows[i]["numeroRA"].ToString();

                        entityDocumento.tdo_id = new Guid(dtDocumento.Rows[i]["tdo_id"].ToString());
                        entityDocumento.IsNew  = false;
                        Save(entityDocumento, banco);

                        if (new Guid(dtDocumento.Rows[i]["unf_idEmissao"].ToString()) != new Guid(dtDocumento.Rows[i]["unf_idAntigo"].ToString()))
                        {
                            END_UnidadeFederativaDAO unfDAL = new END_UnidadeFederativaDAO {
                                _Banco = banco
                            };

                            //Decrementa um na integridade da Unidade Federativa anterior (se existia)
                            if (new Guid(dtDocumento.Rows[i]["unf_idAntigo"].ToString()) != Guid.Empty)
                            {
                                unfDAL.Update_DecrementaIntegridade(new Guid(dtDocumento.Rows[i]["unf_idAntigo"].ToString()));
                            }

                            //Incrementa um na integridade da Unidade Federetiva atual (se existir)
                            if (new Guid(dtDocumento.Rows[i]["unf_idEmissao"].ToString()) != Guid.Empty)
                            {
                                unfDAL.Update_IncrementaIntegridade(new Guid(dtDocumento.Rows[i]["unf_idEmissao"].ToString()));
                            }
                        }
                    }
                }
                else
                {
                    entityDocumento.tdo_id        = new Guid(dtDocumento.Rows[i]["tdo_id", DataRowVersion.Original].ToString());
                    entityDocumento.unf_idEmissao = new Guid(dtDocumento.Rows[i]["unf_idEmissao", DataRowVersion.Original].ToString());
                    PES_PessoaDocumentoDAO pesdocDAL = new PES_PessoaDocumentoDAO {
                        _Banco = banco
                    };
                    pesdocDAL.Delete(entityDocumento);

                    //Decrementa um na integridade do tipo de documento
                    SYS_TipoDocumentacaoDAO tipoDAL = new SYS_TipoDocumentacaoDAO {
                        _Banco = banco
                    };
                    tipoDAL.Update_DecrementaIntegridade(entityDocumento.tdo_id);

                    //Decrementa um na integridade da Unidade Federativa (se existia)
                    if (entityDocumento.unf_idEmissao != Guid.Empty)
                    {
                        END_UnidadeFederativaDAO unfDAL = new END_UnidadeFederativaDAO {
                            _Banco = banco
                        };
                        unfDAL.Update_DecrementaIntegridade(entityDocumento.unf_idEmissao);
                    }
                }
            }
        }