private async void NewSubjectOnClick(object obj)
        {
            var dialogViewModel = new CreateOrEditSubjectDialogViewModel();

            if (dialogViewModel.ShowDialog() == true)
            {
                var subject = new Subject(dialogViewModel.SubjectName, dialogViewModel.SubjectCredit);

                Subjects.Add(subject);
                await _subjectService.AddSubjectAsync(subject);
            }
        }
        private async void EditSubjectOnClick(object obj)
        {
            var subject = SelectedSubjectItem;

            var dialogViewModel = new CreateOrEditSubjectDialogViewModel(subject.Name, subject.Credit);

            if (dialogViewModel.ShowDialog() == true)
            {
                subject.Name = dialogViewModel.SubjectName;

                try
                {
                    subject.Credit = dialogViewModel.SubjectCredit;
                }
                catch (InvalidOperationException e)
                {
                    MessageBox.Show(e.Message, Strings.SubjectDialog_Title_Edit, MessageBoxButton.OK);
                }

                SelectedSubjectIndex = -1;

                await _subjectService.UpdateSubjectAsync(subject);
            }
        }