コード例 #1
0
        public override Task <CoursesPermissionDto> UpdateAsync(Guid id, CoursesPermissionCreateUpdateDto input)
        {
            var x = _repository.FirstOrDefault(x => x.Id == id);

            if (x.UserId == _currentUser.Id)
            {
                return(base.UpdateAsync(id, input));
            }
            return(base.UpdateAsync(new Guid(), input));
        }
コード例 #2
0
        public async override Task <CourseDto> CreateAsync(CourseCreateUpdateDto input)
        {
            input.UserId = (Guid)_currentUser.Id;
            //input.UserId = AbpSession.UserId;
            var x   = base.CreateAsync(input);
            var rs  = await x;
            var per = new CoursesPermissionCreateUpdateDto();

            per.UserId   = input.UserId;
            per.CourseId = rs.Id;
            var ins = ObjectMapper.Map <CoursesPermissionCreateUpdateDto, ParticipationPermission>(per);
            await _parRepo.InsertAsync(ins);

            return(rs);
        }
コード例 #3
0
        public async Task <StatusResult> CheckCoursesPermission(Guid id)
        {
            var res = new StatusResult()
            {
                Result = BaseResult.NeedPermission
            };
            var x = CoursesRepository.FirstOrDefault(x => x.Id == id);

            if (x.CreatorId == (Guid)_currentUser.Id)
            {
                var news = new CoursesPermissionCreateUpdateDto();
                news.UserId   = (Guid)_currentUser.Id;
                news.CourseId = id;

                var ins = ObjectMapper.Map <CoursesPermissionCreateUpdateDto, ParticipationPermission>(news);
                await _repository.InsertAsync(ins);

                res.Result = BaseResult.Ok;
                return(res);
            }
            if (x.Password == null)
            {
                await AddPermission(id, null);

                res.Result = BaseResult.Ok;
                return(res);
            }
            if (x.Password == "")
            {
                await AddPermission(id, "");

                res.Result = BaseResult.Ok;
                return(res);
            }
            var y = _repository.Where(x => x.CourseId == id).Where(x => x.UserId == _currentUser.Id).FirstOrDefault();

            if (y == null)
            {
                res.Result = BaseResult.NeedPermission;
                return(res);
            }

            res.Result = BaseResult.Ok;
            return(res);
        }
コード例 #4
0
        public async Task <StatusResult> AddPermission(Guid id, String?pass)
        {
            var res = new StatusResult()
            {
                Result = BaseResult.NeedPermission
            };
            var x = CoursesRepository.FirstOrDefault(x => x.Id == id);

            if (x.Password == pass)
            {
                var news = new CoursesPermissionCreateUpdateDto();
                news.UserId   = (Guid)_currentUser.Id;
                news.CourseId = id;
                res.Result    = BaseResult.Ok;
                var ins = ObjectMapper.Map <CoursesPermissionCreateUpdateDto, ParticipationPermission>(news);
                await _repository.InsertAsync(ins);
            }
            else
            {
                res.Result = BaseResult.NoPermission;
            }
            return(res);
        }