Пример #1
0
        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));
            }
        }