public async Task <ActionResult <PagedList <ViewStudentsListDto> > > Get(AcceptanceStatus acceptanceStatus, int pageSize, int PageNumber) { return(await Mediator.Send(new ViewStudentsListQuery() { AcceptanceStatus = acceptanceStatus, PageNumber = PageNumber, PageSize = pageSize })); }
public async Task <IActionResult> ApproveAppraisalHOD(string Id, JsonPatchDocument <AcceptanceStatus> entity) { ObjectId kra = new ObjectId(Id); AcceptanceStatus entityToUpdate = new AcceptanceStatus(); entity.ApplyTo(entityToUpdate); var res = await appraisalResult.HodApprovalOrReject(kra, entityToUpdate); if (res.MatchedCount > 0) { return(Ok()); } return(NotFound()); }
public async Task <IActionResult> AcceptAppraisal(string Id, JsonPatchDocument <AcceptanceStatus> entity) { ObjectId kra = new ObjectId(Id); AcceptanceStatus entityToUpdate = new AcceptanceStatus(); entity.ApplyTo(entityToUpdate); var res = await appraisalResult.EmployeeAcceptOrReject(kra, entityToUpdate); if (res != null) { return(Ok()); } return(NotFound()); }
public async Task <UpdateResult> HodApprovalOrReject(ObjectId appraisalResultId, AcceptanceStatus status) { var filter = Builders <AppraisalResult> .Filter.Eq("Id", appraisalResultId); var appraisalResult = Collection.Find(filter).FirstOrDefault(); var employee = await resultAreaRepo.GetEmployee(appraisalResult.KeyResultArea.EmployeeId); string subject = $"Pending Approval"; string msg = $"who is your HOD has completed your appraisal for the key result area {appraisalResult.KeyResultArea.Name}, You are to accept or reject it"; string title = "Approval For Approval"; string url = "https://resourceedge.herokuapp.com/"; if (appraisalResult != null) { appraisalResult.HodAccept = new AcceptanceStatus() { IsAccepted = status.IsAccepted.Value }; var newAppraisalResult = appraisalResult.HodApproval(status.Reason); var entityToUpdate = newAppraisalResult.ToBsonDocument(); var update = new BsonDocument("$set", entityToUpdate); SingleEmailDto emailDto = new SingleEmailDto() { ReceiverFullName = employee.FullName, ReceiverEmailAddress = employee.Email, HtmlContent = await sender.FormatEmail(appraisalResult.KeyResultArea.HodDetails.Name, employee.FullName, msg, title, url), }; var res = await Collection.UpdateOneAsync(filter, update); if (res.MatchedCount > 0) { await sender.SendToSingleEmployee(subject, emailDto); } return(res); } return(null); }
public async Task <UpdateResult> EmployeeAcceptOrReject(ObjectId appraisalResultId, AcceptanceStatus status) { var filter = Builders <AppraisalResult> .Filter.Eq("Id", appraisalResultId); var appraisalResult = Collection.Find(filter).FirstOrDefault(); if (appraisalResult != null) { appraisalResult.EmployeeAccept = new AcceptanceStatus() { IsAccepted = status.IsAccepted.Value }; var newAppraisalResult = appraisalResult.CompleteAppraisal(status.Reason); var entityToUpdate = newAppraisalResult.ToBsonDocument(); var update = new BsonDocument("$set", entityToUpdate); return(await Collection.UpdateOneAsync(filter, update)); } return(null); }