public async Task <int> UpdateDictCityAsync(DictCity dictCity)
        {
            if (dictCity == null)
            {
                throw new Exception("Obiekt dictCity nie może być pusty.");
            }

            _clinicRateDbContext.DictCities.Update(dictCity);
            await _clinicRateDbContext.SaveChangesAsync();

            return(dictCity.DictCityId);
        }
        public async Task <IActionResult> AddDictCity([FromBody] DictCity dictCity)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            try
            {
                await _dictCityService.AddDictCityAsync(dictCity);
            }
            catch (Exception e)
            {
                return(BadRequest(e));
            }

            return(Ok(dictCity.DictCityId));
        }
        /// <summary>
        /// Metoda dodająca nową klinike do bazy danych
        /// </summary>
        /// <param name="clinic"></param>
        /// <returns></returns>
        public async Task <int> AddClinicAsync(ClinicDto clinicDto)
        {
            if (clinicDto == null)
            {
                throw new Exception("Obiekt clinic nie może być pusty.");
            }

            var cityId = 0;

            try
            {
                cityId = await _clinicRateDbContext.DictCities.Where(s => s.Name == clinicDto.City) // pobieranie danych z bazy danych odnosnie miasta
                         .Select(c => c.DictCityId)
                         .FirstAsync();

                if (cityId == 0)
                {
                    throw new Exception("Brak podanego miasta");
                }
            }
            catch (Exception)
            {
                DictCity newCity = new DictCity();
                newCity.Name = clinicDto.City;
                await _clinicRateDbContext.DictCities.AddAsync(newCity);

                await _clinicRateDbContext.SaveChangesAsync();

                cityId = newCity.DictCityId;
            }


            var provinceId = await _clinicRateDbContext.DictProvinces.Where(s => s.Name == clinicDto.Province) // pobieranie danych z bazy danych odnosnie wojewodztwa
                             .Select(p => p.DictProvinceId)
                             .FirstAsync();

            if (cityId <= 0 || provinceId <= 0)
            {
                throw new Exception("Nie znaleziono miasta, badz wojewodztwa o podanym stringu w bazie danych");
            }

            var clinic = new Clinic() // tworzenie nowego obiektu
            {
                ClinicId    = clinicDto.ClinicId,
                ClinicName  = clinicDto.ClinicName,
                Latitude    = clinicDto.Latitude,
                Longitude   = clinicDto.Longitude,
                PhoneNumber = clinicDto.PhoneNumber,
                PostCode    = clinicDto.PostCode,
                ProvinceId  = provinceId,
                Street      = clinicDto.Street,
                CityId      = cityId,
                Accepted    = clinicDto.Accepted
            };


            try
            {
                await _clinicRateDbContext.Clinics.AddAsync(clinic);

                await _clinicRateDbContext.SaveChangesAsync();
            }
            catch (Exception)
            {
                throw;
            }

            return(clinic.ClinicId);
        }