Closed namrithakumar closed 4 years ago
@Injectable({ providedIn : root }) OptimizationService {
constructor(private orderService:OrderService, private dietService, DietService) {}
mealListCost[] = [Meal object]; mealListReward[] = [Meal object];
ngOnInit() { Map<dietType, displayValue> = dietService.getDietTypes(); }
getResultSummary() {} getOrderInfo() {} getOptimizedResult(OptimizationType COST/REWARD) {} }
OrderService {
selectedMealList = new String<4>[]; dietType : String; deliveryDate : Date;
constructor(private itemService : ItemService, private dietService : DietService) { }
setDietType(dietType : String) { this.dietType = dietType; }
setDeliveryDate(deliveryDate : Date) { this.deliveryDate = deliveryDate; }
addMeal(selectedMeal : Meal) {} selectedMealList.push(selectedMeal); }
onMealSelect = new EventEmitter
ItemService {
getItemsByCategory(String Category) :String [] {} }
UserDietService { getDietTypes() : <dietType, displayValue>{} }
user-diet-type-selector ----- (pass selected diet type) ----> meal-optimizer => OrderService, set data directly delivery-date-selector ----- (pass selected delivery date) -----> meal-optimizer => OrderService, set data directly meal-options ---- (pass meal/item selected) ----> meal-selector --- (pass meal/item selected) ----> meal-optimizer => OrderService, emit event 'mealSelected'
optimized meal plan ---- order-summary, optimized-results-table ----> order-info, optimized-result-cost, optimized-result-quality => OptimizationService - get data from getters