public void Dispose() { viewModel.PropertyChanged -= ViewModelPropertyChanged; viewModel?.Dispose(); viewModel = null; Settings.Current.PropertyChanged -= AuthTypePropertyChanged; BindingContext = null; }
public async Task <IActionResult> All() { var albums = await this.albumsService.GetAllAsync <AlbumInfoViewModel>(); var viewModel = new AlbumsListViewModel { Albums = albums, }; return(this.View(viewModel)); }
public AlbumsListView() { InitializeComponent(); viewModel = new AlbumsListViewModel(App.Instance.MobileService, App.Instance); BindingContext = viewModel; viewModel.PropertyChanged += ViewModelPropertyChanged; Settings.Current.PropertyChanged += AuthTypePropertyChanged; viewModel.DeleteAlbumViewAction = OnDeleteAlbum; }
public ViewResult List(string genre, int page = 1) { int pageSize = PageSize; //if you use route route values //if (this.RouteData.Values["pageSize"] != null) // Session["pageSize"] = this.RouteData.Values["pageSize"]; //Use query string if (Request.QueryString["pageSize"] != null) { // pageSize value will last until the user set a new value for it or the user log out Session["pageSize"] = Request.QueryString["pageSize"]; } try { var ps = int.Parse(Session["pageSize"].ToString()); if (ps >= 5) { pageSize = ps; } } catch { pageSize = PageSize; } var model = new AlbumsListViewModel { Albums = repository.Albums .Where(a => (genre == null || a.Genre.Name == genre)) .OrderBy(p => p.AlbumId) .Skip((page - 1) * pageSize) .Take(pageSize), PagingInfo = new PagingInfo { CurrentPage = page, ItemsPerPage = pageSize, TotalItems = genre == null?repository.Albums.Count() : repository.Albums.Where(a => a.Genre.Name == genre).Count() }, CurrentGenre = genre }; return(View(model)); }
public AlbumsListView(App app) { InitializeComponent(); this._app = app; viewModel = new AlbumsListViewModel(App.MobileService, app); BindingContext = viewModel; viewModel.PropertyChanged += ViewModel_PropertyChanged; var tapNewAlbumImage = new TapGestureRecognizer(); tapNewAlbumImage.Tapped += OnAdd; imgAddAlbum.GestureRecognizers.Add(tapNewAlbumImage); var tapSyncImage = new TapGestureRecognizer(); tapSyncImage.Tapped += OnSyncItems; imgSync.GestureRecognizers.Add(tapSyncImage); }