Exemplo n.º 1
0
        public ActionResult Login(FormCollection form)   //Kirjautuminen
        {
            string kayttajanimi = form[string.Format("kayttajanimi")];
            string salasana     = form[string.Format("salasana")];

            if (ModelState.IsValid)                                                       //En ole varma mitä tekee
            {
                if (SQLFilter.checkInput(kayttajanimi) && SQLFilter.checkInput(salasana)) //Tarkistetaan käyttäjän syöte SQL varten
                {
                    dbMan = new DatabaseManager();
                    cnn   = dbMan.OpenConnection();
                    dbKay = new DatabaseKayttaja(cnn);
                    //string hash = PBKDF2Hash.HashPasswordUsingPBKDF2(salasana);
                    string   hash = salasana;
                    Kayttaja k    = dbKay.SelectKayttaja(kayttajanimi, hash);
                    dbMan.CloseConnection();
                    if (k != null)
                    {
                        //Session["UserID"] = k.UserId.ToString();         --Tarvitseeko? ehkä, ehkä ei
                        Session["Kayttajanimi"] = k.Kayttajanimi;
                        Session["Valtuus"]      = k.Valtuus.ToString(); //Tällä voinee lukita sisältöä
                        return(RedirectToAction("Index", "Home"));
                    }
                }
            }
            return(RedirectToAction("Login"));
        }
Exemplo n.º 2
0
        // GET: Kayttaja/Tiedot/5
        public ActionResult Tiedot(int id)
        {
            Kayttaja k = FormDataHelper.HaeKayttajaIdlla(id);

            ViewBag.KayttajanLemmikit = FormDataHelper.HaeKayttajanLemmikit(id);
            return(View(k));
        }
Exemplo n.º 3
0
        // GET: api/Alueet
        public IHttpActionResult GetAlueet()
        {
            Kayttaja k      = Kirjautuminen.HaeKirjautuminen(Request.Headers.Authorization?.ToString().Substring(7) ?? null);
            var      alueet = Kirjautuminen.HaeKayttajanAlueet(k);

            return(Ok(new { k.jwt, data = alueet }));
        }
Exemplo n.º 4
0
        public IActionResult Uusi(Kayttaja kayttaja)
        {
            bool isValid = true;

            if (FormDataHelper.HaeKayttajaSahkopostilla(kayttaja.Sahkoposti) != null)
            {
                isValid = false;
                ModelState.AddModelError("Sahkoposti", "Sähköposti on jo käytössä");
            }
            if (!ValidatePostinro(kayttaja.Postinumero))
            {
                isValid = false;
                ModelState.AddModelError("Postinumero", "Anna suomalainen postinumero");
            }

            if (!isValid || !ModelState.IsValid)
            {
                return(View(kayttaja).WithWarning("Korjaa", "tiedot"));
            }

            bool succee = FormDataHelper.LisaaKayttaja(kayttaja);

            if (succee)
            {
                Kayttaja uusi = FormDataHelper.HaeKayttajaSahkopostilla(kayttaja.Sahkoposti);
                HttpContext.Session.SetInt32("ID", uusi.KayttajaId);
                return(RedirectToAction("Tiedot", new { id = uusi.KayttajaId }).WithSuccess("Onnistui!", "Uusi käyttäjä luotu. Olet nyt kirjautunut sisään."));
            }
            else
            {
                return(View(kayttaja).WithWarning("Hups!", "Jokin meni vikaan."));
            }
        }
