//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ää....
        }
Ejemplo n.º 2
0
        //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ää....
        }
Ejemplo n.º 3
0
        //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ää....
        }