public async Task <IActionResult> JoinGroup(string groupGuid) { var me = HttpContext.User.Identity.Name; try { return(new OkObjectResult(new GroupFoundDto(await _groupsRepository.AddToGroup(me, groupGuid)))); } catch (ArgumentException ex) { return(new BadRequestObjectResult(ex.Message)); } }
//return null daca nu exista grupul cu el ca admin public void AddToGroup(GroupAdd groupAdd) { var groupKey = _groupMapping.GetGroupKeyFromGroupAdd(groupAdd); var user_exists = _userRepository.GetUserByPhoneNumber(groupAdd.FriendPhoneNumber); if (user_exists == null) { throw new NullReferenceException("This user does not exist!"); } var gr_exists = _groupsRepository.GetGroupKey(groupKey.PhoneNumber, groupKey.Name); if (gr_exists == null) { throw new NullReferenceException("You are not the admin of this group!"); } var gr_members = _groupsRepository.GetGroupMembers(groupKey); if (gr_members.Contains(groupAdd.FriendPhoneNumber)) { throw new NullReferenceException("Friend already in this group!"); } if (groupAdd.PhoneNumber == groupAdd.FriendPhoneNumber) { throw new Exception("You have to type a friend's number!"); } var group = _groupsRepository.AddToGroup(groupKey, groupAdd.FriendPhoneNumber); }