private void SubscribeAddCriteriaM()
        {
            MessagingCenter.Subscribe <NewCriteriaViewModel, Criteria>(this, "AddCriteriaM", (sender, args) => {
                Criterias.Add(args);

                //neues Criteria für jede Option in CurrentEvaluation hinzufügen
                foreach (var _option in CurrentEvaluation.Options)
                {
                    if (_option.Criterias != null)
                    {
                        _option.Criterias.Add(args);
                    }
                    else
                    {
                        _option.Criterias = new ObservableRangeCollection <Criteria>().ToList();
                        _option.Criterias.Add(args);
                    }
                }

                // Current Evaluation update
                try {
                    SqLiteConnection.UpdateWithChildren(CurrentEvaluation);
                } catch (Exception e) {
                    throw new NotImplementedException();
                }
            });
        }
 private void SubscribeAddOptionM()
 {
     MessagingCenter.Subscribe <NewOptionViewModel, Option>(this, "AddOptionM", (sender, args) => {
         foreach (var _criteria in CurrentEvaluation.Criterias)
         {
             if (_criteria.Options != null)
             {
                 _criteria.Options.Add(args);
             }
             else
             {
                 _criteria.Options = new ObservableRangeCollection <Option>().ToList();
                 _criteria.Options.Add(args);
             }
         }
         CurrentEvaluation.Criterias = new List <Criteria>(Criterias.ToList());
         SqLiteConnection.UpdateWithChildren(CurrentEvaluation);
         Options = new ObservableCollection <Option>(CurrentEvaluation.Options);
     });
 }
        private void SubscribeAddOptionM()
        {
            MessagingCenter.Subscribe <NewOptionViewModel, Option>(this, "AddOptionM", (sender, args) => {
                //Add Criterias to new Option
                if (CurrentEvaluation.Criterias != null)
                {
                    args.Criterias = CurrentEvaluation.Criterias;
                }

                //Add new Option to Optionlist
                Options.Add(args);

                // Update CurrentEvaluation object
                CurrentEvaluation.Options = new List <Option>(Options.ToList());

                try {
                    SqLiteConnection.UpdateWithChildren(CurrentEvaluation);
                } catch (Exception e) {
                    throw new NotImplementedException();
                }
            });
        }
        private void SubscribeAddCriteriaM()
        {
            MessagingCenter.Subscribe <NewCriteriaViewModel, Criteria>(this, "AddCriteriaM", (sender, args) => {
                //Add Options to new Criteria
                args.Options = CurrentEvaluation.Options;

                //Add new Criteria to Collection
                if (Criterias != null)
                {
                    Criterias.Add(args);
                }
                else
                {
                    Criterias = new ObservableRangeCollection <Criteria>();
                    Criterias.Add(args);
                }
                CurrentEvaluation.Criterias = new List <Criteria>(Criterias.ToList());

                //Update full Evaluation
                SqLiteConnection.UpdateWithChildren(CurrentEvaluation);
            });
        }