예제 #1
0
        private void HandlePostRequests()
        {
            this.Fehlermeldungen.CollectionChanged   += this.AktualisiereFehlermeldungen;
            this.FehlermeldungsWiederholer.DataSource = this.Fehlermeldungen;

            var adresse = new Address(
                this.postleitzahl.Value,
                this.ort.Value,
                this.strasse.Value
                );

            var benutzer = new Benutzer(
                this.vorname.Value,
                this.nachname.Value,
                this.email.Value,
                new PasswordHasher().HashPassword(this.passwort.Value),
                this.passwortwiderholen.Value,
                adresse,
                this.telefonnummer.Value
                );

            var errorMsgs = BenutzerValidator.Validate(benutzer);

            errorMsgs.AddRange(PasswortValidator.Validate(this.passwort.Value, this.passwortwiderholen.Value));


            if (errorMsgs.Count == 0)
            {
                var jsonSerializer = new JsonSerializer(Path.GetTempPath() + "\\SpielGutSicherungen");
                jsonSerializer.SaveObject(benutzer);

                var sendGrid = new SendGrid.SendGridAPIClient("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");
                var from     = new Email("*****@*****.**");

                var subject = "Account registration SpielGut";
                var to      = new Email(benutzer.Email);
                var content = new Content("text/html", "<h1>Danke, dass Sie sich bei SpielGut registriert haben.</h1>" +
                                          "<h2>Um die Registration abzuschliessen, bestätigen Sie bitte Ihren Account " +
                                          "unter folgendem <a href='http://" + HttpContext.Current.Request.Url.Authority + "/Forms/AccountBestaetigen.aspx?u=" + benutzer.Id +
                                          "'>Link</a>.</h2>");
                var mail = new Mail(from, subject, to, content);

                sendGrid.client.mail.send.post(requestBody: mail.Get());
                this.Response.Redirect("MeineAusleihen.aspx");
            }
            else
            {
                errorMsgs.ForEach(f => this.Fehlermeldungen.Add(f));
            }
        }
예제 #2
0
 protected void Page_Load(object sender, EventArgs e)
 {
     this.Fehlermeldungen.CollectionChanged   += this.AktualisiereFehlermeldungen;
     this.FehlermeldungsWiederholer.DataSource = this.Fehlermeldungen;
     if (this.IsLoggedIn())
     {
         var uid            = Guid.Parse(this.Session["Benutzer"].ToString());
         var jsonSerializer = new JsonSerializer(Path.GetTempPath() + "\\SpielGutSicherungen");
         var benutzer       = jsonSerializer.LoadObject <Benutzer>(uid);
         if (this.IsPostBack)
         {
             benutzer.Vorname              = this.vorname.Value;
             benutzer.Nachname             = this.nachname.Value;
             benutzer.Email                = this.email.Value;
             benutzer.Address.Postleitzahl = this.postleitzahl.Value;
             benutzer.Address.Ort          = this.ort.Value;
             benutzer.Address.Strasse      = this.strasse.Value;
             benutzer.Telefonnummer        = this.telefonnummer.Value;
             var errorMsg = (BenutzerValidator.Validate(benutzer));
             if (errorMsg.Count == 0)
             {
                 jsonSerializer.SaveObject(benutzer);
             }
             else
             {
                 errorMsg.ForEach(f => this.Fehlermeldungen.Add(f));
             }
         }
         this.vorname.Value       = benutzer.Vorname;
         this.nachname.Value      = benutzer.Nachname;
         this.email.Value         = benutzer.Email;
         this.postleitzahl.Value  = benutzer.Address.Postleitzahl;
         this.ort.Value           = benutzer.Address.Ort;
         this.strasse.Value       = benutzer.Address.Strasse;
         this.telefonnummer.Value = benutzer.Telefonnummer;
     }
     else
     {
         this.Response.Redirect("Login.aspx");
     }
 }