public async Task <Result <EmployeeReview> > Update(Request <EmployeeReview> request) { try { if (string.IsNullOrWhiteSpace(request.Model.Name)) { return(new Result <EmployeeReview>("Name is Required")); } if (request.Model.ReviewTemplateId == 0 || request.Model.ReviewTemplateId == null) { return(new Result <EmployeeReview>("Review Template is required")); } if (request.Model.ReviewDate == null) { return(new Result <EmployeeReview>("Review date is required")); } if (request.Model.EmployeeId == 0) { return(new Result <EmployeeReview>("Employee is required")); } if (request.Model.SupervisorId == 0) { return(new Result <EmployeeReview>("Supervisor is required")); } request.Model.Rating = null; request.Model.EmployeeAverageScore = 0; request.Model.SupervisorAverageScore = 0; var updateRes = _repo.Update(Mapper.Map <EmployeeReviewData>(request.Model)); if (!updateRes) { return(new Result <EmployeeReview>("Unable to update data")); } var searchReviewTemplate = new ReviewTemplateDataRepository().GetById(request.Model.ReviewTemplateId); CreateAnswer(searchReviewTemplate.Questions, request.Model.Id); return(new Result <EmployeeReview>() { Successful = true, Message = "Successfully updated record", Model = request.Model }); } catch (Exception e) { return(new Result <EmployeeReview>(e.Message)); } }
public async Task <Result <EmployeeReview> > Create(Request <EmployeeReview> request) { try { if (string.IsNullOrWhiteSpace(request.Model.Name)) { return(new Result <EmployeeReview>("Name is Required")); } if (request.Model.ReviewTemplateId == 0 || request.Model.ReviewTemplateId == null) { return(new Result <EmployeeReview>("Review Template is required")); } if (request.Model.ReviewDate == null) { return(new Result <EmployeeReview>("Review date is required")); } if (request.Model.EmployeeId == 0) { return(new Result <EmployeeReview>("Employee is required")); } if (request.Model.SupervisorId == 0) { return(new Result <EmployeeReview>("Supervisor is required")); } request.Model.DateCreated = DateTime.Now; var searchExist = _repo.Search(new SearchRequest <DAL.Models.EmployeeReviewData>() { Filter = f => f.Name == request.Model.Name }); if (searchExist.SearchTotal > 0) { return(new Result <EmployeeReview>("Employee Review is already exist")); } request.Model.Status = "Scheduled"; var createRes = _repo.Insert(Mapper.Map <EmployeeReviewData>(request.Model)); if (!createRes) { return(new Result <EmployeeReview>("Unable to add employee review data")); } var searchEmployeeReview = _repo.Search(new SearchRequest <EmployeeReviewData>()).Items.OrderByDescending(x => x.Id).FirstOrDefault(); var searchReviewTemplate = new ReviewTemplateDataRepository().GetById(request.Model.ReviewTemplateId); CreateAnswer(searchReviewTemplate.Questions, searchEmployeeReview.Id); return(new Result <EmployeeReview>() { Successful = true, Message = "Successfully created employee review data", Model = request.Model }); } catch (Exception e) { return(new Result <EmployeeReview>(e.Message)); } }