public async Task <IActionResult> UpdateVehicleBreakDownAsync([FromBody] UpdateVehicleBreakDownManagementAc updateVehicleBreakDown)
        {
            var user = await _userManager.FindByNameAsync(User.Identity.Name);

            return(Ok(await _vehicleBreakDownManagementRepository.UpdateVehicleBreakDownAsync(updateVehicleBreakDown, user)));
        }
 /// <summary>
 /// Method to update vehicle break down - SS
 /// </summary>
 /// <param name="addVehicleBreakDown">vehicle break down</param>
 /// <param name="loggedInUser">logged in user</param>
 /// <returns>response</returns>
 public async Task<VehicleBreakDownManagementResponse> UpdateVehicleBreakDownAsync(UpdateVehicleBreakDownManagementAc updateVehicleBreakDown,
     ApplicationUser loggedInUser)
 {
     if (string.IsNullOrEmpty(updateVehicleBreakDown.Code.Trim()))
         return new VehicleBreakDownManagementResponse() { HasError = true, Message = "Code can't be empty", ErrorType = VehicleBreakDownManagementResponseType.Code };
     else
     {
         var instituteId = await _instituteUserMappingHelperService.GetUserCurrentSelectedInstituteIdAsync(loggedInUser.Id, true);
         if (!await _iMSDbContext.VehicleMasters.AnyAsync(x => x.Id == updateVehicleBreakDown.VehicleId && x.InstituteId == instituteId))
             return new VehicleBreakDownManagementResponse() { HasError = true, Message = "Vehicle not found", ErrorType = VehicleBreakDownManagementResponseType.VehicleId };
         else
         {
             if (!await _iMSDbContext.DriverMasters.AnyAsync(x => x.Id == updateVehicleBreakDown.DriverId && x.InstituteId == instituteId))
                 return new VehicleBreakDownManagementResponse() { HasError = true, Message = "Driver not found", ErrorType = VehicleBreakDownManagementResponseType.DriverId };
             else
             {
                 var BreakDowns = await _iMSDbContext.VehicleBreakDowns.Where(x => x.Vehicle.InstituteId == instituteId && x.Id != updateVehicleBreakDown.Id).ToListAsync();
                 if (BreakDowns.Any(x => x.Code.ToLowerInvariant() == updateVehicleBreakDown.Code.ToLowerInvariant()))
                     return new VehicleBreakDownManagementResponse() { HasError = true, Message = "Vehicle break down code already exist. Please use unique one", ErrorType = VehicleBreakDownManagementResponseType.Code };
                 else
                 {
                     var BreakDown = await _iMSDbContext.VehicleBreakDowns.FirstOrDefaultAsync(x => x.Id == updateVehicleBreakDown.Id && x.Vehicle.InstituteId == instituteId);
                     if (BreakDown == null)
                         return new VehicleBreakDownManagementResponse() { HasError = true, Message = "Vehicle break down not found", ErrorType = VehicleBreakDownManagementResponseType.Id };
                     else
                     {
                         BreakDown.BreakDownDate = updateVehicleBreakDown.BreakDownDate;
                         BreakDown.Address = updateVehicleBreakDown.Address;
                         BreakDown.Code = updateVehicleBreakDown.Code;
                         BreakDown.DriverId = updateVehicleBreakDown.DriverId;
                         BreakDown.BreakDownDuration = updateVehicleBreakDown.BreakDownDuration;
                         BreakDown.UpdatedById = loggedInUser.Id;
                         BreakDown.UpdatedOn = DateTime.UtcNow;
                         BreakDown.VehicleId = updateVehicleBreakDown.VehicleId;
                         _iMSDbContext.VehicleBreakDowns.Update(BreakDown);
                         await _iMSDbContext.SaveChangesAsync();
                         return new VehicleBreakDownManagementResponse() { HasError = false, Message = "Vehicle break down updated successfully" };
                     }
                 }
             }
         }
     }
 }