コード例 #1
0
        public ViewResult List(string searchString)
        {
            string currentCategory     = string.Empty;
            IEnumerable <Album> albums = null;

            if (string.IsNullOrEmpty(searchString))
            {
                albums          = _albumRepository.Albums.OrderBy(n => n.AlbumId);
                currentCategory = "All Albums";
            }
            else
            {
                albums = _albumRepository.Albums.OrderBy(d => d.Name).Where(d => d.Name.ToLower().Contains(searchString.ToLower()) ||
                                                                            d.Artist.ToLower().Contains(searchString.ToLower()));

                currentCategory = "Search Result";

                if (albums.Count() <= 0)
                {
                    ViewBag.NoResults = "Sorry! We could find any albums matching the search: " + searchString;
                }
            }

            AlbumListViewModel vm = new AlbumListViewModel
            {
                Albums          = albums,
                CurrentCategory = currentCategory
            };

            return(View(vm));
        }
コード例 #2
0
        public ActionResult List(string orderby = "id-a", int page = 1)
        {
            var viewModel = new AlbumListViewModel(orderby, page);

            viewModel.Load();
            return(View(viewModel));
        }
コード例 #3
0
 public AlbumListPage(int albumListId)
 {
     InitializeComponent();
     BindingContext     = vm = new AlbumListViewModel();
     vm.ThisAlbumListId = albumListId;
     vm.InitCommand.Execute(null);
 }
コード例 #4
0
        public AlbumListViewModel Get()//GetAllAlbums()
        {
            string userName = User.Identity.Name;
            AlbumListViewModelFactory albumListFactory = new AlbumListViewModelFactory();
            IResourceRepository       repository       = new Repository.ResourceRepository();
            AlbumListViewModel        vm = albumListFactory.GetAlbumListViewModel(repository, userName);

            return(vm);
        }
コード例 #5
0
        public ViewResult AdminList()
        {
            AlbumListViewModel albumListViewModel = new AlbumListViewModel
            {
                Albums          = _albumRepository.Albums,
                CurrentCategory = "All Albums"
            };

            return(View(albumListViewModel));
        }
コード例 #6
0
ファイル: GalleryViewModel.cs プロジェクト: ashmind/gallery
 public GalleryViewModel(
     AlbumViewModel currentUserAlbum,
     IList<AlbumViewModel> otherPeopleAlbums,
     AlbumListViewModel standardAlbums,
     AlbumViewModel selected
     )
 {
     this.CurrentUserAlbum = currentUserAlbum;
     this.OtherPeopleAlbums = otherPeopleAlbums.AsReadOnly();
     this.StandardAlbums = standardAlbums;
     this.Selected = selected;
 }
コード例 #7
0
        public ActionResult Edit(int?id)
        {
            Album album = db.Albums.Find(id);
            AlbumListViewModel albumlist = new AlbumListViewModel();

            albumlist.Genres = new SelectList(db.Genres, "GenreId", "GenreName", albumlist.GenreId);
            albumlist.Genres = new SelectList(db.Singers, "SingerId", "SingerName", albumlist.SingerId);

            List <AlbumListViewModel> list = new List <AlbumListViewModel>();

            return(View(AlbumList(album)));
        }
コード例 #8
0
        /// <summary>
        /// 将Model数据转化为ViewModel数据
        /// </summary>
        /// <param name="album"></param>
        /// <returns></returns>
        private AlbumListViewModel AlbumList(Album album)
        {
            AlbumListViewModel albumListViewModel = new AlbumListViewModel();

            albumListViewModel.AlbumId   = album.AlbumId;
            albumListViewModel.AlbumName = album.AlbumName;
            albumListViewModel.GenreId   = album.GenreId;
            albumListViewModel.Price     = album.Price;
            albumListViewModel.ShelfTime = album.ShelfTime;
            albumListViewModel.SingerId  = album.SingerId;
            albumListViewModel.Website   = album.Website;
            return(albumListViewModel);
        }
コード例 #9
0
        private Album MapToAlbumEdit(AlbumListViewModel albumlist)
        {
            Album album = new Album();

            album.AlbumId   = albumlist.AlbumId;
            album.AlbumName = albumlist.AlbumName;
            album.GenreId   = albumlist.GenreId;
            album.Price     = albumlist.Price;
            album.ShelfTime = albumlist.ShelfTime;
            album.SingerId  = albumlist.SingerId;
            album.Website   = albumlist.Website;
            return(album);
        }
