public async Task <ApiResponse> Handle(AddEmployeeAppraisalMoreDetailsCommand request, CancellationToken cancellationToken) { ApiResponse response = new ApiResponse(); try { var recordList = await _dbContext.EmployeeEvaluation.Where(x => x.EmployeeId == request.EmployeeId && x.CurrentAppraisalDate.Date == DateTime.Now.Date).ToListAsync(); _dbContext.RemoveRange(recordList); List <EmployeeEvaluation> lst = new List <EmployeeEvaluation>(); List <StrongandWeakPoints> StrongList = new List <StrongandWeakPoints>(); List <StrongandWeakPoints> WeakList = new List <StrongandWeakPoints>(); foreach (var item in request.EmployeeEvaluationModelList) { EmployeeEvaluation obj = new EmployeeEvaluation(); obj.FinalResultQues1 = request.FinalResultQues1; obj.FinalResultQues2 = request.FinalResultQues2; obj.FinalResultQues3 = request.FinalResultQues3; obj.FinalResultQues4 = request.FinalResultQues4; obj.FinalResultQues5 = request.FinalResultQues5; obj.DirectSupervisor = request.DirectSupervisor; obj.CommentsByEmployee = request.CommentsByEmployee; obj.CreatedById = request.CreatedById; obj.CreatedDate = request.CreatedDate; obj.CurrentAppraisalDate = DateTime.Now; obj.EmployeeId = request.EmployeeId; lst.Add(obj); } await _dbContext.EmployeeEvaluation.AddRangeAsync(lst); foreach (var item in request.StrongPoints) { StrongandWeakPoints obj = new StrongandWeakPoints(); obj.CreatedById = request.CreatedById; obj.CreatedDate = request.CreatedDate; obj.CurrentAppraisalDate = DateTime.Now; obj.EmployeeId = request.EmployeeId; obj.Point = item; obj.Status = 1; // 1 for strong points StrongList.Add(obj); } await _dbContext.StrongandWeakPoints.AddRangeAsync(StrongList); foreach (var item in request.WeakPoints) { StrongandWeakPoints obj = new StrongandWeakPoints(); obj.CreatedById = request.CreatedById; obj.CreatedDate = request.CreatedDate; obj.CurrentAppraisalDate = DateTime.Now; obj.EmployeeId = request.EmployeeId; obj.Point = item; obj.Status = 2; // 2 for Weak points WeakList.Add(obj); } await _dbContext.StrongandWeakPoints.AddRangeAsync(WeakList); await _dbContext.SaveChangesAsync(); response.StatusCode = StaticResource.successStatusCode; response.Message = "Success"; } catch (Exception ex) { response.StatusCode = StaticResource.failStatusCode; response.Message = ex.Message; } return(response); }
public async Task <ApiResponse> Handle(EditEmployeeAppraisalMoreDetailsCommand request, CancellationToken cancellationToken) { ApiResponse response = new ApiResponse(); try { var recordList = await _dbContext.EmployeeEvaluation.FirstOrDefaultAsync(x => x.EmployeeAppraisalDetailsId == request.EmployeeAppraisalDetailsId); if (recordList != null) { List <EmployeeEvaluationTraining> trainingList = new List <EmployeeEvaluationTraining>(); List <EmployeeAppraisalTeamMember> appraisalTeamMemberList = new List <EmployeeAppraisalTeamMember>(); List <StrongandWeakPoints> StrongList = new List <StrongandWeakPoints>(); List <StrongandWeakPoints> WeakList = new List <StrongandWeakPoints>(); var trainingData = await _dbContext.EmployeeEvaluationTraining.Where(x => x.EmployeeAppraisalDetailsId == request.EmployeeAppraisalDetailsId).ToListAsync(); _dbContext.RemoveRange(trainingData); foreach (var item in request.EmployeeEvaluationModelList) { EmployeeEvaluationTraining obj = new EmployeeEvaluationTraining(); obj.TrainingProgram = item.TrainingProgram; obj.Program = item.Program; obj.Participated = item.Participated; obj.CatchLevel = item.CatchLevel; obj.RefresherTrm = item.RefresherTrm; obj.OthRecommendation = item.OthRecommendation; obj.CreatedById = request.CreatedById; obj.CreatedDate = request.CreatedDate; obj.EmployeeAppraisalDetailsId = request.EmployeeAppraisalDetailsId; trainingList.Add(obj); } await _dbContext.EmployeeEvaluationTraining.AddRangeAsync(trainingList); //AppraisalTeamMemberList var appraisalTeamMemberData = await _dbContext.EmployeeAppraisalTeamMember.Where(x => x.EmployeeAppraisalDetailsId == request.EmployeeAppraisalDetailsId).ToListAsync(); _dbContext.RemoveRange(appraisalTeamMemberData); foreach (var item in request.EmployeeAppraisalTeamMemberList) { EmployeeAppraisalTeamMember obj = new EmployeeAppraisalTeamMember(); obj.EmployeeAppraisalDetailsId = request.EmployeeAppraisalDetailsId; //obj.EmployeeAppraisalTeamMemberId = item; obj.EmployeeId = item; obj.CreatedById = request.CreatedById; obj.CreatedDate = request.CreatedDate; appraisalTeamMemberList.Add(obj); } await _dbContext.EmployeeAppraisalTeamMember.AddRangeAsync(appraisalTeamMemberList); recordList.FinalResultQues1 = request.FinalResultQues1; recordList.FinalResultQues2 = request.FinalResultQues2; recordList.FinalResultQues3 = request.FinalResultQues3; recordList.FinalResultQues4 = request.FinalResultQues4; recordList.FinalResultQues5 = request.FinalResultQues5; recordList.DirectSupervisor = request.DirectSupervisor; recordList.CommentsByEmployee = request.CommentsByEmployee; recordList.CurrentAppraisalDate = request.CurrentAppraisalDate; recordList.EmployeeId = request.EmployeeId; await _dbContext.SaveChangesAsync(); var empRecords = await _dbContext.StrongandWeakPoints.Where(x => x.IsDeleted == false && x.EmployeeAppraisalDetailsId == request.EmployeeAppraisalDetailsId).ToListAsync(); _dbContext.StrongandWeakPoints.RemoveRange(empRecords); foreach (var item in request.StrongPoints) { StrongandWeakPoints obj = new StrongandWeakPoints(); obj.CreatedById = request.CreatedById; obj.CreatedDate = request.CreatedDate; obj.CurrentAppraisalDate = DateTime.Now; obj.EmployeeId = request.EmployeeId; obj.Point = item; obj.Status = 1; // 1 for strong points obj.EmployeeAppraisalDetailsId = request.EmployeeAppraisalDetailsId; StrongList.Add(obj); } await _dbContext.StrongandWeakPoints.AddRangeAsync(StrongList); foreach (var item in request.WeakPoints) { StrongandWeakPoints obj = new StrongandWeakPoints(); obj.CreatedById = request.CreatedById; obj.CreatedDate = request.CreatedDate; obj.CurrentAppraisalDate = DateTime.Now; obj.EmployeeId = request.EmployeeId; obj.Point = item; obj.Status = 2; // 2 for Weak points obj.EmployeeAppraisalDetailsId = request.EmployeeAppraisalDetailsId; WeakList.Add(obj); } await _dbContext.StrongandWeakPoints.AddRangeAsync(WeakList); } await _dbContext.SaveChangesAsync(); response.StatusCode = StaticResource.successStatusCode; response.Message = "Success"; } catch (Exception ex) { response.StatusCode = StaticResource.failStatusCode; response.Message = ex.Message; } return(response); }