Exemple #1
0
        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);
        }
Exemple #2
0
        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());
        }