예제 #1
0
 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());
     }
 }
예제 #2
0
 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
     }
 }