public SatelliteModel TopSecretSplitPost(string satelliteName, SatelliteModel request)
        {
            Satellite satellite = _context.Satellite.Where(x => x.SatelliteName == satelliteName).FirstOrDefault();

            if (satellite == null)
            {
                throw new SatellitesIsNullException("No se encontro satélite " + satelliteName);
            }

            try
            {
                satellite.Distance     = request.Distance;
                satellite.MessageArray = request.Message == null || request.Message.Count() == 0 ? null : string.Join(",", request.Message);
                _context.Satellite.Update(satellite);
                _context.SaveChanges();
            } catch (Exception)
            {
                throw new SatellitesUpdateDataException("Ocurrió un error al actualizar datos, por favor revise los datos.");
            }

            return(request);
        }
        public IActionResult TopSecretSplitBySatelliteName([FromQuery] string satelliteName, [FromBody] SatelliteModel request)
        {
            SatelliteModel satellite = _mainService.TopSecretSplitPost(satelliteName, request);

            return(Ok(satellite));
        }
Beispiel #3
0
        private async void sre_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
        {
            switch (e.Result.Text.ToString())
            {
            case "update satellites":
                // making the query to count the number of satellites above me
                String         satResult;
                SatelliteModel sm = new SatelliteModel
                {
                    latitude  = pointTarget.Lat,
                    longitude = pointTarget.Lng,
                    elevation = 70.0     // by default
                };
                var satPayload = await Task.Run(() => JsonConvert.SerializeObject(sm));

                HttpContent content = new StringContent(satPayload, Encoding.UTF8, "application/json");
                var         url     = " YOUR RESTFUL API";


                using (HttpClient weatherClient = new HttpClient())
                {
                    using (HttpResponseMessage weatherResponse = await weatherClient.PostAsync(url, content))
                    {
                        using (HttpContent returnedRes = weatherResponse.Content)
                        {
                            satResult = await returnedRes.ReadAsStringAsync();
                        }
                    }
                }
                numSatellites = int.Parse(satResult);
                ss.SpeakAsync($"There are {satResult} operational GPS satellites above you");
                break;

            case "launch rocket":
                if (num_missiles > 0)
                {
                    soundPlayer.Play();
                    num_missiles -= 2;
                    ss.SpeakAsync("missle launched");
                    var tempOverlay = new GMapOverlay("temporary");
                    MainMap.Overlays.Add(tempOverlay);

                    sp.launch();
                    sp2.launch();
                    var missileMarker  = sp.getMissileMarker();
                    var missileMarker2 = sp2.getMissileMarker();

                    // missile launch coordinates
                    Double missile_lat = sp.missileLat;
                    Double missile_lng = sp.missileLon;

                    Double missile_lat2 = sp2.missileLat;
                    Double missile_lng2 = sp2.missileLon;

                    for (Double k = 0; k < 1; k += 0.05)
                    {
                        if (k > 0.95)
                        {
                            Bitmap label     = Blimp_GCS.Properties.Resources.explosion;
                            Bitmap resized   = new Bitmap(label, new Size(50, 50));
                            var    newMarker = new GMap.NET.WindowsForms.Markers.GMarkerGoogle(
                                new PointLatLng(pointTarget.Lat, pointTarget.Lng),
                                resized
                                );

                            tempOverlay.Markers.Add(newMarker);

                            // display image for a duration of one second
                            await Task.Delay(1000);

                            soundPlayer.Stop();
                            tempOverlay.Markers.Remove(newMarker);
                        }
                        else
                        {
                            Double missileActualLat = missile_lat + k * (pointTarget.Lat - missile_lat);
                            Double missileActualLon = missile_lng + k * (pointTarget.Lng - missile_lng);

                            Double missileActualLat2 = missile_lat2 + k * (pointTarget.Lat - missile_lat2);
                            Double missileActualLon2 = missile_lng2 + k * (pointTarget.Lng - missile_lng2);

                            missileMarker  = sp.updateMissileMarker(missileActualLat, missileActualLon);
                            missileMarker2 = sp2.updateMissileMarker(missileActualLat2, missileActualLon2);

                            try
                            {
                                tempOverlay.Markers.Add(missileMarker);
                                tempOverlay.Markers.Add(missileMarker2);
                                await Task.Delay(250);

                                tempOverlay.Markers.Remove(missileMarker);
                                tempOverlay.Markers.Remove(missileMarker2);
                            } catch (Exception)
                            {
                            }
                        }
                    }

                    sp.unlockTarget();
                    sp2.unlockTarget();
                    polygons.Polygons.Remove(polygon);
                    newMarkerOverlay.Markers.Clear();
                    markers.Markers.Remove(gm_fire);
                    isOnFire = false;
                }
                else
                {
                    ss.SpeakAsync("no medicine left");
                }
                break;
            }
        }