コード例 #1
0
        public async Task <Result <RegisterClientResponse> > Handle(AddBasicPersonCommand request, CancellationToken cancellationToken)
        {
            try {
                RegisterPersonService registerPersonService = new RegisterPersonService(_unitOfWork);
                var facilityList = await _unitOfWork.Repository <Facility>()
                                   .Get(x => x.PosID == request.FacilityId.ToString()).ToListAsync();

                Facility facility = new Facility();
                if (facilityList.Count > 0)
                {
                    facility = facilityList[0];
                }
                else
                {
                    facility = await _unitOfWork.Repository <Facility>().Get(x => x.DeleteFlag == 0)
                               .FirstOrDefaultAsync();
                }

                var result = await registerPersonService.RegisterPerson(request.FirstName, request.MiddleName,
                                                                        request.LastName, request.Sex, request.CreatedBy, facility.FacilityID, null);

                _unitOfWork.Dispose();

                return(Result <RegisterClientResponse> .Valid(new RegisterClientResponse { PersonId = result.Id }));
            }
            catch (Exception e)
            {
                return(Result <RegisterClientResponse> .Invalid(e.Message));
            }
        }
コード例 #2
0
        public async Task <IActionResult> Post([FromBody] AddBasicPersonCommand basicPersonCommand)
        {
            var response = await _mediator.Send(basicPersonCommand, Request.HttpContext.RequestAborted);

            if (response.IsValid)
            {
                return(Ok(response.Value));
            }
            return(BadRequest(response));
        }