Exemplo n.º 5
0
        private void logInBtn_Click(object sender, EventArgs e)
        {
            if (!string.IsNullOrWhiteSpace(userNameTxtBox.Text) && !string.IsNullOrWhiteSpace(passwordTxtBox.Text))
            {
                string username = userNameTxtBox.Text;
                string password = passwordTxtBox.Text;

                Kayttaja kayttaja = KayttajaController.handleLogIn(username, password);
                if (kayttaja != null)
                {
                    nykyinenKayttaja = kayttaja;

                    // Succesful login, change visible panels
                    userMngPanel.Visible   = true;
                    tabControl.Visible     = true;
                    tabControl.SelectedTab = tabControl.TabPages[0];
                    loginRegPanel.Visible  = false;
                    logInPanel.Visible     = false;

                    logInErrorLbl.Text  = "";
                    userNameTxtBox.Text = "";
                    passwordTxtBox.Text = "";
                }
                else
                {
                    logInErrorLbl.ForeColor = System.Drawing.Color.Red;
                    logInErrorLbl.Text      = "Virheellinen sähköposti ja/tai salasana.";
                }
            }
            else
            {
                logInErrorLbl.ForeColor = System.Drawing.Color.Red;
                logInErrorLbl.Text      = "Virheellinen sähköposti ja/tai salasana.";
            }
        }
Exemplo n.º 6
0
        public IActionResult Muokkaa(int id, Kayttaja kayttaja)
        {
            kayttaja.KayttajaId = HttpContext.Session.GetInt32("ID").GetValueOrDefault();

            bool isValid = true;

            if (!ValidatePostinro(kayttaja.Postinumero))
            {
                isValid = false;
                ModelState.AddModelError("Postinumero", "Anna suomalainen postinumero");
            }
            if (!isValid || !ModelState.IsValid)
            {
                return(View(kayttaja).WithWarning("Korjaa", "tiedot"));
            }

            bool success = FormDataHelper.PaivitaKayttaja(kayttaja, id);

            if (success)
            {
                Kayttaja uusi = FormDataHelper.HaeKayttajaSahkopostilla(kayttaja.Sahkoposti);
                return(RedirectToAction("Tiedot", new { id = uusi.KayttajaId }).WithSuccess("Onnistui!", "Tiedot päivitetty!"));
            }
            else
            {
                return(View(kayttaja).WithWarning("Hups!", "Jokin meni vikaan."));
            }
        }
Exemplo n.º 7
0
        private void userMngContactInformationBtn_Click(object sender, EventArgs e)
        {
            int    kayttajaId    = nykyinenKayttaja.getId();
            string etunimi       = userMngFirstNameTxtBox.Text;
            string sukunimi      = userMngLastNameTxtBox.Text;
            string puhelinnumero = userMngPhoneTxtBox.Text;
            string sahkoposti    = userMngEmailTxtBox.Text;

            if (RegistrationIsValid(etunimi, sukunimi, "asd", sahkoposti))
            {
                bool succesful = KayttajaController.paivitaYhteystiedot(kayttajaId, etunimi, sukunimi, puhelinnumero, sahkoposti);
                if (succesful)
                {
                    nykyinenKayttaja = new Kayttaja(kayttajaId, etunimi, sukunimi, nykyinenKayttaja.getSalasana(), puhelinnumero, sahkoposti);
                    userMngContactInfoLbl.ForeColor = System.Drawing.Color.Green;
                    userMngContactInfoLbl.Text      = "Yhteystiedot päivitetty.";
                }
                else
                {
                    userMngContactInfoLbl.ForeColor = System.Drawing.Color.Red;
                    userMngContactInfoLbl.Text      = "Yhteystietojen päivitys epäonnistui.";
                }
            }
            else
            {
                userMngContactInfoLbl.ForeColor = System.Drawing.Color.Red;
                userMngContactInfoLbl.Text      = "Tarkista syöttämäsi tiedot.";
            }
        }
Exemplo n.º 8
0
        public IHttpActionResult PutKayttaja(int id, Kayttaja kayttaja)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != kayttaja.kayttaja_id)
            {
                return(BadRequest());
            }

            db.Entry(kayttaja).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!KayttajaExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
        public static string vaihdaSalasana(Kayttaja nykyinenKayttaja, string nykyinenSalasana, string uusiSalasana)
        {
            if (Encrypt(nykyinenSalasana) != nykyinenKayttaja.getSalasana())
            {
                return(null);
            }

            string salasana = Encrypt(uusiSalasana);
            string sql      = "UPDATE Kayttaja SET Salasana=@Salasana WHERE Id=@Id;";
            Dictionary <string, object> dictionary = new Dictionary <string, object>
            {
                { "@Salasana", salasana },
                { "@Id", nykyinenKayttaja.getId() }
            };
            var parameters = new DynamicParameters(dictionary);

            if (kayttajaService.Update(sql, parameters).Result)
            {
                return(salasana);
            }
            else
            {
                return(null);
            }
        }
