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