public async Task <Result <AddPnsTracingResponse> > Handle(AddPnsTracingCommand request, CancellationToken cancellationToken) { try { using (_unitOfWork) { Tracing pnstrace = new Tracing() { PersonID = request.PersonId, TracingType = request.TracingType, DateTracingDone = request.TracingDate, Mode = request.TracingMode, Outcome = request.TracingOutcome, Remarks = null, DeleteFlag = false, CreatedBy = request.UserId, CreateDate = DateTime.Now, Consent = request.Consent, DateBookedTesting = request.DateBookedTesting, ReminderDate = request.DateReminded }; await _unitOfWork.Repository <Tracing>().AddAsync(pnstrace); await _unitOfWork.SaveAsync(); _unitOfWork.Dispose(); return(Result <AddPnsTracingResponse> .Valid(new AddPnsTracingResponse() { TracingId = pnstrace.Id })); } } catch (Exception e) { return(Result <AddPnsTracingResponse> .Invalid(e.Message)); } }