public async Task <RoomResponse> CreateFromContact(CreateRoomFromContactRequest request) { var room = new Room(); string userId = _authHelper.GetUserId(); room.Name = request.Contact.ContactData.DisplayName; room.Type = RoomType.Contact; room.PrivacyType = RoomPrivacyType.Private; room.CreatorId = userId; var userRoom = new UserRoom(); userRoom.ContactId = request.Contact.Id; room.UserRooms = new List <UserRoom>(); room.UserRooms.Add(userRoom); var contactDataImage = request.Contact.ContactData.Images.FirstOrDefault(x => x.Image.IsMain); if (!(contactDataImage is null)) { room.RoomImages = new List <RoomImage>(); var roomImage = new RoomImage(); roomImage.ImageId = contactDataImage is null ? null : contactDataImage.ImageId; room.RoomImages.Add(roomImage); } await _roomRepository.Add(room); RoomResponse response = _mapper.Map <RoomResponse>(room); return(response); }
public async Task <IActionResult> CreateFromContact(CreateRoomFromContactRequest model) { RoomResponse response = await _roomService.CreateFromContact(model); return(Ok(response)); }