示例#1
0
        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;
            }
        }
示例#2
0
        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"));
            }
        }