public ActionResult ForgotUsername(string email) { TryLoadAlternateShell(); if (Request.HttpMethod.ToUpper() == "GET") { return(View()); } if (!Util.ValidEmail(email)) { ModelState.AddModelError("email", "valid email required"); } if (!ModelState.IsValid) { return(View()); } email = email?.Trim(); var q = from u in CurrentDatabase.Users where u.Person.EmailAddress == email || u.Person.EmailAddress2 == email where email != "" && email != null select u; foreach (var user in q) { var message = CurrentDatabase.ContentHtml("ForgotUsername", Resource1.AccountController_ForgotUsername); message = message.Replace("{name}", user.Name); message = message.Replace("{username}", user.Username); CurrentDatabase.EmailRedacted(CmsData.DbUtil.AdminMail, user.Person, "touchpoint forgot username", message); CurrentDatabase.SubmitChanges(); CurrentDatabase.EmailRedacted(CmsData.DbUtil.AdminMail, CMSRoleProvider.provider.GetAdmins(), $"touchpoint user: {user.Name} forgot username", "no content"); } if (!q.Any()) { CurrentDatabase.EmailRedacted(CmsData.DbUtil.AdminMail, CMSRoleProvider.provider.GetAdmins(), $"touchpoint unknown email: {email} forgot username", "no content"); } return(RedirectToAction("RequestUsername")); }
private void UpdatePerson(Person p, PersonInfo m, bool isNew) { var psb = new List <ChangeDetail>(); var fsb = new List <ChangeDetail>(); var keys = Request.Form.AllKeys.ToList(); if (!m.home.HasValue() && m.cell.HasValue()) { m.home = m.cell; } if (keys.Contains("zip") || keys.Contains("addr")) { var result = AddressVerify.LookupAddress(m.addr, p.PrimaryAddress2, null, null, m.zip.Zip5()); if (result.found != false && !result.error.HasValue() && result.Line1 != "error") { UpdateField(fsb, p.Family, "AddressLineOne", result.Line1); UpdateField(fsb, p.Family, "AddressLineTwo", result.Line2); UpdateField(fsb, p.Family, "CityName", result.City); UpdateField(fsb, p.Family, "StateCode", result.State); UpdateField(fsb, p.Family, "ZipCode", result.Zip.GetDigits().Truncate(10)); var rc = CurrentDatabase.FindResCode(result.Zip, null); UpdateField(fsb, p.Family, "ResCodeId", rc.ToString()); } else { if (keys.Contains("addr")) { UpdateField(fsb, p.Family, "AddressLineOne", m.addr); } UpdateField(fsb, p.Family, "ZipCode", m.zip.Zip5()); UpdateField(fsb, p.Family, "CityName", null); UpdateField(fsb, p.Family, "StateCode", null); } } if (keys.Contains("home")) { UpdateField(fsb, p.Family, "HomePhone", m.home.GetDigits()); } if (keys.Contains("goesby")) { UpdateField(psb, p, "NickName", Trim(m.goesby)); } if (keys.Contains("first")) { UpdateField(psb, p, "FirstName", Trim(m.first)); } if (keys.Contains("last")) { UpdateField(psb, p, "LastName", Trim(m.last)); } if (keys.Contains("dob") && m.Birthdate.HasValue) { if (p.BirthDate != m.Birthdate) { UpdateField(psb, p, "DOB", m.dob); } } if (keys.Contains("email")) { UpdateField(psb, p, "EmailAddress", Trim(m.email)); } if (keys.Contains("cell")) { UpdateField(psb, p, "CellPhone", m.cell.GetDigits()); } if (keys.Contains("marital")) { UpdateField(psb, p, "MaritalStatusId", m.marital); } if (keys.Contains("gender")) { UpdateField(psb, p, "GenderId", m.gender); } var rr = p.GetRecReg(); if (keys.Contains("allergies")) { if (m.allergies != rr.MedicalDescription) { p.SetRecReg().MedicalDescription = m.allergies; } } if (keys.Contains("grade")) { if (m.AskGrade) { if (m.grade.ToInt2() != p.Grade) { p.Grade = m.grade.ToInt2(); } } } if (m.AskEmFriend) { if (keys.Contains("parent")) { if (m.parent != rr.Mname) { p.SetRecReg().Mname = m.parent; } } if (keys.Contains("emfriend")) { if (m.emfriend != rr.Emcontact) { p.SetRecReg().Emcontact = m.emfriend; } } if (keys.Contains("emphone")) { if (m.emphone != rr.Emphone) { p.SetRecReg().Emphone = m.emphone.Truncate(50); } } } if (isNew) { if (keys.Contains("campusid")) { if (m.campusid > 0) { UpdateField(psb, p, "CampusId", m.campusid); } } } if (m.AskChurch) { if (keys.Contains("activeother")) { if (m.activeother.ToBool() != rr.ActiveInAnotherChurch) { p.SetRecReg().ActiveInAnotherChurch = m.activeother.ToBool(); } } } if (m.AskChurchName) { if (keys.Contains("churchname")) { UpdateField(psb, p, "OtherPreviousChurch", Trim(m.churchname)); } } p.LogChanges(CurrentDatabase, psb); p.Family.LogChanges(CurrentDatabase, fsb, p.PeopleId, CurrentDatabase.UserPeopleId ?? 0); CurrentDatabase.SubmitChanges(); if (CurrentDatabase.Setting("NotifyCheckinChanges", "true").ToBool() && (psb.Count > 0 || fsb.Count > 0)) { var sb = new StringBuilder(); foreach (var c in psb) { sb.AppendFormat("<tr><td>{0}</td><td>{1}</td><td>{2}</td></tr>\n", c.Field, c.Before, c.After); } foreach (var c in fsb) { sb.AppendFormat("<tr><td>{0}</td><td>{1}</td><td>{2}</td></tr>\n", c.Field, c.Before, c.After); } var np = CurrentDatabase.GetNewPeopleManagers(); if (np != null) { CurrentDatabase.EmailRedacted(p.FromEmail, np, "Basic Person Info Changed during checkin on " + CurrentDatabase.Host, $@" <p><a href=""{CurrentDatabase.ServerLink("/Person2/" + p.PeopleId)}"">{Util.UserName} ({p.PeopleId})</a> changed the following information for {p.PreferredName} ({p.LastName}):</p> <table>{sb}</table>"); } } }
private void UpdatePerson(Person p, PersonInfo m) { var psb = new List <ChangeDetail>(); var fsb = new List <ChangeDetail>(); var z = CurrentDatabase.ZipCodes.SingleOrDefault(zc => zc.Zip == m.zip.Zip5()); if (!m.home.HasValue() && m.cell.HasValue()) { m.home = m.cell; } if (m.home.HasValue()) { p.Family.UpdateValue(fsb, "HomePhone", m.home.GetDigits()); } if (m.addr.HasValue()) { p.Family.UpdateValue(fsb, "AddressLineOne", m.addr); } if (m.zip.HasValue()) { p.Family.UpdateValue(fsb, "CityName", z != null ? z.City : null); p.Family.UpdateValue(fsb, "StateCode", z != null ? z.State : null); p.Family.UpdateValue(fsb, "ZipCode", m.zip); var rc = CurrentDatabase.FindResCode(m.zip, null); p.Family.UpdateValue(fsb, "ResCodeId", rc.ToString()); } if (m.email.HasValue()) { p.UpdateValue(psb, "EmailAddress", Trim(m.email)); } if (m.cell.HasValue()) { p.UpdateValue(psb, "CellPhone", m.cell.GetDigits()); } p.UpdateValue(psb, "MaritalStatusId", m.marital); p.LogChanges(CurrentDatabase, psb); p.Family.LogChanges(CurrentDatabase, fsb, p.PeopleId, Util.UserPeopleId ?? 0); CurrentDatabase.SubmitChanges(); if (!CurrentDatabase.Setting("NotifyCheckinChanges", "true").ToBool() || (psb.Count <= 0 && fsb.Count <= 0)) { return; } var sb = new StringBuilder(); foreach (var c in psb) { sb.AppendFormat("<tr><td>{0}</td><td>{1}</td><td>{2}</td></tr>\n", c.Field, c.Before, c.After); } foreach (var c in fsb) { sb.AppendFormat("<tr><td>{0}</td><td>{1}</td><td>{2}</td></tr>\n", c.Field, c.Before, c.After); } var np = CurrentDatabase.GetNewPeopleManagers(); if (np != null) { CurrentDatabase.EmailRedacted(p.FromEmail, np, "Basic Person Info Changed during checkin on " + Util.Host, $"{Util.UserName} changed the following information for <a href='{CurrentDatabase.ServerLink($"/Person2/{p.PeopleId}")}'>{p.PreferredName} {p.LastName}</a>:<br />\n<table>{sb}</table>"); } }