Exemplo n.º 10
0
        private void logOutBtn_Click(object sender, EventArgs e)
        {
            nykyinenKayttaja = null;

            userMngPanel.Visible   = false;
            teeVarausPanel.Visible = false;
            loginRegPanel.Visible  = true;

            logInPanel.Visible     = false;
            tabControl.Visible     = true;
            tabControl.SelectedTab = tabControl.TabPages[0];

            varaukseniDataGW.DataSource = null;
            varaukseniListBox.Items.Clear();
            majoituskohteeniDataGW.DataSource = null;
            muokkaaMPk.Text      = "";
            muokkaaMHinta.Text   = "";
            muokkaaMHuoneet.Text = "";
            muokkaaMVp.Text      = "";
            muokkaaMPa.Text      = "";
            muokkaaMRv.Text      = "";
            muokkaaMLt.Text      = "";

            varaukseniPanel.Visible    = false;
            varaukseniLoginLbl.Visible = true;

            majoituskohteeniPanel.Visible    = false;
            majoituskohteeniLoginLbl.Visible = true;
        }
Exemplo n.º 11
0
        public static DataTable haeKayttajanMajoitukset(Kayttaja kayttaja)
        {
            string sql = "SELECT * FROM Majoitus WHERE OmistajaId=@KayttajaId;";
            Dictionary <string, object> dictionary = new Dictionary <string, object>
            {
                { "@KayttajaId", kayttaja.getId() }
            };
            var parameters = new DynamicParameters(dictionary);

            List <Majoitus> majoitukset = majoitusService.Read(sql, parameters).Result;
            DataTable       table       = new DataTable();

            table.Columns.Add("Id", typeof(int));
            table.Columns.Add("Paikkakunta", typeof(string));
            table.Columns.Add("Hinta", typeof(int));
            table.Columns.Add("Huoneet", typeof(int));
            table.Columns.Add("Vuodepaikat", typeof(int));
            table.Columns.Add("PintaAla", typeof(int));
            table.Columns.Add("Rakennusvuosi", typeof(int));
            table.Columns.Add("Lisatiedot", typeof(string));
            foreach (Majoitus m in majoitukset)
            {
                table.Rows.Add
                    (m.getId(), m.getPaikkakunta(), m.getHinta(), m.getHuoneet(), m.getVuodepaikat(), m.getPintaAla(), m.getRakennusvuosi(), m.getLisatiedot());
            }

            return(table);
        }
