Exemplo n.º 1
0
        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
                });
            }
        }
Exemplo n.º 2
0
        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."));
        }