예제 #1
0
 public async Task Create(Contract.Production production)
 {
     await _productionRepository.Create(production);
 }
예제 #2
0
 public bool Insert(Production production)
 {
     _repository.Create(production);
     return(_repository.SaveChanges());
 }
예제 #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"));
            }
        }