Пример #1
0
        private void btnCadastrar_Click(object sender, EventArgs e)
        {
            IServicoAlertas servicoAlerta = Ativador.Get <IServicoAlertas>();

            AlertaInfo alerta = new AlertaInfo();

            alerta.IdAlerta    = "0";
            alerta.IdCliente   = txtIdCliente.Text;
            alerta.Instrumento = txtInstrumento.Text;

            if (radbtnPreco.Checked)
            {
                alerta.TipoOperando = Operando.Preco;
            }
            else if (radbtnOscilacao.Checked)
            {
                alerta.TipoOperando = Operando.Oscilacao;
            }
            else if (radbtnMaximo.Checked)
            {
                alerta.TipoOperando = Operando.Maximo;
            }
            else if (radbtnMinimo.Checked)
            {
                alerta.TipoOperando = Operando.Minimo;
            }

            if (radbtnMenorIgual.Checked)
            {
                alerta.TipoOperador = Operador.MenorIgual;
            }
            else if (radbtnMaiorIgual.Checked)
            {
                alerta.TipoOperador = Operador.MaiorIgual;
            }
            else if (radbtnAlcancado.Checked)
            {
                alerta.TipoOperador = Operador.Atingido;
            }

            alerta.Valor = Convert.ToDecimal(txtValor.Text);

            CadastrarAlertaRequest reqCadastrarAlerta = new CadastrarAlertaRequest();

            reqCadastrarAlerta.Alerta = alerta;

            CadastrarAlertaResponse respCadastrarAlerta = servicoAlerta.CadastrarAlerta(reqCadastrarAlerta);

            if (respCadastrarAlerta.StatusResposta == Gradual.OMS.Library.MensagemResponseStatusEnum.OK)
            {
                txtIdAlerta.Text = respCadastrarAlerta.IdAlerta;
            }
            else
            {
                txtIdAlerta.Text = "Cadastro Não OK. Desc=[" + respCadastrarAlerta.DescricaoErro + "]";
            }
            disableNewAlertaTxts();
        }
Пример #2
0
        public CadastrarAlertaResponse CadastrarAlerta(CadastrarAlertaRequest request)
        {
            CadastrarAlertaResponse responseAlerta = new CadastrarAlertaResponse();

            try
            {
                logger.Debug("Executando Cadastrar Alerta - IdCliente=[" + request.Alerta.IdCliente + "] " +
                             "Instrumento=[" + request.Alerta.Instrumento + "] " +
                             "TipoOperador=[" + (int)request.Alerta.TipoOperador + "] " +
                             "TipoOperando=[" + (int)request.Alerta.TipoOperando + "] " +
                             "Valor=[" + request.Alerta.Valor + "] "
                             );

                DateTime dataHoraCadastro = DateTime.Now;

                if (!instrumentosMonitorados.Keys.Contains(request.Alerta.Instrumento))
                {
                    DadosInstrumento dadosInstrumento = new DadosInstrumento();
                    dadosInstrumento.minimo = Decimal.MaxValue;
                    dadosInstrumento.maximo = Decimal.MinValue;
                    instrumentosMonitorados.Add(request.Alerta.Instrumento, dadosInstrumento);

                    StringBuilder requisicaoAlerta = new StringBuilder();

                    requisicaoAlerta.Append("AL");
                    requisicaoAlerta.Append("  ");
                    requisicaoAlerta.Append(dataHoraCadastro.ToString(string.Format("{0}{1}", "yyyyMMddHHmmssmmm", "0")));
                    string instrumento = String.Format("{0,-20}", request.Alerta.Instrumento);
                    requisicaoAlerta.Append(instrumento);
                    requisicaoAlerta.Append("1");

                    if (mdsSocket.IsConectado())
                    {
                        logger.Debug("Cadastrando alerta MDS [" + requisicaoAlerta.ToString() + "]");
                        mdsSocket.Send(requisicaoAlerta.ToString());
                    }
                }

                String idCadastrado = dbAlertas.CadastrarAlerta(
                    request.Alerta.IdCliente,
                    request.Alerta.Instrumento,
                    request.Alerta.TipoOperando,
                    request.Alerta.TipoOperador,
                    request.Alerta.Valor,
                    dataHoraCadastro
                    );

                if (idCadastrado == null)
                {
                    logger.Error("CadastrarAlerta: Erro na inserção na base.");
                    responseAlerta.StatusResposta = Library.MensagemResponseStatusEnum.ErroPrograma;
                    responseAlerta.DescricaoErro  = "Ocorreu erro na inserção das informações na base de dados. Alerta não foi cadastrado";
                }
                else
                {
                    logger.Debug("Cadastrar Alerta - Atribuído IdAlerta=[" + idCadastrado + "]");

                    responseAlerta.IdAlerta       = idCadastrado;
                    responseAlerta.StatusResposta = Library.MensagemResponseStatusEnum.OK;

                    DadosAlerta dados = gerenciadorAlertas.Cadastrar(
                        idCadastrado,
                        request.Alerta.IdCliente,
                        request.Alerta.Instrumento,
                        request.Alerta.TipoOperando,
                        request.Alerta.TipoOperador,
                        request.Alerta.Valor,
                        dataHoraCadastro);

                    // Serializa alerta cadastrado e envia para AlertasCliente
                    string alertaCadastradoSerializado = JsonConvert.SerializeObject(dados);

                    StringBuilder retornoCadastrado = new StringBuilder();
                    retornoCadastrado.Append("CA");
                    retornoCadastrado.Append(alertaCadastradoSerializado);

                    logger.Debug("Server - Enviando alertas cadastrado: [" + retornoCadastrado.ToString() + "]");
                    serverAlertas.SendToAll(retornoCadastrado.ToString());
                }
            }
            catch (Exception e)
            {
                logger.Debug("CadastrarAlerta: Exception [" + e.Message + "]");
                logger.Debug(e.StackTrace);
                responseAlerta.StatusResposta = Library.MensagemResponseStatusEnum.ErroPrograma;
                responseAlerta.IdAlerta       = null;
            }

            return(responseAlerta);
        }