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); }