// POST: api/Form public FormModelResult Post(JObject form) { LogService.StartProcessLog(_log); FormModelResult formResult = new FormModelResult(); try { if (ModelState.IsValid) { LogService.SaveLog(_log, "Conexão com RabbitMQ aberta."); LogService.SaveLog(_log, "Iniciando operação RPC."); RpcService rpcService = new RpcService(); FormModel formModel = rpcService.ConvertToJsonToFormObj(form); string body = rpcService.ConvertToJson(formModel).ToLower(); LogService.SaveLog(_log, "Chamada RPC."); var response = rpcService.Call(body); JObject jsonResult = JObject.Parse(response); formResult = rpcService.ConvertFormModelToResult(formModel, jsonResult); LogService.SaveLog(_log, "Conexão com RabbitMQ fechada."); } else { LogService.SaveLog(_log, "Modelo de dados inválido - Por favor informe todos os dados!"); } } catch (Exception ex) { LogService.SaveLog(_log, "Erro no processo. Erro: " + ex.Message); } LogService.FinishProcessLog(_log); return(formResult); }
public FormModelResult ConvertFormModelToResult(FormModel formModel, JObject response) { FormModelResult formResult = new FormModelResult(); if (formModel != null) { formResult.Id = formModel.Id; formResult.Side = formModel.Side; formResult.Quantity = formModel.Quantity; formResult.Price = formModel.Price; formResult.Symbol = formModel.Symbol; if (response != null) { if (formResult.Id == Int32.Parse(response["id"].ToString())) { formResult.Id = Int32.Parse(response["id"].ToString()); if (bool.Parse(response["status"].ToString())) { formResult.Status = "Enviado"; } else { formResult.Status = "Erro"; } if (((Newtonsoft.Json.Linq.JContainer)(response["msgs"])).Count > 0) { formResult.Msgs = "Erro: " + response["msgs"][0].ToString(); } else { formResult.Msgs = "Conexão Estabelecida"; } } } } return(formResult); }