public Lei(TipoDeRegra regra, GameObject obj) { qualRegra = regra; objetoUm = obj; listaObjetos = null; descricaoRegra = (qualRegra.ToString() + " " + objetoUm.GetComponent <buttonScript>().tipoDeBotao.nomeDeExibicao); }
public CondicaoInicial(int botoes, TipoDeRegra regra0) { iniciarRegras(); nDeBotoes = botoes; nDeRegrasIniciaisASeremSorteadas = 0; regrasIniciais[0] = regra0; }
//Para substituicao public Lei(TipoDeRegra regra, GameObject obj, List <GameObject> lista) { qualRegra = regra; objetoUm = obj; listaObjetos = lista; descricaoRegra = (qualRegra.ToString() + " " + objetoUm.GetComponent <buttonScript>().tipoDeBotao.nomeDeExibicao + " " + listaObjetos[0].GetComponent <buttonScript>().tipoDeBotao.nomeComPronome); }
public ParametrosDeRegraDeRemuneracao(int id, string nome, int idContrato, decimal percentual, decimal desconto, TipoDeRegra tipo, dynamic parametros = null, PeriodoSimples vigencia = null) { PercentualARemunerar = percentual; PercentualDesconto = desconto; Id = id; IdContrato = idContrato; NomePrincipal = nome; Vigencia = vigencia; ParametrosExtras = parametros; Tipo = tipo; if (vigencia == null) { Vigencia = new PeriodoSimples(DateTime.MinValue, DateTime.MaxValue); } }
public async Task <IEnumerable <ParametrosDeRegraDeRemuneracao> > ListarPreRegrasDoContrato(IEnumerable <int> idsContratos, TipoDeRegra[] tiposDeRegras = null) { IEnumerable <RegraDeRemuneracaoBD> regrasBD; TipoDeRegra[] tiposValidos = tiposDeRegras ?? TipoDeRegra.GetAll(); string[] tiposDeRegrasIds = tiposValidos.Select(tipo => tipo.Id).ToArray(); using (var context = _fabricaDeContextos.CriaContextoDe <RemuneracaoContext>(TipoDeConexao.Remuneracao)) { regrasBD = await(from regra in context.Regras where idsContratos.Contains(regra.IdContrato) && tiposDeRegrasIds.Contains(regra.tipo) && !regra.Deleted select regra).ToArrayAsync(); } return(regrasBD.Select(reg => reg.ConverterParaRegra()).ToArray()); }
public async Task <IEnumerable <ParametrosDeRegraDeRemuneracao> > ListarPreRegrasVigentesDosContratosNoPeriodo(IEnumerable <int> idsContratos, PeriodoSimples periodo, TipoDeRegra[] tiposDeRegras = null) { IEnumerable <RegraDeRemuneracaoBD> regrasBD; TipoDeRegra[] tiposValidos = tiposDeRegras ?? TipoDeRegra.GetAll(); string[] tiposDeRegrasIds = tiposValidos.Select(tipo => tipo.Id).ToArray(); using (var context = _fabricaDeContextos.CriaContextoDe <RemuneracaoContext>(TipoDeConexao.Remuneracao)) { //TODO: Olhar profiling do sql server para ver qual query o entityframework escolheu fazer regrasBD = await(from regra in context.Regras where idsContratos.Contains(regra.IdContrato) && tiposDeRegrasIds.Contains(regra.tipo) && regra.Vigencia.IntersectaIntervaloFechado(periodo) && !regra.Deleted select regra).ToArrayAsync(); } return(regrasBD.Select(reg => reg.ConverterParaRegra()).ToArray()); }
//Para nenhuma public Lei(TipoDeRegra regra) { qualRegra = regra; objetoUm = null; listaObjetos = null; }
public Lei SorteiaObjetosParaUmaRegra(TipoDeRegra tipo) { List <GameObject> opcoesValidas; opcoesValidas = new List <GameObject>(); for (int i = 0; i < quatroBotoes.Count; i++) { opcoesValidas.Add(quatroBotoes[i]); } if (tipo == TipoDeRegra.Substitua) { for (int i = 0; i < regras.Length; i++) { if (regras[i].qualRegra == TipoDeRegra.Substitua) { Debug.Log("Duas substituicoes encontradas, alterando tipo de regra"); tipo = TipoDeRegra.Dobre; } } } switch (tipo) { case TipoDeRegra.Ignore: //Ignora for (int i = 0; i < regras.Length; i++) { if (regras[i].qualRegra == TipoDeRegra.Dobre || regras[i].qualRegra == TipoDeRegra.Ignore) { opcoesValidas.Remove(regras[i].objetoUm); } } if (opcoesValidas.Count == 0) { Debug.Log("Zero opções válidas encontradas para regra"); } return(new Lei(TipoDeRegra.Ignore, opcoesValidas[Random.Range(0, (opcoesValidas.Count))])); case TipoDeRegra.Dobre: //Dobra for (int i = 0; i < regras.Length; i++) { if (regras[i].qualRegra == TipoDeRegra.Dobre || regras[i].qualRegra == TipoDeRegra.Ignore) { opcoesValidas.Remove(regras[i].objetoUm); } } if (opcoesValidas.Count == 0) { Debug.Log("Zero opções válidas encontradas para regra"); } return(new Lei(TipoDeRegra.Dobre, opcoesValidas[Random.Range(0, (opcoesValidas.Count))])); case TipoDeRegra.Substitua: //Substitui int a; int b; a = Random.Range(0, opcoesValidas.Count); do { b = Random.Range(0, opcoesValidas.Count); } while (b == a); return(new Lei(TipoDeRegra.Substitua, opcoesValidas[a], new List <GameObject> { opcoesValidas[b] })); default: Debug.Log("Sorteio de regra defaultou"); return(null); } }
public Regra(TipoDeRegra descricao, double valor, int quantidadeDePontos) { Descricao = descricao; Valor = valor; QuantidadeDePontos = quantidadeDePontos; }