public ActionResult Step4(ModelStepClass msc)
        {
            if (TempData["msc"] != null)
            {
                msc = (ModelStepClass)TempData["msc"];
            }

            msc.userID = Convert.ToInt32(System.Web.HttpContext.Current.Session["IDUser"]);

            //Wenn eingeloggt dann diesen Step überspringen
            if (System.Web.HttpContext.Current.Session["IDUser"] != null && (int)System.Web.HttpContext.Current.Session["IDUser"] > 0)
            {
                TempData["msc"] = msc;
                return(RedirectToAction("Step5"));
            }
            msc.date_bis      = Convert.ToDateTime(msc.date_bis_string);
            msc.date_von      = Convert.ToDateTime(msc.date_von_string);
            msc.gebuchtesAuto = db.tblAuto.Find(msc.gebuchtesAutoID);
            msc.kunde         = db.tblKunde.Find(Convert.ToInt32(System.Web.HttpContext.Current.Session["IDUser"]));
            msc.Gesamtpreis   = msc.gebuchtesAuto.MietPreis * msc.Mietdauer;

            if (TempData["registerResult"] != null)
            {
                ViewBag.registerResult = TempData["registerResult"];
            }
            if (TempData["activationResult"] != null)
            {
                ViewBag.activationResult = TempData["activationResult"];
            }
            return(View(msc));
        }
        public ActionResult Step2(ModelStepClass msc)
        {
            msc.userID = Convert.ToInt32(System.Web.HttpContext.Current.Session["IDUser"]);

            if (msc.date_von_string != null && msc.date_bis_string != null)
            {
                msc.date_von = Convert.ToDateTime(msc.date_von_string);
                msc.date_bis = Convert.ToDateTime(msc.date_bis_string);
            }
            else
            {
                return(RedirectToAction("index"));
            }

            //procs und Validierung der übergebenen Daten
            string sitze  = null;
            string klasse = null;

            sitze  = msc.SitzanzahlFilter;
            klasse = msc.KlasseFilter;


            var autoListe = db.pCarAvailableFinal(msc.date_von_string, msc.date_bis_string, klasse).ToList(); // später auf Eager Loading ändern ?

            msc.carTableFilter = autoListe.ToList();                                                          //Filtert verf. Autos mit Filteroptionen


            msc.Mietdauer = Convert.ToInt32((msc.date_bis - msc.date_von).TotalDays) + 1;

            return(View(msc));
        }
        public ActionResult Step3(ModelStepClass msc) //Get Object with ID
        {
            msc.userID        = Convert.ToInt32(System.Web.HttpContext.Current.Session["IDUser"]);
            msc.date_bis      = Convert.ToDateTime(msc.date_bis_string);
            msc.date_von      = Convert.ToDateTime(msc.date_von_string);
            msc.gebuchtesAuto = db.tblAuto.Find(msc.gebuchtesAutoID);
            msc.Gesamtpreis   = msc.gebuchtesAuto.MietPreis * msc.Mietdauer;

            return(View(msc));
        }
        public ActionResult Print(ModelStepClass msc)
        {
            msc.kunde         = db.tblKunde.Find(Convert.ToInt32(System.Web.HttpContext.Current.Session["IDUser"]));
            msc.gebuchtesAuto = db.tblAuto.Find(msc.gebuchtesAutoID);
            msc.date_bis      = Convert.ToDateTime(msc.date_bis_string);
            msc.date_von      = Convert.ToDateTime(msc.date_von_string);
            msc.Gesamtpreis   = msc.gebuchtesAuto.MietPreis * msc.Mietdauer;

            return(new ViewAsPdf("ViewPDF", msc));
        }
        public ActionResult Index()
        {
            // Falls noch ein TempData vorhanden, wird es gelöscht
            TempData["msc"] = null;

            ModelStepClass msc = new ModelStepClass();

            msc.notAgain = false;

            msc.userID = Convert.ToInt32(System.Web.HttpContext.Current.Session["IDUser"]);
            msc.tec    = db.tblEyecatcher.ToList();
            return(View(msc));
        }
 public ActionResult Step5(ModelStepClass msc)
 {
     if (TempData["msc"] != null)
     {
         msc = (ModelStepClass)TempData["msc"];
     }
     msc.date_bis      = Convert.ToDateTime(msc.date_bis_string);
     msc.date_von      = Convert.ToDateTime(msc.date_von_string);
     msc.kunde         = db.tblKunde.Find(Convert.ToInt32(System.Web.HttpContext.Current.Session["IDUser"]));
     msc.gebuchtesAuto = db.tblAuto.Find(msc.gebuchtesAutoID);
     msc.Gesamtpreis   = msc.gebuchtesAuto.MietPreis * msc.Mietdauer;
     return(View(msc)); //Get Object with ID
 }
