public async Task <ActionResult <MeetingView> > Create(
            CancellationToken cancellationToken,
            [FromQuery] CreateMeetingBinding binding
            )
        {
            var   address = User.GetAddress();
            House house   = await _houseRepository.GetByAddress(address, cancellationToken);

            await using var ms = new MemoryStream();
            await Request.Body.CopyToAsync(ms, cancellationToken);

            var meeting = new Meeting(Guid.NewGuid(), binding.Title, binding.MeetingDate, binding.Description, ms.ToArray(), house);

            await _meetingRepository.Save(meeting, cancellationToken);

            return(Ok(new MeetingView
            {
                Id = meeting.Id,
                Title = meeting.Title,
                MeetingDate = meeting.MeetingDate,
                Description = meeting.Description,
                House = new HouseView
                {
                    Id = house.Id,
                    Address = house.Address
                }
            }));
        }
Exemplo n.º 2
0
 public async Task <ActionResult> OpenMeetingForBuilding(CancellationToken cancellationToken,
                                                         [FromRoute] Guid buildingId,
                                                         [FromBody] CreateMeetingBinding binding,
                                                         [FromServices] MeetingManager manager)
 {
     return(Ok(await manager.OpenForBuilding(binding.Name, binding.OwnerId, buildingId, cancellationToken)));
 }
        private async void btnCreateNewMeeting_Click(object sender, RoutedEventArgs e)
        {
            var cmi = (ComboBoxItem)cmbBuildingAddressesForCreateMeeting.SelectedItem;

            if (cmi == null)
            {
                MessageBox.Show("Вы не выбрали дом");
            }

            string buildingId = (string)cmi.Tag;

            var name = tbMeetingTitleForCreateMeeting.Text;

            var createMeetingBinding = new CreateMeetingBinding()
            {
                Name    = name,
                OwnerId = ManagementCompanyId
            };

            MeetingId = await Server.OpenMeetingForBuilding(buildingId, createMeetingBinding);

            grMain.Children.Remove(spMain);

            var chatWindow = new ChatWindow(Profile.Id.ToString(), Profile.HasMeeting, Profile.Name, true);

            chatWindow.ShowDialog();
        }
Exemplo n.º 4
0
        public static async Task <string> OpenMeetingForBuilding(string buildingId, CreateMeetingBinding binding)
        {
            HttpClient client = new HttpClient();

            client.DefaultRequestHeaders.Add("Accept", "application/json");
            client.DefaultRequestHeaders.Add("User-Agent", "ServiceForWorking");

            HttpResponseMessage response = await
                                           client.PostAsJsonAsync($"https://localhost:44303/meetings/buindings/{buildingId}", binding);

            return(JsonConvert.DeserializeObject <string>
                       (await response.Content.ReadAsStringAsync()));
        }