public static ProductionAreas ToProductionAreas(this ProductionAreaToGet productionArea) { return(new ProductionAreas() { Id = productionArea.ProductionAreaId, Name = "", Restrictions = string.Join(',', productionArea.Restrictions).ToLower(), Status = productionArea.On }); }
public async Task <IList <ProductionAreas> > GetProductionAreaAsync() { ProductionAreaToGet[] areas = null; try { await _logServiceBus.SendMessagesAsync($"Recuperando as áreas de produção \"storeName = {_configuration["StoreInfo:StoreName"]}\"..."); areas = JsonConvert.DeserializeObject <ProductionAreaToGet[]>(await _httpClient.GetStringAsync($"{_configuration["API:ProductionAreas"]}/?storeName={_configuration["StoreInfo:StoreName"]}")); } catch (Exception E) { await _logServiceBus.SendMessagesAsync($"Falha ao recuperar os dados das áreas de produção, segue a descrição \"{E.Message}\"."); //Falha ao acessar o microserviço das áreas de produção if (_configuration["API:mocked"] == "true") { await _logServiceBus.SendMessagesAsync($"Criando dados fakes para área de produção"); areas = new ProductionAreaToGet[] { new ProductionAreaToGet() { ProductionAreaId = Guid.NewGuid(), Restrictions = new List <string>() { "soy", "dairy", "gluten", "sugar" }, On = true }, new ProductionAreaToGet() { ProductionAreaId = Guid.NewGuid(), Restrictions = new List <string>(), On = true }, new ProductionAreaToGet() { ProductionAreaId = Guid.NewGuid(), Restrictions = new List <string>() { "soy" }, On = true } }; } else { throw; } } return(areas.Select(x => x.ToProductionAreas()).ToList()); }