Beispiel #1
0
        public ActionResult GetAmountOfTickets(DatesViewModel dates)
        {
            var groupByTicketTypes = new TicketTypeViewModel()
            {
                TicketZonesWithAmount = (from tr in ctx.Transactions
                                         join t in ctx.Tickets on tr.Id equals t.Transaction.Id
                                         join c in ctx.TransportCards on t.Card.Id equals c.Id
                                         where DateTime.Compare(tr.Date, dates.StartTime) >= 0 &&
                                         DateTime.Compare(tr.Date, dates.EndTime) <= 0
                                         group new { t, c, tr } by c.CardType
                                         into types
                                         select new TicketTypeViewModel
                {
                    CardType = types.Key,
                    AmountOfTickets = types.Count()
                }
                                         )
                                        .Union(from tr in ctx.Transactions
                                               join t in ctx.Tickets on tr.Id equals t.Transaction.Id
                                               where t.Card == null && DateTime.Compare(tr.Date, dates.StartTime) >= 0 &&
                                               DateTime.Compare(tr.Date, dates.EndTime) <= 0
                                               group new { t, tr } by t.Card
                                               into types
                                               select new TicketTypeViewModel
                {
                    CardType        = CardType.Paper,
                    AmountOfTickets = types.Count()
                }
                                               ).ToList()
            };

            return(View(groupByTicketTypes));
        }
Beispiel #2
0
        public async Task <DatesViewModel> GetDatesViewModelAsync(VacancyRouteModel vrm)
        {
            var vacancy = await Utility.GetAuthorisedVacancyForEditAsync(_client, _vacancyClient, vrm, RouteNames.Dates_Get);

            var vm = new DatesViewModel
            {
                VacancyId             = vacancy.Id,
                IsDisabilityConfident = vacancy.IsDisabilityConfident,
                PageInfo    = Utility.GetPartOnePageInfo(vacancy),
                CurrentYear = _timeProvider.Now.Year
            };

            if (vacancy.ClosingDate.HasValue)
            {
                vm.ClosingDay   = $"{vacancy.ClosingDate.Value.Day:00}";
                vm.ClosingMonth = $"{vacancy.ClosingDate.Value.Month:00}";
                vm.ClosingYear  = $"{vacancy.ClosingDate.Value.Year}";
            }

            if (vacancy.StartDate.HasValue)
            {
                vm.StartDay   = $"{vacancy.StartDate.Value.Day:00}";
                vm.StartMonth = $"{vacancy.StartDate.Value.Month:00}";
                vm.StartYear  = $"{vacancy.StartDate.Value.Year}";
            }

            if (vacancy.Status == VacancyStatus.Referred)
            {
                vm.Review = await _reviewSummaryService.GetReviewSummaryViewModelAsync(vacancy.VacancyReference.Value,
                                                                                       ReviewFieldMappingLookups.GetDatesReviewFieldIndicators());
            }

            return(vm);
        }
