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)); }
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); }
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"); }
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); } }
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(); } }
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)); }