public MainMapViewModel( IRequestService requestService, ILayerService layerService, IGeolocatorService geolocatorService, INavigationService navigationService, IHexagonal hexagonal, IHeatGradientService heatGradientService, IZoneService zoneService) { _requestService = requestService; _layerService = layerService; _geolocatorService = geolocatorService; _navigationService = navigationService; _hexagonal = hexagonal; _heatGradientService = heatGradientService; _zoneService = zoneService; Initialized = false; _layerLast = 0; _currentPositionTag = String.Empty; _currentPosition = _geolocatorService.LastRecordedPosition; //MainMapInitialCameraUpdate = CameraUpdateFactory.NewPositionZoom(_currentPosition, 12.0); // zoom can be within: [2,21] CameraPosition cp = new CameraPosition(_currentPosition, 12.0, 0.0, 60.0); MainMapInitialCameraUpdate = CameraUpdateFactory.NewCameraPosition(cp); }
public UserLocationController( ApplicationDbContext context, IHttpContextAccessor httpContextAccessor, IHexagonal hexagonal) { _context = context; _httpContextAccessor = httpContextAccessor; _hexagonal = hexagonal; }
public UserLocationController( ApplicationDbContext context, IHttpContextAccessor httpContextAccessor, IHexagonal hexagonal, ILocationHistoryService locationHistoryService, IZoneBoundaryService zoneBoundaryService) { _context = context; _httpContextAccessor = httpContextAccessor; _hexagonal = hexagonal; _locationHistoryService = locationHistoryService; _zoneBoundaryService = zoneBoundaryService; }
public LayerService( IRequestService requestService, IHexagonal hexagonal, IMockDataUpdateService mockDataUpdateService, IZoneService zoneService, IDialogService dialogService) { _requestService = requestService; _hexagonal = hexagonal; _mockDataUpdateService = mockDataUpdateService; _zoneService = zoneService; _dialogService = dialogService; _lastUpdated = DateTime.MinValue; }
public async Task InitializeMockUsers(IServiceProvider serviceProvider) { _userManager = serviceProvider.GetRequiredService <UserManager <ApplicationUser> >(); _context = serviceProvider.GetRequiredService <ApplicationDbContext>(); _hexagonal = serviceProvider.GetRequiredService <IHexagonal>(); //create the mock users if they don't exist var mock = await _userManager.FindByEmailAsync("*****@*****.**"); if (mock == null) { for (int i = 1; i <= 25; ++i) { string mockFirst = String.Format("Mock{0}", i.ToString("D2")); string mockLast = String.Format("Data{0}", i.ToString("D2")); string mockMail = String.Format("{0}@RyanRauch.com", mockFirst); string mockNumber = String.Format("55512300{0}", i.ToString("D2")); string mockPass = String.Format("Password{0}!", i.ToString("D2")); var user = new ApplicationUser { UserName = mockFirst + mockLast, Email = mockMail, DateOfBirth = DateTime.Now.Date.AddYears(-30).Subtract(TimeSpan.FromDays(30 * i)), FirstName = mockFirst, LastName = mockLast, PhoneNumber = ExtractPhoneNumber.RemoveNonNumeric(mockNumber), AccountType = AccountType.MockedData, Gender = i % 2 == 0 ? AccountGender.Male : AccountGender.Female }; var result = await _userManager.CreateAsync(user, mockPass); } } //update current location data for mock users ///////////////////////////////////////////// double latmin = 30.3740; double latmax = 30.4251; double lonmin = -97.7501; double lonmax = -97.7001; Random randomLat = new Random((int)DateTime.Now.Ticks); Random randomLon = new Random((int)DateTime.Now.Ticks); Random randomMin = new Random((int)DateTime.Now.Ticks); var mockedUsers = await _context.ApplicationUser.Where(a => a.AccountType.Equals(AccountType.MockedData)).ToListAsync(); foreach (var user in mockedUsers) { DateTime timeStamp = DateTime.Now.Subtract(TimeSpan.FromMinutes(randomMin.NextDouble() * 60)); double lat = randomLat.NextDouble() * (latmax - latmin) + latmin; double lon = randomLon.NextDouble() * (lonmax - lonmin) + lonmin; user.CurrentTimeStamp = timeStamp; user.CurrentLatitude = lat; user.CurrentLongitude = lon; _hexagonal.Initialize(lat, lon, _hexagonal.Layers[0]); String layers = _hexagonal.AllLayersDelimited(); var currentLayer = await _context.CurrentLayers.FirstOrDefaultAsync(c => c.UserId.Equals(user.Id)); if (currentLayer == null) { await _context.CurrentLayers.AddAsync(new CurrentLayer() { UserId = user.Id, LayersDelimited = layers, TimeStamp = timeStamp }); } else { currentLayer.LayersDelimited = layers; currentLayer.TimeStamp = timeStamp; } } await _context.SaveChangesAsync(); //establish friend-requests for all of the mock users ////////////////////////////////////////// var ryan = await _context.ApplicationUser .FirstOrDefaultAsync(a => a.Email.Equals("*****@*****.**", StringComparison.OrdinalIgnoreCase)); mockedUsers = await _context.ApplicationUser .Where(a => a.AccountType.Equals(AccountType.MockedData)) .ToListAsync(); foreach (var initiator in mockedUsers) { DateTime timeStamp = DateTime.Now.Subtract(TimeSpan.FromMinutes(randomMin.NextDouble() * 60)); var friendRequest = await _context.FriendRequests .FirstOrDefaultAsync(f => f.InitiatorId.Equals(initiator.Id) && f.TargetId.Equals(ryan.Id)); if (friendRequest == null) { await _context.FriendRequests .AddAsync(new FriendRequest() { InitiatorId = initiator.Id, TargetId = ryan.Id, TimeStamp = DateTime.Now, Type = FriendRequestType.Normal }); } else { friendRequest.TimeStamp = timeStamp; } } await _context.SaveChangesAsync(); }
public CurrentLayerService(ApplicationDbContext context, IHexagonal hexagonal) { _context = context; _hexagonal = hexagonal; }