public IActionResult Post(TopSecretRequest request) { if (!ModelState.IsValid) { return(BadRequest()); } var received = request.Satellites.Select( s => new ReceivedMessage() { SatelliteName = s.Name, Distance = s.Distance, Message = s.Message }); var recovered = _messageRecovery.GetMessage(received); var location = _locatorService.GetLocation(received); var response = new TopSecretResponse() { Location = new CoordinateContract(location.X, location.Y), Messsage = recovered.Message }; return(Ok(response)); }
public IActionResult Post(TopSecretRequest request) { var satellites = request.Satellites.Select( s => new Satellite() { Name = s.Name, ReceivedMessage = new ReceivedMessage() { Distance = s.Distance, Message = s.Message } }); var returnedMessage = _secretApplication.ProcessMessage(satellites); return(Ok(new TopSecretResponse() { Position = returnedMessage.Location, Message = returnedMessage.Message })); }