Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        public async Task <IActionResult> CreateFromContact(CreateRoomFromContactRequest model)
        {
            RoomResponse response = await _roomService.CreateFromContact(model);

            return(Ok(response));
        }