//Määritellään YritysRekisterointi.cshtml syötettyjen tietojen tallennuspaikka (luokkaan)... public ActionResult YritysRekisterointi( [Bind(Prefix = "Item1")] LoginModel yriKirjautuminen, [Bind(Prefix = "Item2")] YritysModel yritys, [Bind(Prefix = "Item3")] PostitoimipaikkaModel pstmp, [Bind(Prefix = "Item4")] PuhelinNumeroModel puhelinnro ) { bool Status = false; string message = ""; // // Model Validation if (ModelState.IsValid) { #region //Email already Exist var isExist = IsEmailExist(yriKirjautuminen.kayttajaNimi); if (isExist) { //TempData["EmailExist"] = "Tämä sähköpostiosoite on jo rekisteröity"; //ModelState.AddModelError("EmailExist", "Tämä sähköpostiosoite on jo rekisteröity"); ModelState.AddModelError("", "Tämä sähköpostiosoite on jo rekisteröity"); return(View()); //jos sähköposti löytyy niin käyttäjä palautetaan samaan näkymään. Tämän ei pitäisi poistaa jo syötettyjä tietoja. } #endregion #region Generate Activation Code yriKirjautuminen.aktivointiKoodi = Guid.NewGuid(); #endregion //#region Password Hashing //user.salasana = Crypto.Hash(user.salasana); ////salasanan tarkastus user.cs -tiedostosta (en tiedä miten toimii) //confirm.ConfirmPassword = Crypto.Hash(confirm.ConfirmPassword); // //#endregion yriKirjautuminen.onkoEmailAktivoitu = true;//muutettu trueksi koska helpompi kehittäessä... #region Tallennus kantaan using (Stud1Entities dc = new Stud1Entities()) { //Tietojen tallennus modelista tietokantaan... Yritys uusiYrit = new Yritys(); uusiYrit.yrityksenNimi = yritys.yrityksenNimi; uusiYrit.yrityksenNimi = CultureInfo.CurrentCulture.TextInfo.ToTitleCase(uusiYrit.yrityksenNimi.ToLower()); //muutetaan ensimmäinen kirjain isoksi, koska käyttäjä uusiYrit.Y_tunnus = yritys.Y_tunnus; uusiYrit.lahiosoite = yritys.lahiosoite; string yrityksenpostinumero = pstmp.postinumero; uusiYrit.postitoimipaikka_Id = (from x in db.Postitoimipaikka where x.postinumero == yrityksenpostinumero select x.postitoimipaikka_Id).First(); //Postitoimipaikka id:n haku postinumeron perusteella Login uusiKirjY = new Login(); uusiKirjY.yritys_Id = yritys.yritys_Id; uusiKirjY.kayttajaNimi = yriKirjautuminen.kayttajaNimi; uusiKirjY.salasana = yriKirjautuminen.salasana; uusiKirjY.aktivointiKoodi = yriKirjautuminen.aktivointiKoodi; uusiKirjY.onkoEmailAktivoitu = yriKirjautuminen.onkoEmailAktivoitu; PuhelinNumero uusiPuhY = new PuhelinNumero(); uusiPuhY.numero = puhelinnro.numero; uusiPuhY.yritys_Id = yritys.yritys_Id; Sahkoposti uusiSpostiY = new Sahkoposti(); uusiSpostiY.sahkopostiOsoite = yriKirjautuminen.kayttajaNimi; uusiSpostiY.yritys_Id = yritys.yritys_Id; dc.Yritys.Add(uusiYrit); dc.PuhelinNumero.Add(uusiPuhY); dc.Sahkoposti.Add(uusiSpostiY); dc.Login.Add(uusiKirjY); dc.SaveChanges(); ////Kutsutaan aktivointisähköpostin lähetysmetodia... //SendVerificationLinkEmail(user.kayttajaNimi, user.aktivointiKoodi.ToString()); //message = "Rekisteröityminen onnistui. Rekisteröitymisen aktivointilinkki " + // " on lähetetty sähköpostiinne:" + user.kayttajaNimi; //Status = true; } #endregion } else { message = "Virhe käsiteltäessä pyyntöä!"; } ViewBag.Message = message; ViewBag.Status = Status; return(RedirectToAction("Login")); //palautuu tällä hetkellä login viewiin, pitäisi varmaan käyttää sähköpostiosoitteen validointia tai rekisteröityminen onnistui sivua jos aikaa jää.... }
public ActionResult YritysTiedotUpdate( [Bind(Prefix = "Item1")] LoginModel yrityskirjautuminen, [Bind(Prefix = "Item2")] YritysModel yritys, [Bind(Prefix = "Item3")] PostitoimipaikkaModel pstmp, [Bind(Prefix = "Item4")] PuhelinNumeroModel puhelinnro, int?id ) { bool Status = false; // // Model Validation if (id != null) { #region Yrityksen päivitettyjen tietojen tallennus tietokantaan //etunimen, sukunimen, postitoimipaikan päivitys using (Stud1Entities dc = new Stud1Entities()) { var paivitaYritys = dc.Yritys.Where(c => c.yritys_Id == id).FirstOrDefault(); //päivitetään sitä opiskelijaa joka omaa saman opiskelija_Id:n mikä (id)viewistä ohjataan tänne paivitaYritys.yrityksenNimi = yritys.yrityksenNimi; paivitaYritys.Y_tunnus = yritys.Y_tunnus; paivitaYritys.lahiosoite = yritys.lahiosoite; string yrityksenpostinumero = pstmp.postinumero; try { //Postitoimipaikka id:n haku postinumeron perusteella paivitaYritys.postitoimipaikka_Id = (from x in db.Postitoimipaikka where x.postinumero == yrityksenpostinumero select x.postitoimipaikka_Id).First(); } catch (Exception) { TempData["tallennusEpaonnistui"] = "Virhe käsiteltäessä pyyntöä! Postitoimipaikka viallinen."; return(RedirectToAction("YritysSisalto", "OmaSisaltos", null)); } dc.Entry(paivitaYritys).State = EntityState.Modified; dc.SaveChanges(); dc.Entry(paivitaYritys).State = EntityState.Detached; //en tiedä onko tarpeellinen, mutta toimii } //salasanan päivitys, jokainen entitymäärityksen tulee olla eriniminen muuten tulee erroria...HOX! using (Stud1Entities dcc = new Stud1Entities()) { var paivitaSaY = dcc.Login.Where(d => d.yritys_Id == id).FirstOrDefault(); if (yrityskirjautuminen.salasana == null) { TempData["tallennusEpaonnistui"] = "Virhe käsiteltäessä pyyntöä! Salasana vaaditaan."; return(RedirectToAction("YritysSisalto", "OmaSisaltos", null)); } else { paivitaSaY.salasana = yrityskirjautuminen.salasana; } dcc.Entry(paivitaSaY).State = EntityState.Modified; dcc.SaveChanges(); dcc.Entry(paivitaSaY).State = EntityState.Detached; //en tiedä onko tarpeellinen, mutta toimii } //puhelinnumeron päivitys using (Stud1Entities dccc = new Stud1Entities()) { var paivitaPuhY = dccc.PuhelinNumero.Where(e => e.yritys_Id == id).FirstOrDefault(); paivitaPuhY.numero = puhelinnro.numero; dccc.Entry(paivitaPuhY).State = EntityState.Modified; dccc.SaveChanges(); dccc.Entry(paivitaPuhY).State = EntityState.Detached; //en tiedä onko tarpeellinen, mutta toimii } #endregion } else { TempData["tallennusEpaonnistui"] = "Virhe käsiteltäessä pyyntöä!"; } TempData["tallennusOnnistui"] = "Tiedot tallennettiin onnistuneesti!"; ViewBag.Status = Status; return(RedirectToAction("YritysSisalto", "OmaSisaltos", null)); }