/// <summary> /// Method to update city - SS /// </summary> /// <param name="updateAdministrationCity">city detail</param> /// <returns>message</returns> public async Task <SharedLookUpResponse> UpdateInstituteCityAsync(UpdateAdministrationCityAc updateAdministrationCity) { var cities = await _iMSDbContext.AdministrationCities.Where(x => x.StateId == updateAdministrationCity.StateId && x.Id != updateAdministrationCity.CityId).ToListAsync(); var isDuplicate = cities.Any(x => x.Code.ToLowerInvariant() == updateAdministrationCity.Code.ToLowerInvariant()); if (isDuplicate) { return new SharedLookUpResponse() { HasError = true, ErrorType = SharedLookUpResponseType.Code, Message = "Duplicate code of city. Please use unique code" } } ; else { var city = await _iMSDbContext.AdministrationCities.FirstAsync(x => x.Id == updateAdministrationCity.CityId); city.Name = updateAdministrationCity.Name; city.StateId = updateAdministrationCity.StateId; city.Code = updateAdministrationCity.Code; city.Description = updateAdministrationCity.Description; city.Status = updateAdministrationCity.Status; _iMSDbContext.AdministrationCities.Update(city); await _iMSDbContext.SaveChangesAsync(); return(new SharedLookUpResponse() { HasError = false, Message = "City updated successfully" }); } }
public async Task <IActionResult> UpdateInstituteCityAsync([FromBody] UpdateAdministrationCityAc city) { var cityDetail = await _iMSDbContext.AdministrationCities.FirstOrDefaultAsync(x => x.Id == city.CityId); if (cityDetail != null) { var loggedInUserInstituteId = await GetUserCurrentSelectedInstituteIdAsync(); if (await _iMSDbContext.AdministrationStates.AnyAsync(x => x.Country.InstituteId == loggedInUserInstituteId && x.Id == city.StateId)) { if (string.IsNullOrEmpty(city.Name.Trim())) { return(Ok(new SharedLookUpResponse { ErrorType = SharedLookUpResponseType.Name, HasError = true, Message = "City name can't be null or empty" })); } else if (string.IsNullOrEmpty(city.Code.Trim())) { return(Ok(new SharedLookUpResponse { ErrorType = SharedLookUpResponseType.Code, HasError = true, Message = "City code can't be null or empty" })); } else { return(Ok(await _instituteCountryStateCityManagementRepository.UpdateInstituteCityAsync(city))); } } else { return(Ok(new SharedLookUpResponse { ErrorType = SharedLookUpResponseType.Other, HasError = true, Message = "Invalid state selection" })); } } else { return(Ok(new SharedLookUpResponse { ErrorType = SharedLookUpResponseType.Other, HasError = true, Message = "City not found" })); } }