public async Task <IActionResult> PlaceReservations(int id) { var user = await this.userManager.GetUserAsync(this.User); var place = this.placesService.GetById <PlaceViewModel>(id); if (place == null || place.User.Id != user.Id) { return(this.NotFound()); } var viewModel = new ListReservationViewModel { Place = place, Reservations = this.reservationsService.GetAllByPlace <ReservationViewModel>(id).ToList(), }; if (viewModel == null) { return(this.NotFound()); } return(this.View(viewModel)); }
public ActionResult Create(int?pagina) { if (User.IsInRole("Admin")) { return(RedirectToAction("Index")); } var po = ListReservationViewModel.createListItems(db); ViewBag.ListRegions = ListRegionsFilter.createListItems(db); ViewBag.TimeBreakList = ListTimeBreakFilter.createListItems(db); int pag = (pagina ?? 1); return(View(po.ToPagedList(pag, 5))); }
public async Task <IActionResult> UserReservations() { var user = await this.userManager.GetUserAsync(this.User); var viewModel = new ListReservationViewModel { Reservations = this.reservationsService.GetAllByUser <ReservationViewModel>(user.Id).ToList(), }; if (viewModel == null) { return(this.NotFound()); } return(this.View(viewModel)); }
public ListReservationWindow() { InitializeComponent(); DataContext = new ListReservationViewModel(); }
public ActionResult Create(double?Price, DateTime?submitdate, int?TimeBreakId, int?pagina, string procura, string regiao, string intervalo) { int pag = 0; ViewBag.ListRegions = ListRegionsFilter.createListItems(db); ViewBag.TimeBreakList = ListTimeBreakFilter.createListItems(db); if (!String.IsNullOrEmpty(procura) || !String.IsNullOrEmpty(regiao) || !String.IsNullOrEmpty(intervalo)) { var po = ListReservationViewModel.createListItems(db); if (!String.IsNullOrEmpty(procura)) { po = po.Where(f => f.FillStationTimeBreak.FillStation.Name.Contains(procura)).ToList(); } if (!String.IsNullOrEmpty(regiao) && !regiao.Contains("*")) { int regionId = Int32.Parse(regiao); po = po.Where(f => f.FillStationTimeBreak.FillStation.Station.RegionId == regionId).ToList(); } if (!String.IsNullOrEmpty(intervalo) && !intervalo.Contains("*")) { int timeBreakId = Int32.Parse(intervalo); po = po.Where(f => f.FillStationTimeBreak.TimeBreakId == timeBreakId).ToList(); } pag = (pagina ?? 1); return(View(po.ToPagedList(pag, 5))); } Reservation reservation = new Reservation(); if (TimeBreakId != null) { reservation.FillStationTimeBreakId = (int)TimeBreakId; } else { return(View(ListReservationViewModel.createListItems(db))); } int fillStationId = db.FillStationTimeBreaks.Find(TimeBreakId).FillStationId; if (Price != null) { reservation.Price = VerifyPromotion.verifyPrice(db, (DateTime)submitdate, fillStationId); } else { return(View(ListReservationViewModel.createListItems(db))); } if (submitdate != null) { reservation.Day = (DateTime)submitdate; } else { return(View(ListReservationViewModel.createListItems(db))); } if (User.IsInRole("User")) { reservation.UserId = User.Identity.GetUserId(); } if (ModelState.IsValid && !ValidateReservation.AlreadyExistsReservation(reservation)) { // ver se o utilizador tem dinheiro suficiente var userId = User.Identity.GetUserId(); foreach (BankInfo item in db.BankInfos.ToList()) { if (item.UserId == userId) { if (reservation.Price < item.Quant) { item.Quant = item.Quant - reservation.Price; //// atualizar a base de dados db.Reservations.Add(reservation); db.SaveChanges(); } else { ModelState.AddModelError(string.Empty, "Não tem dinheiro suficiente."); pag = (pagina ?? 1); return(View(ListReservationViewModel.createListItems(db).ToPagedList(pag, 5))); } break; } } //// atualizar a base de dados //db.Reservations.Add(reservation); //db.SaveChanges(); return(RedirectToAction("Index")); } else { ModelState.AddModelError(string.Empty, "A reserva já existe na base de dados."); } pag = (pagina ?? 1); return(View(ListReservationViewModel.createListItems(db).ToPagedList(pag, 5))); }