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(); }
//Relations public void AddRelations(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.Add(benefit); } else if (foodData.FoodStages.Any()) { FoodStage foodStage = _foodStageService.GetById(foodData.FoodStages.First().FoodStageId) ?? foodData.FoodStages.First(); food.FoodStages.Add(foodStage); } _service.Update(food); _service.Complete(); }
//IT was not possible to build a generic update for classes with relationships. //I use the new keyword because I didn't give up to do it generic yet, so is not intended to override the method. public new void Update(string data) { if (string.IsNullOrEmpty(data)) { return; } FoodStage foodStageData = JsonConvert.DeserializeObject <FoodStage>(data); FoodStage foodStage = _service.GetById(foodStageData.FoodStageId); foodStage.Initial = foodStageData.Initial; foodStage.Final = foodStageData.Final; foodStage.Complement = foodStageData.Complement; foodStage.RefuseDescription = foodStageData.RefuseDescription; foodStage.RefusePercentage = foodStageData.RefusePercentage; foodStage.ProteinCalorieFactor = foodStageData.ProteinCalorieFactor; foodStage.FatCalorieFactor = foodStageData.FatCalorieFactor; foodStage.CarbCalorieFactor = foodStageData.CarbCalorieFactor; _service.Update(foodStage); _service.Complete(); }