/// <summary> /// Method to update nationality - SS /// </summary> /// <param name="updateInstituteNationality">nation detail</param> /// <param name="instituteId">institue id</param> /// <returns>message</returns> public async Task <SharedLookUpResponse> UpdateInstituteNationalityAsync(UpdateInstituteNationalityAc updateInstituteNationality, int instituteId) { var nationalities = await _iMSDbContext.InstituteNationalities.Where(x => x.InstituteId == instituteId && x.Id != updateInstituteNationality.NationalityId).ToListAsync(); var isDuplicate = nationalities.Any(x => x.Code.ToLowerInvariant() == updateInstituteNationality.Code.ToLowerInvariant()); if (isDuplicate) { return new SharedLookUpResponse() { HasError = true, ErrorType = SharedLookUpResponseType.Code, Message = "Duplicate code of nationality. Please use unique code" } } ; else { var nationality = await _iMSDbContext.InstituteNationalities.FirstAsync(x => x.Id == updateInstituteNationality.NationalityId); nationality.Name = updateInstituteNationality.Name; nationality.Code = updateInstituteNationality.Code; nationality.Description = updateInstituteNationality.Description; nationality.Status = updateInstituteNationality.Status; _iMSDbContext.InstituteNationalities.Update(nationality); await _iMSDbContext.SaveChangesAsync(); return(new SharedLookUpResponse() { HasError = false, Message = "Nationality updated successfully" }); } }
public async Task <IActionResult> UpdateInstituteNationalityAsync([FromBody] UpdateInstituteNationalityAc updateInstituteNationality) { if (string.IsNullOrEmpty(updateInstituteNationality.Name.Trim())) { return(Ok(new SharedLookUpResponse() { HasError = true, ErrorType = SharedLookUpResponseType.Name, Message = "Nationality name can't be empty" })); } else if (string.IsNullOrEmpty(updateInstituteNationality.Code.Trim())) { return(Ok(new SharedLookUpResponse() { HasError = true, ErrorType = SharedLookUpResponseType.Code, Message = "Nationality code can't be empty" })); } else { var loggedInUserInstituteId = await GetUserCurrentSelectedInstituteIdAsync(); if (await _iMSDbContext.InstituteNationalities.AnyAsync(x => x.InstituteId == loggedInUserInstituteId && x.Id == updateInstituteNationality.NationalityId)) { return(Ok(await _instituteNationalityManagementRepository.UpdateInstituteNationalityAsync(updateInstituteNationality, loggedInUserInstituteId))); } else { return(Ok(new SharedLookUpResponse() { HasError = true, ErrorType = SharedLookUpResponseType.Code, Message = "Nationality not found" })); } } }