//[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 LeaveResponse ApplyLeave(Leave newLeave) { int reqId = _leaveDA.ApplyLeave(newLeave); var leaveResponse = new LeaveResponse(reqId, LeaveStatus.Applied); return(leaveResponse); }
public ActionResult <LeaveResponse> ApplyLeave([FromBody] Leave NewLeave) { LeaveResponse newResp = null; try { newResp = _leave.ApplyLeave(NewLeave); } catch (Exception lex) { return(BadRequest(lex.ToString())); } return(Ok(newResp)); }
private void GameServerPluginOnClientDisconnected(object sender, ServerConnectionBase connection) { var peersList = UsersInScenes.FirstOrDefault(x => x.Value.Contains(connection.Peer)); if (!string.IsNullOrEmpty(peersList.Key)) { peersList.Value?.Remove(connection.Peer); var leaveResponse = new LeaveResponse { ConnectionId = connection.ConnectionId, IsOk = true }; foreach (var peer in peersList.Value) { var cmd = BinaryProtocolHelper <LeaveResponse> .GetProtocol(leaveResponse); peer.Connections.First().Value?.SendData(cmd); } } }
//[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" })); }
public async Task <ActionResult <LeaveItemResponse> > ViewLeave([FromBody] ViewLeavesRequest request) { LeaveItemResponse LeaveItem = new LeaveItemResponse(); LeaveItem.total = 0; LeaveItem.pagenum = request.pagenum; LeaveItem.leavelist = new List <LeaveResponse>(); var start = (request.pagenum - 1) * request.pagesize; var end = request.pagenum * request.pagesize - 1; //取得存在cookie的当前账户id var user_id = Int32.Parse(User.Identity.Name); if (await UserAccessor.CheckRole(user_id) == Constants.Role.Provider) { return(BadRequest(new { message = "Providers cannot manage leave application." })); } var temp = await LeaveAccessor.ViewLeave(user_id); if (temp != null) { for (int i = 0; i < temp.total; i++) { LeaveItem.total++; if (i >= start && i <= end) { var list = await LeaveAccessor.Find(temp.leaveItem[i].leave_id); LeaveResponse a = _mapper.Map <LeaveResponse>(list); LeaveItem.leavelist.Add(a); } } return(Ok(LeaveItem)); } return(Ok(-1)); }
public static bool SendLeaveRequestEmail(LeaveResponse leaveResponse, SmtpRequest smtpRequest, string admin) { var startDate = leaveResponse.StartDate.Date.ToString("%d-%M-yyyy"); var endDate = leaveResponse.EndDate.Date.ToString("%d-%M-yyyy"); var firstAndLastName = (leaveResponse.FirstName).Trim() + " " + (leaveResponse.LastName).Trim(); try { var subject = "Leave Request by " + firstAndLastName + " - " + startDate; //var subject = "Leave Request by " + leaveResponse.Email + " - " + startDate; StringBuilder emailMessage = new StringBuilder(); emailMessage.Append("<p>Hello,</p>"); emailMessage.Append("<p>" + leaveResponse.Email + " has requested leave. Details are given below.</p>"); emailMessage.Append("<table border=1 style='width: 60%;margin-left: 10%;'>"); emailMessage.Append("<tr><th style='width: 30%;text-align: left;font-family: Arial; font-size: 10pt;'><p style='margin-left: 5%;'>" + "Start Date" + "</p></th>"); emailMessage.Append("<td style='text-align: left;'><p style='margin-left: 5%;'>" + startDate + "</p></td> </tr>"); emailMessage.Append("<tr><th style='width: 30%;text-align: left;font-family: Arial; font-size: 10pt;'><p style='margin-left: 5%;'>" + "End Date" + "</p></th>"); emailMessage.Append("<td style='text-align: left;'><p style='margin-left: 5%;'>" + endDate + "</p></td></tr>"); emailMessage.Append("<tr><th style='width: 30%;text-align: left;font-family: Arial; font-size: 10pt;'><p style='margin-left: 5%;'>" + "Leave Type " + "</p></th>"); emailMessage.Append("<td style='text-align: left;'><p style='margin-left: 5%;'>" + leaveResponse.LeaveType + "</p></td></tr>"); emailMessage.Append("<tr><th style='width: 30%;text-align: left;font-family: Arial; font-size: 10pt;'><p style='margin-left: 5%;'>" + "Duration" + "</p></th>"); emailMessage.Append("<td style='text-align: left;'><p style='margin-left: 5%;'>" + leaveResponse.Duration + "</p></td></tr>"); emailMessage.Append("<tr><th style='width: 30%;text-align: left;font-family: Arial; font-size: 10pt;'><p style='margin-left: 5%;'>" + "Reason" + "</p></th>"); emailMessage.Append("<td style='text-align: left;'><p style='margin-left: 5%; margin-right: 5%;'>" + leaveResponse.Reason + "</p></td></tr>"); emailMessage.Append("</table>"); emailMessage.Append("<p>Kindly consider for your kind approval. </p>"); emailMessage.Append("<p>Thanks </p>"); emailMessage.Append("<p>" + firstAndLastName + "</p>"); SendEmail(admin, emailMessage, subject, true, smtpRequest); return(true); } catch (Exception ex) { var msg = ex.Message; // Trace.WriteLine(String.Format("Failure to send email to {0}.", emailAddress)); return(false); } }