示例#1
0
        public static Notificacao GetNotificacaoInsert()
        {
            var notificacao = new Notificacao
            {
                Texto           = "Teste Notificacao",
                Titulo          = "Teste Titulo",
                Data            = DateTime.Now.ToShortDateString(),
                TipoEnvio       = ETipoEnvioNotificacao.Interna,
                TipoNotificacao = new TipoNotificacao {
                    Id = 1
                },
                RegrasVisualizacao = new List <Regra>()
            };

            var regra = new Regra {
                Id = 427
            };
            var regra2 = new Regra {
                Id = 428
            };

            notificacao.RegrasVisualizacao.Add(regra);
            notificacao.RegrasVisualizacao.Add(regra2);

            return(notificacao);
        }
示例#2
0
        public bool GetUsuariosFunc()
        {
            try
            {
                string[] RegraUsr = Roles.GetRolesForUser(Membership.GetUser().ToString());

                foreach (var Regra in RegraUsr)
                {
                    if (Regra.Equals("Administrador") || Regra.Equals("Gestor") || Regra.Equals("Atendente"))
                    {
                        Result = true;
                    }
                    else
                    {
                        Result = false;
                    }
                }

                return(Result);
            }
            catch (Exception)
            {
                throw;
            }
        }
示例#3
0
        //BANCO DE DADOS E PROC
        //    https://pastebin.com/xqNNnane

        protected void BotaoInCluir(object sender, EventArgs e)
        {
            //Validação dos campos
            if (string.IsNullOrEmpty(TBoxNome.Text) || (string.IsNullOrEmpty(TboxEnd.Text)))
            {
                LblResult.Visible = true;
                LblResult.Text    = "Por favor, Digite todos os dados!!!";
            }
            else
            {
                Regra  pBAL          = new Regra();
                string ParametroNOME = TBoxNome.Text;
                string ParametroEND  = TboxEnd.Text;

                try
                {
                    pBAL.Inserir_Dados(ParametroNOME, ParametroEND);
                }
                catch (Exception ee)
                {
                    ee.Message.ToString();
                }

                {
                    pBAL = null;
                }
                ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", "alert('Registro incluido com sucesso.')", true);
                //LblResult.Visible = true;
                //LblResult.Text = "Dados cadastrados com sucesso!!!";
            }

            //limpar campos
            Response.Redirect(Request.Path);
        }
示例#4
0
        //Generica
        public Regra CriarNovaRegra(Regra regra, bool Atualizar = false)
        {
            if (regra == null)
            {
                regra         = new Regra();
                regra.RegraId = Guid.Empty;
            }

            using (IDataContextAsync context = new PCFTIDataContext())
                using (IUnitOfWorkAsync unitOfWork = new UnitOfWork(context))
                {
                    IRepositoryAsync <Regra> regraRepository = new Repository <Regra>(context, unitOfWork);
                    IRegraService            regraService    = new RegraService(regraRepository);
                    if (!ExisteRegra(regra.RegraId))
                    {
                        regra = regraService.NovaRegra(regra);
                        unitOfWork.SaveChanges();
                    }
                    else if (Atualizar)
                    {
                        regra = AtualizarRegra(regra);
                        unitOfWork.SaveChanges();
                    }

                    unitOfWork.Dispose();
                    (new Execute()).Sistema.Versao.NovaVersaoParaCriacao(regra);
                }

            return(regra);
        }
        protected void DropDownRetorno()
        {
            DominioBLL d = new DominioBLL();

            Retorno r     = new Retorno();
            Regra   regra = new Regra();

            regra.Sistema     = new Sistema();
            regra.Responsavel = new Responsavel();
            regra.Situacao    = new Situacao();
            regra.Tipo        = new Tipo();

            regra.Sistema.IdSistema         = int.Parse(ddlSistema.SelectedValue);
            regra.Responsavel.IdResponsavel = int.Parse(ddlResponsavel.SelectedValue);
            regra.Situacao.IdSituacao       = int.Parse(ddlSituacao.SelectedValue);
            regra.Tipo.IdTipo = int.Parse(ddlTipo.SelectedValue);

            List <Retorno> lista = d.ConsultarTipo(regra.Sistema.IdSistema, regra.Responsavel.IdResponsavel, regra.Situacao.IdSituacao, regra.Tipo.IdTipo);

            ddlRetorno.DataSource     = lista;
            ddlRetorno.DataValueField = "IdRetorno";
            ddlRetorno.DataTextField  = "Nome";
            ddlRetorno.DataBind();

            ddlRetorno.Items.Insert(0, new ListItem("- Escolha Retorno -", ""));
        }
