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(); }
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); }