public async Task <IActionResult> Create([Bind("Id,Name,UserId,RouteNumber,Epj,FluidLeaks,Tires,Forks,HandGuards,SafetyWarnings,OperatorsManual,PowerCord,CapacityPlate,ServiceBreak,SteeringOperation,DrivingControl,HoistControl,Horn,LightsAlarms,HourMeter,BatteryIndicator,ManualForks,Wheels,Maneuverability,Handle,ManualFluidLeaks,ReleaseLever,CracksWear,HandTruckWheels,DockCracks,Bent,MissingHardware,Pins,LiftHandleDamage,Comments,Signature,Date")] OperatorEquipment operatorEquipment)
        {
            if (ModelState.IsValid)
            {
                //Grabbing logged in users id
                string userId = _userManager.GetUserId(HttpContext.User);


                ApplicationUser user = _context.Users.Where(a => a.Id == userId).FirstOrDefault();

                //The most recent trip route number
                var mostRecentRouteNumber = _context.Trip.Where(t => t.UserId == userId).OrderByDescending(x => x.StartTime).FirstOrDefault();

                if (mostRecentRouteNumber == null)
                {
                    // user loaded page but doesn't have any trips in their history
                    return(View());
                }

                //Assigning the route number here from most recent trip
                operatorEquipment.RouteNumber = mostRecentRouteNumber.RouteNumber;

                //Assigning user ID to the logged in users ID
                operatorEquipment.UserId = user.Id;

                //Assigning the name of the logged in user
                operatorEquipment.Name = user.FirstName + " " + user.LastName;

                _context.Add(operatorEquipment);
                await _context.SaveChangesAsync();

                return(Redirect("~/DotAudit/Create"));
            }
            return(View(operatorEquipment));
        }
        public async Task <IActionResult> Edit(int id, [Bind("Id,Name,UserId,RouteNumber,Epj,FluidLeaks,Tires,Forks,HandGuards,SafetyWarnings,OperatorsManual,PowerCord,CapacityPlate,ServiceBreak,SteeringOperation,DrivingControl,HoistControl,Horn,LightsAlarms,HourMeter,BatteryIndicator,ManualForks,Wheels,Maneuverability,Handle,ManualFluidLeaks,ReleaseLever,CracksWear,HandTruckWheels,DockCracks,Bent,MissingHardware,Pins,LiftHandleDamage,Comments,Signature,Date")] OperatorEquipment operatorEquipment)
        {
            if (id != operatorEquipment.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(operatorEquipment);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!OperatorEquipmentExists(operatorEquipment.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(operatorEquipment));
        }