public InstantGalleryViewModel(TLMessage message, TLWebPage webPage) : base(null, null, null) { _shouldGroup = true; Items = new MvxObservableCollection <GalleryItem>(GetWebPagePhotos(message, webPage)); FirstItem = Items.FirstOrDefault(); SelectedItem = Items.FirstOrDefault(); TotalItems = Items.Count; }
private async void SearchExecute(string query) { Query = query; var response = await ProtoService.SearchAsync(_dialog.Peer, _query, _from?.ToInputUser(), null, 0, 0, 0, 0, 100); if (response.IsSucceeded && response.Result is ITLMessages result) { if (response.Result is TLMessagesMessagesSlice slice) { TotalItems = slice.Count; } else if (response.Result is TLMessagesChannelMessages channelMessages) { TotalItems = channelMessages.Count; } else { TotalItems = result.Messages.Count; } Items = new MvxObservableCollection <TLMessageBase>(result.Messages); SelectedItem = Items.FirstOrDefault(); if (_selectedItem != null) { await Dialog.LoadMessageSliceAsync(null, _selectedItem.Id); } } else { // TODO } }
public async Task AddTask() { await Task.Delay(10); var result = await _navSvc.Navigate <ArtistAddViewModel, Artist>(); if (null != result) { var foundArtist = _items.FirstOrDefault(x => x.Name == result.Name); if (null == foundArtist) { Items.Insert(0, result); //await RaisePropertyChanged(() => Items); // add this to the observarble list //_items.Insert(0, result); } } }
public async Task <bool> ValidateAndSaveDeliveryAddressFields(string deliveryId, MvxObservableCollection <IOrderFieldItemVM> fields) { var result = false; try { var validation = await DeliveryService.ConfirmDeliveryAddress(deliveryId, fields.ToDictionary(x => x.Id, x => x.Value)); if (validation == null || (validation.NotValidFields.IsNullOrEmpty() && validation.Error.IsNullOrEmtpy())) { result = true; } else { foreach (var notValidField in validation.NotValidFields) { var field = fields.FirstOrDefault(x => x.Id.Equals(notValidField.Id)); field.IsValid = false; } if (!validation.Error.IsNullOrEmpty()) { UserDialogs.Error(validation.Error); } } } catch (ConnectionException ex) { OnConnectionException(ex); } catch (Exception ex) { OnException(ex); } return(result); }