public AlbumViewModel(tbl_Album album) { Id = album.album_Id; Title = album.album_Title; Summary = album.album_Summary; Cover = album.album_Cover; UserId = album.album_User; UserAccount = AccountManager.GetAccount(album.album_User); CreateTime = ((DateTime)album.album_Time).Date.ToShortDateString(); AlterTime = ((DateTime)album.album_AlterTime).Date.ToShortDateString(); //MR_DataClassesDataContext _db = new MR_DataClassesDataContext(); MRDataEntities _db = new MRDataEntities(); ItemJson = album.album_Item; var others = _db.tbl_Album.Where(a => a.album_User == album.album_User); Albums = new List <AlbumListItem>(); foreach (var item in others) { if (item.album_Id != album.album_Id) { Albums.Add(new AlbumListItem(item)); } } IsCreator = false; HasFollow = false; }
/// <summary> /// 创建专辑 /// </summary> /// <param name="model"></param> /// <returns>专辑id</returns> public static string Create(ManageAlbumViewModel model) { using (MR_DataClassesDataContext _db = new MR_DataClassesDataContext()) { tbl_Album album = new tbl_Album() { album_Title = model.Title, album_Summary = model.Summary, album_User = model.UserId, album_Cover = model.Cover }; string guid; do { guid = Guid.NewGuid().ToString("N").ToUpper(); } while (_db.tbl_Album.Where(p => p.album_Id == guid).Count() != 0); album.album_Id = guid; album.album_Item = "[]"; album.album_Visit = 0; _db.tbl_Album.InsertOnSubmit(album); _db.SubmitChanges(); _db.SetAlbumTime(guid); return(album.album_Id); } }
/// <summary> /// 访问电影,专辑的访问量+1 /// </summary> /// <param name="id">专辑id</param> public static void Visit(string id) { using (MR_DataClassesDataContext _db = new MR_DataClassesDataContext()) { tbl_Album album = _db.tbl_Album.SingleOrDefault(a => a.album_Id == id); album.album_Visit++; _db.SubmitChanges(); } }
public ActionResult Edit(string id) { if (!AlbumManager.Exist(id)) { return(RedirectToAction("NotFound", "Error")); } tbl_Album tblalbum = _db.tbl_Album.SingleOrDefault(s => s.album_Id == id); ManageAlbumViewModel album = new ManageAlbumViewModel(tblalbum); return(View(album)); }
public ManageAlbumViewModel(tbl_Album album) { Id = album.album_Id; Title = album.album_Title; Summary = album.album_Summary; Cover = album.album_Cover; UserId = album.album_User; UserAccount = AccountManager.GetAccount(album.album_User); CreateTime = ((DateTime)album.album_Time).Date.ToShortDateString(); AlterTime = ((DateTime)album.album_AlterTime).Date.ToShortDateString(); Item = album.album_Item; }
public AlbumListItem(tbl_Album album) { Cover = album.album_Cover; Id = album.album_Id; Title = album.album_Title; Summary = album.album_Summary; if (!AccountManager.IsAdmin(album.album_User)) { UserId = album.album_User; UserAccount = AccountManager.GetAccount(album.album_User); } VisitCount = (int)album.album_Visit; MR_DataClassesDataContext _db = new MR_DataClassesDataContext(); FollowCount = _db.tbl_Mark.Where(m => m.mark_Target == album.album_Id && m.mark_Type == 7).Count(); }
// // GET: /Album/Detail/ public ActionResult Detail(string id, int page = 1) { if (!AlbumManager.Exist(id)) { return(RedirectToAction("NotFound", "Error")); } tbl_Album tblalbum = _db.tbl_Album.SingleOrDefault(s => s.album_Id == id); AlbumViewModel album = new AlbumViewModel(tblalbum); if (tblalbum.album_User == AccountManager.GetId(CookieHepler.GetCookie("user"))) { album.IsCreator = true; } if (User.Identity.IsAuthenticated) { if (_db.tbl_Mark.SingleOrDefault(f => f.mark_Target == id && f.mark_User == AccountManager.GetId(CookieHepler.GetCookie("user")) && f.mark_Type == 7) != null) { album.HasFollow = true; } } List <AlbumItemViewModel> allItem = new List <AlbumItemViewModel>(); //album.Items = new List<AlbumItemViewModel>(); allItem = Newtonsoft.Json.JsonConvert.DeserializeObject <List <AlbumItemViewModel> >(album.ItemJson); album.Count = allItem.Count; album.Items = allItem.Skip((page - 1) * album.ItemSize).Take(album.ItemSize).ToList(); foreach (var item in album.Items) { item.MovieInfo = new MovieViewModel(_db.tbl_Movie.SingleOrDefault(m => m.movie_Id == item.Movie)); } album.Page = page; album.PagingCount = Convert.ToInt32(Math.Ceiling(Convert.ToDecimal(album.Count) / album.ItemSize)); if (page > album.PagingCount && album.Items.Count > 0) { return(RedirectToAction("NotFound", "Error")); } AlbumManager.Visit(id); return(View(album)); }