/// <summary>
        /// Method to update Qualification - SS
        /// </summary>
        /// <param name="updateQualificationManagement">Qualification detail</param>
        /// <param name="instituteId">institute id</param>
        /// <returns>message</returns>
        public async Task <SharedLookUpResponse> UpdateQualificationAsync(UpdateQualificationManagementAc updateQualificationManagement, int instituteId)
        {
            var qualifications = await _iMSDbContext.Qualifications.Where(x => x.InstituteId == instituteId && x.Id != updateQualificationManagement.QualificationId).ToListAsync();

            var isDuplicate = qualifications.Any(x => x.Code.ToLowerInvariant() == updateQualificationManagement.Code.ToLowerInvariant());

            if (isDuplicate)
            {
                return new SharedLookUpResponse()
                       {
                           HasError = true, ErrorType = SharedLookUpResponseType.Code, Message = "Duplicate code of qualification. Please use unique code"
                       }
            }
            ;
            else
            {
                var qualification = await _iMSDbContext.Qualifications.FirstAsync(x => x.Id == updateQualificationManagement.QualificationId);

                qualification.Name        = updateQualificationManagement.Name;
                qualification.Code        = updateQualificationManagement.Code;
                qualification.Description = updateQualificationManagement.Description;
                qualification.Status      = updateQualificationManagement.Status;
                _iMSDbContext.Qualifications.Update(qualification);
                await _iMSDbContext.SaveChangesAsync();

                return(new SharedLookUpResponse()
                {
                    HasError = false, Message = "Qualification updated successfully"
                });
            }
        }
        public async Task <IActionResult> UpdateQualificationAsync([FromBody] UpdateQualificationManagementAc updateQualificationManagement)
        {
            if (string.IsNullOrEmpty(updateQualificationManagement.Name.Trim()))
            {
                return(Ok(new SharedLookUpResponse()
                {
                    HasError = true, ErrorType = SharedLookUpResponseType.Name, Message = "Qualification name can't be empty"
                }));
            }
            else if (string.IsNullOrEmpty(updateQualificationManagement.Name.Trim()))
            {
                return(Ok(new SharedLookUpResponse()
                {
                    HasError = true, ErrorType = SharedLookUpResponseType.Code, Message = "Qualification code can't be empty"
                }));
            }
            else
            {
                var loggedInUserInstituteId = await GetUserCurrentSelectedInstituteIdAsync();

                if (await _iMSDbContext.Qualifications.AnyAsync(x => x.Id == updateQualificationManagement.QualificationId && x.InstituteId == loggedInUserInstituteId))
                {
                    return(Ok(await _qualificationManagementRepository.UpdateQualificationAsync(updateQualificationManagement, loggedInUserInstituteId)));
                }
                else
                {
                    return(Ok(new SharedLookUpResponse {
                        HasError = true, ErrorType = SharedLookUpResponseType.Code, Message = "Qualification not found"
                    }));
                }
            }
        }