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 }
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))); }
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)); }