示例#1
0
        public async Task <IActionResult> Post([FromBody] AddSingleSatelliteRequest addRequest,
                                               [FromRoute] string satelliteName)
        {
            try
            {
                addRequest.Cache         = _cache;
                addRequest.SatelliteName = satelliteName;
                var result = await Mediator.Send(addRequest);

                if (!result.Status.IsSuccessful)
                {
                    result.Status.AddToModelState(ModelState);
                    return(BadRequest(ModelState));
                }

                if (string.IsNullOrEmpty(result.Entity.Message) || result.Entity.Position == null)
                {
                    return(BuildNotFoundResponse(typeof(SatelliteMessageDto)));
                }
                return(Ok(result.Entity));
            }
            catch (Exception e)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, e.Message));
            }
        }
        public Satellite BuildSingleSatellite(AddSingleSatelliteRequest addSingleSatelliteRequest)
        {
            var satellite = (Satellite)Mapper.Map(addSingleSatelliteRequest, addSingleSatelliteRequest.GetType(),
                                                  typeof(Satellite));

            return(satellite);
        }