Beispiel #1
0
        public ActionResult CreateOffer([Bind(Include = "viesti_Id,inbox,viestiLoki,opiskelija_Id,yritys_Id,paaKayttaja_Id")] Viesti viesti, int?opisId)
        {
            if (ModelState.IsValid)
            {
                using (Stud1Entities dc = new Stud1Entities())
                {
                    Viesti uusiViesti = new Viesti();
                    uusiViesti.inbox          = viesti.inbox;
                    uusiViesti.viestiLoki     = viesti.viestiLoki;
                    uusiViesti.opiskelija_Id  = opisId;
                    uusiViesti.yritys_Id      = Convert.ToInt32(Session["corporate_id"]);
                    uusiViesti.onkoVastaus    = false;
                    uusiViesti.onkoLuettu     = false;
                    uusiViesti.viestinPaivays = DateTime.Now;

                    db.Viesti.Add(uusiViesti);
                    db.SaveChanges();
                }

                return(RedirectToAction("Index"));
            }

            ViewBag.opiskelija_Id  = new SelectList(db.Opiskelija, "opiskelija_Id", "etunimi", viesti.opiskelija_Id);
            ViewBag.paaKayttaja_Id = new SelectList(db.PaaKayttaja, "paaKayttaja_Id", "nimi", viesti.paaKayttaja_Id);
            ViewBag.yritys_Id      = new SelectList(db.Yritys, "yritys_Id", "yrityksenNimi", viesti.yritys_Id);
            return(View(viesti));
        }
 public ActionResult Edit([Bind(Include = "omaSisalto_Id,omatAsetukset,omaKuva,omaTeksti,opiskelija_Id")] OmaSisalto omaSisalto)
 {
     if (ModelState.IsValid)
     {
         db.Entry(omaSisalto).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.opiskelija_Id = new SelectList(db.Opiskelija, "opiskelija_Id", "etunimi", omaSisalto.opiskelija_Id);
     return(View(omaSisalto));
 }
        public ActionResult Create([Bind(Include = "paaKayttaja_Id,nimi")] PaaKayttaja paaKayttaja)
        {
            if (ModelState.IsValid)
            {
                db.PaaKayttaja.Add(paaKayttaja);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(paaKayttaja));
        }
        public ActionResult Create([Bind(Include = "yritys_Id,yrityksenNimi,Y_tunnus,lahiosoite,postitoimipaikka_Id")] Yritys yritys)
        {
            if (ModelState.IsValid)
            {
                db.Yritys.Add(yritys);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.postitoimipaikka_Id = new SelectList(db.Postitoimipaikka, "postitoimipaikka_Id", "postinumero", yritys.postitoimipaikka_Id);
            return(View(yritys));
        }
        public ActionResult Create([Bind(Include = "opiskelija_Id,etunimi,sukunimi,postitoimipaikka_Id")] Opiskelija opiskelija)
        {
            if (ModelState.IsValid)
            {
                db.Opiskelija.Add(opiskelija);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.postitoimipaikka_Id = new SelectList(db.Postitoimipaikka, "postitoimipaikka_Id", "postinumero");
            return(View(opiskelija));
        }
Beispiel #6
0
        public ActionResult Create([Bind(Include = "login_Id,kayttajaNimi,salasana,opiskelija_Id,yritys_Id,paaKayttaja_Id")] Login login)
        {
            if (ModelState.IsValid)
            {
                db.Login.Add(login);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.opiskelija_Id  = new SelectList(db.Opiskelija, "opiskelija_Id", "etunimi", login.opiskelija_Id);
            ViewBag.yritys_Id      = new SelectList(db.Yritys, "yritys_Id", "yrityksenNimi", login.yritys_Id);
            ViewBag.paaKayttaja_Id = new SelectList(db.PaaKayttaja, "paaKayttaja_Id", "nimi", login.paaKayttaja_Id);
            return(View(login));
        }
Beispiel #7
0
        //****************************************************************
        //viestiluetuksi
        //****************************************************************
        //**HOX! tällä hetkellä mahdollisesti pystyy suoraan selaimen osoiteriville kirjoitettuaan kirjoittaa viestin luetuksi. ei paha.
        public ActionResult ViestiLuetuksi(int id) //id tulee suoraan osoitekenttään linkistä saatavalla item.viesti_Id:llä
        {
            using (Stud1Entities update = new Stud1Entities())
            {
                Viesti viestiLuetuksi = (from c in update.Viesti
                                         where c.viesti_Id == id
                                         select c).FirstOrDefault();
                viestiLuetuksi.onkoLuettu = true;
                update.SaveChanges();
            }

            //Viesti f = db.Viesti.FirstOrDefault(x => x.viesti_Id == id);
            //f.onkoLuettu = true;
            //db.SaveChanges();

            //uudelleenlinkkaus takaisin käyttäjän sivulle onnistuneen tietokantatallennuksen jälkeen:
            if (Convert.ToInt32(Session["admin_id"]) != 1)
            {
                if (Session["student_id"] != null)
                {
                    return(RedirectToAction("HaeOpiskelijanViestit", "Viestis", null));
                }
                if (Session["corporate_id"] != null)
                {
                    return(RedirectToAction("HaeYrityksenViestit", "Viestis", null));
                }
                return(RedirectToAction("Index", "Viestis", null));
            }
            else
            {
                return(RedirectToAction("Login", "Logins", null));
            }
        }
Beispiel #8
0
 public ActionResult Edit([Bind(Include = "omaSisalto_Id,omatAsetukset,omaKuva,omaTeksti,opiskelija_Id")] OmaSisalto omaSisalto)
 {
     if (ModelState.IsValid)
     {
         try
         {
             db.Entry(omaSisalto).State = EntityState.Modified;
             db.SaveChanges();
             TempData["paivitysOnnistui"] = "Profiili päivitetty onnistuneesti!";
             return(RedirectToAction("OpisSisalto", "OmaSisaltos"));
         }
         catch (Exception)
         {
             TempData["paivitysEpaonnistui"] = "Profiilin päivityksessä ilmeni virhe. Yritä uudelleen tai ole yhteydessä tukeemme.";
             return(RedirectToAction("OpisSisalto", "OmaSisaltos"));
         }
     }
     ViewBag.opiskelija_Id = new SelectList(db.Opiskelija, "opiskelija_Id", "etunimi", omaSisalto.opiskelija_Id);
     return(View(omaSisalto));
 }
Beispiel #9
0
        public ActionResult VerifyAccount(string id)
        {
            bool Status = false;

            using (Stud1Entities dc = new Stud1Entities())
            {
                dc.Configuration.ValidateOnSaveEnabled = false; //SaveChanges();

                var v = dc.Login.Where(a => a.aktivointiKoodi == new Guid(id)).FirstOrDefault();
                if (v != null)
                {
                    v.onkoEmailAktivoitu = true;
                    dc.SaveChanges();
                    Status = true;
                }
                else
                {
                    ViewBag.Message = "Virhe käsiteltäessä pyyntöä!";
                }
            }
            ViewBag.Status = Status;
            return(View());
        }
Beispiel #10
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ää....
        }
        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));
        }
        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));
        }
        //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ää....
        }
Beispiel #14
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ää....
        }