public ActionResult PersonFind(int id, OnlineRegModel m) { m.History.Add("PersonFind id=" + id); if (id >= m.List.Count) return FlowList(m, "PersonFind"); DbUtil.Db.SetNoLock(); var p = m.List[id]; if (p.IsValidForNew) return ErrorResult(m, new Exception("Unexpected onlinereg state: IsValidForNew is true and in PersonFind"), "PersonFind, unexpected state"); if (p.classid.HasValue) { m.orgid = p.classid; m.classid = p.classid; p.orgid = p.classid; } p.PeopleId = null; p.ValidateModelForFind(ModelState, m); if (p.Found == true && m.org != null) { var setting = settings[m.org.OrganizationId]; if (setting.AllowReRegister) { var om = m.org.OrganizationMembers.SingleOrDefault(mm => mm.PeopleId == p.PeopleId); if (om != null) { m.ConfirmReregister(); DbUtil.Db.SubmitChanges(); ViewData["email"] = m.List[0].person.EmailAddress; ViewData["orgname"] = m.org.OrganizationName; ViewData["timeout"] = INT_timeout; return View("ConfirmReregister"); } } } if (p.ManageSubscriptions() || p.OnlinePledge() || p.ManageGiving() || m.ChoosingSlots()) { p.OtherOK = true; } else if (p.org != null) { p.IsFilled = p.org.OrganizationMembers.Count() >= p.org.Limit; if (p.IsFilled) ModelState.AddModelError(m.GetNameFor(mm => mm.List[id].dob), "Sorry, but registration is closed."); if (p.Found == true) p.FillPriorInfo(); } if (p.org != null && p.ShowDisplay() && p.ComputesOrganizationByAge()) p.classid = p.org.OrganizationId; CheckSetFee(m, p); return FlowList(m, "PersonFind"); }