public IActionResult Put(int id, [FromBody] Wct wc) { try { var muutettava = db.Wct.Find(id); muutettava.Nimi = SiistiRivi(wc.Nimi); muutettava.Katuosoite = SiistiRivi(wc.Katuosoite); muutettava.Kaupunki = SiistiRivi(wc.Kaupunki); try { muutettava.Postinro = Osoite.Postinumero(muutettava.Katuosoite, muutettava.Kaupunki); } catch (ArgumentException) { if (wc.Postinro.Length == 5 && wc.Postinro.ToCharArray().All(c => char.IsDigit(c))) { muutettava.Postinro = wc.Postinro; } else { return(BadRequest()); } } var sijainti = Osoite.Haku(muutettava.Katuosoite, muutettava.Postinro, muutettava.Kaupunki).Item2; muutettava.Lat = Convert.ToDecimal(sijainti.Coordinates.First().Y); muutettava.Long = Convert.ToDecimal(sijainti.Coordinates.First().X); muutettava.Sijainti = sijainti; muutettava.Ilmainen = wc.Ilmainen; muutettava.Unisex = wc.Unisex; muutettava.Saavutettava = wc.Saavutettava; muutettava.Aukioloajat = SiistiRivi(wc.Aukioloajat); muutettava.Koodi = wc.Koodi?.Trim(); muutettava.Ohjeet = SiistiRivi(wc.Ohjeet); muutettava.Muokattu = DateTime.Now; db.Update(muutettava); db.SaveChanges(); return(Ok()); } catch (Exception) { return(BadRequest()); } }
public IActionResult LisääWC([FromBody] Wct wc) { try { var uusi = new Wct(); uusi.Nimi = SiistiRivi(wc.Nimi); uusi.Katuosoite = SiistiRivi(wc.Katuosoite); uusi.Kaupunki = SiistiRivi(wc.Kaupunki); try { uusi.Postinro = Osoite.Postinumero(uusi.Katuosoite, uusi.Kaupunki); } catch (ArgumentException) { if (wc.Postinro.Length == 5 && wc.Postinro.ToCharArray().All(c => char.IsDigit(c))) { uusi.Postinro = wc.Postinro; } else { return(BadRequest()); } } var sijainti = Osoite.Haku(uusi.Katuosoite, uusi.Postinro, uusi.Kaupunki).Item2; uusi.Lat = Convert.ToDecimal(sijainti.Coordinates.First().Y); uusi.Long = Convert.ToDecimal(sijainti.Coordinates.First().X); uusi.Sijainti = sijainti; uusi.Ilmainen = wc.Ilmainen; uusi.Unisex = wc.Unisex; uusi.Saavutettava = wc.Saavutettava; uusi.Aukioloajat = SiistiRivi(wc.Aukioloajat); uusi.Koodi = wc.Koodi?.Trim(); uusi.Ohjeet = SiistiRivi(wc.Ohjeet); db.Wct.Add(uusi); db.SaveChanges(); return(CreatedAtAction("Tiedot", "Vessa", new { id = uusi.WcId }, uusi)); } catch (Exception e) { return(BadRequest(e.Message)); // Poista e.Message ennen tuotantoa } }