示例#6
0
        public static bool ExcluirRegra(this IRepository <Regra> repository, Guid RegraId)
        {
            bool ret = true;

            try
            {
                Regra regra = null;

                var query = from item in repository.Queryable()
                            where item.RegraId == RegraId
                            select item;

                regra = query.SingleOrDefault <Regra>();

                if (regra != null)
                {
                    throw new Exception("O Regra não pode ser excluida, pois a mesma não foi encontrada na base de dados.");
                }

                repository.Delete(regra);
            }
            catch
            {
                ret = false;
            }
            return(ret);
        }
示例#7
0
        //Genecico
        public bool ExcluirRegra(Regra regra)
        {
            bool ret = true;

            if (regra == null)
            {
                return(false);
            }

            if (regra.RegraId == Guid.Empty)
            {
                return(false);
            }

            try
            {
                using (IDataContextAsync context = new PCFTIDataContext())
                    using (IUnitOfWorkAsync unitOfWork = new UnitOfWork(context))
                    {
                        IRepositoryAsync <Regra> RegraRepository = new Repository <Regra>(context, unitOfWork);
                        IRegraService            RegraService    = new RegraService(RegraRepository);
                        regra.ObjectState = INFRAESTRUTURA.TRANSVERSAL.Core.States.ObjectState.Deleted;
                        RegraService.Delete(regra.RegraId);
                        unitOfWork.SaveChanges();
                        (new Execute()).Sistema.Versao.NovaVersaoParaExclusao(regra);
                    }
            }
            catch
            {
                ret = false;
            }
            return(ret);
        }
示例#8
0
        static void Main(string[] args)
        {
            var   opcao          = 0;
            Regra regra          = null;
            var   valorInformado = 0.0;

            do
            {
                Console.WriteLine("Informar Regra: 1");
                Console.WriteLine("Informar Valores: 2");
                Console.WriteLine("Sair: -1");
                Console.WriteLine("Selecione uma opção: ");
                var opcaoEscolhida = Console.ReadLine();
                opcao = int.Parse(opcaoEscolhida);

                switch (opcao)
                {
                case 1:
                    regra = InformarRegra();
                    break;

                case 2:
                    valorInformado = Pontuar(valorInformado, regra);
                    Console.WriteLine(valorInformado);
                    break;
                }
            }while(opcao != -1);
        }
示例#9
0
        public async Task <IActionResult> Edit(int id, [Bind("RegraId,RegrasEscalonamento,Numero")] Regra regra)
        {
            if (id != regra.RegraId)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(regra);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!RegraExists(regra.RegraId))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(regra));
        }
