public async Task <IActionResult> Edit(Guid id, [Bind("WagonTripId,WagonId,TrainTripId")] WagonTrip wagonTrip) { if (id != wagonTrip.WagonTripId) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(wagonTrip); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!WagonTripExists(wagonTrip.WagonTripId)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["TrainTripId"] = new SelectList(_context.TrainTrips, "TrainTripId", "TrainTripId", wagonTrip.TrainTripId); ViewData["WagonId"] = new SelectList(_context.Wagons, "WagonId", "Name", wagonTrip.WagonId); return(View(wagonTrip)); }
public async Task <IActionResult> Create([Bind("WagonTripId,WagonId,TrainTripId")] WagonTrip wagonTrip) { if (ModelState.IsValid) { wagonTrip.WagonTripId = Guid.NewGuid(); _context.Add(wagonTrip); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } ViewData["TrainTripId"] = new SelectList(_context.TrainTrips, "TrainTripId", "TrainTripId", wagonTrip.TrainTripId); ViewData["WagonId"] = new SelectList(_context.Wagons, "WagonId", "Name", wagonTrip.WagonId); return(View(wagonTrip)); }
// GET: Reports/CreateTripReport/[WagonTripId] public async Task <IActionResult> CreateTripReport(Guid id) { WagonTrip wagonTrip = await _context.WagonTrips.Include(wt => wt.Wagon).Where(wt => wt.WagonTripId == id).FirstOrDefaultAsync(); Wagon wagon = wagonTrip.Wagon; CreateViewModel model = new CreateViewModel(); model.Report.WagonId = wagon.WagonId; model.Report.Wagon = wagon; model.Report.WagonTripId = wagonTrip.WagonTripId; model.Report.WagonTrip = wagonTrip; ViewData["DeviceTypeId"] = new SelectList(_context.DeviceTypes, "DeviceTypeId", "Name"); return(View("Create", model)); }
public async Task <IActionResult> CreateReport(CreateViewModel model) { if (ModelState.IsValid) { model.Report.ReporterId = _context.Reporters.Where(r => r.UserName == model.Username).FirstOrDefault().ReporterId; GenerateReportCode(ref model); _context.Reports.Add(model.Report); await _context.SaveChangesAsync(); if (model.Report.WagonTripId != null) { WagonTrip wt = _context.WagonTrips.Find(model.Report.WagonTripId); return(RedirectToAction("Details", "TrainTrips", new { id = model.Report.WagonTrip.TrainTripId })); } else { return(RedirectToAction("Details", "Wagons", new { id = model.Report.Wagon.WagonId })); } } return(RedirectToAction(nameof(CreateReport), model.Report.WagonId)); }
public async Task <IActionResult> CreateChildReport(CreateViewModel model) { if (ModelState.IsValid) { Report NewReport = model.Report; NewReport.ReporterId = _context.Reporters.Where(r => r.UserName == model.Username).FirstOrDefault().ReporterId; NewReport.ParentReportId = model.ParentReportId; GenerateReportCode(ref NewReport); _context.Reports.Add(NewReport); await _context.SaveChangesAsync(); if (model.Assistants != null) { List <Assistant> assistants = new List <Assistant>(); foreach (var item in model.Assistants) { if (item.Value) { assistants.Add(new Assistant { ReportId = NewReport.ReportId, PersonId = _context.Reporters.Where(r => r.UserName == item.Key).FirstOrDefault().ReporterId }); } } _context.AddRange(assistants); await _context.SaveChangesAsync(); } if (NewReport.WagonTripId != null) { WagonTrip wt = _context.WagonTrips.Find(NewReport.WagonTripId); return(RedirectToAction(nameof(Details), "TrainTrips", new { id = wt.TrainTripId })); } else { return(RedirectToAction("Details", "Wagons", new { id = NewReport.WagonId })); } } return(View("CreateChildReport", model)); }