public virtual IHttpActionResult SaveCurrentLocation([FromBody] LocationRequest locationRequest) { var response = new InsertLocationResponse(); var requestValidate = new ValidateRequestEngine(locationRequest); try { if (requestValidate.IsValid) { LocationDa da = new LocationDa(); da.SaveChanges(LocationConverter.Convert(locationRequest)); response.Success = true; response.Message = "Saved Location."; da.Dispose(); } else { response.Success = false; response.Message = requestValidate.Message; return(new HttpActionResult(HttpStatusCode.BadRequest, response)); } } catch (Exception ex) { } return(new HttpActionResult(HttpStatusCode.OK, response)); }
public void EnsureLocationConverterConvertsToAGeoCoordinate() { Location location = new Location() { Latitude = TestLatitude, Longitude = TestLongitude }; LocationConverter converter = new LocationConverter(); GeoCoordinate coord = converter.Convert(location, typeof(GeoCoordinate), null, null) as GeoCoordinate; Assert.AreEqual(location.Latitude, coord.Latitude, "Expected same Latitude"); Assert.AreEqual(location.Longitude, coord.Longitude, "Expected same Longitude"); }
/// <summary> /// Creates a new location. /// </summary> /// <param name="locationViewModel"></param> /// <param name="ct"></param> /// <returns>LocationViewModel</returns> public async Task <LocationViewModel> AddLocationAsync(LocationRequestViewModel locationRequestViewModel, CancellationToken ct = default(CancellationToken)) { var location = new Location { Longitude = (double)locationRequestViewModel.Longitude, Latitude = (double)locationRequestViewModel.Latitude, VehicleId = (int)locationRequestViewModel.VehicleId, CreatedAt = DateTime.Now }; location = await _repository.AddAsync(location, ct); var locationViewModel = LocationConverter.Convert(location); return(locationViewModel); }
private static async Task <IEnumerable <ML.Location> > QueryDataAsync(OwntracksSettings owntracksSettings, CancellationToken cancellationToken = default) { using var messageHandler = new HttpClientHandler { Credentials = new NetworkCredential(owntracksSettings.HttpUserName, owntracksSettings.HttpPassword) }; using var httpClient = new HttpClient(messageHandler) { BaseAddress = owntracksSettings.Uri }; var apiClient = new OwntracksApiClient(httpClient); GetUsersResult?users = await apiClient.GetUsersAsync(cancellationToken).ConfigureAwait(false); var result = new List <ML.Location>(); if (users == null) { return(result); } foreach (string?user in users.Results) { GetDevicesResult?devices = await apiClient.GetDevicesAsync(user, cancellationToken).ConfigureAwait(false); if (devices == null) { continue; } foreach (string?device in devices.Results) { GetLocationsResult?locationsResult = await apiClient.GetLocationsAsync(user, device, DateTimeOffset.UtcNow.AddYears(-42), cancellationToken : cancellationToken).ConfigureAwait(false); if (locationsResult == null) { continue; } IEnumerable <ML.Location>?convertedLocationResults = locationsResult.Data.Select(l => LocationConverter.Convert(user, device, l)); result.AddRange(convertedLocationResults); } } return(result); }
public void EnsureLocationConverterReturnsNullForBadType() { LocationConverter converter = new LocationConverter(); Assert.IsNull(converter.Convert(string.Empty, null, null, null), "Expected null result"); }
/// <summary> /// Get the current location for a vehicle. /// </summary> /// <param name="id"></param> /// <param name="ct"></param> /// <returns></returns> public async Task <LocationViewModel> GetLocationByVehicleIdAsync(int id, CancellationToken ct = default(CancellationToken)) { var location = await _repository.GetCurrentByVehicleIdAsync(id, ct); return(LocationConverter.Convert(location)); }
public LocationBO Create(LocationBO location) { Location loc = converter.Convert(location); if (loc == null) { return(null); } _context.Locations.Add(loc); _context.SaveChanges(); return(converter.Convert(loc)); }