public void AddRelations(string data) { if (string.IsNullOrEmpty(data)) { return; } NutritionalFact nutritionalFactData = JsonConvert.DeserializeObject <NutritionalFact>(data); NutritionalFact nutritionalFact = _service.GetById(nutritionalFactData.NutritionalFactId); if (nutritionalFact.FoodStage != null) { FoodStage foodStage = _foodStageService.GetById(nutritionalFact.FoodStageId); nutritionalFact.FoodStage = foodStage; } else if (nutritionalFact.FactDefinition != null) { FactDefinition factDefinition = _factDefinitionService.GetById(nutritionalFact.FactDefinitioId); nutritionalFact.FactDefinition = factDefinition; } else if (nutritionalFact.ValueSource != null) { ValueSource valueSource = _valueSourceService.GetById(nutritionalFact.ValueSourceId); nutritionalFact.ValueSource = valueSource; } _service.Update(nutritionalFact); _service.Complete(); }
public void Save(ICollection <TOut> classToSave, IKernel kernel) { INutritionalFactService service = kernel.Get <INutritionalFactService>(); IFoodStageService foodStageService = kernel.Get <IFoodStageService>(); IFactDefinitionService factDefinitionService = kernel.Get <IFactDefinitionService>(); ICollection <NutritionalFact> nutritionalFacts = (List <NutritionalFact>)classToSave; foreach (NutritionalFact fact in nutritionalFacts) { FoodStage foodStage = foodStageService.Get(f => f.UsdaRefId == fact.FoodStage.UsdaRefId); if (foodStage == null) { continue; } FactDefinition factDefinition = factDefinitionService.Get(f => f.UsdaNutriRefId == fact.FactDefinition.UsdaNutriRefId); fact.FoodStage = foodStage; fact.FactDefinition = factDefinition; service.Add(fact); } service.Complete(); }
public void RemoveRelations(string data) { if (string.IsNullOrEmpty(data)) { return; } Food foodData = JsonConvert.DeserializeObject <Food>(data); Food food = _service.GetById(foodData.FoodId); if (foodData.Benefits.Any()) { Benefit benefit = _benefitService.GetById(foodData.Benefits.First().BenefitId); food.Benefits.Remove(benefit); _service.Update(food); _service.Complete(); } else if (foodData.FoodStages.Any()) { FoodStage foodStage = _foodStageService.GetById(foodData.FoodStages.First().FoodStageId); _foodStageService.Remove(foodStage); _foodStageService.Complete(); } }