public async Task SendStoreCatalogReadyAsync() { try { await EnsureTopicIsCreated(); var topicClient = new TopicClient(connectionString, "StoreCatalogReady"); var ready = new StoreCatalogReady() { IsReady = true }; var message = new Message(Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(ready))); await topicClient.SendAsync(message); await topicClient.CloseAsync(); } catch (Exception) { } }
public IActionResult Store() { try { Store store = _storeRepository.GetStore(); StoreCatalogReady storeCatalogReady; if (store != null) { storeCatalogReady = new StoreCatalogReady(); storeCatalogReady.Ready = true; storeCatalogReady.StoreId = store.StoreId; return(Ok(storeCatalogReady)); } else { return(NotFound()); } } catch (Exception) { return(StatusCode(503)); } }
protected override async Task ExecuteAsync(CancellationToken stoppingToken) { using (IServiceScope scope = _provider.CreateScope()) { Debug.Write($"InicializadorAPI Iniciando..."); _logService.SendMessagesAsync("StoreCatalog Iniciando InitializeCheck"); List <Store> stores = new List <Store>(); stores.AddRange(new List <Store> { new Store { Name = "California - Pasadena", StoreId = new Guid("8048e9ec-80fe-4bad-bc2a-e4f4a75c834e") }, new Store { Name = "Los Angeles - Beverly Hills", StoreId = new Guid("8d618778-85d7-411e-878b-846a8eef30c0") } }); _productsRepository = scope.ServiceProvider.GetRequiredService <IProductsRepository>(); _productionRepository = scope.ServiceProvider.GetRequiredService <IProductionRepository>(); _storeRepository = scope.ServiceProvider.GetRequiredService <IStoreRepository>(); _apiService = scope.ServiceProvider.GetRequiredService <IApiService>(); List <Production.Contract.Production> areas = _apiService.GetProductionAreas().Result; var store = stores.Find(x => x.Name.Contains(_appSettings.LojaSettings.Nome)); var productions = _mapper.Map <IEnumerable <Model.Production> >(areas); var products = _mapper.Map <IEnumerable <Product> >(_apiService.GetProducts(_appSettings.LojaSettings.Nome).Result); if (products != null) { foreach (var item in products) { _productsRepository.Create(item); } } else { _logService.SendMessagesAsync( JsonConvert.SerializeObject(HttpStatusCode.ServiceUnavailable)); } if (store != null) { _storeRepository.Create(store); } else { _logService.SendMessagesAsync( JsonConvert.SerializeObject(HttpStatusCode.ServiceUnavailable)); } if (productions != null) { foreach (var item in productions) { _productionRepository.Create(item); } } else { _logService.SendMessagesAsync( JsonConvert.SerializeObject(HttpStatusCode.ServiceUnavailable)); } StoreCatalogReady storeCatalogReady = new StoreCatalogReady() { Ready = true, StoreId = store.StoreId }; _storeCatalogReadyService.SendMessagesAsync(JsonConvert.SerializeObject(storeCatalogReady)); _logService.SendMessagesAsync("StoreCatalog Finalizando InitializeCheck"); stoppingToken.Register(() => Debug.Write($" InicializadorAPI Parando")); } }