private Task HandleStoreCatalogReady(Message message, CancellationToken arg2) { try { _logService.SendMessagesAsync($"- Iniciando leitura de HandleStoreCatalogReady"); var messageString = ""; if (message.Body != null) { messageString = Encoding.UTF8.GetString(message.Body); } ShowDisplayMessage showDisplayMessage = new ShowDisplayMessage(); showDisplayMessage.Properties = new Dictionary <String, Object>(); showDisplayMessage.Properties.Add("ServicoEnvio", "GeekBurger.UI"); showDisplayMessage.Label = "showwelcomepage"; showDisplayMessage.Body = "Exibir página de boas vindas"; _showDisplayService.AddMessage(showDisplayMessage); _showDisplayService.SendMessagesAsync(Topics.uicommand); return(Task.CompletedTask); } catch (Exception ex) { throw ex; } }
public void CatalogVerify() { //Ready ready = _metodosApi.retornoGet<Ready>("http://localhost:50135/Mock/api/store"); Ready ready = _metodosApi.retornoGet <Ready>("http://geekburgerstorecatalog.azurewebsites.net/api/store"); ShowDisplayMessage showDisplayMessage = new ShowDisplayMessage(); showDisplayMessage.Properties = new Dictionary <String, Object>(); showDisplayMessage.Properties.Add("ServicoEnvio", "GeekBurger.UI"); if (ready?.IsReady == true) { showDisplayMessage.Label = "showwelcomepage"; showDisplayMessage.Body = "Exibir página de boas vindas"; } else { showDisplayMessage.Label = "storeunavailable"; showDisplayMessage.Body = "Catálogo não disponível"; } _showDisplayService.AddMessage(showDisplayMessage); _showDisplayService.SendMessagesAsync(Topics.uicommand); }
public IActionResult PostOrder([FromBody] OrderToUpsert order) { ShowDisplayMessage showDisplayMessage = new ShowDisplayMessage(); showDisplayMessage.Properties = new Dictionary <String, Object>(); showDisplayMessage.Properties.Add("ServicoEnvio", "GeekBurger.UI"); showDisplayMessage.Label = "NewOrder"; showDisplayMessage.Body = order; _showDisplayService.AddMessage(showDisplayMessage); _showDisplayService.SendMessagesAsync(Topics.neworder); return(CreatedAtRoute("GetFace", new { OrderId = orderToGet.OrderId }, orderToGet)); }
public void AddMessage(ShowDisplayMessage showDisplayMessage) { _messages.Clear(); Message message = new Message(); message.Label = showDisplayMessage.Label; message.Body = Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(showDisplayMessage.Body)); if (showDisplayMessage.Properties != null) { foreach (KeyValuePair <string, object> keyValuePair in showDisplayMessage.Properties) { message.UserProperties.Add(keyValuePair); } } _messages.Add(showDisplayMessage.AsMessage()); }
private Task HandleUserRetrieved(Message message, CancellationToken arg2) { try { _logger.LogInformation($"- Iniciando leitura de HandleUserRetrieved"); _logService.SendMessagesAsync($"- Iniciando leitura de HandleUserRetrieved"); UserRetrievedMessage userRetrievedMessage; var messageString = ""; if (message.Body != null) { messageString = Encoding.UTF8.GetString(message.Body); } //UserRetrievedMessage userRetrievedMessage = new UserRetrievedMessage(); try { userRetrievedMessage = message.As <UserRetrievedMessage>(); if (userRetrievedMessage == null) { return(Task.CompletedTask); } } catch (Exception ex) { //mensagem inválida para nosso contexto return(Task.CompletedTask); } ShowDisplayMessage showDisplayMessage = new ShowDisplayMessage(); showDisplayMessage.Properties = new Dictionary <String, Object>(); showDisplayMessage.Properties.Add("ServicoEnvio", "GeekBurger.UI"); if (userRetrievedMessage.AreRestrictionsSet) { //TODO get para produtos //get api/products //publish message showproduct list //TODO confirmar se precisa passar usuarioID para pegar lista de produtos //TODO inserir objeto de /* * //GET api/products request (on StoreCatalog * API) * { "StoreName": "Beverly Hills", * "UserId": 1111, * "Restrictions": ["soy","diary","peanut"] } * * */ //ProductsListMessage productsListMessage = _metodosApi.retornoGet<ProductsListMessage>("http://localhost:50135/Mock/api/products"); IList <string> restrictionList = _metodosApi.retornoGet <List <string> >($"https://geekburgeruser.azurewebsites.net/api/FoodRestriction/{userRetrievedMessage.UserId}/GetFoodRestrictionsByUserId"); var storename = "Los Angeles - Pasadena"; string url = $"http://geekburgerstorecatalog.azurewebsites.net/api/products?StoreName={storename}&UserId={userRetrievedMessage.UserId}&Restrictions={restrictionList.Aggregate((i, j) => i + " =" + j)}"; StoreCatalog.Contract.Requests.ProductRequest productRequest = new StoreCatalog.Contract.Requests.ProductRequest() { UserId = userRetrievedMessage.UserId, StoreName = "", Restrictions = restrictionList }; StoreCatalog.Contract.Responses.ProductResponse productsListMessage = _metodosApi.retornoGet <StoreCatalog.Contract.Responses.ProductResponse>(url); showDisplayMessage.Label = "ShowProductsList"; showDisplayMessage.Body = productsListMessage; } else { showDisplayMessage.Label = "showfoodrestrictionsform"; showDisplayMessage.Body = "<inserir objeto { UserId: 1111, RequesterId: 1111> }"; } _showDisplayService.AddMessage(showDisplayMessage); _showDisplayService.SendMessagesAsync(Topics.uicommand); return(Task.CompletedTask); } catch (Exception ex) { throw ex; } }