//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)); }
//OppilasRekisterointi.cshtml käyttää Tuple -määritystä modeleihin(luokkiin) kirjoittamista varten ja ne ovar array -muodossa(Item1,Item2,Item3 jne.) //Määritellään OppilasRekisterointi.cshtml syötettyjen tietojen tallennuspaikka (luokkaan)... public ActionResult OppilasRekisterointi( [Bind(Prefix = "Item1")] LoginModel oppkirjautuminen, [Bind(Prefix = "Item2")] OpiskelijaModel opiskelija, [Bind(Prefix = "Item3")] PostitoimipaikkaModel pstmp, [Bind(Prefix = "Item4")] PuhelinNumeroModel puhelinnro ) { bool Status = false; string message = ""; // // Model Validation if (ModelState.IsValid) { #region //Email already Exist //Login oppTarkastus = new Login(); var isExist = IsEmailExist(oppkirjautuminen.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 oppkirjautuminen.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 oppkirjautuminen.onkoEmailAktivoitu = true;//muutettu trueksi koska helpompi kehittäessä... #region Tallennus tietokantaan using (Stud1Entities dc = new Stud1Entities()) { //Tietojen tallennus modelista tietokantaan... Opiskelija uusiOpis = new Opiskelija(); uusiOpis.etunimi = opiskelija.etunimi; uusiOpis.etunimi = CultureInfo.CurrentCulture.TextInfo.ToTitleCase(uusiOpis.etunimi.ToLower()); //muutetaan ensimmäinen kirjain isoksi, koska käyttäjä uusiOpis.sukunimi = opiskelija.sukunimi; uusiOpis.sukunimi = CultureInfo.CurrentCulture.TextInfo.ToTitleCase(uusiOpis.sukunimi.ToLower()); //muutetaan ensimmäinen kirjain isoksi, koska käyttäjä uusiOpis.opiskelija_Id = opiskelija.opiskelija_Id; string opiskelijanpostinumero = pstmp.postinumero; try { //Postitoimipaikka id:n haku postinumeron perusteella uusiOpis.postitoimipaikka_Id = (from x in db.Postitoimipaikka where x.postinumero == opiskelijanpostinumero select x.postitoimipaikka_Id).First(); } catch (Exception) { TempData["rekisterointiEpaonnistui"] = "Rekisteröinti epäonnistui! Virheen jatkuessa ota yhteyttä tukeemme."; return(RedirectToAction("Login")); } Login uusiKirj = new Login(); uusiKirj.opiskelija_Id = opiskelija.opiskelija_Id; uusiKirj.kayttajaNimi = oppkirjautuminen.kayttajaNimi; uusiKirj.salasana = oppkirjautuminen.salasana; uusiKirj.aktivointiKoodi = oppkirjautuminen.aktivointiKoodi; uusiKirj.onkoEmailAktivoitu = oppkirjautuminen.onkoEmailAktivoitu; PuhelinNumero uusiPuhO = new PuhelinNumero(); uusiPuhO.numero = puhelinnro.numero; uusiPuhO.opiskelija_Id = opiskelija.opiskelija_Id; Sahkoposti uusiSpostiO = new Sahkoposti(); uusiSpostiO.sahkopostiOsoite = oppkirjautuminen.kayttajaNimi; uusiSpostiO.opiskelija_Id = opiskelija.opiskelija_Id; OmaSisalto uusiOmasis = new OmaSisalto(); uusiOmasis.opiskelija_Id = opiskelija.opiskelija_Id; uusiOmasis.omaKuva = "/Content/Images/avatar.png"; dc.Opiskelija.Add(uusiOpis); dc.PuhelinNumero.Add(uusiPuhO); dc.Sahkoposti.Add(uusiSpostiO); dc.OmaSisalto.Add(uusiOmasis); dc.Login.Add(uusiKirj); dc.SaveChanges(); TempData["rekisterointiOnnistui"] = "Rekisteröinti onnistui! Voit nyt kirjautua sisään."; ////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 { TempData["rekisterointiEpaonnistui"] = "Rekisteröinti epäonnistui! Tarkista postinumero, virheen jatkuessa ota yhteyttä tukeemme."; 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 OppilasTiedotUpdate( [Bind(Prefix = "Item1")] LoginModel oppkirjautuminen, [Bind(Prefix = "Item2")] OpiskelijaModel opiskelija, [Bind(Prefix = "Item3")] PostitoimipaikkaModel pstmp, [Bind(Prefix = "Item4")] PuhelinNumeroModel puhelinnro, int?id ) { bool Status = false; // Validation if (id != null) { #region Opiskelijan päivitettyjen tietojen tallennus tietokantaan //etunimen, sukunimen, postitoimipaikan päivitys using (Stud1Entities dc = new Stud1Entities()) { var paivitaOpis = dc.Opiskelija.Where(c => c.opiskelija_Id == id).FirstOrDefault(); //päivitetään sitä opiskelijaa joka omaa saman opiskelija_Id:n mikä (id)viewistä ohjataan tänne paivitaOpis.etunimi = opiskelija.etunimi; paivitaOpis.etunimi = CultureInfo.CurrentCulture.TextInfo.ToTitleCase(paivitaOpis.etunimi.ToLower()); paivitaOpis.sukunimi = opiskelija.sukunimi; paivitaOpis.sukunimi = CultureInfo.CurrentCulture.TextInfo.ToTitleCase(paivitaOpis.sukunimi.ToLower()); string opiskelijanpostinumero = pstmp.postinumero; try { //Postitoimipaikka id:n haku postinumeron perusteella paivitaOpis.postitoimipaikka_Id = (from x in db.Postitoimipaikka where x.postinumero == opiskelijanpostinumero select x.postitoimipaikka_Id).First(); } catch (Exception) { TempData["tallennusEpaonnistui"] = "Virhe käsiteltäessä pyyntöä! Postinumero on viallinen."; return(RedirectToAction("OpisSisalto", "OmaSisaltos", null)); } dc.Entry(paivitaOpis).State = EntityState.Modified; dc.SaveChanges(); dc.Entry(paivitaOpis).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 paivitaSa = dcc.Login.Where(d => d.opiskelija_Id == id).FirstOrDefault(); if (oppkirjautuminen.salasana == null) { TempData["tallennusEpaonnistui"] = "Virhe käsiteltäessä pyyntöä! Salasana vaaditaan."; return(RedirectToAction("OpisSisalto", "OmaSisaltos", null)); } else { paivitaSa.salasana = oppkirjautuminen.salasana; } dcc.Entry(paivitaSa).State = EntityState.Modified; dcc.SaveChanges(); dcc.Entry(paivitaSa).State = EntityState.Detached; //en tiedä onko tarpeellinen, mutta toimii } //puhelinnumeron päivitys using (Stud1Entities dccc = new Stud1Entities()) { var paivitaPuh = dccc.PuhelinNumero.Where(e => e.opiskelija_Id == id).FirstOrDefault(); paivitaPuh.numero = puhelinnro.numero; dccc.Entry(paivitaPuh).State = EntityState.Modified; dccc.SaveChanges(); dccc.Entry(paivitaPuh).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("OpisSisalto", "OmaSisaltos", null)); }
//Määritellään OppilasRekisterointi.cshtml syötettyjen tietojen tallennuspaikka (luokkaan)... public ActionResult OppilasRekisterointi( [Bind(Prefix = "Item1")] LoginModel oppkirjautuminen, [Bind(Prefix = "Item2")] OpiskelijaModel opiskelija, [Bind(Prefix = "Item4")] PuhelinNumeroModel puhelinnro ) { bool Status = false; string message = ""; // // Model Validation if (ModelState.IsValid) { #region //Email already Exist //Login oppTarkastus = new Login(); var isExist = IsEmailExist(oppkirjautuminen.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 oppkirjautuminen.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 oppkirjautuminen.onkoEmailAktivoitu = true;//muutettu trueksi koska helpompi kehittäessä... #region Tallennus tietokantaan using (Stud1Entities dc = new Stud1Entities()) { //Tietojen tallennus modelista tietokantaan... Opiskelija uusiOpis = new Opiskelija(); uusiOpis.etunimi = opiskelija.etunimi; uusiOpis.sukunimi = opiskelija.sukunimi; uusiOpis.opiskelija_Id = opiskelija.opiskelija_Id; Login uusiKirj = new Login(); uusiKirj.opiskelija_Id = opiskelija.opiskelija_Id; uusiKirj.kayttajaNimi = oppkirjautuminen.kayttajaNimi; uusiKirj.salasana = oppkirjautuminen.salasana; uusiKirj.aktivointiKoodi = oppkirjautuminen.aktivointiKoodi; uusiKirj.onkoEmailAktivoitu = oppkirjautuminen.onkoEmailAktivoitu; PuhelinNumero uusiPuhO = new PuhelinNumero(); uusiPuhO.numero = puhelinnro.numero; uusiPuhO.opiskelija_Id = opiskelija.opiskelija_Id; Sahkoposti uusiSpostiO = new Sahkoposti(); uusiSpostiO.sahkopostiOsoite = oppkirjautuminen.kayttajaNimi; uusiSpostiO.opiskelija_Id = opiskelija.opiskelija_Id; OmaSisalto uusiOmasis = new OmaSisalto(); uusiOmasis.opiskelija_Id = opiskelija.opiskelija_Id; dc.Opiskelija.Add(uusiOpis); dc.PuhelinNumero.Add(uusiPuhO); dc.Sahkoposti.Add(uusiSpostiO); dc.OmaSisalto.Add(uusiOmasis); dc.Login.Add(uusiKirj); 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ää.... }