Beispiel #3
0
        public ActionResult Search(SearchFormViewModel searchModel)
        {
            searchModel.Accommodations = _db.Accommodations.ToList();
            searchModel.Bookings       = _db.Bookings.ToList();
            searchModel.Availabilities = _db.Availabilities.ToList();

            var searchResults = _db.Accommodations.ToList();



            if (searchModel.SearchLocation != null)
            {
                searchResults = searchResults
                                .Where(a => a.Location == searchModel.SearchLocation).ToList();
            }

            if (searchModel.SearchOccupancy != null)
            {
                searchResults = searchResults
                                .Where(a => a.Occupancy >= searchModel.SearchOccupancy).ToList();
            }

            if (searchModel.SearchArrival != null && searchModel.SearchDeparture != null)
            {
                Session["Dates"] = new DatesViewModel
                {
                    SearchArrival   = searchModel.SearchArrival,
                    SearchDeparture = searchModel.SearchDeparture
                };
                //Implement availability

                foreach (var accommodation in searchResults.ToList())
                {
                    var accommodationBookings = searchModel.Bookings.Where(b => b.AccommodationId == accommodation.Id);


                    foreach (var booking in accommodationBookings)
                    {
                        if (searchModel.SearchArrival <= booking.Departure && searchModel.SearchDeparture >= booking.Arrival)
                        {
                            searchResults.Remove(accommodation);
                            break;
                        }
                    }


                    var accommodationAvailabilities = searchModel.Availabilities.Where(b => b.AccommodationId == accommodation.Id);

                    foreach (var availability in accommodationAvailabilities)
                    {
                        if (searchModel.SearchArrival <= availability.AvailabilityStart && searchModel.SearchDeparture >= availability.AvailabilityEnd)
                        {
                            searchResults.Remove(accommodation);
                            break;
                        }
                    }
                }
            }
            return(View(searchResults));
        }
        public async Task<ActionResult> Index(Guid id, DatesViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return View(model);
            }

            await mediator.SendAsync(new SetImportMovementDates(id,
                model.ActualShipmentDate.AsDateTime().Value,
                model.PrenotificationDate.AsDateTime()));

            return RedirectToAction("Index");
        } 
Beispiel #5
0
        private void AddSoftValidationErrorsToModelState(DatesViewModel viewModel)
        {
            if (viewModel.SoftValidationErrors == null)
            {
                return;
            }

            foreach (var error in viewModel.SoftValidationErrors.Errors)
            {
                viewModel.CanShowTrainingErrorHint = viewModel.SoftValidationErrors.Errors.Any(e => e.ErrorCode == ErrorCodes.TrainingExpiryDate);;
                ModelState.AddModelError(error.PropertyName, error.ErrorMessage);
            }
        }
Beispiel #6
0
        public ActionResult GetTotalCostOfTickets(DatesViewModel dates)
        {
            var totalCost = new ProfitViewModel()
            {
                Profit = ctx.Transactions
                         .Where(el =>
                                DateTime.Compare(el.Date, dates.StartTime) >= 0 &&
                                DateTime.Compare(el.Date, dates.EndTime) <= 0).Sum(el => (decimal?)el.TotalPrice) ?? 0,
                StartDate = dates.StartTime,
                EndDate   = dates.EndTime
            };

            return(View(totalCost));
        }
        private async Task SetTrainingProgrammeAsync(Vacancy vacancy, DatesViewModel vm)
        {
            if (string.IsNullOrEmpty(vacancy.ProgrammeId))
            {
                return;
            }

            var programme = await _apprenticeshipProgrammeProvider.GetApprenticeshipProgrammeAsync(vacancy.ProgrammeId);

            if (programme?.EffectiveTo.HasValue == true)
            {
                vm.TrainingDescription     = $"{programme.Title}, Level:{(int) programme.ApprenticeshipLevel}";
                vm.TrainingEffectiveToDate = programme.EffectiveTo.Value.AsGdsDate();
            }
        }
Beispiel #8
0
 public DatesPage(INavigation _navi)
 {
     Title = Properties.Resources.PageNameDates;
     InitializeComponent();
     NavigationPage.SetHasNavigationBar(this, false);
     BindingContext            = new DatesViewModel(_navi, this);
     GroupedView.ItemSelected += (sender, e) =>
     {
         var item = (((ListView)sender).SelectedItem as string);
         if (item != null)
         {
             var splitIndex = item.IndexOf(':');
             try
             {
                 DisplayAlert(item.Substring(0, splitIndex), item.Substring(splitIndex + 2), "OK");
             }
             catch { }
         }
         ((ListView)sender).SelectedItem = null;
     };
 }
 public IActionResult IndexResult(DatesViewModel dates)
 {
     dates.Result = new Date(dates.DateOne) - new Date(dates.DateTwo);
     return(View("Index", dates));
 }