コード例 #10
0
        public ActionResult Create(AlbumListViewModel albumlist)
        {
            if (ModelState.IsValid)
            {
                Album album = MapToAlbum(albumlist);

                var    file     = Request.Files["fileupload"];
                string fileName = file.FileName;
                if (!(string.IsNullOrEmpty(fileName) || (file.ContentLength == 00)))
                {
                    if (file.ContentLength > 0 && file.ContentLength <= 2097152)
                    {
                        string hz = file.FileName.Substring(file.FileName.LastIndexOf(','));
                        if (IsImage(hz))
                        {
                            string uploadPath = "/content/images";
                            string filename   = Guid.NewGuid().ToString("N") + hz;
                            string filenath   = Server.MapPath(uploadPath);
                            if (!Directory.Exists(filepath))
                            {
                                Directory.CreateDirectory(filepath);
                            }
                            file.SaveAs(Path.Combine(filepath, filename));
                            album.Website = uploadPath + filename;
                            db.Albums.Add(album);
                            db.SaveChanges();
                            return(Redirect("Index"));
                        }
                        else
                        {
                            ViewBag.error = "上传文件必须是如下图片类型:jpg,gif,pan,bmp";
                        }
                    }
                    else
                    {
                        ViewBag.error = "图片文件大小越界:0~2M字节";
                    }
                }
                {
                    db.Albums.Add(album);
                    db.SaveChanges();
                    return(RedirectToAction("Index"));
                }
            }
            else
            {
                ViewBag.GenreId  = new SelectList(db.Genres, "GenreId", "GenreName");
                ViewBag.SingerId = new SelectList(db.Singers, "SingerId", "SingerName");
            }
            return(View());
        }
コード例 #11
0
        // GET: Albums
        public ActionResult Index(int page = 1)
        {
            AlbumListViewModel model = new AlbumListViewModel
            {
                Albums     = db.Albums.OrderBy(m => m.AlbumId).Skip((page - 1) * PageSize).Take(PageSize),
                PagingInfo = new PagingInfo
                {
                    CurrentPage  = page,
                    ItemsPerPage = PageSize,
                    TotalItems   = db.Albums.Count()
                }
            };

            return(View(model));
        }
コード例 #12
0
        public AlbumListViewModel GetAlbumListViewModel(IResourceRepository repository, String userName)
        {
            AlbumListViewModel vm = new AlbumListViewModel
            {
                Albums   = MapAlbumsToVM(repository.GetAlbums(x => x.Owner.UserName == userName)),
                NewAlbum = new ResourceModel.Album
                {
                    Name        = "",
                    Description = "",
                    AlbumDate   = DateTime.Today,
                    Resources   = new List <ResourceModel.DigitalResource>()
                }
            };

            return(vm);
        }
コード例 #13
0
        public ActionResult Albums(string username)
        {
            UserDto user = readModel.GetUsers().AsParallel().FirstOrDefault(u => u.Username.ToLower() == username.ToLower());

            if (user == null)
                return new HttpNotFoundResult();

            AlbumListViewModel model = new AlbumListViewModel()
            {
                Albums = user.Albums
                    .Where(a => CanSeePhoto(a, (Guid)HttpContext.Items["userid"])).ToList(),
                Username = username
            };

            return View(model);
        }
コード例 #14
0
        public ActionResult Edit(AlbumListViewModel albumlist)
        {
            if (albumlist != null)
            {
                Album album = MapToAlbumEdit(albumlist);
                db.Entry(album).State = EntityState.Modified;
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            else
            {
                albumlist.Genres = new SelectList(db.Genres, "GenreId", "GenreName", albumlist.GenreId);
                albumlist.Genres = new SelectList(db.Singers, "SingerId", "SingerName", albumlist.SingerId);
            }
            var albums = db.Albums.Find(albumlist.AlbumId);

            return(View(albums));
        }
コード例 #15
0
 public ActionResult _Albums()
 {
     try
     {
         var userId     = GetUserId();
         var albumsList = new AlbumListViewModel
         {
             Albums = _mapper.Map <IEnumerable <Album>, List <AlbumViewModel> >
                          (_albumRepository.AsQueryable().Where(u => u.UserId == userId)
                          .OrderBy(p => p.DateCreated).ToList()).ToList()
         };
         return(PartialView(albumsList));
     }
     catch (Exception)
     {
         return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
     }
 }
コード例 #16
0
        public ViewResult List(int categoryId = 0)
        {
            var currentCategory = string.Empty;
            IEnumerable <Album> albums;

            if (categoryId != 0)
            {
                albums = _albumRepository.Albums.OrderBy(n => n.Name).Where(n => n.Category.CategoryId == categoryId).ToList();
                try
                {
                    currentCategory = _categoryRepository.GetCategoryById(categoryId).CategoryName;
                }
                catch
                {
                    ViewData["NoResults"] = "Sorry! There are currently no albums in that category";
                }

                if (albums.Count() <= 0)
                {
                    ViewData["NoResults"] = "Sorry! There are currently no albums in that category";
                }
            }
            else
            {
                albums          = _albumRepository.Albums.OrderBy(n => n.Name);
                currentCategory = "All Albums";
            }

            AlbumListViewModel vm = new AlbumListViewModel
            {
                Albums          = albums,
                CurrentCategory = currentCategory
            };

            return(View(vm));
        }
コード例 #17
0
 public AlbumListPage(AlbumListViewModel vm)
 {
     BindingContext = vm;
     InitializeComponent();
 }