//[AllowAnonymous] public async Task <ActionResult <LeaveItemResponse> > ProViewLeaves([FromBody] ViewLeavesRequest request) { var pro_id = Int32.Parse(User.Identity.Name); if (await UserAccessor.CheckRole(pro_id) == Constants.Role.Student) { return(BadRequest(new { message = "ProViewLeaves is not for students." })); } var start = (request.pagenum - 1) * request.pagesize; var end = request.pagenum * request.pagesize; LeaveItemResponse leaves = new LeaveItemResponse(); leaves.pagenum = request.pagenum; leaves.leavelist = new System.Collections.Generic.List <LeaveResponse>(); var leave_list = await LeaveAccessor.ProViewLeaves(pro_id); if (leave_list != null) { for (int i = start; i < end && i < leave_list.total; i++) { LeaveResponse lr = _mapper.Map <LeaveResponse>(leave_list.leaveItem[i]); lr.student_name = await UserAccessor.GetUserName(lr.student_id); lr.work_name = await WorkAccessor.GetWorkName(lr.work_id); leaves.leavelist.Add(lr); } leaves.total = leave_list.total; return(Ok(leaves)); } return(Ok(-1)); // Never arrive there }
public async Task <int> Getresign([FromBody] FindworkRequest request) { //判断request里是否满足前置条件 if (!ModelState.IsValid) { return(-1); } var user_id = Int32.Parse(User.Identity.Name); if (await UserAccessor.CheckRole(user_id) != Role.Student) { return(-2); } TakesEntity entity = new TakesEntity(); entity.work_id = request.work_id; entity.student_id = user_id; MessageEntity temp_entity = new MessageEntity(); var work_name = await WorkAccessor.GetWorkName(request.work_id); var student_name = await UserAccessor.GetUserName(user_id); temp_entity.message_type = 0; temp_entity.content = student_name + "同学辞去" + work_name + "工作。"; temp_entity.sender_id = user_id; temp_entity.receiver_id = await WorkAccessor.GetTeacher(request.work_id); var num = await TakesAccessor.GetRegion(entity); await MessageAccessor.Create(temp_entity, 1); return(num); }
public async Task <ActionResult <MessageResponse> > CreateMessage([FromBody] MessageRequest request) { //判断request里是否满足前置条件 if (!ModelState.IsValid) { return(BadRequest()); } //取得存在cookie的当前账户id var temp_id = Int32.Parse(User.Identity.Name); if (await UserAccessor.CheckRole(temp_id) == Role.Student) { return(BadRequest(new { message = "Student cannot send message" })); } var temp_entity = _mapper.Map <MessageEntity>(request); temp_entity.sender_id = temp_id; var temp = await MessageAccessor.Create(temp_entity, 0); temp_entity.message_id = temp; temp_entity.sender_name = await UserAccessor.GetUserName(temp_entity.sender_id); temp_entity.receiver_name = await UserAccessor.GetUserName(temp_entity.receiver_id); return(Ok(_mapper.Map <MessageResponse>(temp_entity))); }
public async Task <ActionResult <MessageItemResponse> > FindReceiveResign([FromBody] ViewMessageRequest request) { MessageItemResponse ans = new MessageItemResponse(); ans.totalpage = 0; ans.pagenum = request.pagenum; ans.messageItem = new List <MessageResponse>(); var start = (request.pagenum - 1) * request.pagesize; var end = request.pagenum * request.pagesize - 1; //取得存在cookie的当前账户id var temp_id = Int32.Parse(User.Identity.Name); var temp = await MessageAccessor.FindReceive(temp_id, 1); for (int i = 0; i < temp.total; i++) { ans.totalpage++; if (i >= start && i <= end) { var response = _mapper.Map <MessageResponse>(temp.messageItem[i]); response.sender_name = await UserAccessor.GetUserName(response.sender_id); response.receiver_name = await UserAccessor.GetUserName(response.receiver_id); ans.messageItem.Add(response); } } return(Ok(ans)); }
//[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 }
//[AllowAnonymous] public async Task <ActionResult <LeaveResponse> > ProManageLeave(ManageLeaveRequest request) { var pro_id = Int32.Parse(User.Identity.Name); if (await UserAccessor.CheckRole(pro_id) == Constants.Role.Student) { return(BadRequest(new { message = "Students cannot manage leave application." })); } LeaveEntity le = await LeaveAccessor.Read(request.leave_id); if (le == null) { return(BadRequest(new { message = "Leave id not found." })); } if (le.status != Constants.ApplyStatus.Applying) { return(BadRequest(new { message = "The application have been managed." })); } var success_change = await LeaveAccessor.SetLeaveStatus(request.leave_id, request.status); if (success_change > 0) { le.status = request.status; //减少查询 LeaveResponse lr = _mapper.Map <LeaveResponse>(le); // 未检查id是否存在 lr.student_name = await UserAccessor.GetUserName(le.student_id); //lr.teacher_name = await UserAccessor.GetUserName(le.teacher_id); lr.work_name = await WorkAccessor.GetWorkName(le.work_id); if (request.status == Constants.ApplyStatus.Accepted) { // 录用,更新takes await TakesAccessor.UpdateAbsent(le.student_id, le.work_id, le.leave_duration); } return(lr); } return(BadRequest(new { message = "Update failed" })); }