public ActionResult Existing(int id) { if (!TempData.ContainsKey("PeopleId")) { return(Message("not logged in")); } var pid = (int?)TempData["PeopleId"]; if (!pid.HasValue || pid == 0) { return(Message("not logged in")); } var m = OnlineRegModel.GetRegistrationFromDatum(id); if (m == null) { return(Message("no Existing registration available")); } if (m.UserPeopleId != m.Datum.UserPeopleId) { return(Message("incorrect user")); } TempData["PeopleId"] = pid; return(View("Continue/Existing", m)); }
public ActionResult Confirm_Post(int?id, string transactionId, string termsSignature, decimal?amount) { if (!id.HasValue) { return(View("Other/Unknown")); } var m = OnlineRegModel.GetRegistrationFromDatum(id ?? 0, CurrentDatabase); if (m != null) { m.TermsSignature = Util.PickFirst(termsSignature, null); } if (m == null || m.Completed) { if (m == null) { DbUtil.LogActivity("OnlineReg NoPendingConfirmation"); } else { m.Log("NoPendingConfirmation"); } return(Content("no pending confirmation found")); } if (!Util.HasValue(transactionId)) { m.Log("NoTransactionId"); return(Content("error no transaction")); } if (m.List.Count == 0) { m.Log("NoRegistrants"); return(Content("no registrants found")); } try { OnlineRegModel.LogOutOfOnlineReg(); RequestManager.SessionProvider.Clear(); var view = m.ConfirmTransaction(transactionId); m.UpdateDatum(completed: true); SetHeaders(m); if (view == ConfirmEnum.ConfirmAccount) { m.Log("ConfirmAccount"); return(View("Continue/ConfirmAccount", m)); } m.Log("Confirm"); return(View("Confirm", m)); } catch (Exception ex) { m.Log("Error " + ex.Message); ErrorSignal.FromCurrentContext().Raise(ex); Util.TempError = ex.Message; return(Redirect("/Error")); } }
public ActionResult PayWithCoupon(int id, string Coupon) { if (!Coupon.HasValue()) { return(Json(new { error = "empty coupon" })); } var m = OnlineRegModel.GetRegistrationFromDatum(id, CurrentDatabase); m.ParseSettings(); var coupon = Coupon.ToUpper().Replace(" ", ""); var admincoupon = CurrentDatabase.Setting("AdminCoupon", "ifj4ijweoij").ToUpper().Replace(" ", ""); if (coupon == admincoupon) { return(Json(new { confirm = $"/onlinereg/Confirm/{id}?TransactionID=Coupon(Admin)" })); } var c = CurrentDatabase.Coupons.SingleOrDefault(cp => cp.Id == coupon); if (c == null) { return(Json(new { error = "coupon not found" })); } if (m.Orgid != c.OrgId) { return(Json(new { error = "coupon org not match" })); } if (DateTime.Now.Subtract(c.Created).TotalHours > 24) { return(Json(new { error = "coupon expired" })); } if (c.Used.HasValue && c.Id.Length == 12) { return(Json(new { error = "coupon already used" })); } if (c.Canceled.HasValue) { return(Json(new { error = "coupon canceled" })); } return(Json(new { confirm = $"/onlinereg/confirm/{id}?TransactionID=Coupon({Util.fmtcoupon(coupon)})" })); }
public ActionResult Continue(int id) { var m = OnlineRegModel.GetRegistrationFromDatum(id); if (m == null) { return(Message("no Existing registration available")); } var n = m.List.Count - 1; m.HistoryAdd("continue"); m.UpdateDatum(); SetHeaders(m); return(View("Index", m)); }
public ActionResult Continue(int id) { var m = OnlineRegModel.GetRegistrationFromDatum(id); if (m == null) { return(Content("no existing registration available")); } var n = m.List.Count - 1; m.List[n].ValidateModelForOther(ModelState, n); m.History.Add("continue"); m.UpdateDatum(); return(View("Index", m)); }
public ActionResult StartOver(int id) { var pid = (int?)TempData["PeopleId"]; if (!pid.HasValue || pid == 0) { return(Message("not logged in")); } var m = OnlineRegModel.GetRegistrationFromDatum(id); if (m == null) { return(Message("no Existing registration available")); } m.StartOver(); return(Redirect(m.URL)); }
public ActionResult StartOver(int id) { var pid = (int)TempData["er"]; if (pid == 0) { return(Message("not logged in")); } var m = OnlineRegModel.GetRegistrationFromDatum(id); if (m == null) { return(Message("no existing registration available")); } m.HistoryAdd("startover"); m.UpdateDatum(abandoned: true); return(Redirect(m.URL)); }
public ActionResult Continue(int id) { var m = OnlineRegModel.GetRegistrationFromDatum(id, CurrentDatabase); if (m == null) { return(Message("no Existing registration available")); } var n = m.List.Count - 1; m.HistoryAdd("continue"); m.UpdateDatum(); SetHeaders(m); if (m.RegistrantComplete) { return(Redirect("/OnlineReg/CompleteRegistration/" + id)); } return(View("Index", m)); }
public ActionResult Existing(int id) { var pid = (int)TempData["er"]; if (pid == 0) { return(Message("not logged in")); } var m = OnlineRegModel.GetRegistrationFromDatum(id); if (m == null) { return(Message("no existing registration available")); } if (m.UserPeopleId != m.Datum.UserPeopleId) { return(Message("incorrect user")); } TempData["er"] = pid; return(View(m)); }
public ActionResult Existing(int id) { var pid = Util.TempPeopleId; if (!pid.HasValue || pid == 0) { return(Message("not logged in")); } var m = OnlineRegModel.GetRegistrationFromDatum(id, CurrentDatabase); if (m == null) { return(Message("no Existing registration available")); } if (m.UserPeopleId != m.Datum.UserPeopleId) { return(Message("incorrect user")); } Util.TempPeopleId = pid; return(View("Continue/Existing", m)); }
public ActionResult Confirm(int?id, string transactionId, decimal?amount) { if (!id.HasValue) { return(View("Unknown")); } if (!transactionId.HasValue()) { return(Content("error no transaction")); } var m = OnlineRegModel.GetRegistrationFromDatum(id ?? 0); if (m == null || m.Completed) { return(Content("no pending confirmation found")); } if (m.List.Count == 0) { return(Content("no registrants found")); } try { var view = ConfirmTransaction(m, transactionId); m.UpdateDatum(completed: true); SetHeaders(m); if (view == ConfirmEnum.ConfirmAccount) { return(View("ConfirmAccount", m)); } return(View("Confirm", m)); } catch (Exception ex) { Elmah.ErrorSignal.FromCurrentContext().Raise(ex); TempData["error"] = ex.Message; return(Redirect("/Error")); } }
public ActionResult ApplyCoupon(PaymentForm pf) { OnlineRegModel m = null; if (pf.PayBalance == false) { m = OnlineRegModel.GetRegistrationFromDatum(pf.DatumId); if (m == null) { return(Json(new { error = "coupon not find your registration" })); } m.ParseSettings(); } if (!pf.Coupon.HasValue()) { return(Json(new { error = "empty coupon" })); } var coupon = pf.Coupon.ToUpper().Replace(" ", ""); var admincoupon = DbUtil.Db.Setting("AdminCoupon", "ifj4ijweoij").ToUpper().Replace(" ", ""); if (coupon == admincoupon) { if (pf.PayBalance) { var tic = pf.CreateTransaction(DbUtil.Db, pf.AmtToPay); return(Json(new { confirm = $"/onlinereg/ConfirmDuePaid/{tic.Id}?TransactionID=AdminCoupon&Amount={tic.Amt}" })); } else { return(Json(new { confirm = $"/OnlineReg/Confirm/{pf.DatumId}?TransactionId=AdminCoupon" })); } } var c = DbUtil.Db.Coupons.SingleOrDefault(cp => cp.Id == coupon); if (c == null) { return(Json(new { error = "coupon not found" })); } if (pf.OrgId.HasValue && c.Organization != null && c.Organization.OrgPickList.HasValue()) { var a = c.Organization.OrgPickList.SplitStr(",").Select(ss => ss.ToInt()).ToArray(); if (!a.Contains(pf.OrgId.Value)) { return(Json(new { error = "coupon and org do not match" })); } } else if (pf.OrgId != c.OrgId) { return(Json(new { error = "coupon and org do not match" })); } if (c.Used.HasValue && c.Id.Length == 12) { return(Json(new { error = "coupon already used" })); } if (c.Canceled.HasValue) { return(Json(new { error = "coupon canceled" })); } var ti = pf.CreateTransaction(DbUtil.Db, Math.Min(c.Amount ?? 0m, pf.AmtToPay ?? 0m)); if (m != null) // Start this transaction in the chain { m.HistoryAdd("ApplyCoupon"); m.TranId = ti.OriginalId; m.UpdateDatum(); } var tid = $"Coupon({Util.fmtcoupon(coupon):n2})"; if (!pf.PayBalance) { OnlineRegModel.ConfirmDuePaidTransaction(ti, tid, false); } var msg = $"<i class='red'>Your coupon for {c.Amount:n2} has been applied, your balance is now {ti.Amtdue:n2}</i>."; if (ti.Amt < pf.AmtToPay) { msg += "You still must complete this transaction with a payment"; } if (m != null) { m.UseCoupon(ti.TransactionId, ti.Amt ?? 0); } else { c.UseCoupon(ti.FirstTransactionPeopleId(), ti.Amt ?? 0); } DbUtil.Db.SubmitChanges(); if (pf.PayBalance) { return(Json(new { confirm = $"/onlinereg/ConfirmDuePaid/{ti.Id}?TransactionID=Coupon({Util.fmtcoupon(coupon)})&Amount={ti.Amt}" })); } pf.AmtToPay -= ti.Amt; if (pf.AmtToPay <= 0) { return(Json(new { confirm = $"/OnlineReg/Confirm/{pf.DatumId}?TransactionId={"Coupon"}" })); } return(Json(new { tiamt = pf.AmtToPay, amtdue = ti.Amtdue, amt = pf.AmtToPay.ToString2("N2"), msg })); }