Beispiel #1
0
        public async Task <ActionResult <ResumeResponse> > GetResumeInfo([FromBody] ViewResumeRequest request)
        {
            //查找当前id是否存在resume
            var temp = await ResumeAccessor.FindInfo(request.resume_id);

            if (temp != null)
            {
                return(Ok(_mapper.Map <ResumeResponse>(temp)));
            }
            return(Ok(-1));
        }
Beispiel #2
0
        //[AllowAnonymous]
        public async Task <ActionResult <ResumeResponse> > GetResume()
        {
            //取得存在cookie的当前账户id
            var resume_stu_id = 1;//Int32.Parse(User.Identity.Name);
            //查找当前id是否存在resume
            var temp = await ResumeAccessor.Find(resume_stu_id);

            if (temp != null)
            {
                return(Ok(_mapper.Map <ResumeResponse>(temp)));
            }
            return(Ok(-1));
        }
Beispiel #3
0
        public async Task <ActionResult <int> > DeleteResume()
        {
            //取得存在cookie的当前账户id
            var resume_stu_id = Int32.Parse(User.Identity.Name);
            //查找当前id是否存在resume
            var temp = await ResumeAccessor.Find(resume_stu_id);

            if (temp != null)
            {
                var num = ResumeAccessor.Delete(resume_stu_id);
                return(Ok(num));
            }
            return(Ok(-1));
        }
Beispiel #4
0
        public async Task <ActionResult <int> > UpdateResume([FromBody] ResumeRequest request)
        {
            //判断request里是否满足前置条件
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }
            //取得存在cookie的当前账户id
            var resume_stu_id = 1;//Int32.Parse(User.Identity.Name);
            //生成resume实例
            var temp_resume = _mapper.Map <ResumeEntity>(request);
            //查找当前id是否存在resume
            var temp = await ResumeAccessor.Find(resume_stu_id);

            if (temp != null)
            {
                var num = ResumeAccessor.Change(temp);
                return(Ok(num));
            }
            return(Ok(-1));
        }
Beispiel #5
0
        public async Task <ActionResult <int> > CreateApply(ApplyRequest request)
        {
            var stu_id = Int32.Parse(User.Identity.Name);

            if (await UserAccessor.CheckRole(stu_id) != Role.Student)
            {
                return(BadRequest(new { message = "CreateApply is for students." }));
            }
            int check_apply = await ApplyAccessor.CheckApply(stu_id, request.work_id);

            if (check_apply == 1)
            {
                // 已通过改工作的申请
                return(Ok(-21));
            }
            else if (check_apply == 2)
            {
                // 正在申请该工作
                return(Ok(-22));
            }
            var temp = _mapper.Map <ApplyEntity>(request);

            temp.student_id = stu_id;
            temp.teacher_id = await WorkAccessor.GetTeacher(temp.work_id);

            temp.resume_id = await ResumeAccessor.GetResume(temp.student_id);

            if (temp.resume_id == -1)
            {
                return(Ok(-10));
            }
            var ans = await ApplyAccessor.Create(temp);

            if (ans > 0)
            {
                return(Ok(ans));
            }
            return(Ok(-1));
        }
Beispiel #6
0
        //[AllowAnonymous]
        public async Task <int> CreateResume([FromBody] ResumeRequest request)
        {
            //判断request里是否满足前置条件
            if (!ModelState.IsValid)
            {
                return(-5);
            }
            //取得存在cookie的当前账户id
            var resume_stu_id = Int32.Parse(User.Identity.Name);
            //生成resume实例
            var temp_resume = _mapper.Map <ResumeEntity>(request);
            //查找当前id是否存在resume
            var temp = await ResumeAccessor.Find(resume_stu_id);

            if (temp == null)
            {
                //新建resume
                var num = ResumeAccessor.Create(temp_resume);
                return(resume_stu_id);
            }
            return(0);
        }
        public async Task <ActionResult <AccountResponse> > PostRegister([FromBody] RegisterRequest request)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            var account = _mapper.Map <AccountEntity>(request);

            account.Password = BCrypt.Net.BCrypt.HashPassword(Sha512Hmac.HashPassword(request.Password), 10);
            account.Id       = await AccountAccessor.Create(account);

            await UserAccessor.Create(account); // Create user at the same time

            if (request.Role == Constants.Role.Student)
            {
                var resume = new ResumeEntity();
                resume.student_id = account.Id;
                await ResumeAccessor.Create(resume);
            }

            await AnnounceAccessor.SetNewSend(account.Id);//create user's announce

            // issue cookie
            var claims = new Claim[]
            {
                new Claim(ClaimTypes.Name, account.Id.ToString()),
                new Claim(ClaimTypes.Role, account.Role.ToString()),
            };

            var claimsIdentity = new ClaimsIdentity(claims, CookieAuthenticationDefaults.AuthenticationScheme);

            await HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, new ClaimsPrincipal(claimsIdentity), authProperties);

            return(Ok(_mapper.Map <AccountResponse>(account)));
        }
Beispiel #8
0
        public async Task <ActionResult <ResumeResponse> > CreateResume([FromBody] ResumeRequest request)
        {
            //判断request里是否满足前置条件
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }
            //取得存在cookie的当前账户id
            var resume_stu_id = Int32.Parse(User.Identity.Name);
            //生成resume实例
            var temp_resume = _mapper.Map <ResumeEntity>(request);
            //查找当前id是否存在resume
            var temp = await ResumeAccessor.Find(resume_stu_id);

            temp_resume.student_id = resume_stu_id;
            if (temp == null)
            {
                //新建resume
                var num = ResumeAccessor.Create(temp_resume);
                temp_resume.resume_id = num.Result;
                return(Ok(_mapper.Map <ResumeResponse>(temp_resume)));
            }
            return(Ok(-1));
        }