//[AllowAnonymous] public async Task <ActionResult <ApplyResponse> > ProManageApp(ManageApplyRequest request) { var pro_id = Int32.Parse(User.Identity.Name); if (await UserAccessor.CheckRole(pro_id) == Role.Student) { return(BadRequest(new { message = "Students cannot manage application." })); } ApplyEntity ae = await ApplyAccessor.Read(request.apply_id); if (ae == null) { return(BadRequest(new { message = "Apply id not found." })); } if (ae.status != Constants.ApplyStatus.Applying) { return(BadRequest(new { message = "Application have been managed." })); } var success_change = await ApplyAccessor.SetApplyStatus(request.apply_id, request.status); if (success_change > 0) { ae.status = request.status; //减少查询 ApplyResponse ar = _mapper.Map <ApplyResponse>(ae); // 未检查id是否存在 ar.student_name = await UserAccessor.GetUserName(ae.student_id); ar.teacher_name = await UserAccessor.GetUserName(ae.teacher_id); ar.work_name = await WorkAccessor.GetWorkName(ae.work_id); if (request.status == Constants.ApplyStatus.Accepted) { // 录用,创建takes var take = new TakesEntity { work_name = ar.work_name, student_id = ae.student_id, work_id = ae.work_id, work_time = await WorkAccessor.GetWorkTotalTime(ae.work_id) }; await TakesAccessor.Create(take); } return(ar); } return(BadRequest(new { message = "Update failed" })); }
//[AllowAnonymous] public async Task <ActionResult <ApplyItemResponse> > ProViewApps([FromBody] ViewAppRequest request) { var pro_id = Int32.Parse(User.Identity.Name); if (await UserAccessor.CheckRole(pro_id) == Role.Student) { return(BadRequest(new { message = "ProViewApps is not for students." })); } var apps = new ApplyItemResponse(); //apps.totalpage=0; apps.pagenum = request.pagenum; var start = (request.pagenum - 1) * request.pagesize; var end = request.pagenum * request.pagesize; if (start < 0) { return(BadRequest(new { message = "Page num error" })); } apps.applist = new System.Collections.Generic.List <ApplyResponse>(); var provide_list = await ApplyAccessor.ProViewApps(pro_id); if (provide_list != null) { for (int i = start; i < end && i < provide_list.total; i++) { ApplyResponse ar = _mapper.Map <ApplyResponse>(provide_list.ApplyItem[i]); // 未检查id是否存在 ar.student_name = await UserAccessor.GetUserName(provide_list.ApplyItem[i].student_id); ar.teacher_name = await UserAccessor.GetUserName(provide_list.ApplyItem[i].teacher_id); ar.work_name = await WorkAccessor.GetWorkName(provide_list.ApplyItem[i].work_id); apps.applist.Add(ar); } apps.totalpage = provide_list.total; return(Ok(apps)); } return(Ok(-1)); // Never arrive there }
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)); }
public async Task <ActionResult <UserInfoResponse> > GetUserInfo() { //取得存在cookie的当前账户id var u_id = Int32.Parse(User.Identity.Name); //查找当前id是否存在user var temp = await UserAccessor.Read(u_id); if (temp != null) { var user_res = _mapper.Map <UserInfoResponse>(temp); if (temp.user_role == Constants.Role.Student) { //is student user_res.nof_apply = await ApplyAccessor.GetNumOfApp(u_id); //count(apply.apply_id) user_res.income = await SalaryAccessor.GetSumOfSalary(u_id); //sum(salary.num) var waa = await TakesAccessor.GetSumOfWorkAndAbsent(u_id); user_res.nof_absent = waa.sum_absent_num; //sum(takes.absent_num) user_res.work_time = waa.sum_work_time; //sum(takes.work_time) user_res.absent_time = waa.sum_absent_time; //sume(takes.absent_time) } else { //not student user_res.nof_apply = 0; user_res.nof_absent = 0; user_res.work_time = 0; user_res.income = 0; user_res.absent_time = 0; } return(Ok(user_res)); } //未找到user return(BadRequest(new { message = "cannot find the user" })); }