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); } } }
public static bool Save ( SYS_Entidade entityEntidade , DataTable entityEntidadeEndereco , DataTable dtContatos , Guid ent_idSuperiorAntigo , Guid end_idAntigo , string caminho , string nomeLogoCliente , HttpPostedFile logoCliente , CoreLibrary.Data.Common.TalkDBTransaction banco ) /* public static bool Save * ( * SYS_Entidade entityEntidade * , END_Endereco entityEndereco * , SYS_EntidadeEndereco entityEntidadeEndereco * , DataTable dtContatos * , Guid ent_idSuperiorAntigo * , Guid end_idAntigo * , string caminho * , string nomeLogoCliente * , HttpPostedFile logoCliente * ,CoreLibrary.Data.Common.TalkDBTransaction banco * )*/ { SYS_EntidadeDAO entDAL = new SYS_EntidadeDAO(); if (banco == null) { entDAL._Banco.Open(IsolationLevel.ReadCommitted); } else { entDAL._Banco = banco; } try { //Salva dados na tabela SYS_Entidade if (entityEntidade.Validate()) { if (VerificaRazaoSocialExistente(entityEntidade)) { throw new DuplicateNameException("Já existe uma entidade cadastrada com esta razão social."); } if (!string.IsNullOrEmpty(entityEntidade.ent_cnpj.Trim())) { if (!UtilBO._ValidaCNPJ(entityEntidade.ent_cnpj)) { throw new ArgumentException("CNPJ inválido."); } if (VerificaCNPJExistente(entityEntidade)) { throw new DuplicateNameException("Já existe uma entidade cadastrada com este CNPJ."); } } if (!string.IsNullOrEmpty(entityEntidade.ent_urlAcesso)) { Regex reg = new Regex(@"^(http|https):\/\/([a-z]+)(\.[a-z]+)+$"); if (!reg.IsMatch(entityEntidade.ent_urlAcesso)) { throw new ArgumentException("URL de acesso inválido."); } } if (entDAL.Salvar(entityEntidade) && !string.IsNullOrEmpty(nomeLogoCliente) && logoCliente != null) { nomeLogoCliente = entityEntidade.ent_id + "_" + nomeLogoCliente; UtilBO.SaveThumbnailImage ( 1000 , caminho , nomeLogoCliente , logoCliente , 84 , 60 ); } } else { throw new CoreLibrary.Validation.Exceptions.ValidationException(entityEntidade.PropertiesErrorList[0].Message); } //TODO:[Gabriel] Multiplos endereços /* * * if (entityEntidadeEndereco != null) * { * //Salva dados na tabela SYS_EntidadeEndereco * if (entityEntidadeEndereco.Validate()) * { * SYS_EntidadeEnderecoDAO entendDAL = new SYS_EntidadeEnderecoDAO { _Banco = entDAL._Banco }; * entityEntidadeEndereco.ent_id = entityEntidade.ent_id; * entendDAL.Salvar(entityEntidadeEndereco); * } * else * { * throw new CoreLibrary.Validation.Exceptions.ValidationException(entityEntidadeEndereco.PropertiesErrorList[0].Message); * } * * if (entityEntidadeEndereco.IsNew) * { * if (entityEntidadeEndereco.end_id != Guid.Empty) * { * //Incrementa um na integridade do endereço * END_EnderecoDAO endDAL = new END_EnderecoDAO { _Banco = entDAL._Banco }; * endDAL.Update_IncrementaIntegridade(entityEntidadeEndereco.end_id); * } * } * else * { * if (end_idAntigo != entityEntidadeEndereco.end_id) * { * END_EnderecoDAO endDAL = new END_EnderecoDAO { _Banco = entDAL._Banco }; * * if (entityEntidadeEndereco.ene_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 (entityEntidadeEndereco.end_id != Guid.Empty) * endDAL.Update_IncrementaIntegridade(entityEntidadeEndereco.end_id); * } * } * else * { * if (entityEntidadeEndereco.ene_situacao == 3) * { * //Decrementa um na integridade do endereço atual * if (end_idAntigo != Guid.Empty) * { * END_EnderecoDAO endDAL = new END_EnderecoDAO { _Banco = entDAL._Banco }; * endDAL.Update_DecrementaIntegridade(entityEntidadeEndereco.end_id); * } * } * } * } * } */ //Salva dados na tabela SYS_EntidadeContato SYS_EntidadeContato entityContato = new SYS_EntidadeContato { ent_id = entityEntidade.ent_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.enc_contato = dtContatos.Rows[i]["contato"].ToString(); entityContato.enc_situacao = Convert.ToByte(1); entityContato.enc_id = new Guid(dtContatos.Rows[i]["id"].ToString()); entityContato.IsNew = true; SYS_EntidadeContatoBO.Save(entityContato, entDAL._Banco); //Incrementa um na integridade do tipo de contato SYS_TipoMeioContatoDAO tipoDAL = new SYS_TipoMeioContatoDAO { _Banco = entDAL._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.enc_contato = dtContatos.Rows[i]["contato"].ToString(); entityContato.enc_situacao = Convert.ToByte(1); entityContato.enc_id = new Guid(dtContatos.Rows[i]["id"].ToString()); entityContato.IsNew = false; SYS_EntidadeContatoBO.Save(entityContato, entDAL._Banco); } } else { entityContato.enc_id = (Guid)dtContatos.Rows[i]["id", DataRowVersion.Original]; entityContato.tmc_id = (Guid)dtContatos.Rows[i]["tmc_id", DataRowVersion.Original]; SYS_EntidadeContatoDAO entconDAL = new SYS_EntidadeContatoDAO { _Banco = entDAL._Banco }; entconDAL.Delete(entityContato); //Decrementa um na integridade do tipo de contato SYS_TipoMeioContatoDAO tipoDAL = new SYS_TipoMeioContatoDAO { _Banco = entDAL._Banco }; tipoDAL.Update_DecrementaIntegridade(entityContato.tmc_id); } } if (entityEntidade.IsNew) { //Incrementa um na integridade do tipo de entidade SYS_TipoEntidadeDAO tipoDAL = new SYS_TipoEntidadeDAO { _Banco = entDAL._Banco }; tipoDAL.Update_IncrementaIntegridade(entityEntidade.ten_id); //Incrementa um na integridade da entidade superior (se existir) if (entityEntidade.ent_idSuperior != Guid.Empty) { entDAL.Update_IncrementaIntegridade(entityEntidade.ent_idSuperior); } } else { if (ent_idSuperiorAntigo != entityEntidade.ent_idSuperior) { //Decrementa um na integridade da entidade superior anterior (se existia) if (ent_idSuperiorAntigo != Guid.Empty) { entDAL.Update_DecrementaIntegridade(ent_idSuperiorAntigo); } //Incrementa um na integridade da entidade superior atual (se existir) if (entityEntidade.ent_idSuperior != Guid.Empty) { entDAL.Update_IncrementaIntegridade(entityEntidade.ent_idSuperior); } } } // endereço SYS_EntidadeEndereco entityEndereco = new SYS_EntidadeEndereco { ent_id = entityEntidade.ent_id }; // ABRIR CONEXÃO SYS_EntidadeEnderecoDAO entidadeEnderecoDAO = new SYS_EntidadeEnderecoDAO(); entidadeEnderecoDAO._Banco = entDAL._Banco; for (int i = 0; i < entityEntidadeEndereco.Rows.Count; i++) { //if (entityEntidadeEndereco.Rows[i].RowState != DataRowState.Deleted) if (!Convert.ToBoolean(entityEntidadeEndereco.Rows[i]["excluido"].ToString())) { string end_id = entityEntidadeEndereco.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 = entityEntidadeEndereco.Rows[i]["end_cep"].ToString() , end_logradouro = entityEntidadeEndereco.Rows[i]["end_logradouro"].ToString() , end_distrito = entityEntidadeEndereco.Rows[i]["end_distrito"].ToString() , end_zona = entityEntidadeEndereco.Rows[i]["end_zona"].ToString() == "0" || string.IsNullOrEmpty(entityEntidadeEndereco.Rows[i]["end_zona"].ToString()) ? Convert.ToByte(0) : Convert.ToByte(entityEntidadeEndereco.Rows[i]["end_zona"].ToString()) , end_bairro = entityEntidadeEndereco.Rows[i]["end_bairro"].ToString() , cid_id = new Guid(entityEntidadeEndereco.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, entDAL._Banco); entityNovoEndereco.end_id = entityEndereco.end_id; } // entityEntidadeEndereco.Rows[i]["end_id"] = entityNovoEndereco.end_id; } string endRel_id = entityEntidadeEndereco.Rows[i]["endRel_id"].ToString(); if (entityEntidadeEndereco.Rows[i].RowState == DataRowState.Added || string.IsNullOrEmpty(endRel_id)) { //TRATA DECIMAL decimal latitude = string.IsNullOrEmpty(entityEntidadeEndereco.Rows[i]["latitude"].ToString()) ? 0 : decimal.Parse(entityEntidadeEndereco.Rows[i]["latitude"].ToString()); decimal longitude = string.IsNullOrEmpty(entityEntidadeEndereco.Rows[i]["longitude"].ToString()) ? 0 : decimal.Parse(entityEntidadeEndereco.Rows[i]["longitude"].ToString()); //ATRIBUI VALORES entityEndereco.ent_id = entityEntidade.ent_id; entityEndereco.end_id = new Guid(entityEntidadeEndereco.Rows[i]["end_id"].ToString()); entityEndereco.ene_numero = entityEntidadeEndereco.Rows[i]["numero"].ToString(); entityEndereco.ene_complemento = entityEntidadeEndereco.Rows[i]["complemento"].ToString(); entityEndereco.ene_situacao = Convert.ToByte(1); entityEndereco.ene_id = new Guid(entityEntidadeEndereco.Rows[i]["id"].ToString()); entityEndereco.IsNew = true; // entityEndereco.ene_enderecoPrincipal = string.IsNullOrEmpty(entityEntidadeEndereco.Rows[i]["enderecoprincipal"].ToString()) ? false : Convert.ToBoolean(entityEntidadeEndereco.Rows[i]["enderecoprincipal"]); entityEndereco.ene_latitude = latitude; entityEndereco.ene_longitude = longitude; // entidadeEnderecoDAO.Salvar(entityEndereco); } else if (entityEntidadeEndereco.Rows[i].RowState == DataRowState.Modified && !string.IsNullOrEmpty(endRel_id)) { //TRATA DECIMAL decimal latitude = string.IsNullOrEmpty(entityEntidadeEndereco.Rows[i]["latitude"].ToString()) ? 0 : decimal.Parse(entityEntidadeEndereco.Rows[i]["latitude"].ToString()); decimal longitude = string.IsNullOrEmpty(entityEntidadeEndereco.Rows[i]["longitude"].ToString()) ? 0 : decimal.Parse(entityEntidadeEndereco.Rows[i]["longitude"].ToString()); //ATRIBUI VALORES entityEndereco.ene_id = new Guid(entityEntidadeEndereco.Rows[i]["endRel_id"].ToString()); entityEndereco.ent_id = entityEntidade.ent_id; entityEndereco.end_id = new Guid(entityEntidadeEndereco.Rows[i]["end_id"].ToString()); // entityEndereco.ene_numero = entityEntidadeEndereco.Rows[i]["numero"].ToString(); entityEndereco.ene_complemento = entityEntidadeEndereco.Rows[i]["complemento"].ToString(); bool excluido = Convert.ToBoolean(entityEntidadeEndereco.Rows[i]["excluido"]); if (excluido) { entityEndereco.ene_situacao = Convert.ToByte(3); } else { entityEndereco.ene_situacao = Convert.ToByte(1); } entityEndereco.IsNew = false; // entityEndereco.ene_enderecoPrincipal = string.IsNullOrEmpty(entityEntidadeEndereco.Rows[i]["enderecoprincipal"].ToString()) ? false : Convert.ToBoolean(entityEntidadeEndereco.Rows[i]["enderecoprincipal"]); entityEndereco.ene_latitude = latitude; entityEndereco.ene_longitude = longitude; // entidadeEnderecoDAO.Salvar(entityEndereco); } } else { entityEndereco.ene_id = new Guid(entityEntidadeEndereco.Rows[i]["endRel_id", DataRowVersion.Original].ToString()); entityEndereco.end_id = new Guid(entityEntidadeEndereco.Rows[i]["end_id", DataRowVersion.Original].ToString()); entidadeEnderecoDAO.Delete(entityEndereco); } } return(true); } catch (Exception err) { if (banco == null) { entDAL._Banco.Close(err); } throw; } finally { if (banco == null) { entDAL._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(); } } }