/// <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"
                });
            }
        }
Ejemplo n.º 2
0
        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"
                }));
            }
        }