Example #7
0
        public ActionResult Index(string email, string password, ModelStepClass msc)
        {
            //PasswordConverter hashed das eingegebene Passwort im SHA256 Format
            password = Logic.Helpers.HashPassword(password);

            //Verbindung zur Datenbank per Connecton string wird definiert
            //Stored Procedure Validate_User wird definiert
            using (SqlCommand cmd = new SqlCommand("Validate_User"))
            {
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@Email", email);
                cmd.Parameters.AddWithValue("@Passwort", password);
                cmd.Connection = con;
                con.Open();
                //Aufruf der Prozedur
                //Rückabe Werte: -3: Acc Deaktiviert; -2: Acc nicht Aktivert; -1: Eingegebene Daten falsch; >0: Die zugehörige UserId
                ViewBag.loginResult = Convert.ToInt32(cmd.ExecuteScalar());
                con.Close();
            }
            if (ViewBag.loginResult > 0)
            {
                using (SqlCommand cmd = new SqlCommand("Get_Role"))
                {
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Parameters.AddWithValue("@Email", email);
                    cmd.Connection = con;
                    con.Open();
                    ViewBag.role = Convert.ToChar(cmd.ExecuteScalar());
                    con.Close();
                }
                //Session Variablen werden je nach Rolle gesetzt.
                if (ViewBag.role == 'K')
                {
                    System.Web.HttpContext.Current.Session["IDUser"] = msc.userID = ViewBag.loginResult;
                    System.Web.HttpContext.Current.Session["Email"]  = email;
                }
                else
                {
                    ViewBag.loginResult = -1;
                }
            }
            else
            {
                TempData.Add("loginResult", ViewBag.loginResult);
                //Bei fehler zurück zum Login
            }
            TempData["loginResult"] = ViewBag.loginResult;
            TempData["msc"]         = msc;
            return(Redirect(Convert.ToString(Request.UrlReferrer)));
        }
