public async Task <GroupManagerResponse> EditMemberAsync(EditMemberGroupForDto model, string adminUserId) { if (model == null) { throw new NullReferenceException("Model is null."); } await using (_context) { var group = await _context.Groups.FindAsync(model.GroupId); var groupMember = await _context.GroupMembers.SingleOrDefaultAsync(u => u.UserId == model.UserId && u.GroupId == model.GroupId); if (_context.GroupMembers.SingleOrDefaultAsync(u => u.UserId == adminUserId && u.GroupId == model.GroupId).Result.Role != "Admin" || model.UserId == adminUserId) { return new GroupManagerResponse { Message = "Bu işlem için yetkiniz yok.", IsSuccess = false } } ; if (groupMember == null || group == null) { return new GroupManagerResponse { Message = "Grupta böyle bir kişi yok veya böyle bir grup yok.", IsSuccess = false } } ; groupMember.Role = model.Role; _context.Update(groupMember); await _context.SaveChangesAsync(); return(new GroupManagerResponse { Message = $"{groupMember.FirstName} {groupMember.LastName} {(groupMember.Role == "Admin" ? "yönetici" : "üye")} olarak düzenlendi.", IsSuccess = true }); } }
public IActionResult EditMember([FromBody] EditMemberGroupForDto model) { var adminUserId = User.FindFirst(ClaimTypes.NameIdentifier).Value; if (ModelState.IsValid) { var group = _groupService.EditMemberAsync(model, adminUserId); if (group.Result.IsSuccess) { return(Ok(group.Result)); } return(BadRequest(group.Result)); } return(BadRequest("Some properties are not valid.")); }