//view release form by appFormId public IActionResult StandardModelReleaseForm(int id) { //build viewmodel, start with applicationForm SignatureFormViewModel view = new SignatureFormViewModel { AppForm = tripContext.ApplicationForms.FirstOrDefault(af => af.ApplicationFormId == id) }; //get application in order to get trip for viewmodel Application app = tripContext.Applications.FirstOrDefault(a => a.ApplicationId == view.AppForm.ApplicationId); Trip trip = tripContext.Trips.FirstOrDefault(t => t.TripId == app.TripId); view.Trip = trip; //get destination Destination destination = tripContext.Destinations.FirstOrDefault(d => d.DestinationId == trip.DestinationId); view.Destination = destination; //find user for viewbag for form var userId = User.FindFirst(ClaimTypes.NameIdentifier).Value; AppUser user = userManager.Users.FirstOrDefault(u => u.Id == userId); ViewBag.User = user; //get today's date for viewbag in form ViewBag.Today = DateTime.Now.ToShortDateString(); return(View(view)); }
//view accepted trip by applicationID public IActionResult AcceptedTripDetail(int id) { var userId = User.FindFirst(ClaimTypes.NameIdentifier).Value; //get application by passed in ID in order to get trip for viewmodel Application app = tripContext.Applications.FirstOrDefault(a => a.ApplicationId == id); Trip trip = tripContext.Trips.FirstOrDefault(t => t.TripId == app.TripId); Payment payment; try { payment = DbContext.Payment.FirstOrDefault(p => p.TripId == trip.TripId && p.StudentId == userId); } catch { payment = null; } //get destination using trip Destination destination = tripContext.Destinations.FirstOrDefault(d => d.DestinationId == trip.DestinationId); //get list of appForms by appId List <ApplicationForms> appForms = tripContext.ApplicationForms.Where(f => f.ApplicationId == app.ApplicationId).ToList(); //viewbags var coordinator = personContext.AspNetUsers.FirstOrDefault(c => c.Id == trip.CreatedBy); ViewBag.Coordinator = coordinator; //build viewmodel SignatureFormViewModel view = new SignatureFormViewModel { Trip = trip, Destination = destination, AppFormList = appForms, Application = app, Payment = payment }; return(View(view)); }