示例#1
0
        public async Task <Result <AddQueueResponse> > Handle(AddQueueCommand request, CancellationToken cancellationToken)
        {
            using (_queueUnitOfWork)
            {
                try
                {
                    QueueWaitingList qwl = new QueueWaitingList();
                    qwl.PatientId     = request.PatientId;
                    qwl.Priority      = request.Priority;
                    qwl.ServiceRoomId = request.ServiceRoomId;
                    qwl.Status        = request.Status;
                    qwl.CreateDate    = DateTime.Now;
                    qwl.CreatedBy     = request.CreatedBy;

                    await _queueUnitOfWork.Repository <QueueWaitingList>().AddAsync(qwl);

                    await _queueUnitOfWork.SaveAsync();

                    return(Result <AddQueueResponse> .Valid(new AddQueueResponse()
                    {
                        PatientId = qwl.PatientId,
                        Message = "The Patient  has been added to the waiting List successfully"
                    }));
                }
                catch (Exception e)
                {
                    Log.Error(e.Message);
                    return(Result <AddQueueResponse> .Invalid(e.Message));
                }
            }
        }
        public async Task <IActionResult> AddQueue([FromBody] AddQueueCommand command)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState.Values.Select(x => x.Errors)));
            }

            var response = await _mediator.Send(command, HttpContext.RequestAborted);

            if (!response.IsValid)
            {
                return(BadRequest(response));
            }

            return(Ok(response.Value));
        }