private static async Task OnLocationChanged(Geoposition pos)
        {
            try
            {
                if (pos != null && pos.Coordinate.Latitude != 0)
                {
                    PositionApiRequest position = new PositionApiRequest();

                    position.Latitude  = (float)pos.Coordinate.Latitude;
                    position.Longitude = (float)pos.Coordinate.Longitude;
                    position.Date      = DateTime.UtcNow;

                    await SendPosition(position);
                }
            }
            catch (Exception exception)
            {
            }
        }
Beispiel #2
0
        public static async Task <bool> Send(PositionApiRequest request, bool checkStored)
        {
            bool result = false;

            try
            {
                var response = await HttpController.PostData <BaseApiResult>(ApiMethods.SendPositionUrl(), request);

                if (ResponseValidator.Validate(response))
                {
                    result = true;

                    if (checkStored)
                    {
                        List <PositionApiRequest> storedPositions = GetPositionsToSend();

                        if (storedPositions != null && storedPositions.Count > 0)
                        {
                            foreach (PositionApiRequest posToSend in storedPositions)
                            {
                                bool isStoredSend = await Send(posToSend, false);

                                if (isStoredSend)
                                {
                                    Remove(posToSend);
                                }
                            }
                        }
                    }
                }
                else
                {
                    result = false;
                }
            }
            catch (Exception)
            {
                result = false;
            }

            return(result);
        }
Beispiel #3
0
 public static void Remove(PositionApiRequest request)
 {
     PositionRepository.Delete(request.Id);
 }
Beispiel #4
0
 public static void Save(PositionApiRequest request)
 {
     PositionRepository.Save(request);
 }