private async Task LoadMusculeGroupsLookupAsync()
        {
            MusculeGroups.Clear();
            //MusculeGroups.Add(new NullLookupItem { DisplayMember = " - " });
            var lookup = await _musculeGroupLookupDataService.GetMusculeGroupLookupAsync();

            foreach (var lookupItem in lookup)
            {
                MusculeGroups.Add(lookupItem);
            }
        }
        private void OnAddExecute()
        {
            var wrapper = new MusculeGroupWrapper(new MusculeGroup());

            wrapper.PropertyChanged += Wrapper_PropertyChanged;
            _musculeGroupRepository.Add(wrapper.Model);
            MusculeGroups.Add(wrapper);

            //trigger the validation
            wrapper.Name = "";
        }
        public async override Task LoadAsync(int id)
        {
            Id = id;
            foreach (var wrapper in MusculeGroups)
            {
                wrapper.PropertyChanged -= Wrapper_PropertyChanged;
            }

            MusculeGroups.Clear();
            var musculeGroups = await _musculeGroupRepository.GetAllAsync();

            foreach (var model in musculeGroups)
            {
                var wrapper = new MusculeGroupWrapper(model);
                wrapper.PropertyChanged += Wrapper_PropertyChanged;
                MusculeGroups.Add(wrapper);
            }
        }