private async Task <List <SpaceAndUserAssignmentIndex> > PopulateModelWithDatabaseElements(List <ParkingAndDateRelationship> allParkingData) { var model = new List <SpaceAndUserAssignmentIndex>(); foreach (var item in allParkingData) { var userId = GetCurrentUser(_userManager).Id; var modelToAdd = new SpaceAndUserAssignmentIndex() { ID = item.ID, AssignedDate = item.ParkingDetailsOnDate.Date.ToShortDateString(), AssignSpaceNumber = item.ParkingSpot.SpaceNumber, AssignedUser = item.AssignedToUser?.Email, CanThisUserfreeThisSpace = User.Identity.IsAuthenticated && item.AssignedToUser?.Id == userId, Description = item.ParkingDetailsOnDate.Description, DoesThisSpaceBelongToUser = item.ParkingSpot.PermanentlyAssignedToUserId == userId, isThisSpacePArtiallybookedToday = item.ParkingDetailsOnDate.ApplyPartialBooking, StartTimeIfPartial = item.ParkingDetailsOnDate.StartTimeIfPartial, EndTimeIfPartial = item.ParkingDetailsOnDate.EndTimeIfPartial, }; model.Add(modelToAdd); } return(model); }
public async Task <List <IGrouping <string, SpaceAndUserAssignmentIndex> > > BuildModelWithDBValues(IEnumerable <ParkingAndDateRelationship> parkingRecords) { var model = new List <SpaceAndUserAssignmentIndex>(); var currentUser = GetCurrentUser(_userManager); var assignedParking = await _parkingManager.GetSingleParkingWithUserID(currentUser.Id); foreach (var item in parkingRecords) { var modelToAdd = new SpaceAndUserAssignmentIndex() { ID = item.ID, AssignedDate = item.ParkingDetailsOnDate.Date.ToShortDateString(), AssignSpaceNumber = item.ParkingSpot.SpaceNumber, AssignedUser = item.AssignedToUser?.Email, Description = item.ParkingDetailsOnDate.Description, DoesThisSpaceBelongToUser = item.ParkingSpot.SpaceNumber == assignedParking?.SpaceNumber }; model.Add(modelToAdd); } return(model.GroupBy(x => x.AssignedDate).ToList()); }