Example #8
0
        public ActionResult Registrierung(string sex, string prename, string sirname, string adress, string city, string postcode, string telephone, string bDay, string bMonth, string bYear, string pass, string email, string password, ModelStepClass msc)
        {
            //PasswordConverter hashed das eingegebene Passwort im SHA256 Format
            password = Logic.Helpers.HashPassword(password);
            string GebDatum = $"{bDay}.{bMonth}.{bYear}";
            int    userId   = 0;

            //Stored Procedure Insert_User wird definiert
            using (SqlCommand cmd = new SqlCommand("Insert_User"))
            {
                using (SqlDataAdapter sda = new SqlDataAdapter())
                {
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Parameters.AddWithValue("@Email", email);
                    cmd.Parameters.AddWithValue("@Passwort", password);
                    cmd.Parameters.AddWithValue("@Vorname", prename);
                    cmd.Parameters.AddWithValue("@Nachname", sirname);
                    cmd.Parameters.AddWithValue("@Strasse", adress);
                    cmd.Parameters.AddWithValue("@Telefon", telephone);
                    cmd.Parameters.AddWithValue("@Anrede", sex);
                    cmd.Parameters.AddWithValue("@GebDatum", GebDatum);
                    cmd.Parameters.AddWithValue("@ReisepassNr", pass);
                    cmd.Parameters.AddWithValue("@Ort", city);
                    cmd.Parameters.AddWithValue("@Plz", postcode);
                    cmd.Connection = con;
                    con.Open();
                    //Aufruf der Prozedur
                    //Rückgabe Werte: -2: PLZ/Ort ungültig; -1: Email schon vorhanden; >0: zugehörige UserId.
                    userId = Convert.ToInt32(cmd.ExecuteScalar());
                    con.Close();
                }
            }
            if (userId > 0)
            {
                Logic.Helpers.SendActivationEmail(userId, email);
                System.Web.HttpContext.Current.Session["msc"] = msc;
            }
            else
            {
                //Für die anzeige der Fehlermeldung
                ViewBag.registerResult = userId;
            }

            //Bei einem Redirect funktioniert ViewBag NICHT! Deshalb TempData.
            TempData["registerResult"] = userId;
            TempData["msc"]            = msc;

            return(Redirect(Convert.ToString(Request.UrlReferrer)));
        }
        public ActionResult SendMail_Again(ModelStepClass msc)
        {
            msc.kunde         = db.tblKunde.Find(Convert.ToInt32(System.Web.HttpContext.Current.Session["IDUser"]));
            msc.gebuchtesAuto = db.tblAuto.Find(msc.gebuchtesAutoID);
            msc.date_bis      = Convert.ToDateTime(msc.date_bis_string);
            msc.date_von      = Convert.ToDateTime(msc.date_von_string);
            msc.Gesamtpreis   = msc.gebuchtesAuto.MietPreis * msc.Mietdauer;

            string path = HttpContext.ApplicationInstance.Server.MapPath(String.Format("~/App_Data/PDF/{0}.pdf", msc.IDBuchung));

            using (MailMessage mm = new MailMessage("*****@*****.**", msc.kunde.tblLogin.Email))
            {
                mm.Subject = "Buchungsbestätigung";

                string body = "<p>Vielen Dank für ihre Buchung,";
                body += "<br /><br />Ihre Buchungsbestätigung befindet sich im Anhang als PDF.";
                body += "<br /><br />Ihr Kundt-Autoverleih</p>";
                //Nachrichten Text wird an das MailMessage Objekt gehängt.
                mm.Body       = body;
                mm.IsBodyHtml = true;
                Attachment Anhnag = new Attachment(path);
                mm.Attachments.Add(Anhnag);


                NetworkCredential NetworkCred = new NetworkCredential("*****@*****.**", "123user!");

                SmtpClient smtp = new SmtpClient()
                {
                    Host                  = "smtp.gmail.com",
                    EnableSsl             = true,
                    UseDefaultCredentials = true,
                    Credentials           = NetworkCred,
                    Port                  = 587
                };
                smtp.Send(mm);
            }
            TempData["send"] = true;

            return(RedirectToAction("Step6", msc));
        }
        public ActionResult Step6(ModelStepClass msc)
        {
            msc.kunde         = db.tblKunde.Find(Convert.ToInt32(System.Web.HttpContext.Current.Session["IDUser"]));
            msc.gebuchtesAuto = db.tblAuto.Find(msc.gebuchtesAutoID);
            msc.Gesamtpreis   = msc.gebuchtesAuto.MietPreis * msc.Mietdauer;


            if (msc.notAgain == false)
            {
                int IDBuchung;

                string constring = System.Configuration.ConfigurationManager.ConnectionStrings["it22AutoverleihEntities"].ConnectionString.Substring(System.Configuration.ConfigurationManager.ConnectionStrings["it22AutoverleihEntities"].ConnectionString.IndexOf("\"") + 1, 156);

                using (SqlConnection con = new SqlConnection(constring))
                {
                    using (SqlCommand cmd = new SqlCommand("pBuchungAnlegen", con))
                    {
                        cmd.CommandType = CommandType.StoredProcedure;

                        SqlParameter KundeID = new SqlParameter("@varIDKunde", SqlDbType.Int);
                        KundeID.Value     = Convert.ToInt32(System.Web.HttpContext.Current.Session["IDUser"]);
                        KundeID.Direction = ParameterDirection.Input;
                        cmd.Parameters.Add(KundeID);

                        SqlParameter AutoID = new SqlParameter("@varIDAuto", SqlDbType.Int);
                        AutoID.Value     = msc.gebuchtesAutoID;
                        AutoID.Direction = ParameterDirection.Input;
                        cmd.Parameters.Add(AutoID);

                        SqlParameter BuchungVon = new SqlParameter("@varBuchungVon", SqlDbType.VarChar);
                        BuchungVon.Value     = msc.date_von_string;
                        BuchungVon.Direction = ParameterDirection.Input;
                        cmd.Parameters.Add(BuchungVon);

                        SqlParameter BuchungBis = new SqlParameter("@varBuchungBis", SqlDbType.VarChar);
                        BuchungBis.Value     = msc.date_bis_string;
                        BuchungBis.Direction = ParameterDirection.Input;
                        cmd.Parameters.Add(BuchungBis);

                        SqlParameter Versicherung = new SqlParameter("@varVersicherung", SqlDbType.Bit);
                        Versicherung.Value     = msc.HatRtVersicherung;
                        Versicherung.Direction = ParameterDirection.Input;
                        cmd.Parameters.Add(Versicherung);

                        SqlParameter Storno = new SqlParameter("@varStorno", SqlDbType.Bit);
                        Storno.Value     = 0;
                        Storno.Direction = ParameterDirection.Input;
                        cmd.Parameters.Add(Storno);

                        SqlParameter outBuchungID = new SqlParameter("@IDBuchung", SqlDbType.Int);
                        outBuchungID.Direction = ParameterDirection.Output;
                        cmd.Parameters.Add(outBuchungID);

                        con.Open();
                        cmd.ExecuteNonQuery();
                        con.Close();

                        IDBuchung = (int)cmd.Parameters["@IDBuchung"].Value;
                    }
                }

                msc.IDBuchung   = IDBuchung;
                msc.notAgain    = true;
                TempData["msc"] = msc;

                var    pdf        = new ViewAsPdf("ViewPDF", msc);
                var    file       = pdf.BuildPdf(ControllerContext);
                string path       = HttpContext.ApplicationInstance.Server.MapPath(String.Format("~/App_Data/PDF/{0}.pdf", IDBuchung));
                var    fileStream = new FileStream(path, FileMode.Create, FileAccess.Write);
                fileStream.Write(file, 0, file.Length);
                fileStream.Close();

                using (MailMessage mm = new MailMessage("*****@*****.**", msc.kunde.tblLogin.Email))
                {
                    mm.Subject = "Buchungsbestätigung";

                    string body = "<p>Vielen Dank für ihre Buchung,";
                    body += "<br /><br />Ihre Buchungsbestätigung befindet sich im Anhang als PDF.";
                    body += "<br /><br />Ihr Kundt-Autoverleih</p>";
                    //Nachrichten Text wird an das MailMessage Objekt gehängt.
                    mm.Body       = body;
                    mm.IsBodyHtml = true;
                    Attachment Anhnag = new Attachment(path);
                    mm.Attachments.Add(Anhnag);


                    NetworkCredential NetworkCred = new NetworkCredential("*****@*****.**", "123user!");

                    SmtpClient smtp = new SmtpClient()
                    {
                        Host                  = "smtp.gmail.com",
                        EnableSsl             = true,
                        UseDefaultCredentials = true,
                        Credentials           = NetworkCred,
                        Port                  = 587
                    };
                    smtp.Send(mm);
                }
            }

            return(View(msc));
        }