public async Task <IActionResult> ApproveRejectEvaluation([FromBody] EvalVM evaluationVM) { if (!ModelState.IsValid) { return(BadRequest("Bad Request")); } var userId = Convert.ToInt32(this.User.FindFirstValue(ClaimTypes.NameIdentifier)); _evaluationRepository.ApproveRejectEvaluation(evaluationVM); return(Ok()); }
public async void ApproveRejectEvaluation(EvalVM evaluationVM) { Evaluation evaluation = _context.Evaluations.Where(p => p.EvaluationID == evaluationVM.evaluationID).FirstOrDefault(); Users users = _context.Users.Where(p => p.EmployeeId == evaluation.EmployeeID).FirstOrDefault(); Employee employeeManager = _context.EmployeeInfoView.Where(p => p.ManagerID == evaluation.EmployeeID).FirstOrDefault(); Users usersManager = null; if (employeeManager != null) { usersManager = _context.Users.Where(p => p.EmployeeId == employeeManager.EmployeeID).FirstOrDefault(); } if (evaluation != null) { Employee employee = _context.EmployeeInfoView.Where(p => p.EmployeeID == evaluation.EmployeeID).FirstOrDefault(); if (evaluationVM.employeeApproval == 0 || evaluationVM.employeeApproval == 1) { if (employee != null && employee.EmployeeID == evaluationVM.employeeID) { if (evaluation.HRApproval == null && (evaluation.ManagerApproval == null || evaluation.ManagerApproval == 2)) { if (evaluationVM.employeeApproval == 1) { if (usersManager != null) { await notificationConcrete.SaveNotification(evaluation.EvaluationID, false, "NOT02", usersManager.UserId, 1, null); } } } else { throw new Exception("MSG_EVALUATION_DONT_HAVE_PEMISSION"); } } else { throw new Exception("MSG_EVALUATION_DONT_HAVE_PEMISSION"); } } //manager else if (evaluationVM.managerApproval == 0) { if (evaluation.HRApproval == null && evaluation.ManagerApproval == 1) { } else { throw new Exception("MSG_EVALUATION_DONT_HAVE_PEMISSION"); } } else if (evaluationVM.managerApproval == 1) { if ((evaluation.HRApproval == null || evaluation.HRApproval == 2) && evaluation.EmployeeApproval == 1) { List <EmployeeUserHRViewModel> employeeUserHRs = await employeesConcrete.GetEmployeeUserHR(); if (employeeUserHRs != null) { foreach (EmployeeUserHRViewModel item in employeeUserHRs) { await notificationConcrete.SaveNotification(evaluation.EvaluationID, false, "NOT02", Convert.ToInt32(item.UserId), 1, null); } } } else { throw new Exception("MSG_EVALUATION_DONT_HAVE_PEMISSION"); } } else if (evaluationVM.managerApproval == 2) { if ((evaluation.HRApproval == null || evaluation.HRApproval == 2) && evaluation.EmployeeApproval == 1) { if (users != null) { await notificationConcrete.SaveNotification(evaluation.EvaluationID, false, "NOT02", users.UserId, 2, null); } } else { throw new Exception("MSG_EVALUATION_DONT_HAVE_PEMISSION"); } } //hr else if (evaluationVM.hRApproval == 0) { if (evaluation.HRApproval == 1 && evaluation.ManagerApproval == 1) { } else { throw new Exception("MSG_EVALUATION_DONT_HAVE_PEMISSION"); } } else if (evaluationVM.hRApproval == 1) { if (evaluation.HRApproval == null && evaluation.ManagerApproval == 1) { if (users != null) { await notificationConcrete.SaveNotification(evaluation.EvaluationID, false, "NOT02", users.UserId, 1, null); } if (usersManager != null) { await notificationConcrete.SaveNotification(evaluation.EvaluationID, false, "NOT02", usersManager.UserId, 1, null); } } else { throw new Exception("MSG_EVALUATION_DONT_HAVE_PEMISSION"); } } else if (evaluationVM.hRApproval == 2) { if ((evaluation.HRApproval == null || evaluation.HRApproval == 1) && evaluation.ManagerApproval == 1) { if (usersManager != null) { await notificationConcrete.SaveNotification(evaluation.EvaluationID, false, "NOT02", usersManager.UserId, 2, null); } } else { throw new Exception("MSG_EVALUATION_DONT_HAVE_PEMISSION"); } } } using (SqlConnection con = new SqlConnection(_configuration.GetConnectionString("DatabaseConnection"))) { var paramater = new DynamicParameters(); paramater.Add("@EvaluationID", evaluationVM.evaluationID); paramater.Add("@EmployeeApproval", evaluationVM.employeeApproval); paramater.Add("@ManagerApproval", evaluationVM.managerApproval); paramater.Add("@ManagerApprovalID", evaluationVM.managerApprovalID); paramater.Add("@HRApproval", evaluationVM.hRApproval); paramater.Add("@HRApprovalID ", evaluationVM.hRApprovalID); paramater.Add("@Note ", evaluationVM.notes); var value = con.Query("[ess].ApprovalRejectEvaluationInfo", paramater, null, true, 0, commandType: System.Data.CommandType.StoredProcedure); } }