Example #1
0
        private async void SendExecute()
        {
            var maxSize = CacheService.Options.BasicGroupSizeMax;

            var peers = Items.Select(x => x.Type).OfType <ChatTypePrivate>().Select(x => x.UserId).ToArray();

            if (peers.Length <= maxSize)
            {
                // Classic chat
                var response = await ProtoService.SendAsync(new CreateNewBasicGroupChat(peers, _title));

                if (response is Chat chat)
                {
                    // TODO: photo

                    NavigationService.NavigateToChat(chat);
                    NavigationService.ClearHistory();
                }
                else if (response is Error error)
                {
                    AlertsService.ShowAddUserAlert(Dispatcher, error.Message, false);
                }
            }
            else
            {
            }
        }
Example #2
0
        protected override async void SendExecute()
        {
            var maxSize = ProtoService.GetOption <OptionValueInteger>("basic_group_size_max");

            var peers = SelectedItems.Select(x => x.Id).ToList();

            if (peers.Count <= maxSize.Value)
            {
                // Classic chat
                var response = await ProtoService.SendAsync(new CreateNewBasicGroupChat(peers, _title));

                if (response is Chat chat)
                {
                    // TODO: photo

                    NavigationService.NavigateToChat(chat);
                    NavigationService.RemoveLast();
                    NavigationService.RemoveLast();
                }
                else if (response is Error error)
                {
                    AlertsService.ShowAddUserAlert(Dispatcher, error.Message, false);
                }
            }
            else
            {
            }
        }