public async Task <ActionResult> CreateAsync(IFormCollection collection) { var files = collection.Files[0]; if (files == null)//没有上传文件,回到上传页面去 { throw new ErrorException(1); } bool IsStatic = collection["isStaticFile"].Equals("on");//on的状态代表选中 FileUpLoadProcess fileUpLoadProcess = new FileUpLoadProcess(); var User = await _userManager.GetUserAsync(HttpContext.User); var IsADmin = await _userManager.IsInRoleAsync(User, Final.Yuri_Admin); try { ReturnType returnType = await fileUpLoadProcess.FileUpLoadToAliyunOSSAsync(files, User); switch (returnType) { case ReturnType.AdminLog: var returnAdmingLog = await fileUpLoadProcess.AdmingLogAsync(IsADmin, files); goto OK; //如果不出错,就证明OK case ReturnType.FileUpLoadOK: var Image = fileUpLoadProcess.Images; await _DBService.AddAsync(Image); return(File(System.IO.File.ReadAllBytes(Image.ImagePath), MediaTypeNames.Image.Jpeg)); OK: return(RedirectToRoute(Final.Route_Files_Index)); default: goto OK; } } catch (ErrorException e) when(e.StatesCode == 1) { //返回到上传页面 return(RedirectToRoute(Final.Route_Files_Index)); } catch (ErrorException e) when(e.StatesCode == 2) { //上传文件格式错误 //发生其他诡异的错误 throw; } catch (Exception e) { //其他更加诡异的错误 throw e; } }
public async Task <IActionResult> CreateAsync(IFormCollection collection) { try { //上传的文件 var files = collection.Files; if (files != null) { //上传文件的操作 } var AnimeNum = collection["AnimeNum"]; if (!int.TryParse(AnimeNum, out int Num)) { Num = 1; } var AnimeTime = collection["AnimePlayTime"]; if (!DateTime.TryParse(AnimeTime, out DateTime dateTime)) { dateTime = DateTime.Now; } var End = collection["IsEnd"]; if (!bool.TryParse(End, out bool IsEnd)) { IsEnd = false; } //的到最后的动画ID Anime anime = new Anime { AnimeName = collection["AnimeName"], AnimeNum = Num, AnimePic = collection["AnimePic"], AnimeInfo = collection["AnimeInfo"], AnimePlayTime = dateTime, IsEnd = IsEnd }; //将动画数据写入数据库 await _DBServices.AddAsync(anime); //最新发现,到这一步ID会有值o(* ̄▽ ̄*)ブ _DBServices.AddAnimeID(anime.AnimeID);//这里不要忘记添加动画ID return(RedirectToRoute(Final.Route_Bangumi_Index, anime.AnimeID)); } catch { throw;//显示错误页面 } }
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")); } }