protected void GvRowCommand(object sender, GridViewCommandEventArgs e) { string editpage = "~/ControlRoom/Modules/Setup/AwardAddEdit.aspx"; string addtpage = "~/ControlRoom/Modules/Setup/AwardAddWizard.aspx"; if (e.CommandName.ToLower() == "addrecord") { Session["AWD"] = string.Empty; Response.Redirect(addtpage); } if (e.CommandName.ToLower() == "editrecord") { int key = Convert.ToInt32(e.CommandArgument); Session["AWD"] = key; Response.Redirect(editpage); //Response.Redirect(String.Format("{0}?PK={1}", editpage, key)); } if (e.CommandName.ToLower() == "deleterecord") { var key = Convert.ToInt32(e.CommandArgument); try { var obj = Award.FetchObject(key); if (obj.IsValid(BusinessRulesValidationMode.DELETE)) { obj.Delete(); LoadData(); var masterPage = (IControlRoomMaster)Master; if (masterPage != null) { masterPage.PageMessage = SRPResources.DeleteOK; } } else { var masterPage = (IControlRoomMaster)Master; string message = String.Format(SRPResources.ApplicationError1, "<ul>"); foreach (BusinessRulesValidationMessage m in obj.ErrorCodes) { message = string.Format(String.Format("{0}<li>{{0}}</li>", message), m.ErrorMessage); } message = string.Format("{0}</ul>", message); if (masterPage != null) { masterPage.PageError = message; } } } catch (Exception ex) { var masterPage = (IControlRoomMaster)Master; if (masterPage != null) { masterPage.PageError = String.Format(SRPResources.ApplicationError1, ex.Message); } } } if (e.CommandName.ToLower() == "applyaward") { int key = Convert.ToInt32(e.CommandArgument); var awd = Award.FetchObject(key); var pl = GetMatchingData(awd); var pMax = pl.Tables[0].Rows.Count; var pCount = 0; Response.Buffer = false; Response.Write("<!-- "); foreach (DataRow row in pl.Tables[0].Rows) { var pid = Convert.ToInt32(row["PID"]); var list = new List <Badge>(); var p = Patron.FetchObject(pid); if (AwardPoints.AwardBadgeToPatron(awd.BadgeID, p, ref list)) { pCount++; // if they got a badge, then maybe they match the criteria to get another as well ... AwardPoints.AwardBadgeToPatronViaMatchingAwards(p, ref list); Response.Write(" :-> "); Response.Flush(); } } Response.Write("-->"); var masterPage = (IControlRoomMaster)Master; if (masterPage != null) { masterPage.PageMessage = String.Format("{0} patrons matched the award criteria. Award has been applied to {1} patrons who had not previously received the award.", pMax, pCount); } } }
protected void DvItemCommand(object sender, DetailsViewCommandEventArgs e) { string returnURL = "~/ControlRoom/Modules/Patrons/PatronBadges.aspx"; if (e.CommandName.ToLower() == "back") { Response.Redirect(returnURL); } //if (e.CommandName.ToLower() == "refresh") //{ // try // { // odsData.DataBind(); // dv.DataBind(); // dv.ChangeMode(DetailsViewMode.Edit); // var masterPage = (IControlRoomMaster)Master; // if (masterPage != null) masterPage.PageMessage = SRPResources.RefreshOK; // } // catch (Exception ex) // { // var masterPage = (IControlRoomMaster)Master; // masterPage.PageError = String.Format(SRPResources.ApplicationError1, ex.Message); // } //} if (e.CommandName.ToLower() == "add" || e.CommandName.ToLower() == "addandback") { try { var badgeID = FormatHelper.SafeToInt(((DropDownList)((DetailsView)sender).FindControl("BadgeID")).SelectedValue); if (Session["Curr_Patron"] == null) { Response.Redirect("Default.aspx"); } var patron = (Patron)Session["Curr_Patron"]; var earnedBadges = new List <Badge>(); AwardPoints.AwardBadgeToPatron(badgeID, patron, ref earnedBadges); Response.Redirect(returnURL); //var obj = new DAL.PatronBadges(); //obj.PID = patron.PID; //obj.BadgeID = FormatHelper.SafeToInt(((DropDownList) ((DetailsView) sender).FindControl("BadgeID")).SelectedValue); //var dt = ((TextBox) ((DetailsView) sender).FindControl("DateEarned")).Text; //obj.DateEarned = (dt == "" ? DateTime.Now : FormatHelper.SafeToDateTime(dt)); //if (obj.IsValid(BusinessRulesValidationMode.INSERT)) //{ //obj.Insert(); //var earnedBadge = Badge.GetBadge(obj.BadgeID); //if (earnedBadge.GenNotificationFlag) //{ // var notif = new DAL.Notifications // { // PID_To = patron.PID, // PID_From = 0, //0 == System Notification // Subject = earnedBadge.NotificationSubject, // Body = earnedBadge.NotificationBody, // isQuestion = false, // AddedDate = obj.DateEarned, // LastModDate = obj.DateEarned, // AddedUser = patron.Username, // LastModUser = "******" // }; // notif.Insert(); //} // Always go back //if (e.CommandName.ToLower() == "addandback") //{ //Response.Redirect(returnURL); //} //lblPK.Text = obj.PBID.ToString(); //odsData.DataBind(); //dv.DataBind(); //dv.ChangeMode(DetailsViewMode.Edit); //var masterPage = (IControlRoomMaster)Master; //masterPage.PageMessage = SRPResources.AddedOK; //} //else //{ // var masterPage = (IControlRoomMaster)Master; // string message = String.Format(SRPResources.ApplicationError1, "<ul>"); // foreach (BusinessRulesValidationMessage m in obj.ErrorCodes) // { // message = string.Format(String.Format("{0}<li>{{0}}</li>", message), m.ErrorMessage); // } // message = string.Format("{0}</ul>", message); // masterPage.PageError = message; //} } catch (Exception ex) { var masterPage = (IControlRoomMaster)Master; masterPage.PageError = String.Format(SRPResources.ApplicationError1, ex.Message); } } //if (e.CommandName.ToLower() == "save" || e.CommandName.ToLower() == "saveandback") //{ // try // { // var obj = new PatronBadges(); // int pk = int.Parse(((DetailsView)sender).Rows[0].Cells[1].Text); // obj.Fetch(pk); // //obj.PID = FormatHelper.SafeToInt(((DropDownList) ((DetailsView) sender).FindControl("PID")).SelectedValue); // obj.PID = FormatHelper.SafeToInt(((TextBox)((DetailsView)sender).FindControl("PID")).Text); // //obj.BadgeID = FormatHelper.SafeToInt(((DropDownList) ((DetailsView) sender).FindControl("BadgeID")).SelectedValue); // obj.BadgeID = FormatHelper.SafeToInt(((TextBox)((DetailsView)sender).FindControl("BadgeID")).Text); // obj.DateEarned = FormatHelper.SafeToDateTime(((TextBox)((DetailsView)sender).FindControl("DateEarned")).Text); // obj.LastModDate = DateTime.Now; // obj.LastModUser = ((SRPUser)Session[SessionData.UserProfile.ToString()]).Username; //"N/A"; // Get from session // if (obj.IsValid(BusinessRulesValidationMode.UPDATE)) // { // obj.Update(); // if (e.CommandName.ToLower() == "saveandback") // { // Response.Redirect(returnURL); // } // odsData.DataBind(); // dv.DataBind(); // dv.ChangeMode(DetailsViewMode.Edit); // var masterPage = (IControlRoomMaster)Master; // masterPage.PageMessage = SRPResources.SaveOK; // } // else // { // var masterPage = (IControlRoomMaster)Master; // string message = String.Format(SRPResources.ApplicationError1, "<ul>"); // foreach (BusinessRulesValidationMessage m in obj.ErrorCodes) // { // message = string.Format(String.Format("{0}<li>{{0}}</li>", message), m.ErrorMessage); // } // message = string.Format("{0}</ul>", message); // masterPage.PageError = message; // } // } // catch (Exception ex) // { // var masterPage = (IControlRoomMaster)Master; // masterPage.PageError = String.Format(SRPResources.ApplicationError1, ex.Message); // } //} }
protected bool RegisterPatron() { var patron = new Patron(); patron.ProgID = Programs.GetDefaultProgramForAgeAndGrade(0, 0); patron.Username = Username.Text; patron.NewPassword = Password.Text; // hardcoding over 18 because there's no facility to ask here patron.Over18Flag = true; patron.FirstName = FirstName.Text.Trim(); patron.LastName = LastName.Text.Trim(); patron.EmailAddress = EmailAddress.Text.Trim(); patron.LibraryCard = LibraryCard.Text.Replace(" ", ""); int primaryLibrary = 0; if (int.TryParse(PrimaryLibrary.SelectedValue, out primaryLibrary)) { patron.PrimaryLibrary = primaryLibrary; } if (!string.IsNullOrEmpty(MasterPID.Text)) { int masterPid = 0; if (int.TryParse(MasterPID.Text, out masterPid)) { var masterPatron = Patron.FetchObject(masterPid); if (!masterPatron.IsMasterAccount) { masterPatron.IsMasterAccount = true; masterPatron.Update(); new SessionTools(Session).EstablishPatron(masterPatron); } patron.MasterAcctPID = masterPid; patron.ParentGuardianFirstName = masterPatron.FirstName; patron.ParentGuardianLastName = masterPatron.LastName; } } try { if (patron.IsValid(BusinessRulesValidationMode.INSERT)) { patron.Insert(); this.Log().Info("New participant: {0} {1} ({2})", patron.FirstName, patron.LastName, patron.LibraryCard); } else { StringBuilder message = new StringBuilder("<strong>"); message.AppendFormat(SRPResources.ApplicationError1, "<ul>"); foreach (BusinessRulesValidationMessage m in patron.ErrorCodes) { this.Log().Warn("Business rule error creating patron: {0}", m.ErrorMessage); message.AppendFormat("<li>{0}</li>", m.ErrorMessage); } message.Append("</ul></strong>"); new SessionTools(Session).AlertPatron( message.ToString(), PatronMessageLevels.Warning, "exclamation-sign"); return(false); } var prog = Programs.FetchObject(patron.ProgID); var earnedBadgesList = new List <Badge>(); if (prog.RegistrationBadgeID != 0) { AwardPoints.AwardBadgeToPatron(prog.RegistrationBadgeID, patron, ref earnedBadgesList); } AwardPoints.AwardBadgeToPatronViaMatchingAwards(patron, ref earnedBadgesList); if (string.IsNullOrEmpty(MasterPID.Text)) { EarnedBadges.Text = string.Join("|", earnedBadgesList.Select(b => b.BID).Distinct()); MasterPID.Text = patron.PID.ToString(); new SessionTools(Session).EstablishPatron(patron); } else { new SessionTools(Session).AlertPatron( string.Format("Account created for: <strong>{0}</strong>", DisplayHelper.FormatName( patron.FirstName, patron.LastName, patron.Username)), glyphicon: "thumbs-up"); } } catch (Exception ex) { this.Log().Error(string.Format("A problem occurred during registration: {0}", ex.Message)); new SessionTools(Session).AlertPatron( string.Format("<strong>{0}</strong>", ex.Message), PatronMessageLevels.Warning, "exclamation-sign"); return(false); } return(true); }
protected void btnSave_Click(object sender, EventArgs e) { if (!this.ProgramOpen) { return; } var now = DateTime.Now; var onlyCheckedBoxes = true; var selBLI = 0; var readCount = 0; var neeedCount = 0; var BLID = -1; foreach (RepeaterItem item in rptr.Items) { if (item.ItemType == ListItemType.Item || item.ItemType == ListItemType.AlternatingItem) { if (BLID < 0) { BLID = int.Parse(((Label)item.FindControl("BLID")).Text); neeedCount = BookList.FetchObject(BLID).NumBooksToComplete; } var chkRead = (CheckBox)item.FindControl("chkRead"); var PBLBID = int.Parse(((Label)item.FindControl("PBLBID")).Text); var BLBID = int.Parse(((Label)item.FindControl("BLBID")).Text); selBLI = BLID; var pbl = new PatronBookLists(); if (PBLBID != 0) { pbl = PatronBookLists.FetchObject(PBLBID); } pbl.BLBID = BLBID; pbl.BLID = BLID; pbl.PID = ((Patron)Session["Patron"]).PID; pbl.LastModDate = now; pbl.HasReadFlag = chkRead.Checked; if (!pbl.HasReadFlag) { onlyCheckedBoxes = false; } else { readCount++; } if (PBLBID != 0) { pbl.Update(); } else { pbl.Insert(); } } } new SessionTools(Session).AlertPatron("Your progress has been saved!", glyphicon: "check"); // read the entire book list! Award points and badges if ((neeedCount == 0 && onlyCheckedBoxes) || (neeedCount <= readCount)) { new SessionTools(Session).AlertPatron("Good work, you've completed a Challenge!", glyphicon: "star"); var bl = BookList.FetchObject(selBLI); if (PatronPoints.HasEarnedBookList(((Patron)Session["Patron"]).PID, selBLI)) { return; } if (bl.AwardBadgeID != 0 || bl.AwardPoints != 0) { new SessionTools(Session).AlertPatron("Congratulations, you completed a Challenge and were awarded a badge!", glyphicon: "certificate"); var pa = new AwardPoints(((Patron)Session["Patron"]).PID); var sBadges = pa.AwardPointsToPatron(bl.AwardPoints, PointAwardReason.BookListCompletion, bookListID: bl.BLID); if (sBadges.Length > 0) { new SessionTools(Session).EarnedBadges(sBadges); } } } }
protected void ImageButton1_Command(object sender, CommandEventArgs e) { var masterPage = (IControlRoomMaster)((BaseControlRoomPage)Page).Master; lblError.Text = string.Empty; Page.Validate(); if (Page.IsValid) { var patron = Patron.FetchObject(int.Parse(PID.Text)); var pgm = Programs.FetchObject(patron.ProgID); if (e.CommandName.ToLower() == "save" || e.CommandName.ToLower() == "saveandback") { //var p = new Patron(); var o = new PatronPoints(); var sBadges = string.Empty; var pa = new AwardPoints(patron.PID); var points = int.Parse(NumPoints.Text); if (!IsAdd()) { //p = Patron.FetchObject(int.Parse(PID.Text)); o = PatronPoints.FetchObject(int.Parse(PatronPointsID)); o.Delete(); var pl = PatronReadingLog.FetchObject(o.LogID); if (pl != null && pl.HasReview) { var r = PatronReview.FetchObjectByLogId(o.LogID); if (r != null) { r.Delete(); } } if (pl != null) { pl.Delete(); } } //o.PID = patron.PID; //o.NumPoints = int.Parse(NumPoints.Text); //o.AwardDate = DateTime.Parse(AwardDate.Text); //o.AwardReasonCd = int.Parse(AwardReasonCd.SelectedValue); //o.AwardReason = PatronPoints.PointAwardReasonCdToDescription((PointAwardReason)o.AwardReasonCd); //o.isReading = o.isBookList = o.isEvent = o.isGame = o.isGameLevelActivity = false; if ((PointAwardReason)o.AwardReasonCd == PointAwardReason.Reading) { var pc = new ProgramGamePointConversion(); pc.FetchByActivityId(pgm.PID, 1);//ActivityType.Pages); var pages = 1; try { Convert.ToInt32(pc.ActivityCount * points / pc.PointCount); } catch {} sBadges = pa.AwardPointsToPatron(points, PointAwardReason.Reading, 0, ActivityType.Pages, pages, "", "", "", forceDate: DateTime.Parse(AwardDate.Text)); } if ((PointAwardReason)o.AwardReasonCd == PointAwardReason.EventAttendance) { var ds = Event.GetEventByEventCode(EventCode.Text); var EID = 0; if (ds.Tables[0].Rows.Count == 0) { EID = 0; } else { EID = (int)ds.Tables[0].Rows[0]["EID"]; } sBadges = pa.AwardPointsToPatron(points, PointAwardReason.EventAttendance, eventCode: EventCode.Text, eventID: EID, forceDate: DateTime.Parse(AwardDate.Text)); } if ((PointAwardReason)o.AwardReasonCd == PointAwardReason.BookListCompletion) { var BLID = 0; int.TryParse(lblBookList.Text, out BLID); sBadges = pa.AwardPointsToPatron(points, PointAwardReason.BookListCompletion, bookListID: BLID, forceDate: DateTime.Parse(AwardDate.Text)); } if ((PointAwardReason)o.AwardReasonCd == PointAwardReason.GameCompletion) { var GID = 0; int.TryParse(lblGame.Text, out GID); sBadges = pa.AwardPointsToPatron(points, PointAwardReason.GameCompletion, GID, forceDate: DateTime.Parse(AwardDate.Text)); } if ((PointAwardReason)o.AwardReasonCd == PointAwardReason.MiniGameCompletion) { var MGID = 0; int.TryParse(lblMGame.Text, out MGID); sBadges = pa.AwardPointsToPatron(points, PointAwardReason.MiniGameCompletion, MGID, forceDate: DateTime.Parse(AwardDate.Text)); } PatronPointsID = PatronPoints.GetLastPatronEntryID(int.Parse(PatronID)).ToString(); LoadControl(); masterPage.PageMessage = SRPResources.AddedOK; if (e.CommandName.ToLower() == "saveandback") { Response.Redirect("PatronLog.aspx"); } } } }
protected void rptr_ItemCommand(object source, RepeaterCommandEventArgs e) { var masterPage = (IControlRoomMaster)((BaseControlRoomPage)Page).Master; if (e.CommandName.ToLower() == "back") { Response.Redirect("Default.aspx"); } if (e.CommandName.ToLower() == "refresh") { LoadControl(); if (masterPage != null) { masterPage.PageMessage = SRPResources.RefreshOK; } return; } lblError.Text = string.Empty; Page.Validate(); if (Page.IsValid) { if (e.CommandName.ToLower() == "save" || e.CommandName.ToLower() == "saveandback") { var p = new Patron(); if (!IsAdd()) { p = Patron.FetchObject(int.Parse(SA.Text)); } DateTime _d; p.Username = ((TextBox)(e.Item).FindControl("Username")).Text; var password = ((TextBox)(e.Item).FindControl("Password")).Text; if (!password.StartsWith(PasswordFiller) && !password.EndsWith(PasswordFiller)) { p.NewPassword = password; } var DOB = e.Item.FindControl("DOB") as TextBox; if (DOB != null && DOB.Text != "") { if (DateTime.TryParse(DOB.Text, out _d)) { p.DOB = _d; } } p.Age = FormatHelper.SafeToInt(((TextBox)(e.Item).FindControl("Age")).Text); //p.Custom2 = (((TextBox)(e.Item).FindControl("Custom2")).Text); p.MasterAcctPID = int.Parse(MasterPatronID); p.SchoolGrade = ((TextBox)(e.Item).FindControl("SchoolGrade")).Text; p.FirstName = ((TextBox)(e.Item).FindControl("FirstName")).Text; p.MiddleName = ((TextBox)(e.Item).FindControl("MiddleName")).Text; p.LastName = ((TextBox)(e.Item).FindControl("LastName")).Text; p.Gender = ((DropDownList)(e.Item).FindControl("Gender")).SelectedValue; p.EmailAddress = ((TextBox)(e.Item).FindControl("EmailAddress")).Text; p.PhoneNumber = ((TextBox)(e.Item).FindControl("PhoneNumber")).Text; p.PhoneNumber = FormatHelper.FormatPhoneNumber(p.PhoneNumber); p.StreetAddress1 = ((TextBox)(e.Item).FindControl("StreetAddress1")).Text; p.StreetAddress2 = ((TextBox)(e.Item).FindControl("StreetAddress2")).Text; p.City = ((TextBox)(e.Item).FindControl("City")).Text; p.State = ((TextBox)(e.Item).FindControl("State")).Text; p.ZipCode = ((TextBox)(e.Item).FindControl("ZipCode")).Text; p.ZipCode = FormatHelper.FormatZipCode(p.ZipCode); p.Country = ((TextBox)(e.Item).FindControl("Country")).Text; p.County = ((TextBox)(e.Item).FindControl("County")).Text; p.ParentGuardianFirstName = ((TextBox)(e.Item).FindControl("ParentGuardianFirstName")).Text; p.ParentGuardianLastName = ((TextBox)(e.Item).FindControl("ParentGuardianLastName")).Text; p.ParentGuardianMiddleName = ((TextBox)(e.Item).FindControl("ParentGuardianMiddleName")).Text; p.LibraryCard = ((TextBox)(e.Item).FindControl("LibraryCard")).Text; //p.PrimaryLibrary = ((DropDownList)(e.Item).FindControl("PrimaryLibrary")).SelectedValue.SafeToInt(); //p.SchoolName = ((DropDownList)(e.Item).FindControl("SchoolName")).SelectedValue; //p.District = ((DropDownList)(e.Item).FindControl("District")).SelectedValue; //p.SDistrict = ((DropDownList)(e.Item).FindControl("SDistrict")).SelectedValue.SafeToInt(); //p.SchoolType = ((DropDownList)(e.Item).FindControl("SchoolType")).SelectedValue.SafeToInt(); p.PrimaryLibrary = ((DropDownList)(e.Item).FindControl("PrimaryLibrary")).SelectedValue.SafeToInt(); p.SchoolName = ((DropDownList)(e.Item).FindControl("SchoolName")).SelectedValue; p.SchoolType = ((DropDownList)(e.Item).FindControl("SchoolType")).SelectedValue.SafeToInt(); var lc = LibraryCrosswalk.FetchObjectByLibraryID(p.PrimaryLibrary); if (lc != null) { p.District = lc.DistrictID == 0 ? ((DropDownList)(e.Item).FindControl("District")).SelectedValue : lc.DistrictID.ToString(); } else { p.District = ((DropDownList)(e.Item).FindControl("District")).SelectedValue; } var sc = SchoolCrosswalk.FetchObjectBySchoolID(p.SchoolName.SafeToInt()); if (sc != null) { p.SDistrict = sc.DistrictID == 0 ? ((DropDownList)(e.Item).FindControl("SDistrict")).SelectedValue.SafeToInt() : sc.DistrictID; p.SchoolType = sc.SchTypeID == 0 ? FormatHelper.SafeToInt(((DropDownList)(e.Item).FindControl("SchoolType")).SelectedValue) : sc.SchTypeID; } else { p.SDistrict = ((DropDownList)(e.Item).FindControl("SDistrict")).SelectedValue.SafeToInt(); } p.Teacher = ((TextBox)(e.Item).FindControl("Teacher")).Text; p.GroupTeamName = ((TextBox)(e.Item).FindControl("GroupTeamName")).Text; p.LiteracyLevel1 = ((TextBox)(e.Item).FindControl("LiteracyLevel1")).Text.SafeToInt(); p.LiteracyLevel2 = ((TextBox)(e.Item).FindControl("LiteracyLevel2")).Text.SafeToInt(); try { p.ParentPermFlag = ((CheckBox)(e.Item).FindControl("ParentPermFlag")).Checked; p.Over18Flag = ((CheckBox)(e.Item).FindControl("Over18Flag")).Checked; p.ShareFlag = ((CheckBox)(e.Item).FindControl("ShareFlag")).Checked; p.TermsOfUseflag = ((CheckBox)(e.Item).FindControl("TermsOfUseflag")).Checked; } catch { } var cr = CustomRegistrationFields.FetchObject(); p.Custom1 = cr.DDValues1 == "" ? ((TextBox)(e.Item).FindControl("Custom1")).Text : ((DropDownList)(e.Item).FindControl("Custom1DD")).SelectedValue; p.Custom2 = cr.DDValues2 == "" ? ((TextBox)(e.Item).FindControl("Custom2")).Text : ((DropDownList)(e.Item).FindControl("Custom2DD")).SelectedValue; p.Custom3 = cr.DDValues3 == "" ? ((TextBox)(e.Item).FindControl("Custom3")).Text : ((DropDownList)(e.Item).FindControl("Custom3DD")).SelectedValue; p.Custom4 = cr.DDValues4 == "" ? ((TextBox)(e.Item).FindControl("Custom4")).Text : ((DropDownList)(e.Item).FindControl("Custom4DD")).SelectedValue; p.Custom5 = cr.DDValues5 == "" ? ((TextBox)(e.Item).FindControl("Custom5")).Text : ((DropDownList)(e.Item).FindControl("Custom5DD")).SelectedValue; p.ProgID = FormatHelper.SafeToInt(((DropDownList)e.Item.FindControl("ProgID")).SelectedValue); p.IsMasterAccount = ((CheckBox)(e.Item).FindControl("IsMasterAccount")).Checked; // do the save p.SuppressFromFeed = ((CheckBox)(e.Item).FindControl("SuppressFromFeed")).Checked; if (IsAdd()) { if (p.IsValid(BusinessRulesValidationMode.INSERT)) { p.Insert(); PatronID = p.PID.ToString(); SA.Text = PatronID; Session["CURR_PATRON_MODE"] = "EDIT"; LoadControl(); // award any required sign-up badges var prog = Programs.FetchObject(p.ProgID); var earnedBadgesList = new List <Badge>(); if (prog.RegistrationBadgeID != 0) { AwardPoints.AwardBadgeToPatron(prog.RegistrationBadgeID, p, ref earnedBadgesList); } AwardPoints.AwardBadgeToPatronViaMatchingAwards(p, ref earnedBadgesList); masterPage.PageMessage = SRPResources.AddedOK; if (earnedBadgesList.Count > 0) { masterPage.PageMessage = string.Format("{0}{1}", SRPResources.PatronAddedOkWithBadges, string.Join(", ", earnedBadgesList.Select(b => b.UserName))); } if (e.CommandName.ToLower() == "saveandback") { Response.Redirect("Default.aspx"); } } else { string message = String.Format(SRPResources.ApplicationError1, "<ul>"); foreach (BusinessRulesValidationMessage m in p.ErrorCodes) { message = string.Format(String.Format("{0}<li>{{0}}</li>", message), m.ErrorMessage); } message = string.Format("{0}</ul>", message); masterPage.PageError = message; } var parent = Patron.FetchObject(p.MasterAcctPID); if (parent != null && !parent.IsMasterAccount) { parent.IsMasterAccount = true; parent.Update(); Session["CURR_PATRON"] = parent; PatronsRibbon.GetByAppContext((BaseControlRoomPage)Page); } } else { if (p.IsValid(BusinessRulesValidationMode.UPDATE)) { p.Update(); masterPage.PageMessage = SRPResources.SaveOK; if (e.CommandName.ToLower() == "saveandback") { Response.Redirect("Default.aspx"); } else { LoadControl(); } } else { string message = String.Format(SRPResources.ApplicationError1, "<ul>"); foreach (BusinessRulesValidationMessage m in p.ErrorCodes) { message = string.Format(String.Format("{0}<li>{{0}}</li>", message), m.ErrorMessage); } message = string.Format("{0}</ul>", message); masterPage.PageError = message; } } } } }