示例#10
0
        public void Update(Regra r)
        {
            abrir();

            string query = "UPDATE a "
                           + "SET a.sistema_id = @sistema_id "
                           + ", a.responsavel_id = @responsavel_id "
                           + ", a.situacao_id = @situacao_id "
                           + ", a.tipo_id = @tipo_id "
                           + ", a.retorno_id = @retorno_id "
                           + ", dt_alteracao = @dt_alteracao "
                           + ", usuario = usuario "
                           + "FROM desenv_db.dbo.An_sustentacao_geral_teste_RCA455_tb a "
                           + "WHERE a.an_sustentacao_geral_id = @an_sustentacao_geral_id";

            //r.Sistema = new Sistema();
            //r.Responsavel = new Responsavel();
            //r.Situacao = new Situacao();
            //r.Tipo = new Tipo();
            //r.Retorno = new Retorno();

            cmd = new SqlCommand(query, con);
            cmd.Parameters.AddWithValue("@an_sustentacao_geral_id", r.Id_regra);
            cmd.Parameters.AddWithValue("@sistema_id", r.Sistema.IdSistema);
            cmd.Parameters.AddWithValue("@responsavel_id", r.Responsavel.IdResponsavel);
            cmd.Parameters.AddWithValue("@situacao_id", r.Situacao.IdSituacao);
            cmd.Parameters.AddWithValue("@tipo_id", r.Tipo.IdTipo);
            cmd.Parameters.AddWithValue("@retorno_id", r.Retorno.IdRetorno);
            cmd.Parameters.AddWithValue("@dt_alteracao", r.DtAlteracao);
            cmd.Parameters.AddWithValue("@usuario", r.Usuario);
            cmd.ExecuteNonQuery();

            fechar();
        }