Exemplo n.º 12
0
        public ActionResult DeleteConfirmed(int id)
        {
            Kayttaja kayttaja = db.Kayttaja.Find(id);

            db.Kayttaja.Remove(kayttaja);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Exemplo n.º 13
0
 public void PutKayttaja([FromBody] Kayttaja kayttaja)
 {
     using (RyhmahaumauContext db = new RyhmahaumauContext())
     {
         db.Update(kayttaja);
         db.SaveChanges();
     }
 }
Exemplo n.º 14
0
        public async Task <ActionResult <string> > Post([FromBody] Kayttaja value)
        {
            Document document = await _client.CreateDocumentAsync(
                UriFactory.CreateDocumentCollectionUri(_dbName, _collectionName),
                value);

            return(Ok(document.Id));
        }
Exemplo n.º 15
0
        // GET: api/Kayttajatasot
        public IHttpActionResult GetKayttajatasot()
        {
            Kayttaja k = Kirjautuminen.HaeKirjautuminen(Request.Headers.Authorization?.ToString().Substring(7) ?? null);

            if (!k.OnKirjautunut)
            {
                return(Unauthorized());
            }

            return(Ok(new { k.jwt, data = db.Kayttajatasot }));
        }
Exemplo n.º 16
0
 public Kayttaja GetUserLoggedIn()
 {
     if (HttpContext.User != null)
     {
         return(Kayttaja.get(int.Parse(HttpContext.User.FindFirst(ClaimTypes.PrimarySid).Value)));
     }
     else
     {
         return(null);
     }
 }
Exemplo n.º 17
0
        public IHttpActionResult GetKayttaja(int id)
        {
            Kayttaja kayttaja = db.Kayttajat.Find(id);

            if (kayttaja == null)
            {
                return(NotFound());
            }

            return(Ok(kayttaja));
        }
Exemplo n.º 18
0
        public IHttpActionResult PostKayttaja(Kayttaja kayttaja)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.Kayttajat.Add(kayttaja);
            db.SaveChanges();

            return(CreatedAtRoute("DefaultApi", new { id = kayttaja.kayttaja_id }, kayttaja));
        }
Exemplo n.º 19
0
 public ActionResult Edit([Bind(Include = "Käyttäjä_id,Käyttäjätunnus,Salasana,Asiakas_id,Hoitaja_Id,Henkilokunta_id")] Kayttaja kayttaja)
 {
     if (ModelState.IsValid)
     {
         db.Entry(kayttaja).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.Asiakas_id      = new SelectList(db.Asiakas, "Asiakas_id", "Etunimi", kayttaja.Asiakas_id);
     ViewBag.Henkilokunta_id = new SelectList(db.Henkilokunta, "Henkilokunta_id", "Etunimi", kayttaja.Henkilokunta_id);
     ViewBag.Hoitaja_Id      = new SelectList(db.Hoitaja, "Hoitaja_id", "Etunimi", kayttaja.Hoitaja_Id);
     return(View(kayttaja));
 }
Exemplo n.º 20
0
        public IHttpActionResult PostKayttaja([FromBody] dynamic value)
        {
            if ((Kirjautuminen.HaeKirjautuminen(Request.Headers.Authorization?.ToString().Substring(7) ?? null) as Kayttaja).OnKirjautunut)
            {
                return(BadRequest("Rekisteröityminen ei ole sallittua kirjautuneena!"));
            }

            string nimi, email, pwd;

            try
            {
                nimi  = value.nimimerkki?.Value;
                email = value.email?.Value;
                pwd   = value.pwd?.Value;
            }
            catch (Exception)
            {
                return(BadRequest());
            }

            if (nimi == null | email == null | pwd == null)
            {
                // Jos virhe datassa, palautetaan bad request
                return(BadRequest());
            }

            if (db.Kayttajat.Where(k => k.nimimerkki.ToLower() == nimi.ToLower()).Any())
            {
                // Käyttäjätunnus on jo olemassa
                return(BadRequest("Käyttäjätunnus on jo olemassa"));
            }

            // Lisää logiikkaa rekisteröitymisen tarkastamiseksi

            // Logiikka päätty

            Kayttaja kayttaja = new Kayttaja
            {
                nimimerkki      = nimi,
                email           = email,
                hash            = Kirjautuminen.GeneroiHash(pwd),
                kayttajataso_id = Kirjautuminen.OletusKayttajataso,
                aktiivisuus     = DateTime.Now
            };

            db.Kayttajat.Add(kayttaja);
            db.SaveChanges();

            return(CreatedAtRoute("DefaultApi", new { id = kayttaja.kayttaja_id }, kayttaja));
            //return Ok(kayttaja);
        }
Exemplo n.º 21
0
        public static bool LisaaKayttaja(Kayttaja kayttaja)
        {
            string json = JsonConvert.SerializeObject(kayttaja);
            HttpResponseMessage response = null;

            using (var client = new HttpClient())
            {
                client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                var content = new StringContent(json, UTF8Encoding.UTF8, "application/json");
                content.Headers.ContentType = new MediaTypeHeaderValue("application/json");
                response = client.PostAsync("https://localhost:44328/api/Tietokanta/Kayttaja", content).Result;
            }
            return(response.IsSuccessStatusCode);
        }
Exemplo n.º 22
0
        public IHttpActionResult DeleteKayttaja(int id)
        {
            Kayttaja kayttaja = db.Kayttajat.Find(id);

            if (kayttaja == null)
            {
                return(NotFound());
            }

            db.Kayttajat.Remove(kayttaja);
            db.SaveChanges();

            return(Ok(kayttaja));
        }
Exemplo n.º 23
0
        // GET: Kayttajat/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Kayttaja kayttaja = db.Kayttaja.Find(id);

            if (kayttaja == null)
            {
                return(HttpNotFound());
            }
            return(View(kayttaja));
        }
