public async Task <ActionResult> DetailsAsync(string id) { var Image = await _DBService.GetFirstAsync <FileImages>(img => img.ImageID.Contains(id)); if (Image == null) { return(StatusCode((int)HttpStatusCode.NotFound)); } else { var ReadUser = Image.ReadUsers; if (string.IsNullOrEmpty(ReadUser) || string.IsNullOrWhiteSpace(ReadUser)) { // 公开权限的图片 byte[] Data = await System.IO.File.ReadAllBytesAsync(Image.ImagePath); return(File(Data, MediaTypeNames.Image.Jpeg)); } else { var UserID = _userManager.GetUserId(HttpContext.User); HashSet <string> Read = new HashSet <string>(ReadUser.Split(',')); if (Read.Contains(UserID)) { byte[] Data = await System.IO.File.ReadAllBytesAsync(Image.ImagePath); return(File(Data, MediaTypeNames.Image.Jpeg)); } else { return(StatusCode((int)HttpStatusCode.Forbidden)); } } } }
public async Task <ActionResult> EditAsync(int animeid, int AnimeNum = -1) { try { if (_DBServices.HasAnimeID(animeid)) { //订阅动画 if (animeid != -1 && AnimeNum == -1) { var UID = _userManager.GetUserId(HttpContext.User); var info = await _DBServices.GetFirstAsync <AnimeUserInfo>(animeinfo => animeinfo.Users.Id == UID && animeinfo.SubAnime.AnimeID == animeid); if (info == null) { var Anime = await _DBServices.GetFirstAsync <Anime>(anime => anime.AnimeID == animeid); var User = await _userManager.GetUserAsync(HttpContext.User); await _DBServices.AddAsync(new AnimeUserInfo { NowAnimeNum = 0, SubAnime = Anime, Users = User }); List <string> json = new List <string> { "true", "订阅成功" }; return(Json(json)); } else { List <string> json = new List <string> { "false", "您已经定阅过" }; return(Json(json)); } } //更新集数 if (AnimeNum != -1 && animeid != -1) { // 对传送过来的动画集数做检查 if (1 > AnimeNum) { return(new JsonResult("Error")); } var UID = _userManager.GetUserId(HttpContext.User); var info = await _DBServices.GetFirstAsync <AnimeUserInfo>(animeinfo => animeinfo.Users.Id == UID && animeinfo.SubAnime.AnimeID == animeid); if (info == null) { return(Json(new List <string> { "false", "没有订阅动画,请先订阅动画" })); } info.NowAnimeNum = AnimeNum; await _DBServices.UpdateAsync(info); return(Json(new List <string> { "true", "更改成功" })); } } return(Json("Error")); } catch { return(Json("Error")); } }