コード例 #1
0
        public async Task ExecuteAsync(EditSubjectCommand message, CancellationToken token)
        {
            var subject = await _subjectRepository.LoadAsync(message.SubjectId, token);

            var language = await _adminLanguageRepository.GetLanguageByNameAsync("en", token);

            var translation = subject.Translations.Where(w => w.Language == language).FirstOrDefault();

            if (translation != null && !string.IsNullOrEmpty(message.EnSubjectName))
            {
                translation.ChangeName(message.EnSubjectName);
            }

            else if (!string.IsNullOrEmpty(message.EnSubjectName))
            {
                var newTranslation = new CourseSubjectTranslation(subject, language, message.EnSubjectName);
                subject.AddTranslation(newTranslation);
                await _translationrepository.AddAsync(newTranslation, token);
            }

            if (subject.Name != message.HeSubjectName && !string.IsNullOrEmpty(message.HeSubjectName))
            {
                subject.ChangeName(message.HeSubjectName);
            }

            await _subjectRepository.UpdateAsync(subject, token);
        }
コード例 #2
0
        public async Task ExecuteAsync(CreateSubjectCommand message, CancellationToken token)
        {
            var subject  = new CourseSubject(message.HeSubjectName);
            var language = await _adminLanguageRepository.GetLanguageByNameAsync("en", token);

            if (!string.IsNullOrEmpty(message.EnSubjectName))
            {
                var translation = new CourseSubjectTranslation(subject, language, message.EnSubjectName);
                subject.AddTranslation(translation);
            }

            await _subjectRepository.AddAsync(subject, token);
        }