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)); }
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); }
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); }
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); }