private async void OnAddProgramminLanguageExecute()
        {
            var wrapper = new ProgrammingLanguageModelWrapper(new Data.Models.ProgrammingLanguage());

            wrapper.PropertyChanged += Wrapper_PropertyChanged;
            await this._programmingLanguagesService.AddAsync(wrapper.Model);

            ProgrammingLanguages.Add(wrapper);

            wrapper.Name = "";
        }
        public override async Task LoadAsync(int id)
        {
            Id = id;

            foreach (var pr in ProgrammingLanguages)
            {
                pr.PropertyChanged -= Wrapper_PropertyChanged;
            }

            ProgrammingLanguages.Clear();

            var languages = await this._programmingLanguagesService
                            .GetAllAsync();

            foreach (var pr in languages)
            {
                var wrapper = new ProgrammingLanguageModelWrapper(pr);

                wrapper.PropertyChanged += Wrapper_PropertyChanged;

                ProgrammingLanguages.Add(wrapper);
            }
        }