public IActionResult GetIncidentsByUser(string username) { IActionResult result = Unauthorized(); List <DisplayIncidentsViewModel> model = new List <DisplayIncidentsViewModel>(); try { int userId = _db.GetUserIdByUsername(username); List <Incident> userIncidents = _db.GetIncidentsByUser(userId); foreach (var incident in userIncidents) { DisplayIncidentsViewModel modelLine = new DisplayIncidentsViewModel(); modelLine.Incident = incident; modelLine.Vehicle = _db.GetVehicleByID(incident.VehicleId); List <ItemizedIncidentLine> repairLines = _db.GetItemizedLines(incident.Id); modelLine.Status = incident.GetStatus(repairLines); model.Add(modelLine); } result = Ok(model); } catch (Exception ex) { result = BadRequest(new { Message = "Failed to retrieve incidents." }); } return(result); }
public IActionResult GetIncidents() { // Check if user is employee or admin IActionResult result = Unauthorized(); List <DisplayIncidentsViewModel> model = new List <DisplayIncidentsViewModel>(); try { List <Incident> incidents = _db.GetIncidents(); foreach (var incident in incidents) { DisplayIncidentsViewModel modelLine = new DisplayIncidentsViewModel(); modelLine.Incident = incident; modelLine.Vehicle = _db.GetVehicleByID(incident.VehicleId); List <ItemizedIncidentLine> repairLines = _db.GetItemizedLines(incident.Id); modelLine.Status = incident.GetStatus(repairLines); model.Add(modelLine); } result = Ok(model); } catch (Exception ex) { result = BadRequest(new { Message = "Failed to retrieve incidents." }); } return(result); }