public bool SaveAccount() { try { var patron = (Patron)Session["Patron"]; var p = new Patron(); DateTime _d; var DOB = rptr.Items[0].FindControl("DOB") as TextBox; if (DOB != null && DOB.Text != "") { if (DateTime.TryParse(DOB.Text, out _d)) { p.DOB = _d; } } p.Age = FormatHelper.SafeToInt(((TextBox)(rptr.Items[0]).FindControl("Age")).Text); p.ProgID = FormatHelper.SafeToInt(((DropDownList)(rptr.Items[0]).FindControl("ProgID")).SelectedValue); p.Username = ((TextBox)(rptr.Items[0]).FindControl("Username")).Text; p.Password = ((TextBox)(rptr.Items[0]).FindControl("Password")).Text; p.IsMasterAccount = false; p.MasterAcctPID = patron.PID; p.SchoolGrade = ((TextBox)(rptr.Items[0]).FindControl("SchoolGrade")).Text; p.FirstName = ((TextBox)(rptr.Items[0]).FindControl("FirstName")).Text; p.MiddleName = ((TextBox)(rptr.Items[0]).FindControl("MiddleName")).Text; p.LastName = ((TextBox)(rptr.Items[0]).FindControl("LastName")).Text; p.Gender = ((DropDownList)(rptr.Items[0]).FindControl("Gender")).SelectedValue; p.EmailAddress = ((TextBox)(rptr.Items[0]).FindControl("EmailAddress")).Text; p.PhoneNumber = ((TextBox)(rptr.Items[0]).FindControl("PhoneNumber")).Text; p.PhoneNumber = FormatHelper.FormatPhoneNumber(p.PhoneNumber); p.StreetAddress1 = ((TextBox)(rptr.Items[0]).FindControl("StreetAddress1")).Text; p.StreetAddress2 = ((TextBox)(rptr.Items[0]).FindControl("StreetAddress2")).Text; p.City = ((TextBox)(rptr.Items[0]).FindControl("City")).Text; p.State = ((TextBox)(rptr.Items[0]).FindControl("State")).Text; p.ZipCode = ((TextBox)(rptr.Items[0]).FindControl("ZipCode")).Text; p.ZipCode = FormatHelper.FormatZipCode(p.ZipCode); p.Country = ((TextBox)(rptr.Items[0]).FindControl("Country")).Text; p.County = ((TextBox)(rptr.Items[0]).FindControl("County")).Text; p.ParentGuardianFirstName = ((TextBox)(rptr.Items[0]).FindControl("ParentGuardianFirstName")).Text; p.ParentGuardianLastName = ((TextBox)(rptr.Items[0]).FindControl("ParentGuardianLastName")).Text; p.ParentGuardianMiddleName = ((TextBox)(rptr.Items[0]).FindControl("ParentGuardianMiddleName")).Text; p.LibraryCard = ((TextBox)(rptr.Items[0]).FindControl("LibraryCard")).Text; //p.District = ((DropDownList)(rptr.Items[0]).FindControl("District")).SelectedValue; //p.SDistrict = ((DropDownList)(rptr.Items[0]).FindControl("SDistrict")).SelectedValue.SafeToInt(); p.PrimaryLibrary = FormatHelper.SafeToInt(((DropDownList)(rptr.Items[0]).FindControl("PrimaryLibrary")).SelectedValue); p.SchoolName = ((DropDownList)(rptr.Items[0]).FindControl("SchoolName")).SelectedValue; p.SchoolType = FormatHelper.SafeToInt(((DropDownList)(rptr.Items[0]).FindControl("SchoolType")).SelectedValue); var lc = LibraryCrosswalk.FetchObjectByLibraryID(p.PrimaryLibrary); if (lc != null) { p.District = lc.DistrictID == 0 ? ((DropDownList)(rptr.Items[0]).FindControl("District")).SelectedValue : lc.DistrictID.ToString(); } else { p.District = ((DropDownList)(rptr.Items[0]).FindControl("District")).SelectedValue; } var sc = SchoolCrosswalk.FetchObjectBySchoolID(p.SchoolName.SafeToInt()); if (sc != null) { p.SDistrict = sc.DistrictID == 0 ? ((DropDownList)(rptr.Items[0]).FindControl("SDistrict")).SelectedValue.SafeToInt() : sc.DistrictID; p.SchoolType = sc.SchTypeID == 0 ? FormatHelper.SafeToInt(((DropDownList)(rptr.Items[0]).FindControl("SchoolType")).SelectedValue) : sc.SchTypeID; } else { p.SDistrict = ((DropDownList)(rptr.Items[0]).FindControl("SDistrict")).SelectedValue.SafeToInt(); } p.Teacher = ((TextBox)(rptr.Items[0]).FindControl("Teacher")).Text; p.GroupTeamName = ((TextBox)(rptr.Items[0]).FindControl("GroupTeamName")).Text; p.LiteracyLevel1 = FormatHelper.SafeToInt(((TextBox)(rptr.Items[0]).FindControl("LiteracyLevel1")).Text); p.LiteracyLevel2 = FormatHelper.SafeToInt(((TextBox)(rptr.Items[0]).FindControl("LiteracyLevel2")).Text); p.ParentPermFlag = true; p.Over18Flag = true; p.ShareFlag = true; p.TermsOfUseflag = true; var cr = CustomRegistrationFields.FetchObject(); p.Custom1 = cr.DDValues1 == "" ? ((TextBox)(rptr.Items[0]).FindControl("Custom1")).Text : ((DropDownList)(rptr.Items[0]).FindControl("Custom1DD")).SelectedValue; p.Custom2 = cr.DDValues2 == "" ? ((TextBox)(rptr.Items[0]).FindControl("Custom2")).Text : ((DropDownList)(rptr.Items[0]).FindControl("Custom2DD")).SelectedValue; p.Custom3 = cr.DDValues3 == "" ? ((TextBox)(rptr.Items[0]).FindControl("Custom3")).Text : ((DropDownList)(rptr.Items[0]).FindControl("Custom3DD")).SelectedValue; p.Custom4 = cr.DDValues4 == "" ? ((TextBox)(rptr.Items[0]).FindControl("Custom4")).Text : ((DropDownList)(rptr.Items[0]).FindControl("Custom4DD")).SelectedValue; p.Custom5 = cr.DDValues5 == "" ? ((TextBox)(rptr.Items[0]).FindControl("Custom5")).Text : ((DropDownList)(rptr.Items[0]).FindControl("Custom5DD")).SelectedValue; p.AvatarID = FormatHelper.SafeToInt(((System.Web.UI.HtmlControls.HtmlInputText)rptr.Items[0].FindControl("AvatarID")).Value); if (p.IsValid(BusinessRulesValidationMode.INSERT)) { p.Insert(); var prog = Programs.FetchObject(p.ProgID); var list = new List <Badge>(); if (prog.RegistrationBadgeID != 0) { AwardPoints.AwardBadgeToPatron(prog.RegistrationBadgeID, p, ref list); } AwardPoints.AwardBadgeToPatronViaMatchingAwards(p, ref list); patron.IsMasterAccount = true; patron.Update(); } 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); lblError.Text = message; return(false); } } catch (Exception ex) { lblError.Text = String.Format(SRPResources.ApplicationError1, ex.Message); return(false); } return(true); }
protected void btnSubmit_Click(object sender, EventArgs e) { var txtCount = txtCountSubmitted.Text.Trim(); var txtCode = txtProgramCode.Text.Trim(); // --------------------------------------------------------------------------------------------------- if (txtCount.Length > 0 && txtCode.Length > 0) { lblMessage.ForeColor = System.Drawing.Color.Red; lblMessage.Text = "Please enter either how much you have read OR a code, but not both.<br><br>"; return; } if (txtCount.Length == 0 && txtCode.Length == 0) { lblMessage.ForeColor = System.Drawing.Color.Red; lblMessage.Text = "Please enter either how much you have read OR a code.<br><br>"; return; } // --------------------------------------------------------------------------------------------------- int PID = int.Parse(lblPID.Text); int PGID = int.Parse(lblPGID.Text); var pa = new AwardPoints(PID); var sBadges = ""; var points = 0; #region Reading // --------------------------------------------------------------------------------------------------- // Logging reading ... //Badge EarnedBadge; if (txtCount.Length > 0) { var intCount = 0; if (!int.TryParse(txtCount, out intCount)) { lblMessage.ForeColor = System.Drawing.Color.Red; lblMessage.Text = "How much you have read must be a number.<br><br>"; return; } if (intCount < 0) { lblMessage.ForeColor = System.Drawing.Color.Red; lblMessage.Text = "Hmmm, you must enter a positive number...<br><br>"; return; } int maxAmountForLogging = 0; int maxPointsPerDayForLogging = SRPSettings.GetSettingValue("MaxPtsDay").SafeToInt(); switch (int.Parse(rbActivityType.SelectedValue)) { case 0: maxAmountForLogging = SRPSettings.GetSettingValue("MaxBook").SafeToInt(); break; case 1: maxAmountForLogging = SRPSettings.GetSettingValue("MaxPage").SafeToInt(); break; //case 2: maxAmountForLogging = SRPSettings.GetSettingValue("MaxPar").SafeToInt(); // break; case 3: maxAmountForLogging = SRPSettings.GetSettingValue("MaxMin").SafeToInt(); break; default: maxAmountForLogging = SRPSettings.GetSettingValue("MaxMin").SafeToInt(); break; } if (intCount > maxAmountForLogging) { lblMessage.ForeColor = System.Drawing.Color.Red; lblMessage.Text = string.Format("That is an awful lot of reading... unfortunately the maximum you can submit at one time is {0} {1}.<br><br>", maxAmountForLogging, ((ActivityType)int.Parse(rbActivityType.SelectedValue)).ToString()); return; } // convert pages/minutes/etc. to points var pc = new ProgramGamePointConversion(); pc.FetchByActivityId(PGID, int.Parse(rbActivityType.SelectedValue)); points = Convert.ToInt32(intCount * pc.PointCount / pc.ActivityCount); var allPointsToday = PatronPoints.GetTotalPatronPoints(PID, DateTime.Now); if (intCount + allPointsToday > maxPointsPerDayForLogging) { lblMessage.ForeColor = System.Drawing.Color.Red; lblMessage.Text = string.Format("We are sorry, you have reached the maximum amount of points you are allowed to log in a single day, regardless of how the points were earned. Please come back and and log them tomorrow.<br><br>"); return; } sBadges = pa.AwardPointsToPatron(points, PointAwardReason.Reading, 0, (ActivityType)pc.ActivityTypeId, intCount, txtAuthor.Text.Trim(), txtTitle.Text.Trim(), Review.Text.Trim()); } #endregion #region Event Attendance // Logging event attendance if (txtCode.Length > 0) { // verify event code was not previously redeemed if (PatronPoints.HasRedeemedKeywordPoints(PID, txtCode)) { lblMessage.ForeColor = System.Drawing.Color.Red; lblMessage.Text = "This code has already been redeemend for your account.<br><br>"; return; } // get event for that code, get the # points var ds = Event.GetEventByEventCode(pa.pgm.StartDate.ToShortDateString(), DateTime.Now.ToShortDateString(), txtCode); if (ds.Tables[0].Rows.Count == 0) { lblMessage.ForeColor = System.Drawing.Color.Red; lblMessage.Text = "This code is not valid.<br><br>"; return; } var EID = (int)ds.Tables[0].Rows[0]["EID"]; var evt = Event.GetEvent(EID); points = evt.NumberPoints; //var newPBID = 0; if (evt.BadgeID != 0) { sBadges = pa.AwardPointsToPatron(points, PointAwardReason.EventAttendance, eventCode: txtCode, eventID: EID); } } #endregion if (sBadges != "") { Session["GoToUrl"] = GoToUrl; Response.Redirect("~/BadgeAward.aspx?b=" + sBadges); } lblMessage.ForeColor = System.Drawing.Color.Green; lblMessage.Text = string.Format("Your reading activity has been logged.<br>You have earned {0} points.<br><br>", points); txtAuthor.Text = txtTitle.Text = txtCountSubmitted.Text = Review.Text = txtProgramCode.Text = ""; btnSubmit.Visible = false; btnReSubmit.Visible = true; EntryTable.Visible = false; //return;)) var c = ((BaseSRPPage)Page).FindControlRecursive(Page, "MyPointsControl1"); if (c != null) { ((MyPointsControl)c).LoadData(); } c = ((BaseSRPPage)Page).FindControlRecursive(Page, "LeaderBoardControl1"); if (c != null) { ((LeaderBoardControl)c).LoadData(); } if (!StayOnPage) { Response.Redirect(GoToUrl); } }
public bool SaveAccount() { try { var p = new Patron(); DateTime _d; var DOB = rptr.Items[0].FindControl("DOB") as TextBox; if (DOB != null && DOB.Text != "") { if (DateTime.TryParse(DOB.Text, out _d)) { p.DOB = _d; } } p.Age = FormatHelper.SafeToInt(((TextBox)(rptr.Items[0]).FindControl("Age")).Text); p.ProgID = FormatHelper.SafeToInt(((DropDownList)(rptr.Items[0]).FindControl("ProgID")).SelectedValue); p.Username = ((TextBox)(rptr.Items[0]).FindControl("Username")).Text; p.Password = ((TextBox)(rptr.Items[0]).FindControl("Password")).Text; var famAcct = (RadioButtonList)rptr.Items[0].FindControl("FamilyAccount"); p.IsMasterAccount = (famAcct.SelectedValue == "Yes" && MasterPID.Text.Length == 0); p.SchoolGrade = ((TextBox)(rptr.Items[0]).FindControl("SchoolGrade")).Text; p.FirstName = ((TextBox)(rptr.Items[0]).FindControl("FirstName")).Text; p.MiddleName = ((TextBox)(rptr.Items[0]).FindControl("MiddleName")).Text; p.LastName = ((TextBox)(rptr.Items[0]).FindControl("LastName")).Text; p.Gender = ((DropDownList)(rptr.Items[0]).FindControl("Gender")).SelectedValue; p.EmailAddress = ((TextBox)(rptr.Items[0]).FindControl("EmailAddress")).Text; p.PhoneNumber = ((TextBox)(rptr.Items[0]).FindControl("PhoneNumber")).Text; p.PhoneNumber = FormatHelper.FormatPhoneNumber(p.PhoneNumber); p.StreetAddress1 = ((TextBox)(rptr.Items[0]).FindControl("StreetAddress1")).Text; p.StreetAddress2 = ((TextBox)(rptr.Items[0]).FindControl("StreetAddress2")).Text; p.City = ((TextBox)(rptr.Items[0]).FindControl("City")).Text; p.State = ((TextBox)(rptr.Items[0]).FindControl("State")).Text; p.ZipCode = ((TextBox)(rptr.Items[0]).FindControl("ZipCode")).Text; p.ZipCode = FormatHelper.FormatZipCode(p.ZipCode); p.Country = ((TextBox)(rptr.Items[0]).FindControl("Country")).Text; p.County = ((TextBox)(rptr.Items[0]).FindControl("County")).Text; p.ParentGuardianFirstName = ((TextBox)(rptr.Items[0]).FindControl("ParentGuardianFirstName")).Text; p.ParentGuardianLastName = ((TextBox)(rptr.Items[0]).FindControl("ParentGuardianLastName")).Text; p.ParentGuardianMiddleName = ((TextBox)(rptr.Items[0]).FindControl("ParentGuardianMiddleName")).Text; p.LibraryCard = ((TextBox)(rptr.Items[0]).FindControl("LibraryCard")).Text; //p.District = ((DropDownList)(rptr.Items[0]).FindControl("District")).SelectedValue; //p.SDistrict = ((DropDownList)(rptr.Items[0]).FindControl("SDistrict")).SelectedValue.SafeToInt(); p.PrimaryLibrary = FormatHelper.SafeToInt(((DropDownList)(rptr.Items[0]).FindControl("PrimaryLibrary")).SelectedValue); p.SchoolName = ((DropDownList)(rptr.Items[0]).FindControl("SchoolName")).SelectedValue; p.SchoolType = FormatHelper.SafeToInt(((DropDownList)(rptr.Items[0]).FindControl("SchoolType")).SelectedValue); var lc = LibraryCrosswalk.FetchObjectByLibraryID(p.PrimaryLibrary); if (lc != null) { p.District = lc.DistrictID == 0 ? ((DropDownList)(rptr.Items[0]).FindControl("District")).SelectedValue : lc.DistrictID.ToString(); } else { p.District = ((DropDownList)(rptr.Items[0]).FindControl("District")).SelectedValue; } var sc = SchoolCrosswalk.FetchObjectBySchoolID(p.SchoolName.SafeToInt()); if (sc != null) { p.SDistrict = sc.DistrictID == 0 ? ((DropDownList)(rptr.Items[0]).FindControl("SDistrict")).SelectedValue.SafeToInt() : sc.DistrictID; p.SchoolType = sc.SchTypeID == 0 ? FormatHelper.SafeToInt(((DropDownList)(rptr.Items[0]).FindControl("SchoolType")).SelectedValue) : sc.SchTypeID; } else { p.SDistrict = ((DropDownList)(rptr.Items[0]).FindControl("SDistrict")).SelectedValue.SafeToInt(); } p.Teacher = ((TextBox)(rptr.Items[0]).FindControl("Teacher")).Text; p.GroupTeamName = ((TextBox)(rptr.Items[0]).FindControl("GroupTeamName")).Text; p.LiteracyLevel1 = FormatHelper.SafeToInt(((TextBox)(rptr.Items[0]).FindControl("LiteracyLevel1")).Text); p.LiteracyLevel2 = FormatHelper.SafeToInt(((TextBox)(rptr.Items[0]).FindControl("LiteracyLevel2")).Text); p.ParentPermFlag = ((CheckBox)(rptr.Items[0]).FindControl("ParentPermFlag")).Checked; p.Over18Flag = int.Parse(RegistrationAge.Text) > 18; p.ShareFlag = ((CheckBox)(rptr.Items[0]).FindControl("ShareFlag")).Checked; p.TermsOfUseflag = ((CheckBox)(rptr.Items[0]).FindControl("TermsOfUseflag")).Checked; var cr = CustomRegistrationFields.FetchObject(); p.Custom1 = cr.DDValues1 == "" ? ((TextBox)(rptr.Items[0]).FindControl("Custom1")).Text : ((DropDownList)(rptr.Items[0]).FindControl("Custom1DD")).SelectedValue; p.Custom2 = cr.DDValues2 == "" ? ((TextBox)(rptr.Items[0]).FindControl("Custom2")).Text : ((DropDownList)(rptr.Items[0]).FindControl("Custom2DD")).SelectedValue; p.Custom3 = cr.DDValues3 == "" ? ((TextBox)(rptr.Items[0]).FindControl("Custom3")).Text : ((DropDownList)(rptr.Items[0]).FindControl("Custom3DD")).SelectedValue; p.Custom4 = cr.DDValues4 == "" ? ((TextBox)(rptr.Items[0]).FindControl("Custom4")).Text : ((DropDownList)(rptr.Items[0]).FindControl("Custom4DD")).SelectedValue; p.Custom5 = cr.DDValues5 == "" ? ((TextBox)(rptr.Items[0]).FindControl("Custom5")).Text : ((DropDownList)(rptr.Items[0]).FindControl("Custom5DD")).SelectedValue; //p.Custom1 = ((TextBox)(rptr.Items[0]).FindControl("Custom1")).Text; //p.Custom2 = ((TextBox)(rptr.Items[0]).FindControl("Custom2")).Text; //p.Custom3 = ((TextBox)(rptr.Items[0]).FindControl("Custom3")).Text; //p.Custom4 = ((TextBox)(rptr.Items[0]).FindControl("Custom4")).Text; //p.Custom5 = ((TextBox)(rptr.Items[0]).FindControl("Custom5")).Text; p.AvatarID = FormatHelper.SafeToInt(((System.Web.UI.HtmlControls.HtmlInputText)rptr.Items[0].FindControl("AvatarID")).Value); var registeringMasterAccount = true; if (RegisteringFamily.Text != "0") { registeringMasterAccount = false; p.MasterAcctPID = int.Parse(MasterPID.Text); } if (p.IsValid(BusinessRulesValidationMode.INSERT)) { p.Insert(); var prog = Programs.FetchObject(p.ProgID); var list = new List <Badge>(); if (prog.RegistrationBadgeID != 0) { AwardPoints.AwardBadgeToPatron(prog.RegistrationBadgeID, p, ref list); #region replaced by call above // var now = DateTime.Now; // var pb = new PatronBadges { BadgeID = prog.RegistrationBadgeID, DateEarned = now, PID = p.PID }; // pb.Insert(); // var EarnedBadge = Badge.GetBadge(prog.RegistrationBadgeID); // //if badge generates notification, then generate the notification // if (EarnedBadge.GenNotificationFlag) // { // var not = new Notifications // { // PID_To = p.PID, // PID_From = 0, //0 == System Notification // Subject = EarnedBadge.NotificationSubject, // Body = EarnedBadge.NotificationBody, // isQuestion = false, // AddedDate = now, // LastModDate = now, // AddedUser = p.Username, // LastModUser = "******" // }; // not.Insert(); // } // //if badge generates prize, then generate the prize // if (EarnedBadge.IncludesPhysicalPrizeFlag) // { // var ppp = new DAL.PatronPrizes // { // PID = p.PID, // PrizeSource = 1, // PrizeName = EarnedBadge.PhysicalPrizeName, // RedeemedFlag = false, // AddedUser = p.Username, // LastModUser = "******", // AddedDate = now, // LastModDate = now // }; // ppp.Insert(); // } // // if badge generates award code, then generate the code // if (EarnedBadge.AssignProgramPrizeCode) // { // var RewardCode = ""; // // get the Code value // // save the code value for the patron // RewardCode = ProgramCodes.AssignCodeForPatron(p.ProgID, p.ProgID); // // generate the notification // var not = new Notifications // { // PID_To = p.PID, // PID_From = 0, //0 == System Notification // Subject = EarnedBadge.PCNotificationSubject, // Body = EarnedBadge.PCNotificationBody.Replace("{ProgramRewardCode}", RewardCode), // isQuestion = false, // AddedDate = now, // LastModDate = now, // AddedUser = p.Username, // LastModUser = "******" // }; // not.Insert(); // } #endregion } AwardPoints.AwardBadgeToPatronViaMatchingAwards(p, ref list); var sBadges = ""; sBadges = list.Aggregate(sBadges, (current, b) => current + "|" + b.BID.ToString()); if (p.IsMasterAccount && sBadges.Length > 0) { GoToUrl = ("~/BadgeAward.aspx?b=" + sBadges); // if family account and is master, and has badges, rememebr to show them } if (!p.IsMasterAccount && p.MasterAcctPID == 0 && sBadges.Length > 0) { GoToUrl = ("~/BadgeAward.aspx?b=" + sBadges); // if not family master or not family at all and badges, rememebr to show ... } if (registeringMasterAccount) { MasterPID.Text = p.PID.ToString(); Session["PatronLoggedIn"] = true; Session["Patron"] = p; Session["ProgramID"] = p.ProgID; Session["PatronProgramID"] = p.ProgID; Session["CurrentProgramID"] = p.ProgID; } } 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); lblError.Text = message; return(false); } } catch (Exception ex) { lblError.Text = String.Format(SRPResources.ApplicationError1, ex.Message); return(false); } return(true); }
public void ProcessTheWin() { var mg = DAL.Minigame.FetchObject(int.Parse(MGID.Text)); var pa = new AwardPoints(int.Parse(PID.Text)); var sBadges = pa.AwardPointsToPatron(mg.NumberPoints, PointAwardReason.MiniGameCompletion, mg.MGID); if (sBadges.Length > 0) { Response.Redirect("~/BadgeAward.aspx?b=" + sBadges); } //var mg = DAL.Minigame.FetchObject(int.Parse(MGID.Text)); //var patron = (Patron)Patron.FetchObject(int.Parse(PID.Text)); //var pgm = Programs.FetchObject(patron.ProgID); //var StartingPoints = PatronPoints.GetTotalPatronPoints(patron.PID); //var EndingPoints = StartingPoints; //var EarnedBadges = new List<Badge>(); //Badge EarnedBadge; //// 1 - log points to patron activity (mg.NumberPoints) //var now = DateTime.Now; //var pp = new PatronPoints //{ // PID = patron.PID, // NumPoints = mg.NumberPoints, // AwardDate = now, // AwardReasonCd = (int)PointAwardReason.MiniGameCompletion, // AwardReason = PatronPoints.PointAwardReasonCdToDescription(PointAwardReason.MiniGameCompletion), // BadgeAwardedFlag = false, // isBookList = false, // isEvent = false, // isGame = false, // isGameLevelActivity = true, // GameLevelActivityID = mg.MGID, // isReading = false, // LogID = 0 //}; //pp.Insert(); //if (mg.AwardedBadgeID > 0) //{ // var pbds = PatronBadges.GetAll(patron.PID); // var a = pbds.Tables[0].AsEnumerable().Where(r => r.Field<int>("BadgeID") == mg.AwardedBadgeID); // var newTable = new DataTable(); // try { newTable = a.CopyToDataTable(); } // catch { } // //DataTable newTable = a.CopyToDataTable(); // if (newTable.Rows.Count == 0) // { // var pb = new PatronBadges { BadgeID = mg.AwardedBadgeID, DateEarned = now, PID = patron.PID }; // pb.Insert(); // EarnedBadge = Badge.GetBadge(mg.AwardedBadgeID); // EarnedBadges.Add(EarnedBadge); // //if badge generates notification, then generate the notification // if (EarnedBadge.GenNotificationFlag) // { // var not = new Notifications // { // PID_To = patron.PID, // PID_From = 0, //0 == System Notification // Subject = EarnedBadge.NotificationSubject, // Body = EarnedBadge.NotificationBody, // isQuestion = false, // AddedDate = now, // LastModDate = now, // AddedUser = patron.Username, // LastModUser = "******" // }; // not.Insert(); // } // pp.BadgeAwardedFlag = true; // pp.BadgeID = mg.AwardedBadgeID; // pp.Update(); // } //} //EndingPoints = PatronPoints.GetTotalPatronPoints(patron.PID); //EarnedBadge = null; //EarnedBadge = TallyPoints(patron, pgm, StartingPoints, EndingPoints, ref EarnedBadges); //if (EarnedBadge != null) //{ // // Award the badge // var newPBID = 0; // var pb = new PatronBadges { BadgeID = EarnedBadge.BID, DateEarned = now, PID = patron.PID }; // pb.Insert(); // newPBID = pb.PBID; // //if badge generates notification, then generate the notification // if (EarnedBadge.GenNotificationFlag) // { // var not = new Notifications // { // PID_To = patron.PID, // PID_From = 0, //0 == System Notification // Subject = EarnedBadge.NotificationSubject, // Body = EarnedBadge.NotificationBody, // isQuestion = false, // AddedDate = now, // LastModDate = now, // AddedUser = patron.Username, // LastModUser = "******" // }; // not.Insert(); // } //} //if (EarnedBadges.Count > 0) //{ // //Display Badges Awards messages // var badges = EarnedBadges.Count.ToString(); // //foreach(Badge b in EarnedBadges) // //{ // // badges = badges + "|" + b.BID.ToString(); // //} // badges = EarnedBadges.Aggregate(badges, (current, b) => current + "|" + b.BID.ToString()); // //Server.Transfer("~/BadgeAward.aspx?b=" + badges); // Response.Redirect("~/BadgeAward.aspx?b=" + badges); //} }