public async Task <Result <AddPersonEducationalLevelResponse> > Handle(PersonEducationLevelCommand request, CancellationToken cancellationToken) { try { RegisterPersonService rs = new RegisterPersonService(_unitOfWork); if (request.PersonId > 0) { PersonEducation pme = new PersonEducation(); pme = await rs.GetCurrentPersonEducation(request.PersonId); if (pme != null) { pme.EducationLevel = request.EducationalLevel; pme.CreatedBy = request.UserId; await rs.UpdatePersonEducation(pme); msg += "Person Educatin updated successfully"; } else { PersonEducation ped = new PersonEducation(); ped.PersonId = request.PersonId; ped.CreatedBy = request.UserId; ped.EducationLevel = request.EducationalLevel; ped.CreateDate = DateTime.Now; var peducation = await rs.AddPersonEducation(ped); if (peducation != null) { msg = "PersonEducationalLevel added successfully for personId" + request.PersonId; } } } return(Result <AddPersonEducationalLevelResponse> .Valid(new AddPersonEducationalLevelResponse() { Message = msg })); } catch (Exception e) { return(Result <AddPersonEducationalLevelResponse> .Invalid(e.Message)); } }