public async Task <IActionResult> UpdateDriverMasterAsync([FromBody] UpdateDriverMasterManagementAc updateDriverMaster)
        {
            var user = await _userManager.FindByNameAsync(User.Identity.Name);

            return(Ok(await _driverMasterManagementRepository.UpdateDriverMasterAsync(updateDriverMaster, user)));
        }
        /// <summary>
        /// Method to update driver - SS
        /// </summary>
        /// <param name="updateDriverMaster">driver detail</param>
        /// <param name="loggedInUser">logged in user</param>
        /// <returns>response</returns>
        public async Task <DriverMasterManagementResponse> UpdateDriverMasterAsync(UpdateDriverMasterManagementAc updateDriverMaster,
                                                                                   ApplicationUser loggedInUser)
        {
            if (string.IsNullOrEmpty(updateDriverMaster.Name) && string.IsNullOrEmpty(updateDriverMaster.Name.Trim()))
            {
                return new DriverMasterManagementResponse()
                       {
                           HasError = true, Message = "Name can't be empty", ErrorType = DriverMasterManagementResponseType.Name
                       }
            }
            ;
            else if (string.IsNullOrEmpty(updateDriverMaster.MobileNumber) && string.IsNullOrEmpty(updateDriverMaster.MobileNumber.Trim()))
            {
                return new DriverMasterManagementResponse()
                       {
                           HasError = true, Message = "Mobile number can't be empty", ErrorType = DriverMasterManagementResponseType.MobileNumber
                       }
            }
            ;
            else if (string.IsNullOrEmpty(updateDriverMaster.LicenseNumber) && string.IsNullOrEmpty(updateDriverMaster.LicenseNumber.Trim()))
            {
                return new DriverMasterManagementResponse()
                       {
                           HasError = true, Message = "License number can't be empty", ErrorType = DriverMasterManagementResponseType.LicenseNumber
                       }
            }
            ;
            else if (string.IsNullOrEmpty(updateDriverMaster.LicenseType) && string.IsNullOrEmpty(updateDriverMaster.LicenseType.Trim()))
            {
                return new DriverMasterManagementResponse()
                       {
                           HasError = true, Message = "License type can't be empty", ErrorType = DriverMasterManagementResponseType.LicenseType
                       }
            }
            ;
            else if (string.IsNullOrEmpty(updateDriverMaster.PlaceOfIssue) && string.IsNullOrEmpty(updateDriverMaster.PlaceOfIssue.Trim()))
            {
                return new DriverMasterManagementResponse()
                       {
                           HasError = true, Message = "Place of issue can't be empty", ErrorType = DriverMasterManagementResponseType.PlaceOfIssue
                       }
            }
            ;
            else if (string.IsNullOrEmpty(updateDriverMaster.IssuingAuthority) && string.IsNullOrEmpty(updateDriverMaster.IssuingAuthority.Trim()))
            {
                return new DriverMasterManagementResponse()
                       {
                           HasError = true, Message = "Issuing authority can't be empty", ErrorType = DriverMasterManagementResponseType.IssuingAuthority
                       }
            }
            ;
            else
            {
                var instituteId = await _instituteUserMappingHelperService.GetUserCurrentSelectedInstituteIdAsync(loggedInUser.Id, true);

                var driver = await _iMSDbContext.DriverMasters.FirstOrDefaultAsync(x => x.Id == updateDriverMaster.Id && x.InstituteId == instituteId);

                if (driver == null)
                {
                    return new DriverMasterManagementResponse()
                           {
                               HasError = true, Message = "Driver not found", ErrorType = DriverMasterManagementResponseType.Id
                           }
                }
                ;
                else
                {
                    driver.Address = updateDriverMaster.Address;

                    driver.DateOfBirth      = updateDriverMaster.DateOfBirth;
                    driver.DateOfIssue      = updateDriverMaster.DateOfIssue;
                    driver.IsDriver         = updateDriverMaster.IsDriver;
                    driver.IssuingAuthority = updateDriverMaster.IssuingAuthority;
                    driver.LicenseNumber    = updateDriverMaster.LicenseNumber;
                    driver.LicenseType      = updateDriverMaster.LicenseType;
                    driver.MobileNumber     = updateDriverMaster.MobileNumber;
                    driver.Name             = updateDriverMaster.Name;
                    driver.PlaceOfIssue     = updateDriverMaster.PlaceOfIssue;
                    driver.Salary           = updateDriverMaster.Salary;
                    driver.UpdatedById      = loggedInUser.Id;
                    driver.UpdatedOn        = DateTime.UtcNow;
                    driver.ValidityTill     = updateDriverMaster.ValidityTill;
                    _iMSDbContext.DriverMasters.Update(driver);
                    await _iMSDbContext.SaveChangesAsync();

                    return(new DriverMasterManagementResponse()
                    {
                        HasError = false, Message = "Driver updated successfully"
                    });
                }
            }
        }