示例#11
0
        public async Task <IActionResult> PutRegra(Guid id, Regra regra)
        {
            if (id != regra.Id)
            {
                return(BadRequest());
            }

            _context.Entry(regra).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!RegraExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
示例#12
0
        public Regra FindById(int regra_id)
        {
            abrir();

            string query = "SELECT an_sustentacao_regra_tb_id "
                           + "FROM desenv_db.dbo.An_sustentacao_regra_RCA455_tb WITH(NOLOCK) "
                           + "WHERE an_sustentacao_regra_tb_id = @regra_id";

            cmd = new SqlCommand(query, con);
            cmd.Parameters.AddWithValue("@regra_id", regra_id);
            dr = cmd.ExecuteReader();

            Regra r = null;

            while (dr.Read())
            {
                r = new Regra();

                r.Id_regra = Convert.ToInt32(dr["an_sustentacao_regra_tb_id"]);
            }

            fechar();

            return(r);
        }
示例#13
0
        public List <Regra> Find()
        {
            abrir();

            string query = "SELECT distinct descricao, "
                           + "COUNT(*) AS quantidade "
                           + "FROM desenv_db.dbo.An_sustentacao_geral_teste_RCA455_tb WITH(NOLOCK) "
                           + "GROUP BY descricao "
                           + "ORDER BY quantidade DESC";

            cmd = new SqlCommand(query, con);
            dr  = cmd.ExecuteReader();

            List <Regra> lista = new List <Regra>();

            while (dr.Read())
            {
                Regra r = new Regra();

                r.Descricao  = Convert.ToString(dr["descricao"]);
                r.Quantidade = Convert.ToInt32(dr["quantidade"]);

                lista.Add(r);
            }

            fechar();

            return(lista);
        }
示例#14
0
        public ActionResult Regra(VMRegra Modelo)
        {
            if (ModelState.IsValid)
            {
                Cabecario Cabecario = new Cabecario();
                Cabecario.NOT      = Modelo.Not;
                Cabecario.Operador = Modelo.Operador;
                Cabecario.Valor    = System.Globalization.CultureInfo.CurrentCulture.TextInfo.ToTitleCase(Modelo.Valor);
                Cabecario.Variavel = dbSE.Variaveis.Where(o => (o.Nome == Modelo.VarID)).SingleOrDefault();
                dbSE.Cabecarios.Add(Cabecario);

                Regra Regra = new Regra();
                Regra.Nome = Modelo.Nome;
                Regra.Se   = Cabecario;
                Regra.Base = dbSE.Bases.Where(o => o.ID == Modelo.BaseID).SingleOrDefault();
                Regra.Se   = Cabecario;

                dbSE.Regras.Add(Regra);
                dbSE.SaveChanges();

                return(RedirectToAction("Cabeca/" + Regra.ID));
            }

            Modelo.Regras     = dbSE.Regras.Where(o => o.Base.ID == Modelo.BaseID).ToList();
            Modelo.Variaveis  = dbSE.Variaveis.Where(o => o.Base.Select(a => a.Base.ID).Contains(Modelo.BaseID)).Select(a => a.Nome).ToList();
            Modelo.Operadores = new List <string>
            {
                "=", "!=", "<", "<=", ">", ">="
            };

            return(View(Modelo));
        }
示例#15
0
        public static Regra NovaRegra(this IRepository <Regra> repository, Regra regra)
        {
            regra.RegraId = Guid.NewGuid();
            repository.Insert(regra);

            return(regra);
        }
示例#16
0
        static dynamic aplicaRegra(int IdRegra, List <Regra> lstRegras)
        {
            try
            {
                Regra   regra      = lstRegras.FirstOrDefault(r => r.Id == IdRegra);
                dynamic resultadoA = null;
                dynamic resultadoB = null;

                if (regra == null)
                {
                    return(false);
                }

                //REGRA VARIAVEL
                if (regra.IdRegraVariavel > 0)
                {
                    resultadoA = aplicaRegra(regra.IdRegraVariavel, lstRegras);
                }
                else
                {
                    resultadoA = regra.ValorA;
                }

                //REGRA CONDIÇÃO
                if (regra.IdRegraCondicao > 0)
                {
                    resultadoB = aplicaRegra(regra.IdRegraCondicao, lstRegras);
                }
                else
                {
                    resultadoB = regra.ValorB;
                }


                //VALIDAR OS TIPOS
                if (!string.IsNullOrEmpty(regra.TipoDoValor) &&
                    (
                        (!resultadoA.GetType().FullName.Equals(resultadoB.GetType().FullName)) ||
                        (!resultadoA.GetType().Equals(Type.GetType(regra.TipoDoValor)) || !resultadoB.GetType().Equals(Type.GetType(regra.TipoDoValor)))
                    )
                    )
                {
                    resultadoA = converter(resultadoA, Type.GetType(regra.TipoDoValor));
                    resultadoB = converter(resultadoB, Type.GetType(regra.TipoDoValor));
                }

                //APLICA CALCULO
                if (regra.RealizaCalculo)
                {
                    return(compilarRegra(resultadoA, resultadoB, regra.Operacao));
                }

                return(blnCompilarRegra(resultadoA, resultadoB, regra.Operacao));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public void RemoverRegra(Regra regra)
        {
            if (regra != null)
            {
                j_Data.regras.Remove(regra);
            }

            SaveAllData();
        }
示例#18
0
        public ResultadoDasCondicoes Executar(Processo processo, Regra regra)
        {
            var condicoesDaRegra     = this.regraCondicionalRepositorio.ObterPorRegraId(regra.Id);
            var somaBinario          = 0;
            var condicoesAtendidas   = false;
            var resultadoDaExpressao = string.Empty;
            var expressao            = string.Empty;

            foreach (var condicao in condicoesDaRegra)
            {
                var resultadoCondicao = this.validaCondicaoDeRegra.Validar(processo, regra, condicao);

                condicoesAtendidas = false;

                if (resultadoCondicao.FoiAtendida())
                {
                    condicoesAtendidas = true;
                    somaBinario       += condicao.Binario.Value;

                    if (regra.ConectivoLogico == ConectivoLogico.Ou)
                    {
                        break;
                    }
                }

                if (condicoesAtendidas == false && regra.ConectivoLogico == ConectivoLogico.E)
                {
                    break;
                }

                if (regra.ConectivoLogico == ConectivoLogico.Complexo)
                {
                    expressao += string.Format("{0} ", resultadoCondicao.Resultado);
                }
            }

            if (regra.ConectivoLogico == ConectivoLogico.Complexo && string.IsNullOrEmpty(expressao) == false)
            {
                if (regra.RegraDeAtribuicao())
                {
                    resultadoDaExpressao = this.executorDeExpressoes.ExecutarFormula(regra.Id, expressao.Trim());
                    condicoesAtendidas   = false;
                }
                else
                {
                    condicoesAtendidas = this.executorDeExpressoes.ExecutarBooleano(regra.Id, expressao.Trim());
                }
            }

            return(new ResultadoDasCondicoes(
                       processo,
                       regra,
                       somaBinario,
                       condicoesAtendidas,
                       resultadoDaExpressao));
        }
示例#19
0
        public static RegraView DeDominParaView(this Regra source)
        {
            RegraView regra = new RegraView()
            {
                RegraId = source.RegraId,
                Nome    = source.Nome
            };

            return(regra);
        }
示例#20
0
        public static RegraView CriarNovaRegra(RegraView regra, string CriadoPor, DateTime CriadoEm)
        {
            Regra objdomin = regra.DeViewParaDomin();

            objdomin.CriadoPor = CriadoPor;
            objdomin.CriadoEm  = CriadoEm;

            regra = Executar.Sistema.Regra.CriarNovaRegra(objdomin).DeDominParaView();
            return(regra);
        }
示例#21
0
        public static Regra DeViewParaDomin(this RegraView source)
        {
            Regra regra = new Regra()
            {
                RegraId = source.RegraId,
                Nome    = source.Nome
            };

            return(regra);
        }
示例#22
0
        public void RetornaFalsoSeNaoAdicionar()
        {
            Regra regra = new Regra();

            regra.name = "Teste";

            var resultado = _regrasController.addRegra(regra);

            Assert.IsFalse((resultado == null || resultado.id <= 0), "Deveria ter adicionado.");
        }
示例#23
0
        protected void btCalcular_Click(object sender, EventArgs e)
        {
            ajustarAliq();
            String valor   = cobRegra.SelectedValue;
            Int32  idRegra = Convert.ToInt32(valor);
            Regra  regra   = new Regra(idRegra);

            calcularCustos(regra);
            cobRegra.SelectedValue = valor;
        }
示例#24
0
        public static RegraView EditarRegra(RegraView regra, string AlteradoPor, DateTime AlteradoEm)
        {
            Regra objdomin = regra.DeViewParaDomin();

            objdomin.AlteradoPor = AlteradoPor;
            objdomin.AlteradoEm  = AlteradoEm;

            regra = Executar.Sistema.Regra.AtualizarRegra(objdomin).DeDominParaView();
            return(regra);
        }
示例#25
0
        public void RetornaFalsoSeNaoAlterar()
        {
            Regra regra = new Regra();

            regra.id   = 1;
            regra.name = "Teste alterado";

            var resultado = _regrasController.updateRegra(regra);

            Assert.IsFalse((resultado == null || resultado < 0), "Deveria ter alterado o Id:1.");
        }
示例#26
0
        public async Task <IActionResult> Create([Bind("RegraId,RegrasEscalonamento,Numero")] Regra regra)
        {
            if (ModelState.IsValid)
            {
                _context.Add(regra);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(regra));
        }
示例#27
0
        public static bool ExcluirRegra(RegraView regra, string AlteradoPor, DateTime AlteradoEm)
        {
            Regra objdomin = regra.DeViewParaDomin();

            objdomin.AlteradoPor = AlteradoPor;
            objdomin.AlteradoEm  = AlteradoEm;

            bool ret = Executar.Sistema.Regra.ExcluirRegra(objdomin);

            return(ret);
        }
示例#28
0
 public static Boolean VerificaExistenciaTransicaoRegra(Regra regra, ItemRegra transicao)
 {
     foreach (var transicaoRegra in regra.transicoes)
     {
         if (transicao.regraTransicao == transicaoRegra.regraTransicao && transicao.simbolo.Equals(transicaoRegra.simbolo))
         {
             return(true);
         }
     }
     return(false);
 }
示例#29
0
        private void calcularCustos(Regra regra)
        {
            Double txComissao = 0, alq1, alq2, custo, Vd1, Vd2, Frete, federal1, federal2, ICMSD1, ICMSD2, ICMSC, alICMSC, IPI, LB1, LB2, LL1, LL2, TXFixa1, TXFixa2, comissao1, comissao2;

            custo = Convert.ToDouble(txtCusto.Text.ToString());

            alq1 = Convert.ToDouble(txtaliq1.Text.ToString());
            Vd1  = Convert.ToDouble(txtvalor1.Text.ToString());

            //Fazendo o valor 2 em relação ao desconto.
            Vd2  = (Convert.ToDouble(txtvalor1.Text.ToString()) - ((Convert.ToDouble(txtDesconto.Text.ToString()) / 100) * Convert.ToDouble(txtvalor1.Text.ToString())));
            alq2 = (((Vd2 - custo) * 100) / custo);

            txtvalor2.Text = Vd2.ToString("N");
            txtaliq2.Text  = alq2.ToString("N");

            Frete    = Convert.ToDouble(txtCusto.Text.ToString()) * ((Convert.ToDouble(txtFrete.Text.ToString())) / 100);
            federal1 = Vd1 * (regra.getFederal() / 100);
            federal2 = Vd2 * (regra.getFederal() / 100);
            alICMSC  = Convert.ToDouble(txtIcms.Text.ToString());
            IPI      = custo * (Convert.ToDouble(txtIPI.Text.ToString()) / 100);
            LB1      = custo * (alq1 / 100);
            LB2      = custo * (alq2 / 100);
            TXFixa1  = Vd1 * (regra.getTaxaDespesasFixas() / 100);
            TXFixa2  = Vd2 * (regra.getTaxaDespesasFixas() / 100);
            ICMSC    = custo * ((18 - alICMSC) / 100); // Mudar quando não usar mais aliquotas negativas para ICMSC
            //Deve-se prepara a regra para Normal e SuperSimples, neste caso só apresentarei o superSimples
            ICMSD1     = 0;
            ICMSD2     = 0;
            txComissao = (txtComissao.Text.Equals("")) ? 0 : (Convert.ToDouble(txtComissao.Text) / 100);
            comissao1  = txComissao * Vd1;
            comissao2  = txComissao * Vd2;

            LL1 = Vd1 - (custo + Frete + federal1 + IPI + ICMSC + ICMSD1 + TXFixa1 + comissao1);
            LL2 = Vd2 - (custo + Frete + federal2 + IPI + ICMSC + ICMSD2 + TXFixa2 + comissao2);

            Labfrete1.Text    = Frete.ToString("N");
            Labfrete2.Text    = Frete.ToString("N");
            LabICMS0.Text     = (ICMSC + ICMSD1).ToString("N");
            LabICMS1.Text     = (ICMSC + ICMSD2).ToString("N");
            LabFederal1.Text  = federal1.ToString("N");
            LabFederal2.Text  = federal2.ToString("N");
            LabIPI1.Text      = IPI.ToString("N");
            LabIPI2.Text      = IPI.ToString("N");
            LabLB1.Text       = LB1.ToString("N");
            LabLB2.Text       = LB2.ToString("N");
            LabFixa1.Text     = TXFixa1.ToString("N");
            LabFixa2.Text     = TXFixa2.ToString("N");
            LabLL1.Text       = (LL1 < 0)? "<font color ='red'>" + LL1.ToString("N") + "</font>" : LL1.ToString("N");
            LabLL2.Text       = (LL2 < 0) ? "<font color ='red'>" + LL2.ToString("N") + "</font>" : LL2.ToString("N");
            labComissao1.Text = comissao1.ToString("N");
            labComissao2.Text = comissao2.ToString("N");
        }
        public AdicionarRegra()
        {
            regra = new Regra();

            InitializeComponent();

            materialSkinManager.AddFormToManage(this);
            materialSkinManager.Theme = MaterialSkinManager.Themes.LIGHT;

            PrepareListBox();
            PrepareObjetivos();
        }
 public MaskedInvalidaException(Regra.Util.TipoMasked TipoMasked)
 {
     _mensagem = "Campo " + TipoMasked.ToString() + " incompleto!";
 }