Exemplo n.º 24
0
        public static Kayttaja handleLogIn(string username, string password)
        {
            Kayttaja kayttaja = kayttajaService.ReadSingle(username).Result;

            if (kayttaja != null)
            {
                string passwordHashed = Encrypt(password);
                if (passwordHashed == kayttaja.getSalasana())
                {
                    return(kayttaja);
                }
            }
            return(null);
        }
        public ActionResult Rekisteroikayttaja(RekisterointiViewModel model)
        {
            kauppeedbEntities db = new kauppeedbEntities();

            Kayttaja kayttaja = new Kayttaja();

            kayttaja.Käyttäjätunnus = model.Käyttäjätunnus;
            kayttaja.Salasana       = model.Salasana;
            kayttaja.Rooli_id       = 3;

            db.Kayttaja.Add(kayttaja);
            db.SaveChanges();

            return(View());
        }
Exemplo n.º 26
0
        public IHttpActionResult Logout()
        {
            Kayttaja k = Kirjautuminen.HaeKirjautuminen(Request.Headers.Authorization?.ToString().Substring(7) ?? null);

            if (k.OnKirjautunut)
            {
                Kayttaja kayttaja = db.Kayttajat.Find(k.kayttaja_id);
                kayttaja.Sessio = "";
                db.SaveChanges();
                return(Ok());
            }
            else
            {
                return(Unauthorized());
            }
        }
Exemplo n.º 27
0
        public static bool varaaMajoitus(Kayttaja varaaja, int majoitusId, DateTime alkaa, DateTime loppuu)
        {
            string alkaaString  = $"{alkaa.Day}.{alkaa.Month}.{alkaa.Year}";
            string loppuuString = $"{loppuu.Day}.{loppuu.Month}.{loppuu.Year}";
            string sql          = "INSERT INTO Varaus (AlkuAika, LoppuAika, MajoitusId, KayttajaId) VALUES (@AlkuAika, @LoppuAika, @MajoitusId, @KayttajaId);";
            Dictionary <string, object> dictionary = new Dictionary <string, object>
            {
                { "@AlkuAika", alkaaString },
                { "@LoppuAika", loppuuString },
                { "@MajoitusId", majoitusId },
                { "@KayttajaId", varaaja.getId() }
            };
            var parameters = new DynamicParameters(dictionary);

            return(varausService.Create(sql, parameters).Result);
        }
Exemplo n.º 28
0
        public IActionResult Login(string sahkoposti)
        {
            if (string.IsNullOrEmpty(sahkoposti))
            {
                return(View().WithDanger("Anna", "sähköposti kirjautuaksesi."));
            }
            Kayttaja k = FormDataHelper.HaeKayttajaSahkopostilla(sahkoposti);

            if (k == null)
            {
                return(View().WithDanger("Ei", "löytynyt käyttäjää antamallasi sähköpostilla."));
            }

            HttpContext.Session.SetInt32("ID", k.KayttajaId);
            return(RedirectToAction("Tiedot", new { id = k.KayttajaId }).WithInfo("Kirjauduit", "sisään."));
        }
