/// <summary> /// Metodo testa a regra lógica a fim de enquadrar a atual variavel em um critério /// </summary> /// <param name="entidadeFilha"></param> /// <param name="entidade"></param> /// <returns></returns> public Criterio TestaRegraLogica(List <Variavel> entidadeFilha, Variavel entidade) { RegraLogicaBLL oRegraLogica = new RegraLogicaBLL(); List <RegraLogica> dadosRegraLogicaLista = new List <RegraLogica>(); RegraLogica dadosRegraLogica = new RegraLogica(); Criterio dadosCriterio = new Criterio(); MapeamentoCriterioRegraLogica dadosMapeamento = new MapeamentoCriterioRegraLogica(); MapeamentoCriterioRegraLogicaBLL oMapeamento = new MapeamentoCriterioRegraLogicaBLL(); dadosRegraLogica.Variavel = entidade; //carrega todas as regras logicas da variavel pai dadosRegraLogicaLista = oRegraLogica.ListarPorVariavel(dadosRegraLogica); //percorre a lista de regra logica até encontrar a regra válida for (int i = 0; i < dadosRegraLogicaLista.Count; i++) { for (int j = 0; j < entidadeFilha.Count; j++) { entidadeFilha[j].RegraLogica.IdRegraLogica = dadosRegraLogicaLista[i].IdRegraLogica; //testa Variaveis para encontrar a regra lógica válida entidadeFilha[j].RegraLogica = oRegraLogica.ValidarVariavel(entidadeFilha[j]); //Regra Lógica falsa interrompe o laço if (entidadeFilha[j].RegraLogica.Valido == false) { break; } //Regra lógica válida prepara o critério para retorno else if (j + 1 == entidadeFilha.Count) { if (dadosRegraLogicaLista[i].VariavelHerdado.IDVariavel == 0) { dadosCriterio.IDCriterio = dadosRegraLogicaLista[i].Criterio.IDCriterio; } else { //Consome o Critério Original dadosMapeamento.IdCriterioOriginal = Convert.ToInt32(dadosRegraLogicaLista[i].Criterio.IDCriterio); //carrega o Critério Transformado dadosMapeamento = oMapeamento.Listar(dadosMapeamento); dadosCriterio.IDCriterio = dadosMapeamento.IdCriterioTrasnformado; } return(dadosCriterio); } } } return(dadosCriterio); }
public MapeamentoCriterioRegraLogica Listar(MapeamentoCriterioRegraLogica entidade) { return(_mapeamentoCriterioRegraLogica.Listar(entidade)); }
public void Editar(MapeamentoCriterioRegraLogica entidade) { _mapeamentoCriterioRegraLogica.Editar(entidade); }
public void Remover(MapeamentoCriterioRegraLogica entidade) { _mapeamentoCriterioRegraLogica.Remover(entidade); }
public void Novo(MapeamentoCriterioRegraLogica entidade) { _mapeamentoCriterioRegraLogica.Novo(entidade); }