public override Task <WordDto> UpdateAsync(Guid id, WordCreateOrUpdateDto input)
        {
            var word    = _repository.FirstOrDefault(x => x.Id == id);
            var lession = lessonsRepo.FirstOrDefault(x => x.Id == word.LessonId);
            var per     = perRepository.FirstOrDefault(x => x.CourseId == lession.CourseId);

            if (per != null)
            {
                if (per.UserId == _currentUser.Id)
                {
                    return(base.UpdateAsync(id, input));
                }
            }
            return(base.UpdateAsync(new Guid(), input));
        }
Esempio n. 2
0
        public override Task <WordDto> CreateAsync(WordCreateOrUpdateDto input)
        {
            var lession = lessonsRepo.FirstOrDefault(x => x.Id == input.LessonId);
            var per     = perRepository.FirstOrDefault(x => x.CourseId == lession.CourseId);

            if (per != null)
            {
                if (per.UserId == _currentUser.Id)
                {
                    return(base.CreateAsync(input));
                }
            }
            //input.UserId = AbpSession.UserId;
            return(base.CreateAsync(new WordCreateOrUpdateDto()));
        }
        public override async Task <WordDto> CreateAsync(WordCreateOrUpdateDto input)
        {
            var lession = lessonsRepo.FirstOrDefault(x => x.Id == input.LessonId);

            var cour = _courserepo.FirstOrDefault(x => x.Id == lession.CourseId);

            // var per = perRepository.FirstOrDefault(x => x.CourseId == lession.CourseId);

            //if (per != null)
            //{

            if (lession.CreatorId == _currentUser.Id)//per.UserId == _currentUser.Id)
            {
                // Course cour = (Course)_courserepo.Where(x => x.Id == lession.CourseId);
                cour.wordnumber += 1;
                await _courserepo.UpdateAsync(cour);

                lession.wordnumber += 1;
                await lessonsRepo.UpdateAsync(lession);

                var x = await base.CreateAsync(input);
                await updateLearnAfterAddWord(input.LessonId);

                return(x);
            }
            // }

            /* var per = perRepository.Where(x => x.CourseId == lession.CourseId).Where(x => x.UserId == _currentUser.Id).FirstOrDefault();
             *
             * if (per != null)
             * {
             *       return base.CreateAsync(input);
             *
             * }
             */

            return(await base.CreateAsync(new WordCreateOrUpdateDto()));
        }