Example #1
0
    private void SaveGeoReference(CreateGeoReference createGeoReference)
    {
        HttpResponseMessage webResponse = webClient.PostAsJsonAsync("http://localhost/api/Georeferences/Create", createGeoReference).Result;

        if (webResponse.IsSuccessStatusCode)
        {
            Console.WriteLine("Geolocalizacion OK");
        }
        else
        {
            Console.WriteLine("Geolocalizacion Error: Exception: {0}", webResponse.StatusCode.ToString());
        }
    }
Example #2
0
    public async void HandleDeivce(Object obj)
    {
        TcpClient client        = (TcpClient)obj;
        var       stream        = client.GetStream();
        string    imei          = String.Empty;
        string    data          = null;
        string    strIdentifier = null;
        string    coderesponse  = "AP01HSO";

        Byte[] bytes = new Byte[256];
        int    i;

        try
        {
            while ((i = stream.Read(bytes, 0, bytes.Length)) != 0)
            {
                string hex = BitConverter.ToString(bytes);
                data = Encoding.ASCII.GetString(bytes, 0, i);
                ResponseTrackerLog responseTrackerLog = new ResponseTrackerLog();
                responseTrackerLog = await SaveLog(data);

                Console.WriteLine(DateTime.Now.ToLongTimeString());
                Console.WriteLine("{1}: Received: {0}", data, Thread.CurrentThread.ManagedThreadId);

                strIdentifier = data.Substring(1, 12);

                if (data.Length < 40)
                {
                    //Requiere una respuesta
                    string str   = "(" + strIdentifier + coderesponse + ")";
                    Byte[] reply = System.Text.Encoding.ASCII.GetBytes(str);
                    stream.Write(reply, 0, reply.Length);
                    Console.WriteLine("{1}: Sent: {0}", str, Thread.CurrentThread.ManagedThreadId);
                }
                else
                {
                    //Saco las coodenadas
                    //Algo asi viene
                    //(072101557346BR00200305A3448.6169S05816.0160W000.0123604000.00,00000000L00000000)
                    //            string lat = "3448,6169";
                    //              string lng = "05816,0195";
                    string strLatitud  = data.Substring(24, 9);
                    string strLongitud = data.Substring(34, 10);

                    //Busco el id gel GeoTracker
                    GeoTracker geoTracker = new GeoTracker();
                    //De lo contrario guardo las coordenadas
                    geoTracker = await  GetGeoTracker(strIdentifier);

                    if (geoTracker != null && responseTrackerLog != null)
                    {
                        CreateGeoReference createGeoReference = new CreateGeoReference
                        {
                            GeoTrackerId = geoTracker.Id,
                            TrackerLogId = responseTrackerLog.Id,
                            Identifier   = strIdentifier,
                            Latitude     = "-" + Latitud(strLatitud).ToString(),
                            Longitude    = "-" + Longitud(strLongitud).ToString()
                        };

                        SaveGeoReference(createGeoReference);
                    }
                }
            }
        }
        catch (Exception e)
        {
            Console.WriteLine("Exception: {0}", e.ToString());
            client.Close();
        }
    }