コード例 #1
0
        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)
            {
            }
        }
コード例 #2
0
        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));
            }
        }
コード例 #3
0
        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"));
            }
        }