Example #1
0
        public async Task <IActionResult> Create([FromBody] EORequest eoRequest)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var result = new EOResponse()
            {
                ResponseResult = new ResponseResult(eoRequest.RequestHeader.RequestId)
            };

            try
            {
                EORequestDTO dto = GetEORequestDtoFromRequest(eoRequest);

                result.Reference = new EOReferenceResponse
                {
                    EONumber = dto.Id,
                };


                var command = new SubmitEOCommand(dto,
                                                  JsonConvert.SerializeObject(eoRequest),
                                                  eoRequest.GetType().Name);

                try
                {
                    var confirmationCode = await _mediator.Send(command);
                }
                catch (Exception ex)
                {
                    throw new Exception(ex.Message);
                }
            }
            catch (Exception e)
            {
                result.ResponseResult.Errors = new List <ErrorDetail>()
                {
                    new ErrorDetail()
                    {
                        ErrorCode    = "-1",
                        ErrorMessage = e.Message
                    }
                };
                return(BadRequest(result));
            }

            return(Ok(result));
        }
Example #2
0
        private EORequestDTO GetEORequestDtoFromRequest(EORequest request)
        {
            EORequestDTO dto = new EORequestDTO
            {
                Id          = request.Id,
                Description = request.Description,
                ActiveFrom  = request.ActiveFrom,
                Address     = request.Address,
                City        = request.City,
                Country     = request.Country,
                Name        = request.Name,
                ZipCode     = request.ZipCode
            };

            return(dto);
        }