/// <summary> /// Selecionar as entidades filhas (subentidades) /// </summary> /// <param name="entidadeId">Id da entidade</param> /// <returns>Lista de entidades</returns> public DataTable SelecionarEntidadesFilhas(Guid entidadeId) { SYS_EntidadeDAO dao = new SYS_EntidadeDAO(); DataTable dt = dao.SelecionarEntidadesFilhas(entidadeId); return(dt); }
public static List <SYS_Entidade> SelecionarTodasLigadasPorSistemas() { SYS_EntidadeDAO dao = new SYS_EntidadeDAO(); List <SYS_Entidade> lista = dao.SelecionarTodasLigadasPorSistemas(); return(lista); }
public static List <SYS_Entidade> SelecionarPorIdGrupo(Guid entidadeId, Guid grupoId) { SYS_EntidadeDAO dao = new SYS_EntidadeDAO(); List <SYS_Entidade> lista = dao.SelecionarPorIdGrupo(entidadeId, grupoId); return(lista); }
public new static bool Save ( RHU_Funcao entity ) { RHU_FuncaoDAO funDao = new RHU_FuncaoDAO(); funDao._Banco.Open(IsolationLevel.ReadCommitted); SYS_EntidadeDAO entDao = new SYS_EntidadeDAO(); entDao._Banco.Open(IsolationLevel.ReadCommitted); try { if (entity.Validate()) { if (VerificaNomeExistente(entity)) { throw new DuplicateNameException("Já existe uma função cadastrada com este nome."); } if (VerificaCodigoExistente(entity)) { throw new DuplicateNameException("Já existe uma função cadastrada com este código."); } //Salva o cargo funDao.Salvar(entity); if (entity.IsNew) { //Incrementa um na integridade da entidade entDao.Update_IncrementaIntegridade(entity.ent_id); } } else { throw new ValidationException(entity.PropertiesErrorList[0].Message); } return(true); } catch (Exception err) { funDao._Banco.Close(err); entDao._Banco.Close(err); throw; } finally { funDao._Banco.Close(); entDao._Banco.Close(); } }
public new static bool Delete ( RHU_Funcao entity ) { RHU_FuncaoDAO dao = new RHU_FuncaoDAO(); dao._Banco.Open(IsolationLevel.ReadCommitted); SYS_EntidadeDAO entDao = new SYS_EntidadeDAO(); entDao._Banco.Open(IsolationLevel.ReadCommitted); try { //Verifica se a função pode ser deletada if (GestaoEscolarUtilBO.VerificarIntegridade("fun_id", entity.fun_id.ToString(), "RHU_Funcao", dao._Banco)) { throw new ValidationException("Não é possível excluir a função pois possui outros registros ligados a ela."); } //Decrementa um na integridade da entidade entDao.Update_DecrementaIntegridade(entity.ent_id); //Deleta logicamente a função dao.Delete(entity); return(true); } catch (Exception err) { dao._Banco.Close(err); entDao._Banco.Close(err); throw; } finally { dao._Banco.Close(); entDao._Banco.Close(); } }
public static bool Salvar ( int tad_id, Guid uad_idSuperior, int esc_id, List <ACA_ArquivoArea> listDocumentos ) { //Inicio do processo de Registro no BD. ACA_ArquivoAreaDAO dao = new ACA_ArquivoAreaDAO(); //Abertura de BEGIN TRAN para Salvar Documentos. dao._Banco.Open(IsolationLevel.ReadCommitted); SYS_EntidadeDAO entDao = new SYS_EntidadeDAO(); entDao._Banco.Open(IsolationLevel.ReadCommitted); try { List <ACA_ArquivoArea> listaBanco; using (DataTable dtBanco = GetSelectBy_Id_Dre_Escola(tad_id, esc_id, uad_idSuperior, -1, true, false, dao._Banco)) { listaBanco = dtBanco.Rows.Count > 0 ? dtBanco.Rows.Cast <DataRow>().Select(p => dao.DataRowToEntity(p, new ACA_ArquivoArea())).ToList() : new List <ACA_ArquivoArea>(); } foreach (ACA_ArquivoArea entityArquivoArea in listDocumentos) { ACA_ArquivoAreaBO.Save(entityArquivoArea, dao._Banco); if (entityArquivoArea.arq_id > 0) { SYS_Arquivo arq = new SYS_Arquivo { arq_id = entityArquivoArea.arq_id }; SYS_ArquivoBO.GetEntity(arq, dao._Banco); arq.arq_situacao = (byte)SYS_ArquivoSituacao.Ativo; SYS_ArquivoBO.Save(arq, dao._Banco); } } bool teste = listaBanco.Where(p => !listDocumentos.Exists(q => q.aar_id == p.aar_id && q.tad_id == p.tad_id)) .ToList() .Aggregate(true, (deletou, doc) => deletou & Delete(doc, dao._Banco)); return(true); } catch (Exception err) { //Roolback da transação dao._Banco.Close(err); entDao._Banco.Close(err); throw; } finally { //Fechamento da transação if (dao._Banco.ConnectionIsOpen) { dao._Banco.Close(); } if (entDao._Banco.ConnectionIsOpen) { entDao._Banco.Close(); } } }
public new static bool Delete ( SYS_UnidadeAdministrativa entity , TalkDBTransaction banco ) { SYS_UnidadeAdministrativaDAO dal = new SYS_UnidadeAdministrativaDAO(); if (banco == null) { dal._Banco.Open(IsolationLevel.ReadCommitted); } else { dal._Banco = banco; } try { //Verifica se a unidade administrativa pode ser deletada if (dal.Select_Integridade(entity.ent_id, entity.uad_id) > 0) { throw new CoreLibrary.Validation.Exceptions.ValidationException("Não é possível excluir a unidade administrativa pois possui outros registros ligados a ela."); } //Decrementa um na integridade do endereço (se necessário) SYS_UnidadeAdministrativaEnderecoDAO uadendDal = new SYS_UnidadeAdministrativaEnderecoDAO { _Banco = dal._Banco }; SYS_UnidadeAdministrativaEndereco entityUnidadeAdministrativaEndereco = new SYS_UnidadeAdministrativaEndereco { ent_id = entity.ent_id, uad_id = entity.uad_id, uae_id = uadendDal.SelectBy_ent_id_uad_id_top_one(entity.ent_id, entity.uad_id) }; uadendDal.Carregar(entityUnidadeAdministrativaEndereco); if (entityUnidadeAdministrativaEndereco.uae_situacao != 3) { END_EnderecoDAO endDal = new END_EnderecoDAO { _Banco = dal._Banco }; endDal.Update_DecrementaIntegridade(entityUnidadeAdministrativaEndereco.end_id); } //Decrementa um na integridade de cada tipo de contato da unidade administrativa SYS_UnidadeAdministrativaContatoDAO uadconDal = new SYS_UnidadeAdministrativaContatoDAO { _Banco = dal._Banco }; SYS_TipoMeioContatoDAO conDal = new SYS_TipoMeioContatoDAO { _Banco = dal._Banco }; DataTable dt = uadconDal.SelectBy_ent_id(entity.ent_id, entity.uad_id, false, 1, 1, out totalRecords); for (int i = 0; i < dt.Rows.Count; i++) { conDal.Update_DecrementaIntegridade(new Guid(dt.Rows[i]["tmc_id"].ToString())); } //Decrementa um na integridade da entidade SYS_EntidadeDAO entDal = new SYS_EntidadeDAO { _Banco = dal._Banco }; entDal.Update_DecrementaIntegridade(entity.ent_id); //Decrementa um na integridade do tipo de unidade administrativa SYS_TipoUnidadeAdministrativaDAO tipoDAL = new SYS_TipoUnidadeAdministrativaDAO { _Banco = dal._Banco }; tipoDAL.Update_DecrementaIntegridade(entity.tua_id); //Decrementa um na integridade da unidade administrativa superior (se existir) if (entity.uad_idSuperior != Guid.Empty) { dal.Update_DecrementaIntegridade(entity.ent_id, entity.uad_idSuperior); } //Deleta logicamente a unidade administrativa dal.Delete(entity); return(true); } catch (Exception err) { if (banco == null) { dal._Banco.Close(err); } throw; } finally { if (banco == null) { dal._Banco.Close(); } } }
public static bool Save ( SYS_UnidadeAdministrativa entityUnidadeAdministrativa , List <END_Endereco> ltEntityEndereco , List <SYS_UnidadeAdministrativaEndereco> ltEntityUnidadeAdministrativaEndereco , DataTable dtContatos , Guid uad_idSuperiorAntigo , Guid end_idAntigo , TalkDBTransaction banco ) { SYS_UnidadeAdministrativaDAO uadDAL = new SYS_UnidadeAdministrativaDAO(); if (banco == null) { uadDAL._Banco.Open(IsolationLevel.ReadCommitted); } else { uadDAL._Banco = banco; } try { if (ltEntityEndereco.Count > 0) { for (int i = 0; i < ltEntityEndereco.Count; i++) { // Inclui dados na tabela END_Endereco (se necessário) // if (ltEntityEndereco[i].IsNew) string end_situacao = ltEntityEndereco[i].end_situacao.ToString(); if (!end_situacao.Equals("3")) { ltEntityEndereco[i].end_id = END_EnderecoBO.Save(ltEntityEndereco[i], Guid.Empty, uadDAL._Banco); ltEntityUnidadeAdministrativaEndereco[i].end_id = ltEntityEndereco[i].end_id; } } } // Salva dados na tabela SYS_UnidadeAdministrativa if (entityUnidadeAdministrativa.Validate()) { Func <Guid, Guid, bool> VerificaUASuperior = (x, y) => x != Guid.Empty && y != Guid.Empty && x.Equals(y); //VERIFICA SE O USUÁRIO ESTÁ TENTANDO VINCULA A MESMA UNIDADE ADMINISTRATIVA COMO SUPERIOR if (VerificaUASuperior(entityUnidadeAdministrativa.uad_id, entityUnidadeAdministrativa.uad_idSuperior)) { throw new CoreLibrary.Validation.Exceptions.ValidationException("Não é possível vincular a mesma unidade administrativa como superior."); } else if (VerificaNomeExistente(entityUnidadeAdministrativa)) { throw new DuplicateNameException("Já existe uma unidade administrativa cadastrada com este nome."); } uadDAL.Salvar(entityUnidadeAdministrativa); } else { throw new ValidationException(entityUnidadeAdministrativa.PropertiesErrorList[0].Message); } if (ltEntityUnidadeAdministrativaEndereco.Count > 0) { for (int i = 0; i < ltEntityUnidadeAdministrativaEndereco.Count; i++) { // Salva dados na tabela SYS_UnidadeAdministrativaEndereco if (ltEntityUnidadeAdministrativaEndereco[i].Validate()) { /* SYS_UnidadeAdministrativaEnderecoDAO uaendDAL = new SYS_UnidadeAdministrativaEnderecoDAO { _Banco = uadDAL._Banco }; * ltEntityUnidadeAdministrativaEndereco[i].uad_id = entityUnidadeAdministrativa.uad_id; * uaendDAL.Salvar(ltEntityUnidadeAdministrativaEndereco[i]);*/ SYS_UnidadeAdministrativaEnderecoDAO uaendDAL = new SYS_UnidadeAdministrativaEnderecoDAO { _Banco = uadDAL._Banco }; //Se for Delete string end_situacao = ltEntityEndereco[i].end_situacao.ToString(); if (end_situacao.Equals("3")) { uaendDAL.Delete(ltEntityUnidadeAdministrativaEndereco[i]); } else {// Se for Update ou Save // Salva dados na tabela SYS_UnidadeAdministrativaEndereco ltEntityUnidadeAdministrativaEndereco[i].uad_id = entityUnidadeAdministrativa.uad_id; uaendDAL.Salvar(ltEntityUnidadeAdministrativaEndereco[i]); } } else { throw new ValidationException(ltEntityUnidadeAdministrativaEndereco[i].PropertiesErrorList[0].Message); } if (ltEntityUnidadeAdministrativaEndereco[i].IsNew) { if (ltEntityUnidadeAdministrativaEndereco[i].end_id != Guid.Empty) { // Incrementa um na integridade do endereço END_EnderecoDAO endDAL = new END_EnderecoDAO { _Banco = uadDAL._Banco }; endDAL.Update_IncrementaIntegridade(ltEntityUnidadeAdministrativaEndereco[i].end_id); } } else { if (end_idAntigo != ltEntityUnidadeAdministrativaEndereco[i].end_id) { END_EnderecoDAO endDAL = new END_EnderecoDAO { _Banco = uadDAL._Banco }; if (ltEntityUnidadeAdministrativaEndereco[i].uae_situacao != 3) { // Decrementa um na integridade do endereço antigo (se existia) if (end_idAntigo != Guid.Empty) { endDAL.Update_DecrementaIntegridade(end_idAntigo); } // Incrementa um na integridade do endereço atual (se existir) if (ltEntityUnidadeAdministrativaEndereco[i].end_id != Guid.Empty) { endDAL.Update_IncrementaIntegridade(ltEntityUnidadeAdministrativaEndereco[i].end_id); } } } else { if (ltEntityUnidadeAdministrativaEndereco[i].uae_situacao == 3) { // Decrementa um na integridade do endereço atual if (end_idAntigo != Guid.Empty) { END_EnderecoDAO endDAL = new END_EnderecoDAO { _Banco = uadDAL._Banco }; endDAL.Update_DecrementaIntegridade(ltEntityUnidadeAdministrativaEndereco[i].end_id); } } } } } } // Salva dados na tabela SYS_UnidadeAdministrativaContato SYS_UnidadeAdministrativaContato entityContato = new SYS_UnidadeAdministrativaContato { ent_id = entityUnidadeAdministrativa.ent_id , uad_id = entityUnidadeAdministrativa.uad_id }; for (int i = 0; i < dtContatos.Rows.Count; i++) { if (dtContatos.Rows[i].RowState != DataRowState.Deleted) { if (dtContatos.Rows[i].RowState == DataRowState.Added) { entityContato.tmc_id = new Guid(dtContatos.Rows[i]["tmc_id"].ToString()); entityContato.uac_contato = dtContatos.Rows[i]["contato"].ToString(); entityContato.uac_situacao = Convert.ToByte(1); entityContato.uac_id = new Guid(dtContatos.Rows[i]["id"].ToString()); entityContato.IsNew = true; SYS_UnidadeAdministrativaContatoBO.Save(entityContato, uadDAL._Banco); // Incrementa um na integridade do tipo de contato SYS_TipoMeioContatoDAO tipoDAL = new SYS_TipoMeioContatoDAO { _Banco = uadDAL._Banco }; tipoDAL.Update_IncrementaIntegridade(entityContato.tmc_id); } else if (dtContatos.Rows[i].RowState == DataRowState.Modified) { entityContato.tmc_id = new Guid(dtContatos.Rows[i]["tmc_id"].ToString()); entityContato.uac_contato = dtContatos.Rows[i]["contato"].ToString(); entityContato.uac_situacao = Convert.ToByte(1); entityContato.uac_id = new Guid(dtContatos.Rows[i]["id"].ToString()); entityContato.IsNew = false; SYS_UnidadeAdministrativaContatoBO.Save(entityContato, uadDAL._Banco); } } else { entityContato.uac_id = (Guid)dtContatos.Rows[i]["id", DataRowVersion.Original]; entityContato.tmc_id = (Guid)dtContatos.Rows[i]["tmc_id", DataRowVersion.Original]; SYS_UnidadeAdministrativaContatoDAO uadconDAL = new SYS_UnidadeAdministrativaContatoDAO { _Banco = uadDAL._Banco }; uadconDAL.Delete(entityContato); //Decrementa um na integridade do tipo de contato SYS_TipoMeioContatoDAO tipoDAL = new SYS_TipoMeioContatoDAO { _Banco = uadDAL._Banco }; tipoDAL.Update_DecrementaIntegridade(entityContato.tmc_id); } } if (entityUnidadeAdministrativa.IsNew) { // Incrementa um na integridade da entidade SYS_EntidadeDAO entDAL = new SYS_EntidadeDAO { _Banco = uadDAL._Banco }; entDAL.Update_IncrementaIntegridade(entityUnidadeAdministrativa.ent_id); // Incrementa um na integridade do tipo de unidade administrativa SYS_TipoUnidadeAdministrativaDAO tipoDAL = new SYS_TipoUnidadeAdministrativaDAO { _Banco = uadDAL._Banco }; tipoDAL.Update_IncrementaIntegridade(entityUnidadeAdministrativa.tua_id); // Incrementa um na integridade da unidade administrativa superior (se existir) if (entityUnidadeAdministrativa.uad_idSuperior != Guid.Empty) { uadDAL.Update_IncrementaIntegridade(entityUnidadeAdministrativa.ent_id, entityUnidadeAdministrativa.uad_idSuperior); } } else { if (uad_idSuperiorAntigo != entityUnidadeAdministrativa.uad_idSuperior) { // Decrementa um na integridade da unidade administrativa superior anterior (se existia) if (uad_idSuperiorAntigo != Guid.Empty) { uadDAL.Update_DecrementaIntegridade(entityUnidadeAdministrativa.ent_id, uad_idSuperiorAntigo); } // Incrementa um na integridade da unidade administrativa superior atual (se existir) if (entityUnidadeAdministrativa.uad_idSuperior != Guid.Empty) { uadDAL.Update_IncrementaIntegridade(entityUnidadeAdministrativa.ent_id, entityUnidadeAdministrativa.uad_idSuperior); } } } return(true); } catch (Exception err) { if (banco == null) { uadDAL._Banco.Close(err); } throw; } finally { if (banco == null) { uadDAL._Banco.Close(); } } }
public static bool Save(RHU_Cargo entity, List <RHU_CargoDisciplina> list) { SYS_EntidadeDAO entDao = new SYS_EntidadeDAO(); entDao._Banco.Open(IsolationLevel.ReadCommitted); TalkDBTransaction banco = new RHU_CargoDAO()._Banco.CopyThisInstance(); banco.Open(IsolationLevel.ReadCommitted); try { if (!entity.Validate()) { throw new ValidationException(entity.PropertiesErrorList[0].Message); } if (VerificaNomeExistente(entity, banco)) { throw new DuplicateNameException("Já existe um cargo cadastrado com este nome."); } if (!string.IsNullOrEmpty(entity.crg_codigo) && VerificaCodigoExistente(entity, banco)) { throw new DuplicateNameException("Já existe um cargo cadastrado com este código."); } if (entity.crg_cargoDocente) { if (entity.crg_maxAulaDia <= 0) { throw new ArgumentException("Máximo de aulas por dia deve ser maior do que 0."); } if (entity.crg_maxAulaDia > 24) { throw new ArgumentException("Máximo de aulas por dia não pode ser maior do que 24."); } if (entity.crg_maxAulaSemana <= 0) { throw new ArgumentException("Máximo de aulas por semana deve ser maior do que 0."); } if (entity.crg_maxAulaSemana > 168) { throw new ArgumentException("Máximo de aulas por semana não pode ser maior do que 168."); } } // Salva o cargo. Save(entity, banco); if (entity.IsNew) { // Incrementa um na integridade da entidade. entDao.Update_IncrementaIntegridade(entity.ent_id); } // Exclui as disciplinas do cargo. RHU_CargoDisciplina entityDelete = new RHU_CargoDisciplina { crg_id = entity.crg_id }; RHU_CargoDisciplinaBO.DeleteByCargo(entityDelete, banco); // Salva as disciplinas do cargo. foreach (RHU_CargoDisciplina entityDis in list) { entityDis.crg_id = entity.crg_id; RHU_CargoDisciplinaBO.Save(entityDis, banco); } return(true); } catch (Exception ex) { entDao._Banco.Close(ex); banco.Close(ex); throw; } finally { if (entDao._Banco.ConnectionIsOpen) { entDao._Banco.Close(); } if (banco.ConnectionIsOpen) { banco.Close(); } } }