Exemple #1
0
 public void Dispose()
 {
     viewModel.PropertyChanged -= ViewModelPropertyChanged;
     viewModel?.Dispose();
     viewModel = null;
     Settings.Current.PropertyChanged -= AuthTypePropertyChanged;
     BindingContext = null;
 }
Exemple #2
0
        public async Task <IActionResult> All()
        {
            var albums = await this.albumsService.GetAllAsync <AlbumInfoViewModel>();

            var viewModel = new AlbumsListViewModel
            {
                Albums = albums,
            };

            return(this.View(viewModel));
        }
Exemple #3
0
        public AlbumsListView()
        {
            InitializeComponent();

            viewModel = new AlbumsListViewModel(App.Instance.MobileService, App.Instance);

            BindingContext                    = viewModel;
            viewModel.PropertyChanged        += ViewModelPropertyChanged;
            Settings.Current.PropertyChanged += AuthTypePropertyChanged;

            viewModel.DeleteAlbumViewAction = OnDeleteAlbum;
        }
Exemple #4
0
        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));
        }
Exemple #5
0
        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);
        }