Exemplo n.º 29
0
        public static bool register(string firstname, string lastname, string plainPassword, string email, string phonenumber)
        {
            string hashPassword = Encrypt(plainPassword);

            Kayttaja k   = new Kayttaja(firstname, lastname, hashPassword, phonenumber, email);
            string   sql = "INSERT INTO Kayttaja (Etunimi, Sukunimi, Salasana, Puhelinnumero, Sahkoposti) VALUES (@Etunimi, @Sukunimi, @Salasana, @Puhelinnumero, @Sahkoposti);";
            Dictionary <string, object> dictionary = new Dictionary <string, object>
            {
                { "@Etunimi", k.getEtunimi() }, { "@Sukunimi", k.getSukunimi() },
                { "@Salasana", k.getSalasana() }, { "@Puhelinnumero", k.getPuhelinnumero() },
                { "@Sahkoposti", k.getSahkoposti() }
            };
            var parameters = new DynamicParameters(dictionary);

            return(kayttajaService.Create(sql, parameters).Result);
        }
Exemplo n.º 30
0
        // GET: Kayttajat/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Kayttaja kayttaja = db.Kayttaja.Find(id);

            if (kayttaja == null)
            {
                return(HttpNotFound());
            }
            ViewBag.Asiakas_id      = new SelectList(db.Asiakas, "Asiakas_id", "Etunimi", kayttaja.Asiakas_id);
            ViewBag.Henkilokunta_id = new SelectList(db.Henkilokunta, "Henkilokunta_id", "Etunimi", kayttaja.Henkilokunta_id);
            ViewBag.Hoitaja_Id      = new SelectList(db.Hoitaja, "Hoitaja_id", "Etunimi", kayttaja.Hoitaja_Id);
            return(View(kayttaja));
        }
    protected void btnVaihdaTiedot_Click(object sender, EventArgs e)
    {
        Kayttaja k = new Kayttaja();
        Tietokanta tk = new Tietokanta();

        k.eNimi = txtEtunimi.Text;
        k.sNimi = txtSukunimi.Text;
        k.ika = Convert.ToInt32(txtIka.Text);
        k.hetu = txtHetu.Text;
        k.asuinpaikka = txtAsuinPaikka.Text;
        k.lisatiedot = txtInfo.Text;
        k.sPosti = txtEmail.Text;

        bool result = tk.paivitaKayttajaTiedot(System.Web.HttpContext.Current.User.Identity.Name, k);

        if (result)
            txtPaivitysInfoText.Text = "Käyttäjätiedot vaihdettu";
        else
            txtPaivitysInfoText.Text = "Ongelmia tietojen päivittämisessä";
    }
    public Kayttaja palautaKayttaja(int id)
    {
        try
        {
            connection.Open();

            string query = "SELECT * FROM Kayttaja WHERE Kayttaja_ID = @id";

            MySqlCommand cmd = new MySqlCommand(query, connection);
            cmd.Parameters.AddWithValue("id", id);

            MySqlDataReader dataReader = cmd.ExecuteReader();
            Kayttaja k = new Kayttaja();

            while (dataReader.Read())
            {
                k.id = Convert.ToInt32(dataReader["Kayttaja_ID"]);
                k.eNimi = dataReader["e_nimi"].ToString();
                k.sNimi = dataReader["s_nimi"].ToString();
                k.ika = Convert.ToInt32(dataReader["ika"]);
                k.lisatiedot = dataReader["lisatietoa"].ToString();
                k.asuinpaikka = dataReader["asuinpaikka"].ToString();
                k.hetu = dataReader["hetu"].ToString();
                k.salasana = dataReader["salasana"].ToString();
                k.sPosti = dataReader["email"].ToString();

            }

            connection.Close();
            return k;
        }
        catch (Exception)
        {

            throw;
        }
    }
 public void poistaKayttaja(Kayttaja k)
 {
 }
    public bool paivitaKayttajaTiedot(string tunnus, Kayttaja k)
    {
        bool success = false;
        try
        {
            connection.Open();
            string query = "UPDATE Kayttaja SET e_nimi=@uusi_enimi, s_nimi=@uusi_snimi, ika=@uusi_ika, lisatietoa=@uusi_tieto, asuinpaikka=@uusi_paikka, hetu=@uusi_hetu, email=@uusi_email WHERE kayttajatunnus=@tunnus";
            MySqlCommand cmd = new MySqlCommand(query, connection);

            cmd.Parameters.AddWithValue("@uusi_enimi", k.eNimi);
            cmd.Parameters.AddWithValue("@uusi_snimi", k.sNimi);
            cmd.Parameters.AddWithValue("@uusi_ika", k.ika);
            cmd.Parameters.AddWithValue("@uusi_tieto", k.lisatiedot);
            cmd.Parameters.AddWithValue("@uusi_paikka", k.asuinpaikka);
            cmd.Parameters.AddWithValue("@uusi_hetu", k.hetu);
            cmd.Parameters.AddWithValue("@tunnus", tunnus);
            cmd.Parameters.AddWithValue("@uusi_email", k.sPosti);
            cmd.ExecuteNonQuery();
            connection.Close();
            success = true;
        }
        catch (Exception)
        {

            throw;

        }
        return success;
    }
    // Poikkeus voidaan käsitellä käyttöliittymässä
    public void tallennaKayttaja(Kayttaja k)
    {
        connection.Open();
        string query = "SELECT kayttajatunnus FROM Kayttaja WHERE kayttajatunnus = @kayttajatunnus";

            //Create Command
            MySqlCommand cmd = new MySqlCommand(query, connection);
            cmd.Parameters.AddWithValue("kayttajatunnus", k.kayttajatunnus);
            //Create a data reader and Execute the command
            MySqlDataReader dataReader = cmd.ExecuteReader();
        // tarkistetaan onko käyttäjätunnus jo tietokannassa
            if(dataReader.Read())
            {
                connection.Close();
                throw new System.ArgumentException("Kayttajatunnus on varattu!");
            }
        /*
         *   e_nimi VARCHAR(20)  NULL  ,
          s_nimi VARCHAR(45)  NULL  ,
          ika INTEGER UNSIGNED  NULL  ,
          asuinpaikka VARCHAR(45)  NULL  ,
          kayttajatunnus VARCHAR(20)  NOT NULL  UNIQUE,
          salasana VARCHAR(20)  NOT NULL  ,
          lisatietoa VARCHAR(255)  NULL  ,
          hetu VARCHAR(20)  NULL  ,
          rekisteroitymisPvm DATE  NULL    ,
         * */
        //lisätään käyttäjä tietokantaan
        query = "INSERT INTO Kayttaja (e_nimi, s_nimi, ika, asuinpaikka, kayttajatunnus, salasana, lisatietoa, hetu, rekisteroitymisPvm)"+
            "VALUES (@e_nimi, @s_nimi, @ika, @asuinpaikka, @kayttajatunnus, @salasana, @lisatietoa, @hetu, @rekisteroitymisPvm)";
        cmd = new MySqlCommand(query, connection);
        // be aware of the possibility of the wrong implicit type conversion
        cmd.Parameters.AddWithValue("@e_nimi", k.eNimi);
        cmd.Parameters.AddWithValue("@s_nimi", k.sNimi);
        cmd.Parameters.AddWithValue("@ika", k.ika.ToString());
        cmd.Parameters.AddWithValue("@asuinpaikka", k.asuinpaikka);
        cmd.Parameters.AddWithValue("@kayttajatunnus", k.kayttajatunnus);
        cmd.Parameters.AddWithValue("@salasana", k.salasana); // MD5Hashays myöhemmin
        cmd.Parameters.AddWithValue("@lisatietoa", k.lisatiedot);
        cmd.Parameters.AddWithValue("@hetu", k.hetu);
        cmd.Parameters.AddWithValue("@rekisteroitymisPvm", DateTime.Now);
        cmd.ExecuteNonQuery();

        connection.Close();
    }