// PUT api/<controller>/5 public HttpResponseMessage Put(int id, decimal Valor, string IdOperacao) { HttpResponseMessage Result = new HttpResponseMessage(); Result.StatusCode = HttpStatusCode.OK; decimal SaldoRetornado = 0; string Comando = ""; using (STONEEntities StoneDB = new STONEEntities()) { Comando = string.Format("Select Saldo from SaldoAtual where idCliente = {0}", id); SaldoRetornado = StoneDB.Database.SqlQuery <decimal>(Comando).SingleOrDefault(); if (SaldoRetornado < Valor) { Result.ReasonPhrase = "O Valor é maior que o saldo disponível"; Result.StatusCode = HttpStatusCode.Forbidden; } else { string Comando1 = string.Format("INSERT INTO SaldoHistorico(IdCliente, Valor, TipoOperacao, idOperacao) VALUES({0}, {1}, '{2}', '{3}')", id, Valor, "-", IdOperacao); int retorno; retorno = StoneDB.Database.ExecuteSqlCommand(Comando1); } } return(Result); }
// GET api/<controller>/5 public string Get(int id) { decimal SaldoRetornado = 0; using (STONEEntities db = new STONEEntities()) { string Comando = string.Format("Select saldo from SaldoAtual where idCliente = {0}", id); SaldoRetornado = db.Database.SqlQuery <decimal>(Comando).SingleOrDefault();; } return(SaldoRetornado.ToString()); }
// GET api/<controller> public HttpResponseMessage Get() // criado para testar a operação do Serviço. { HttpResponseMessage Result = new HttpResponseMessage(); Result.StatusCode = HttpStatusCode.NotModified; var factory = new ConnectionFactory() { HostName = "localhost" }; using (var connection = factory.CreateConnection()) using (var channel = connection.CreateModel()) { channel.QueueDeclare(queue: "SaldoOnLine", durable: false, exclusive: false, autoDelete: false, arguments: null); RabbitMQ.Client.BasicGetResult Mensagem; try { uint MensagensDisponiveis = channel.MessageCount("SaldoOnLine"); for (int Msgs = 1; Msgs <= MensagensDisponiveis; Msgs++) { Mensagem = channel.BasicGet("SaldoOnLine", true); string MensagemAGravar = Encoding.UTF8.GetString(Mensagem.Body); var ArrayRetorno = MensagemAGravar.Split(','); // Id,Valor,Operacao string Comando1 = string.Format("INSERT INTO SaldoHistorico(IdCliente, Valor, TipoOperacao, idOperacao) VALUES({2}, {1}, '{0}', '{3}')", ArrayRetorno[2], ArrayRetorno[1], ArrayRetorno[0], ArrayRetorno[3]); using (var StoneDB = new STONEEntities()) { int retorno; retorno = StoneDB.Database.ExecuteSqlCommand(Comando1); } } } catch (Exception Ex1) { Debug.WriteLine(Ex1.Message); Debug.WriteLine("Finalizando ..."); }; } return(Result); }