//Constructors #region DocumentHandler public DocumentHandler(IStoreClient storeClient, params IFileReader[] fileReader) { this.storeClient = storeClient; this.fileReader = fileReader ?? new IFileReader[0]; }
private static async Task <FoodExternalDetailsResponse> SearchExternalFood(string ean) { var clients = new IStoreClient[] { new FoodieClient(), new KRuokaClient() }; var cts = new CancellationTokenSource(); var tasks = clients.Select(c => Task.Run(() => c.FindFood(ean), cts.Token)).ToList(); while (tasks.Any()) { var completed = await Task.WhenAny(tasks); tasks.Remove(completed); if (completed.IsCompleted && completed.Result != null) { cts.Cancel(); var food = completed.Result; var nutrients = new List <FoodNutrientAmountResponse>(); if (food.Carbohydrate.HasValue) { nutrients.Add(new FoodNutrientAmountResponse { NutrientId = Constants.Nutrition.CarbId, Amount = food.Carbohydrate.Value }); } if (food.Fat.HasValue) { nutrients.Add(new FoodNutrientAmountResponse { NutrientId = Constants.Nutrition.FatId, Amount = food.Fat.Value }); } if (food.FatSaturated.HasValue) { nutrients.Add(new FoodNutrientAmountResponse { NutrientId = Constants.Nutrition.FatSaturatedId, Amount = food.FatSaturated.Value }); } if (food.Fiber.HasValue) { nutrients.Add(new FoodNutrientAmountResponse { NutrientId = Constants.Nutrition.FiberId, Amount = food.Fiber.Value }); } if (food.Kcal.HasValue) { nutrients.Add(new FoodNutrientAmountResponse { NutrientId = Constants.Nutrition.EnergyKcalId, Amount = food.Kcal.Value }); } if (food.Kj.HasValue) { nutrients.Add(new FoodNutrientAmountResponse { NutrientId = Constants.Nutrition.EnergyKjId, Amount = food.Kj.Value }); } if (food.Protein.HasValue) { nutrients.Add(new FoodNutrientAmountResponse { NutrientId = Constants.Nutrition.ProteinId, Amount = food.Protein.Value }); } if (food.Sugar.HasValue) { nutrients.Add(new FoodNutrientAmountResponse { NutrientId = Constants.Nutrition.SugarId, Amount = food.Sugar.Value }); } return(new FoodExternalDetailsResponse { Ean = food.Ean, Name = food.Name, Manufacturer = food.Manufacturer, Nutrients = nutrients.ToArray() }); } } return(null); }
public SubmitCommand(IStoreClient client, ILogger logger, IStringProvider stringProvider) : base(client, logger, stringProvider) { }
public ListCommand(IStoreClient client, ILogger logger) : base(client, logger) { }
protected CommandBase(IStoreClient client, ILogger logger) { Client = client; Logger = logger; }
public StoreService(IStoreClient storeClient) { _storeClient = storeClient; }
protected CommandBase(IStoreClient client, ILogger logger, IStringProvider stringProvider) { Client = client; Logger = logger; StringProvider = stringProvider; }
public MockCommandBase(IStoreClient client, ILogger logger, IStringProvider stringProvider) : base(client, logger, stringProvider) { }