using System; using System.IO; using System.Linq; using BeWo.Data.Entities; using BS.Shared; namespace Host { public partial class ResetPassword : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) return; //var c = codeTextBox.Text; //var param = Request.Params["v"]; //var decodiert = SecurityUtils.DecryptString(param); //var blubb = decodiert.Split('&'); //var codeoid = Convert.ToInt64(blubb[0].Split('=')[1]); //var pfad = blubb[1].Split('=')[1]; //var useroid = Convert.ToInt64(blubb[2].Split('=')[1]); //var sessionFactory = new Configuration().Configure(BS.Shared.Core.Utils.CreateSavePath(AppDomain.CurrentDomain.BaseDirectory, pfad)).BuildSessionFactory(); //var cs = Context.Items["nhibernate.current_session"] as ISession; //if (cs == null) //{ // cs = sessionFactory.OpenSession(); // Context.Items["nhibernate.current_session"] = cs; //} //var rpi = cs.Load(codeoid); //var isGreen = rpi.Code.Equals(c); //if (isGreen) //{ // rpi.HasToChangePW = true; // rpi.ResetDate = DateTime.Now; // var lTransaction = cs.BeginTransaction(); // try // { // cs.SaveOrUpdate(rpi); // lTransaction.Commit(); // } // catch (Exception ex) // { // lTransaction.Rollback(); // throw ex; // } //} //ergebnisLabel.Text = isGreen ? "Ihr Passwort wurde erfolgreich zurückgesetzt und an Sie per E-Mail geschickt" : "Ihr Passwort konnte nicht zurückgesetzt werden. Bitte überprüfen Sie den Code und versuchen es später nochmal."; //ergebnisLabel.ForeColor = isGreen ? System.Drawing.Color.Green : System.Drawing.Color.Red; //ergebnisLabel.Visible = true; //var neuesPasswort = SecurityUtils.CreateRandomString(8, false, true); //var user = cs.Load(useroid); //user.ChangePassword(neuesPasswort); //var email = user.Employee.Person.Contacts.FirstOrDefault(fod => fod.Type == ContactType.business_Mail).Value; //var text = string.Format("Sehr geehrter BeWoPlaner Benutzer,\nIhr neues Passwort lautet {0}. Bitte ändern Sie dieses umgehend bei der nächsten Anmeldung.", neuesPasswort); //Utils.SendMail("Passwort zurückgesetzt", text, email); //var lTransaction2 = cs.BeginTransaction(); //try //{ // cs.SaveOrUpdate(user); // lTransaction2.Commit(); //} //catch (Exception ex) //{ // lTransaction2.Rollback(); // throw ex; //} //cs.Close(); //Context.Items.Remove("nhibernate.current_session"); //sessionFactory.Close(); } } }