/// <summary> /// M�todo para incluir/alterar um tema padr�o. /// </summary> /// <param name="entity">Entidade de tema padr�o.</param> /// <returns></returns> public static new bool Save(CFG_TemaPadrao entity) { TalkDBTransaction banco = new CFG_TemaPadraoDAO()._Banco.CopyThisInstance(); banco.Open(IsolationLevel.ReadCommitted); try { if (entity.Validate()) { if (VerificaExistePorNome(entity.tep_id, entity.tep_nome)) { throw new DuplicateNameException("J� existe um tema padr�o cadastrado com esse nome."); } return(new CFG_TemaPadraoDAO().Salvar(entity)); } throw new ValidationException(UtilBO.ErrosValidacao(entity)); } catch (Exception ex) { banco.Close(ex); throw; } finally { if (banco.ConnectionIsOpen) { banco.Close(); } } }
/// <summary> /// Salva o log da API. /// </summary> /// <param name="entity"></param> /// <returns></returns> public static new bool Save(LOG_UsuarioAPI entity) { if (entity.Validate()) { return(new LOG_UsuarioAPIDAO().Salvar(entity)); } throw new ValidationException(UtilBO.ErrosValidacao(entity)); }
/// <summary> /// O m�todo realiza valida��es e criptografa a senha antes de salvar o usu�rio API. /// </summary> /// <param name="entity">Entidade do usu�rio</param> /// <returns></returns> public static new bool Save(CFG_UsuarioAPI entity) { CFG_UsuarioAPIDAO dao = new CFG_UsuarioAPIDAO(); dao._Banco.Open(IsolationLevel.ReadCommitted); try { bool retorno = false; entity.uap_password = string.IsNullOrEmpty(entity.uap_password) ? string.Empty : UtilBO.CriptografarSenha(entity.uap_password, eCriptografa.TripleDES); if (entity.IsNew && string.IsNullOrEmpty(entity.uap_password)) { throw new ValidationException("Senha do usu�rio API � obrigat�rio."); } if (!string.IsNullOrEmpty(entity.uap_password) && entity.uap_password.Length > 256) { throw new ValidationException("Senha do usu�rio API deve possuir at� 256 caracteres."); } if (!entity.Validate()) { throw new ValidationException(UtilBO.ErrosValidacao(entity)); } if (VerificaUsernameExistente(entity, dao._Banco)) { throw new DuplicateNameException("J� existe um usu�rio API com o mesmo nome de usu�rio."); } retorno = dao.Salvar(entity); if (!string.IsNullOrEmpty(entity.uap_password) && !entity.IsNew) { retorno &= AtualizaSenha(entity, dao._Banco); } return(retorno); } catch (Exception ex) { dao._Banco.Close(ex); throw ex; } finally { if (dao._Banco.ConnectionIsOpen) { dao._Banco.Close(); } } }
public new static bool Save ( ACA_AlunoCurriculo entity , TalkDBTransaction banco , Guid ent_id ) { if (entity.Validate()) { // Valida dados necessários para salvar a entidade. ValidaDados(entity, banco, ent_id); if (!entity.IsNew) { // Se for alteração, e estiver alterando para Inativo, setar a data de saída. ACA_AlunoCurriculo entAux = new ACA_AlunoCurriculo { alu_id = entity.alu_id , alc_id = entity.alc_id }; GetEntity(entAux, banco); if ((!entAux.IsNew) && (entity.alc_dataSaida == new DateTime()) && (entity.alc_situacao == (byte)ACA_AlunoCurriculoSituacao.Inativo) && (entity.alc_situacao != entAux.alc_situacao)) { // Se a situação não era inativo e passou a ser. entity.alc_dataSaida = DateTime.Now; } } else { if (entity.alc_dataPrimeiraMatricula == new DateTime()) { // Se a entidade for nova e o campo estiver nulo, setar a data da primeira matrícula. entity.alc_dataPrimeiraMatricula = DateTime.Now; } } if (ValidarIdadeIdeal(entity, banco, null, true, 0, ent_id)) { ACA_AlunoCurriculoDAO alucurDAO = new ACA_AlunoCurriculoDAO { _Banco = banco }; return(alucurDAO.Salvar(entity)); } } throw new ACA_AlunoCurriculo_ValidationException(UtilBO.ErrosValidacao(entity)); }
/// <summary> /// Salva os dados de uma entidade de tema de cores no banco. /// </summary> /// <param name="entity">Entidade de tema de cores.</param> /// <returns></returns> public static new bool Save(CFG_TemaPaleta entity) { if (entity.Validate()) { if (VerificaExistePorNomeTemaPadrao(entity.tep_id, entity.tpl_id, entity.tpl_nome)) { throw new DuplicateNameException("J� existe um tema de cores cadastrado com esse nome."); } return(new CFG_TemaPaletaDAO().Salvar(entity)); } throw new ValidationException(UtilBO.ErrosValidacao(entity)); }
public new static bool Save ( ACA_AlunoHistoricoObservacao entity , TalkDBTransaction banco ) { if (entity.Validate()) { ACA_AlunoHistoricoObservacaoDAO dao = new ACA_AlunoHistoricoObservacaoDAO { _Banco = banco }; return(dao.Salvar(entity)); } throw new ACA_AlunoHistoricoObservacao_ValidationException(UtilBO.ErrosValidacao(entity)); }
/// <summary> /// Inclui ou altera o tipo de equipamento de deficienete. /// </summary> /// <param name="entity">Entidade ACA_TipoEquipamentoDeficiente</param> public new static bool Save(ACA_TipoEquipamentoDeficiente entity) { if (entity.Validate()) { if (VerificaNomeExistente(entity)) { throw new DuplicateNameException( CustomResource.GetGlobalResourceObject("BLL", "TipoEquipamentoDeficiente.ValidaDuplicidade") ); } ACA_TipoEquipamentoDeficienteDAO dao = new ACA_TipoEquipamentoDeficienteDAO(); return(dao.Salvar(entity)); } throw new ValidationException(UtilBO.ErrosValidacao(entity)); }
/// <summary> /// Salva (inclusão ou alteração) uma configuração. /// </summary> /// <param name="entity">Entidade CFG_Configuracao</param> /// <returns></returns> public static bool Salvar(CFG_Configuracao entity) { CFG_ConfiguracaoDAO dao = new CFG_ConfiguracaoDAO(); // Verifica chave da configuração if (VerificarChaveExistente(entity)) { throw new DuplicateNameException("Já existe uma configuração cadastrada com esta chave."); } if (entity.Validate()) { return(dao.Salvar(entity)); } else { throw new ValidationException(UtilBO.ErrosValidacao(entity)); } }
/// <summary> /// O método salva ou altera um registro de CFG_RelatorioDocumentoAluno /// </summary> /// <param name="entity">Entidade de CFG_RelatorioDocumentoAluno</param> /// <returns></returns> public static bool Salvar(CFG_RelatorioDocumentoAluno entity) { if (VerificaRelatorioExistente(entity)) { throw new DuplicateNameException("Já existe um documento do aluno cadastrado com este relatorio."); } if (VerificaNomeExistente(entity)) { throw new DuplicateNameException("Já existe um documento do aluno cadastrado com este nome."); } if (VerificaOrdemExistente(entity)) { throw new DuplicateNameException("Já existe um documento do aluno cadastrado com esta ordem."); } if (entity.Validate()) { return(new CFG_RelatorioDocumentoAlunoDAO().Salvar(entity)); } throw new ValidationException(UtilBO.ErrosValidacao(entity)); }
/// <summary> /// Salva o objeto de aprendizagem /// </summary> /// <param name="entity">Entidade do objeto de aprendizagem</param> /// <param name="listTci_ids">Lista de ciclos</param> public static void Save(ACA_ObjetoAprendizagem entity, List <int> listTci_ids) { ACA_ObjetoAprendizagemDAO dao = new ACA_ObjetoAprendizagemDAO(); dao._Banco.Open(IsolationLevel.ReadCommitted); try { if (entity.Validate()) { bool isNew = entity.oap_id <= 0; if (VerificaObjetoMesmoNome(entity.oap_id, entity.tds_id, entity.cal_ano, entity.oae_id, entity.oap_descricao, dao._Banco)) { throw new ValidationException("Já existe um objeto de conhecimento cadastrado com a mesma descrição no eixo."); } Save(entity, dao._Banco); List <ACA_ObjetoAprendizagemTipoCiclo> list = listTci_ids.Select(x => new ACA_ObjetoAprendizagemTipoCiclo { oap_id = entity.oap_id, tci_id = x }).ToList(); if (isNew) { Dictionary <int, string> lstCiclosEmUso = ACA_ObjetoAprendizagemTipoCicloBO.CiclosEmUso(entity.oap_id, dao._Banco); if (lstCiclosEmUso.Any(c => !list.Any(p => p.tci_id == c.Key))) { if (lstCiclosEmUso.Where(c => !list.Any(p => p.tci_id == c.Key)).Count() > 1) { throw new ValidationException("Ciclos " + lstCiclosEmUso.Where(c => !list.Any(p => p.tci_id == c.Key)).Select(p => p.Value).Aggregate((a, b) => a + ", " + b) + " estão em uso e não podem ser removidos."); } else { throw new ValidationException("Ciclo " + lstCiclosEmUso.Where(c => !list.Any(p => p.tci_id == c.Key)).First().Value + " está em uso e não pode ser removido."); } } } ACA_ObjetoAprendizagemTipoCicloBO.DeleteNew(entity.oap_id, dao._Banco); foreach (ACA_ObjetoAprendizagemTipoCiclo item in list) { ACA_ObjetoAprendizagemTipoCicloBO.Save(item, dao._Banco); } } else { throw new ValidationException(UtilBO.ErrosValidacao(entity)); } GestaoEscolarUtilBO.LimpaCache("Cache_SelecionaTipoDisciplinaObjetosAprendizagem"); GestaoEscolarUtilBO.LimpaCache("Cache_SelecionaTipoCicloAtivosEscola"); } catch (Exception ex) { dao._Banco.Close(ex); throw; } finally { dao._Banco.Close(); } }
/// <summary> /// Carrega a entidade do endereço cadastrado quando for cadastro único, seta o número /// e o complemento. /// Retorna true: /// - Se o endereço não é obrigatório e está completo /// (todos os campos obrigatórios estão preenchidos). /// - Se o endereço não é obrigatório e não foi preenchido nenhum campo. /// Retorna false: /// - Se o endereço é obrigatório e não foi preenchido todos os campos. /// - Se o endereço não é obrigatório e tem somente alguns campos preenchidos /// (começou tem que terminar). /// </summary> /// <param name="ent"></param> /// <param name="numero"></param> /// <param name="complemento"></param> /// <param name="msgErro"></param> /// <returns></returns> public bool RetornaEnderecoCadastrado(out END_Endereco ent, out string numero, out string complemento, out string msgErro) { ent = new END_Endereco(); msgErro = ""; numero = ""; complemento = ""; DataTable dt = RetornaEnderecos(); if (dt.Rows.Count > 0) { // Carregar dados do endereço. DataRow dr = dt.Rows[0]; string end_id = dr["end_id"].ToString(); // Preenche o ID do endereço. if ((String.IsNullOrEmpty(end_id)) || (end_id.Equals(Guid.Empty.ToString()))) { ent.end_id = new Guid(dr["id"].ToString()); ent.IsNew = true; } else { ent.end_id = new Guid(dr["end_id"].ToString()); ent.IsNew = false; END_EnderecoBO.GetEntity(ent); } ent.end_cep = dr["end_cep"].ToString(); ent.end_logradouro = dr["end_logradouro"].ToString(); ent.end_distrito = dr["end_distrito"].ToString(); ent.end_zona = Convert.ToByte(dr["end_zona"]); ent.end_bairro = dr["end_bairro"].ToString(); ent.cid_id = String.IsNullOrEmpty(dr["cid_id"].ToString()) ? Guid.Empty : new Guid(dr["cid_id"].ToString()); ent.cid_nome = dr["cid_nome"].ToString(); numero = dr["numero"].ToString(); complemento = dr["complemento"].ToString(); } bool ret; // Verificar se endereço está válido. if (_VS_Obrigatorio) { ret = ((ent.Validate()) && (ent.cid_id != Guid.Empty)); if (!ret) { msgErro = UtilBO.ErrosValidacao(ent); } if (ent.cid_id == Guid.Empty) { if (String.IsNullOrEmpty(ent.cid_nome)) { msgErro += "Cidade é obrigatório.<br/>"; } else { msgErro += "Cidade não encontrada.<br/>"; } } if (String.IsNullOrEmpty(numero)) { ret = false; msgErro += "Número é obrigatório."; } } else { if ((!String.IsNullOrEmpty(ent.end_cep)) || (!String.IsNullOrEmpty(ent.end_logradouro)) || (!String.IsNullOrEmpty(numero)) || (!String.IsNullOrEmpty(ent.end_distrito)) || (ent.end_zona > 0) || (!String.IsNullOrEmpty(ent.end_bairro)) || (ent.cid_id != Guid.Empty)) { // Se preencheu pelo menos 1 campo, tem que preencher todos. ret = ((ent.Validate()) && (ent.cid_id != Guid.Empty)); if (!ret) { msgErro += UtilBO.ErrosValidacao(ent); } if (ent.cid_id == Guid.Empty) { msgErro += "Cidade é obrigatório.<br/>"; } if (String.IsNullOrEmpty(numero)) { ret = false; msgErro += "Número é obrigatório."; } } else { ret = true; } } return(ret); }
/// <summary> /// Carrega a entidade do endereço cadastrado quando for cadastro único, seta o número /// e o complemento. /// Retorna true: /// - Se o endereço não é obrigatório e está completo /// (todos os campos obrigatórios estão preenchidos). /// - Se o endereço não é obrigatório e não foi preenchido nenhum campo. /// Retorna false: /// - Se o endereço é obrigatório e não foi preenchido todos os campos. /// - Se o endereço não é obrigatório e tem somente alguns campos preenchidos /// (começou tem que terminar). /// </summary> /// <param name="ent"></param> /// <param name="numero"></param> /// <param name="complemento"></param> /// <param name="msgErro"></param> /// <returns></returns> public bool RetornaEnderecoCadastrado(out DataTable dt, out string msgErro) { END_Endereco ent = new END_Endereco(); msgErro = ""; string numero = ""; string complemento = ""; double latitude = 0; double longitude = 0; //DataTable //dt = RetornaEnderecos(); dt = VS_Uae; bool ret = false; bool enderecoPrincipal = false; // if (dt.Rows.Count > 0) for (int i = 0; i < dt.Rows.Count; i++) { // Carregar dados do endereço. DataRow dr = dt.Rows[i]; if (Convert.ToBoolean(dr["enderecoprincipal"].ToString())) { enderecoPrincipal = Convert.ToBoolean(dr["enderecoprincipal"].ToString()); } string end_id = dr["end_id"].ToString(); // Preenche o ID do endereço. if ((String.IsNullOrEmpty(end_id)) || (end_id.Equals(Guid.Empty.ToString()))) { ent.end_id = new Guid(dr["id"].ToString()); ent.IsNew = true; } else { ent.end_id = new Guid(dr["end_id"].ToString()); ent.IsNew = false; END_EnderecoBO.GetEntity(ent); } ent.end_cep = dr["end_cep"].ToString(); ent.end_logradouro = dr["end_logradouro"].ToString(); ent.end_distrito = dr["end_distrito"].ToString(); if (!(string.IsNullOrEmpty(dr["end_zona"].ToString()))) { ent.end_zona = Convert.ToByte(dr["end_zona"]); } ent.end_bairro = dr["end_bairro"].ToString(); ent.cid_id = String.IsNullOrEmpty(dr["cid_id"].ToString()) ? Guid.Empty : new Guid(dr["cid_id"].ToString()); ent.cid_nome = dr["cid_nome"].ToString(); numero = dr["numero"].ToString(); complemento = dr["complemento"].ToString(); //} // Verificar se endereço está válido. if (_VS_Obrigatorio) { ret = ((ent.Validate()) && (ent.cid_id != Guid.Empty)); if (!ret) { msgErro = UtilBO.ErrosValidacao(ent); } if (!string.IsNullOrEmpty(dr["latitude"].ToString())) { if (double.TryParse(dr["latitude"].ToString(), out latitude)) { dr["latitude"] = dr["latitude"].ToString().Replace(".", ","); latitude = string.IsNullOrEmpty(dr["latitude"].ToString()) ? 0 : double.Parse(dr["latitude"].ToString()); } else { msgErro += "Latitude está incorreto.<br/>"; ret = false; } } if (!string.IsNullOrEmpty(dr["longitude"].ToString())) { if (double.TryParse(dr["longitude"].ToString(), out longitude)) { dr["longitude"] = dr["longitude"].ToString().Replace(".", ","); longitude = string.IsNullOrEmpty(dr["longitude"].ToString()) ? 0 : double.Parse(dr["longitude"].ToString()); } else { msgErro += "Longitude está incorreto.<br/>"; ret = false; } } if (ent.cid_id == Guid.Empty) { if (String.IsNullOrEmpty(ent.cid_nome)) { msgErro += "Endereço " + (i + 1) + " - Cidade é obrigatório.<br/>"; } else { msgErro += "Endereço " + (i + 1) + " - Cidade não encontrada.<br/>"; } } if (String.IsNullOrEmpty(numero)) { ret = false; msgErro += "Endereço " + (i + 1) + " - Número é obrigatório.<br/>"; } } else { if ((!String.IsNullOrEmpty(ent.end_cep)) || (!String.IsNullOrEmpty(ent.end_logradouro)) || (!String.IsNullOrEmpty(numero)) || (!String.IsNullOrEmpty(ent.end_distrito)) || (ent.end_zona > 0) || (!String.IsNullOrEmpty(ent.end_bairro)) || (ent.cid_id != Guid.Empty)) { // Se preencheu pelo menos 1 campo, tem que preencher todos. ret = ((ent.Validate()) && (ent.cid_id != Guid.Empty)); if (!ret) { msgErro += UtilBO.ErrosValidacao(ent); } if (ent.cid_id == Guid.Empty) { msgErro += "Endereço " + (i + 1) + " - Cidade é obrigatório.<br/>"; } if (String.IsNullOrEmpty(numero)) { ret = false; msgErro += "Endereço " + (i + 1) + " - Número é obrigatório.<br/>"; } if (!enderecoPrincipal) { ret = false; msgErro += "É necessário selecionar um endereço principal."; } if (!string.IsNullOrEmpty(dr["latitude"].ToString())) { if (double.TryParse(dr["latitude"].ToString(), out latitude)) { // dr["latitude"] = dr["latitude"].ToString().Replace(".", ","); latitude = string.IsNullOrEmpty(dr["latitude"].ToString()) ? 0 : double.Parse(dr["latitude"].ToString()); } else { msgErro += "Latitude está incorreto.<br/>"; ret = false; } } if (!string.IsNullOrEmpty(dr["longitude"].ToString())) { if (double.TryParse(dr["longitude"].ToString(), out longitude)) { // dr["longitude"] = dr["longitude"].ToString().Replace(".", ","); longitude = string.IsNullOrEmpty(dr["longitude"].ToString()) ? 0 : double.Parse(dr["longitude"].ToString()); } else { msgErro += "Longitude está incorreto.<br/>"; ret = false; } } } else { ret = true; } } } if (!_VS_Obrigatorio && dt.Rows.Count == 0) { ret = true; } if (_VS_Obrigatorio && !enderecoPrincipal) { ret = false; msgErro += "É necessário selecionar um endereço principal."; } return(ret); }
/// <summary> /// Salva avaliações da turma. /// </summary> /// <param name="entTurma">Turma</param> /// <param name="listaAvaliacao">Lista com avaliações</param> /// <param name="banco">Controle de transação</param> /// <returns>True: sucesso || False: falha</returns> public static bool SalvarAvaliacaoTurma ( TUR_Turma entTurma , List <TUR_TurmaCurriculoAvaliacao> listaAvaliacao , TalkDBTransaction banco ) { if (listaAvaliacao.Count == 0) { throw new ValidationException("É necessário informar ao menos uma avaliação para a turma."); } // Verifica se foram selecionadas avaliações consecutivas int aux = 0; foreach (TUR_TurmaCurriculoAvaliacao entity in listaAvaliacao) { if (aux != 0) { if (aux + 1 != entity.tca_numeroAvaliacao) { throw new ValidationException("Devem ser selecionados uma ou mais avaliações consecutivas."); } } aux = entity.tca_numeroAvaliacao; } List <TUR_TurmaCurriculoAvaliacao> listaCadastrados = SelecionaAvaliacaoPorTurma(entTurma.tur_id, banco); foreach (TUR_TurmaCurriculoAvaliacao entity in listaAvaliacao) { entity.tur_id = entTurma.tur_id; TUR_TurmaCurriculoAvaliacao entAux = new TUR_TurmaCurriculoAvaliacao { tur_id = entity.tur_id , cur_id = entity.cur_id , crr_id = entity.crr_id , crp_id = entity.crp_id , tca_id = entity.tca_id }; GetEntity(entAux, banco); entity.IsNew = entAux.IsNew; if (!entity.Validate()) { throw new ValidationException(UtilBO.ErrosValidacao(entity)); } // Salvar a avaliação. Save(entity, banco); } // Impede alteração da(s) avaliação(ões) cadastradas if (listaCadastrados.Any(cadastrada => !listaAvaliacao.Exists (p => ((p.tur_id == cadastrada.tur_id) && (p.cur_id == cadastrada.cur_id) && (p.crr_id == cadastrada.crr_id) && (p.crp_id == cadastrada.crp_id) && (p.tca_id == cadastrada.tca_id))))) { throw new ValidationException("Não é permitido alterar a avaliação para essa turma."); } return(true); }