public async Task <IActionResult> UpdateGroupAddress(int userId, int id, GroupAddressDto groupAddressDto)
        {
            var user = _userService.GetUser(userId);

            if (user != null)
            {
                var groupAddress = user.GroupAddresses.FirstOrDefault(ga => ga.Id == id);
                if (groupAddress != null)
                {
                    var answer = await _groupAddressService.UpdateGroupAddressAsync(user, id, groupAddressDto.Name);

                    if (answer.Succeeded)
                    {
                        return(Ok());
                    }
                    return(BadRequest(answer.Errors));
                }
                return(BadRequest("User -> GroupAddress not found"));
            }
            return(BadRequest("User not found"));
        }
        public async Task <ActionResult <GroupAddress> > AddGroupAddress(int userId, GroupAddressDto groupAddressDto)
        {
            var user = _userService.GetUser(userId);

            if (user != null)
            {
                var answer = await _groupAddressService.AddGroupAddressAsync(user, (string)groupAddressDto.Name);

                if (answer.Succeeded)
                {
                    var answerDto = _groupAddressService.GetGroupAddress(user, (string)groupAddressDto.Name);
                    if (answerDto.Succeeded)
                    {
                        groupAddressDto = answerDto.Value;
                        return(CreatedAtAction("GetGroupAddress", new { userId = groupAddressDto.UserId, id = groupAddressDto.Id }, groupAddressDto));
                    }
                    return(BadRequest(answerDto.Errors));
                }
                return(BadRequest(answer.Errors));
            }
            return(BadRequest("User not found"));
        }
        public async Task <ActionResult <GroupAddressDto> > DeleteGroupAddress(int userId, int id)
        {
            var user = _userService.GetUser(userId);

            if (user != null)
            {
                var groupAddress = user.GroupAddresses.FirstOrDefault(u => u.Id == id);
                if (groupAddress != null)
                {
                    GroupAddressDto dto = new GroupAddressDto()
                    {
                        Id     = groupAddress.Id,
                        UserId = groupAddress.UserId,
                        Name   = groupAddress.Name
                    };
                    await _groupAddressService.DeleteGroupAddressAsync(user, groupAddress);

                    return(dto);
                }
                return(BadRequest("User -> GroupPhone not found"));
            }
            return(BadRequest("User not found"));
        }