public UserInfoBriefViewCellModel( UserInfoContract userInfoContract, CurrentLayerContract currentLayerContract) { _userInfoContract = userInfoContract; _currentLayerContract = currentLayerContract; }
public async Task <IActionResult> GetUserLocation([FromRoute] string id) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var target = _httpContextAccessor.CurrentUserId(); var friendPermission = await _context.FriendRequests .SingleOrDefaultAsync(s => s.TargetId.Equals(target) && s.InitiatorId.Equals(id)); if (friendPermission == null) { return(NotFound()); } var options = await _context.ApplicationOptions .OrderByDescending(a => a.OptionsDate) .FirstOrDefaultAsync(); var layer = await _context.CurrentLayers .SingleOrDefaultAsync(s => s.UserId.Equals(id) && s.TimeStamp >= DateTime.Now.ToUniversalTime().Subtract(options.DataTimeWindow)); if (layer == null) { return(NoContent()); } var contract = new CurrentLayerContract() { UserId = layer.UserId, TimeStamp = layer.TimeStamp, LayersDelimited = layer.LayersDelimited, CurrentZoneId = layer.CurrentZoneId }; return(Ok(contract)); }