protected void btOk_Click(object sender, EventArgs e) { DojoAttendanceEntry dojoAttendanceEntry = new DojoAttendanceEntry(dojoAttendanceEntryID); dojoAttendanceEntry.Delete(); dojoAttendanceEntryID = 0; OnDeleted(EventArgs.Empty); }
public void Remove(DojoAttendanceEntry value) { OnCollectionChanged(EventArgs.Empty); int index = IndexOf(value); if (index == -1) { throw(new Exception("DojoAttendanceEntry not found in collection.")); } RemoveAt(index); }
protected override void OnPreRender(EventArgs e) { if (loadFlag) { if (dojoAttendanceEntryID > 0) { obj = new DojoAttendanceEntry(dojoAttendanceEntryID); headerText.Text = "Edit - " + obj.ToString(); } else if (dojoAttendanceEntryID <= 0) { obj = new DojoAttendanceEntry(); headerText.Text = "Add "; } // Bind Default Data tbSigninTime.Text = obj.SigninTime.ToString(); tbSignoutTime.Text = obj.SignoutTime.ToString(); if (obj.Class != null) { foreach (ListItem item in comboClass.Items) { item.Selected = obj.Class.ID.ToString() == item.Value; } } else { comboClass.SelectedIndex = 0; } if (obj.Member != null) { foreach (ListItem item in comboMember.Items) { item.Selected = obj.Member.ID.ToString() == item.Value; } } else { comboMember.SelectedIndex = 0; } if (obj.Rank != null) { foreach (ListItem item in comboRank.Items) { item.Selected = obj.Rank.ID.ToString() == item.Value; } } else { comboRank.SelectedIndex = 0; } tabstrip.SelectedTab = tabstrip.Tabs[0]; } }
public int Add(DojoAttendanceEntry value) { OnCollectionChanged(EventArgs.Empty); lock (this) { count++; ensureArrays(); addIndexKey(value.ID); DojoAttendanceEntryArray[count - 1] = value; return(count - 1); } }
public void Add(DojoAttendanceEntry dojoAttendanceEntry, TimeSpan slidingExpiration) { lock (this) { count++; ensureArrays(); dojoAttendanceEntryArray[count - 1] = dojoAttendanceEntry; timeStamps[count - 1] = DateTime.Now; absoluteExpirations[count - 1] = DateTime.Now.Add(slidingExpiration); // Never Expires slidingExpirations[count - 1] = slidingExpiration; // Never slides quickSort(0, count - 1); } }
protected override void OnPreRender(EventArgs e) { if (dojoAttendanceEntryID != 0) { dojoAttendanceEntry = new DojoAttendanceEntry(dojoAttendanceEntryID); text = "Delete - " + dojoAttendanceEntry.ToString(); } else { text = "Delete "; } EnsureWindowScripts(); }
public int IndexOf(DojoAttendanceEntry value) { lock (this) { for (int x = 0; x < count; x++) { if (DojoAttendanceEntryArray[x].Equals(value)) { return(x); } } } return(-1); }
public void Insert(int index, DojoAttendanceEntry value) { OnCollectionChanged(EventArgs.Empty); lock (this) { count++; ensureArrays(); addIndexKey(value.ID); for (int x = index + 1; x == count - 2; x++) { DojoAttendanceEntryArray[x] = DojoAttendanceEntryArray[x - 1]; } DojoAttendanceEntryArray[index] = value; } }
/// <summary> /// Ensures that the index and object array are sized correctly /// for additions. This method should be protected by locks /// issued by calling methods. /// </summary> private void ensureArrays() { if (count > DojoAttendanceEntryArray.GetUpperBound(0) + 1) { int[,] tempIndex = new int[count * 2, 2]; DojoAttendanceEntry[] tempDojoAttendanceEntryArray = new DojoAttendanceEntry[count * 2]; for (int x = 0; x <= DojoAttendanceEntryArray.GetUpperBound(0); x++) { tempIndex[x, 0] = index[x, 0]; // Copy ID tempIndex[x, 1] = index[x, 1]; // Copy Location tempDojoAttendanceEntryArray[x] = DojoAttendanceEntryArray[x]; // Copy Object } index = tempIndex; DojoAttendanceEntryArray = tempDojoAttendanceEntryArray; } }
/// <summary> /// Ensures that the index and object array are sized correctly /// for additions. This method should be protected by locks /// issued by calling methods. /// </summary> private void ensureArrays() { if (count > dojoAttendanceEntryArray.GetUpperBound(0) + 1) { DojoAttendanceEntry[] tempDojoAttendanceEntryArray = new DojoAttendanceEntry[count * 2]; DateTime[] tempTimeStamps = new DateTime[count * 2]; DateTime[] tempAbsoluteExpirations = new DateTime[count * 2]; TimeSpan[] tempSlidingExpirations = new TimeSpan[count * 2]; Array.Copy(dojoAttendanceEntryArray, tempDojoAttendanceEntryArray, count - 1); Array.Copy(timeStamps, tempTimeStamps, count - 1); Array.Copy(absoluteExpirations, tempAbsoluteExpirations, count - 1); Array.Copy(slidingExpirations, tempSlidingExpirations, count - 1); dojoAttendanceEntryArray = tempDojoAttendanceEntryArray; timeStamps = tempTimeStamps; absoluteExpirations = tempAbsoluteExpirations; slidingExpirations = tempSlidingExpirations; } }
public void CheckedAdd(DojoAttendanceEntry dojoAttendanceEntry, TimeSpan slidingExpiration) { lock (this) { int i = binarySearch(dojoAttendanceEntry.iD); if (i != -1) { dojoAttendanceEntryArray[i] = dojoAttendanceEntry; absoluteExpirations[i] = DateTime.Now.Add(slidingExpiration); // Expires slidingExpirations[i] = slidingExpiration; // Never slides return; } count++; ensureArrays(); dojoAttendanceEntryArray[count - 1] = dojoAttendanceEntry; timeStamps[count - 1] = DateTime.Now; absoluteExpirations[count - 1] = DateTime.Now.Add(slidingExpiration); // Expires slidingExpirations[count - 1] = slidingExpiration; // Never slides quickSort(0, count - 1); } }
public bool Contains(DojoAttendanceEntry value) { return(IndexOf(value) != -1); }
protected void ok_Click(object sender, EventArgs e) { if (dojoAccessControlGroupID == 0) { obj = new DojoAccessControlGroup(); } else { obj = new DojoAccessControlGroup(dojoAccessControlGroupID); } obj.Name = tbName.Text; obj.Description = tbDescription.Text; obj.OrderNum = int.Parse(tbOrderNum.Text); if (msAllowedMemberType1.SelectedItem != null && msAllowedMemberType1.SelectedItem.Value != "Null") { obj.AllowedMemberType1 = DojoAttendanceEntry.NewPlaceHolder( int.Parse(msAllowedMemberType1.SelectedItem.Value)); } else { obj.AllowedMemberType1 = null; } if (msAllowedMemberType2.SelectedItem != null && msAllowedMemberType2.SelectedItem.Value != "Null") { obj.AllowedMemberType2 = DojoAttendanceEntry.NewPlaceHolder( int.Parse(msAllowedMemberType2.SelectedItem.Value)); } else { obj.AllowedMemberType2 = null; } if (msAllowedMemberType3.SelectedItem != null && msAllowedMemberType3.SelectedItem.Value != "Null") { obj.AllowedMemberType3 = DojoAttendanceEntry.NewPlaceHolder( int.Parse(msAllowedMemberType3.SelectedItem.Value)); } else { obj.AllowedMemberType3 = null; } if (msAllowedMemberType4.SelectedItem != null && msAllowedMemberType4.SelectedItem.Value != "Null") { obj.AllowedMemberType4 = DojoAttendanceEntry.NewPlaceHolder( int.Parse(msAllowedMemberType4.SelectedItem.Value)); } else { obj.AllowedMemberType4 = null; } if (msAllowedMemberType5.SelectedItem != null && msAllowedMemberType5.SelectedItem.Value != "Null") { obj.AllowedMemberType5 = DojoAttendanceEntry.NewPlaceHolder( int.Parse(msAllowedMemberType5.SelectedItem.Value)); } else { obj.AllowedMemberType5 = null; } if (msDeniedMemberType1.SelectedItem != null && msDeniedMemberType1.SelectedItem.Value != "Null") { obj.DeniedMemberType1 = DojoAttendanceEntry.NewPlaceHolder( int.Parse(msDeniedMemberType1.SelectedItem.Value)); } else { obj.DeniedMemberType1 = null; } if (msDeniedMemberType2.SelectedItem != null && msDeniedMemberType2.SelectedItem.Value != "Null") { obj.DeniedMemberType2 = DojoAttendanceEntry.NewPlaceHolder( int.Parse(msDeniedMemberType2.SelectedItem.Value)); } else { obj.DeniedMemberType2 = null; } if (msDeniedMemberType3.SelectedItem != null && msDeniedMemberType3.SelectedItem.Value != "Null") { obj.DeniedMemberType3 = DojoAttendanceEntry.NewPlaceHolder( int.Parse(msDeniedMemberType3.SelectedItem.Value)); } else { obj.DeniedMemberType3 = null; } if (msDeniedMemberType4.SelectedItem != null && msDeniedMemberType4.SelectedItem.Value != "Null") { obj.DeniedMemberType4 = DojoAttendanceEntry.NewPlaceHolder( int.Parse(msDeniedMemberType4.SelectedItem.Value)); } else { obj.DeniedMemberType4 = null; } if (msDeniedMemberType5.SelectedItem != null && msDeniedMemberType5.SelectedItem.Value != "Null") { obj.DeniedMemberType5 = DojoAttendanceEntry.NewPlaceHolder( int.Parse(msDeniedMemberType5.SelectedItem.Value)); } else { obj.DeniedMemberType5 = null; } if (editOnAdd) { dojoAccessControlGroupID = obj.Save(); } else { obj.Save(); } if (resetOnAdd) { tbName.Text = string.Empty; tbDescription.Text = string.Empty; tbOrderNum.Text = string.Empty; msAllowedMemberType1.SelectedIndex = 0; msAllowedMemberType2.SelectedIndex = 0; msAllowedMemberType3.SelectedIndex = 0; msAllowedMemberType4.SelectedIndex = 0; msAllowedMemberType5.SelectedIndex = 0; msDeniedMemberType1.SelectedIndex = 0; msDeniedMemberType2.SelectedIndex = 0; msDeniedMemberType3.SelectedIndex = 0; msDeniedMemberType4.SelectedIndex = 0; msDeniedMemberType5.SelectedIndex = 0; } OnUpdated(EventArgs.Empty); }
protected override void OnPreRender(EventArgs e) { if (dojoAttendanceEntryID != 0) { dojoAttendanceEntry = new DojoAttendanceEntry(dojoAttendanceEntryID); #region Bind Default Folder // // Set Field Entries // ltSigninTime.Text = dojoAttendanceEntry.SigninTime.ToString(); ltSignoutTime.Text = dojoAttendanceEntry.SignoutTime.ToString(); // // Set Children Selections // // Class if (dojoAttendanceEntry.Class != null) { ltClass.Text = dojoAttendanceEntry.Class.ToString(); } else { ltClass.Text = string.Empty; } // Member if (dojoAttendanceEntry.Member != null) { ltMember.Text = dojoAttendanceEntry.Member.ToString(); } else { ltMember.Text = string.Empty; } // Rank if (dojoAttendanceEntry.Rank != null) { ltRank.Text = dojoAttendanceEntry.Rank.ToString(); } else { ltRank.Text = string.Empty; } #endregion #region Bind _system Folder // // Set Field Entries // // // Set Children Selections // #endregion text = "View - " + dojoAttendanceEntry.ToString(); } }
protected override void OnPreRender(EventArgs e) { if (loadFlag) { if (dojoAttendanceEntryID > 0) { obj = new DojoAttendanceEntry(dojoAttendanceEntryID); text = "Edit - " + obj.ToString(); } else if (dojoAttendanceEntryID <= 0) { obj = new DojoAttendanceEntry(); text = "Add "; } // // Set Field Entries // tbSigninTime.Text = obj.SigninTime.ToString(); tbSignoutTime.Text = obj.SignoutTime.ToString(); // // Set Children Selections // if (obj.Class != null) { foreach (ListItem item in msClass.Items) { item.Selected = obj.Class.ID.ToString() == item.Value; } } else { msClass.SelectedIndex = 0; } if (obj.Member != null) { foreach (ListItem item in msMember.Items) { item.Selected = obj.Member.ID.ToString() == item.Value; } } else { msMember.SelectedIndex = 0; } if (obj.Rank != null) { foreach (ListItem item in msRank.Items) { item.Selected = obj.Rank.ID.ToString() == item.Value; } } else { msRank.SelectedIndex = 0; } } }
protected void ok_Click(object sender, EventArgs e) { if (dojoAttendanceEntryID == 0) { obj = new DojoAttendanceEntry(); } else { obj = new DojoAttendanceEntry(dojoAttendanceEntryID); } obj.SigninTime = DateTime.Parse(tbSigninTime.Text); obj.SignoutTime = DateTime.Parse(tbSignoutTime.Text); if (msClass.SelectedItem != null && msClass.SelectedItem.Value != "Null") { obj.Class = DojoClass.NewPlaceHolder( int.Parse(msClass.SelectedItem.Value)); } else { obj.Class = null; } if (msMember.SelectedItem != null && msMember.SelectedItem.Value != "Null") { obj.Member = DojoMember.NewPlaceHolder( int.Parse(msMember.SelectedItem.Value)); } else { obj.Member = null; } if (msRank.SelectedItem != null && msRank.SelectedItem.Value != "Null") { obj.Rank = DojoRank.NewPlaceHolder( int.Parse(msRank.SelectedItem.Value)); } else { obj.Rank = null; } if (editOnAdd) { dojoAttendanceEntryID = obj.Save(); } else { obj.Save(); } if (resetOnAdd) { tbSigninTime.Text = DateTime.Now.ToString(); tbSignoutTime.Text = DateTime.Now.ToString(); msClass.SelectedIndex = 0; msMember.SelectedIndex = 0; msRank.SelectedIndex = 0; } OnUpdated(EventArgs.Empty); }
private void saveAttendance() { DojoMember member; string whereQuery; DojoAttendanceEntryManager aManager; DojoAttendanceEntryCollection attendance; int[] selectedClasses; string[] ids; bool removeEntry; bool formChanged; AttendanceScanner aScanner; // Load Member and set LastSignIn to present time member = new DojoMember(memberID); member.LastSignin = DateTime.Now; // Get classes on the attendance form. classIdArray = Context.Request.Form["___" + ClientID + "Classes"].Split(','); // Build query to get member's attendance for the classes on // the attendance form and get the memberTypeTemplates. whereQuery = "MemberID=" + member.iD; if (classIdArray.Length > 0) { whereQuery += " AND ("; for (int x = 0; x < classIdArray.Length; x++) { if (x == 0) { whereQuery += "ClassID=" + classIdArray[x] + " "; } else { whereQuery += "OR ClassID=" + classIdArray[x] + " "; } } whereQuery += ") "; } aManager = new DojoAttendanceEntryManager(); attendance = aManager.GetCollection(whereQuery, string.Empty, null); // Load selected classes from form. if (Page.Request.Form[this.ClientID + "classoptions"] != null) { ids = Page.Request.Form[this.ClientID + "classoptions"].Split(','); selectedClasses = new int[ids.Length]; for (int x = 0; x < ids.Length; x++) { selectedClasses[x] = int.Parse(ids[x]); } } else { // What the hell is this? selectedClasses = new int[0]; } // Assume that the form has not been changed. formChanged = false; // Save newly checked classes. for (int x = 0; x < selectedClasses.Length; x++) { // Ignore classes already checked! foreach (DojoAttendanceEntry aEntry in attendance) { if (selectedClasses[x] == aEntry.Class.iD) { goto NEXT_ENTRY; } } DojoAttendanceEntry entry = new DojoAttendanceEntry(); entry.Class = DojoClass.NewPlaceHolder(selectedClasses[x]); entry.Member = member; entry.Rank = member.rank; entry.SigninTime = localTime; attendance.Add(entry); entry.Save(); formChanged = true; NEXT_ENTRY: continue; } // Delete unchecked classes. foreach (DojoAttendanceEntry aEntry in attendance) { removeEntry = true; for (int x = 0; x < selectedClasses.Length; x++) { if (aEntry.Class.iD == selectedClasses[x]) { removeEntry = false; } } if (removeEntry) { aEntry.Delete(); formChanged = true; } } // Run attendance scan if form has changed if (formChanged) { aScanner = new AttendanceScanner(); aScanner.RunMemberAttendanceScan(member, TimeSpan.FromHours(1)); member.Save(); } }
private void renderEntry(HtmlTextWriter output, string rowCssClass, DojoAttendanceEntry entry) { output.WriteBeginTag("tr"); output.WriteAttribute("i", entry.ID.ToString()); output.WriteLine(HtmlTextWriter.TagRightChar); output.Indent++; // // Render Main Representation of Record // output.WriteBeginTag("td"); output.WriteAttribute("valign", "top"); output.WriteAttribute("class", rowCssClass); output.Write(HtmlTextWriter.TagRightChar); if (ddMembers.SelectedItem.Value != "-1") { output.Write(entry.Class.ClassStart.ToString("f")); } else { output.Write(entry.Member.PrivateContact.FullName); } output.WriteEndTag("td"); output.WriteLine(); // // Render Class Date // if (ddMembers.SelectedItem.Value == "-1") { output.WriteBeginTag("td"); output.WriteAttribute("class", rowCssClass); output.Write(HtmlTextWriter.TagRightChar); output.Write(entry.Class.ClassStart.ToString("f")); output.WriteEndTag("td"); output.WriteLine(); } // Render Class output.WriteBeginTag("td"); output.WriteAttribute("class", rowCssClass); output.Write(HtmlTextWriter.TagRightChar); output.Write(entry.Class.Name); output.WriteEndTag("td"); output.WriteLine(); // Render Rank output.WriteBeginTag("td"); output.WriteAttribute("class", rowCssClass); output.Write(HtmlTextWriter.TagRightChar); output.Write(entry.Rank.Name); output.WriteEndTag("td"); output.WriteLine(); output.Indent--; output.WriteEndTag("tr"); output.WriteLine(); }
public override void Render(System.Web.UI.HtmlTextWriter output) { TableGrid grid; if (ParentWindow is TableGrid) { grid = (TableGrid)ParentWindow; if (ParentWindow is DojoMemberGrid) { } else if (ParentWindow is DojoTestEligibilityGrid) { } else { throw(new Exception("Parent window is not supported.")); } } else { throw(new Exception("Parent window is not supported.")); } DojoMember m = new DojoMember(int.Parse(grid.Page.Request.QueryString[0])); RenderTableBeginTag(output, "_viewPanel", grid.CellPadding, grid.CellSpacing, Unit.Percentage(100), Unit.Empty, grid.CssClass); output.WriteFullBeginTag("tr"); output.WriteBeginTag("th"); output.WriteAttribute("class", grid.HeaderCssClass); output.Write(HtmlTextWriter.TagRightChar); output.Write(m.PrivateContact.FullName); output.WriteEndTag("th"); output.WriteEndTag("tr"); #region Contact Information output.WriteFullBeginTag("tr"); output.WriteBeginTag("td"); output.WriteAttribute("class", grid.SubHeaderCssClass); output.Write(HtmlTextWriter.TagRightChar); output.Write("Contacts"); if (m.PrivateContact.IsBadAddress) { output.Write(" - <strong>Bad Address</strong>"); } output.WriteEndTag("td"); output.WriteEndTag("tr"); output.WriteFullBeginTag("tr"); output.WriteBeginTag("td"); output.WriteAttribute("class", grid.DefaultRowCssClass); output.Write(HtmlTextWriter.TagRightChar); output.Write(m.PrivateContact.ConstructAddress("<br />")); output.Write("<br />"); if (m.PrivateContact.HomePhone != string.Empty) { output.Write(m.PrivateContact.HomePhone + " (h)<br />"); } if (m.PrivateContact.WorkPhone != string.Empty) { output.Write(m.PrivateContact.WorkPhone + " (w)<br />"); } if (m.PrivateContact.MobilePhone != string.Empty) { output.Write(m.PrivateContact.MobilePhone + " (m)<br />"); } if (m.PrivateContact.Email1 != string.Empty) { output.Write("<a href=\"mailto:"); output.Write(m.PrivateContact.Email1); output.Write("\">"); output.Write(m.PrivateContact.Email1); output.Write("</a>"); output.Write("<br />"); } if (m.PrivateContact.ValidationMemo != null && m.PrivateContact.ValidationMemo.Length > 0) { output.Write("<br />"); output.Write("<strong>Validation Memo : </strong><br />"); output.Write(m.PrivateContact.ValidationMemo.Replace("\n", "<br />")); } output.WriteEndTag("td"); output.WriteEndTag("tr"); #endregion #region Membership Information output.WriteFullBeginTag("tr"); output.WriteBeginTag("td"); output.WriteAttribute("class", grid.SubHeaderCssClass); output.Write(HtmlTextWriter.TagRightChar); output.Write("Membership"); if (m.IsPastDue) { output.Write(" - <strong>Past Due</strong>"); } output.WriteEndTag("td"); output.WriteEndTag("tr"); output.WriteFullBeginTag("tr"); output.WriteBeginTag("td"); output.WriteAttribute("class", grid.DefaultRowCssClass); output.Write(HtmlTextWriter.TagRightChar); output.Write("<strong>Student Type</strong> : "); output.Write(m.MemberType.Name); output.WriteEndTag("td"); output.WriteEndTag("tr"); output.WriteFullBeginTag("tr"); output.WriteBeginTag("td"); output.WriteAttribute("class", grid.DefaultRowCssClass); output.Write(HtmlTextWriter.TagRightChar); output.Write("<strong>Membership Date</strong> : "); output.Write(m.MemberSince.ToLongDateString()); output.WriteEndTag("td"); output.WriteEndTag("tr"); output.WriteFullBeginTag("tr"); output.WriteBeginTag("td"); output.WriteAttribute("class", grid.DefaultRowCssClass); output.Write(HtmlTextWriter.TagRightChar); output.Write("<strong>Active Membership</strong> : "); if (m.IsPrimaryOrgActive) { output.Write("Yes"); } else { output.Write("No"); } output.WriteEndTag("td"); output.WriteEndTag("tr"); output.WriteFullBeginTag("tr"); output.WriteBeginTag("td"); output.WriteAttribute("class", grid.DefaultRowCssClass); output.Write(HtmlTextWriter.TagRightChar); output.Write("<strong>Rank</strong> : "); output.Write(m.Rank.Name); output.Write(" (" + m.RankDate.ToShortDateString() + ")"); output.WriteEndTag("td"); output.WriteEndTag("tr"); #endregion #region Attendance Information // Pull last 90 days of attendance from the database int maxEntries = 150; int displayEntries = 5; DateTime minSearchDate = DateTime.Now.Subtract(TimeSpan.FromDays(90)); DojoAttendanceEntryManager aem = new DojoAttendanceEntryManager(); DojoAttendanceEntryCollection attendance = aem.GetCollection(maxEntries, "MemberID=" + m.ID.ToString() + " AND ClassStart>=#" + minSearchDate.ToString() + "#", "ClassStart DESC", DojoAttendanceEntryFlags.Class); DojoMember instructor1 = m.Instructor1; DojoMember instructor2 = m.Instructor2; DojoMember instructor3 = m.Instructor3; if (attendance.Count < displayEntries) { displayEntries = attendance.Count; } output.WriteFullBeginTag("tr"); output.WriteBeginTag("td"); output.WriteAttribute("class", grid.SubHeaderCssClass); output.Write(HtmlTextWriter.TagRightChar); output.Write("Attendance"); output.WriteEndTag("td"); output.WriteEndTag("tr"); output.WriteFullBeginTag("tr"); output.WriteBeginTag("td"); output.WriteAttribute("class", grid.DefaultRowCssClass); output.Write(HtmlTextWriter.TagRightChar); output.Write("<strong>Time In Membership</strong> : "); output.Write(m.TimeInMembership.TotalHours.ToString("f") + " Hours"); output.WriteEndTag("td"); output.WriteEndTag("tr"); output.WriteFullBeginTag("tr"); output.WriteBeginTag("td"); output.WriteAttribute("class", grid.DefaultRowCssClass); output.Write(HtmlTextWriter.TagRightChar); output.Write("<strong>Time In Rank</strong> : "); output.Write(m.TimeInRank.TotalHours.ToString("f") + " Hours"); output.WriteEndTag("td"); output.WriteEndTag("tr"); output.WriteFullBeginTag("tr"); output.WriteBeginTag("td"); output.WriteAttribute("class", grid.DefaultRowCssClass); output.Write(HtmlTextWriter.TagRightChar); output.Write("<strong>Last Signin</strong> : "); output.Write(m.LastSignin.ToLongDateString()); output.WriteEndTag("td"); output.WriteEndTag("tr"); // Top Instructor output.WriteFullBeginTag("tr"); output.WriteBeginTag("td"); output.WriteAttribute("class", grid.SubHeaderCssClass); output.Write(HtmlTextWriter.TagRightChar); output.Write("Ninety Day Instructors"); output.WriteEndTag("td"); output.WriteEndTag("tr"); if (instructor1 != null) { output.WriteFullBeginTag("tr"); output.WriteBeginTag("td"); output.WriteAttribute("class", grid.DefaultRowCssClass); output.Write(HtmlTextWriter.TagRightChar); output.Write(instructor1.PrivateContact.FullName); output.WriteEndTag("td"); output.WriteEndTag("tr"); } else { output.WriteFullBeginTag("tr"); output.WriteBeginTag("td"); output.WriteAttribute("class", grid.DefaultRowCssClass); output.Write(HtmlTextWriter.TagRightChar); output.Write("None"); output.WriteEndTag("td"); output.WriteEndTag("tr"); } if (instructor2 != null) { output.WriteFullBeginTag("tr"); output.WriteBeginTag("td"); output.WriteAttribute("class", grid.DefaultRowCssClass); output.Write(HtmlTextWriter.TagRightChar); output.Write(instructor2.PrivateContact.FullName); output.WriteEndTag("td"); output.WriteEndTag("tr"); } if (instructor3 != null) { output.WriteFullBeginTag("tr"); output.WriteBeginTag("td"); output.WriteAttribute("class", grid.DefaultRowCssClass); output.Write(HtmlTextWriter.TagRightChar); output.Write(instructor3.PrivateContact.FullName); output.WriteEndTag("td"); output.WriteEndTag("tr"); } // Display Last 5 Classes output.WriteFullBeginTag("tr"); output.WriteBeginTag("td"); output.WriteAttribute("class", grid.SubHeaderCssClass); output.Write(HtmlTextWriter.TagRightChar); output.Write("Ninety Day Activity"); output.WriteEndTag("td"); output.WriteEndTag("tr"); if (displayEntries == 0) { output.WriteFullBeginTag("tr"); output.WriteBeginTag("td"); output.WriteAttribute("class", grid.DefaultRowCssClass); output.Write(HtmlTextWriter.TagRightChar); output.Write("None"); output.WriteEndTag("td"); output.WriteEndTag("tr"); } else { for (int x = 0; x < displayEntries; x++) { DojoAttendanceEntry entry = attendance[x]; output.WriteFullBeginTag("tr"); output.WriteBeginTag("td"); output.WriteAttribute("class", grid.DefaultRowCssClass); output.Write(HtmlTextWriter.TagRightChar); output.Write(entry.Class.Name + " - " + entry.Class.ClassStart.ToString("dddd, MMMM d - h:mm tt")); output.WriteEndTag("td"); output.WriteEndTag("tr"); } } #endregion // #region Instructor Information // // if(m.IsInstructor) // { // output.WriteFullBeginTag("tr"); // output.WriteBeginTag("td"); // output.WriteAttribute("class", grid.SubHeaderCssClass); // output.Write(HtmlTextWriter.TagRightChar); // output.Write("Instructor Details"); // output.WriteEndTag("td"); // output.WriteEndTag("tr"); // } // // #endregion #region Security if (this.ParentWindow.Page.User.IsInRole("Tessen/Administrator")) { output.WriteFullBeginTag("tr"); output.WriteBeginTag("td"); output.WriteAttribute("class", grid.SubHeaderCssClass); output.Write(HtmlTextWriter.TagRightChar); output.Write("Security"); output.WriteEndTag("td"); output.WriteEndTag("tr"); if (m.UserAccount == null) { output.WriteFullBeginTag("tr"); output.WriteBeginTag("td"); output.WriteAttribute("class", grid.DefaultRowCssClass); output.Write(HtmlTextWriter.TagRightChar); output.Write("The member has no associated user account."); output.WriteEndTag("td"); output.WriteEndTag("tr"); } else { output.WriteFullBeginTag("tr"); output.WriteBeginTag("td"); output.WriteAttribute("class", grid.DefaultRowCssClass); output.Write(HtmlTextWriter.TagRightChar); output.Write("<strong>Username</strong> : "); output.Write(m.UserAccount.UserName); output.Write("<br />"); output.Write("<strong>Last Access</strong> : "); if (m.UserAccount.LoginDate != DateTime.MinValue) { output.Write(m.UserAccount.LoginDate); } else { output.Write("None"); } output.Write("<br />"); output.Write("<strong>Login Count</strong> : "); output.Write(m.UserAccount.LoginCount); output.WriteEndTag("td"); output.WriteEndTag("tr"); } } #endregion #region Memos if (this.ParentWindow.Page.User.IsInRole("Tessen/Administrator")) { output.WriteFullBeginTag("tr"); output.WriteBeginTag("td"); output.WriteAttribute("class", grid.SubHeaderCssClass); output.Write(HtmlTextWriter.TagRightChar); output.Write("Current Attendance Message"); output.WriteEndTag("td"); output.WriteEndTag("tr"); output.WriteFullBeginTag("tr"); output.WriteBeginTag("td"); output.WriteAttribute("class", grid.DefaultRowCssClass); output.Write(HtmlTextWriter.TagRightChar); if (m.AttendanceMessage != "") { output.Write(m.AttendanceMessage); } else { output.Write("Empty"); } output.WriteEndTag("td"); output.WriteEndTag("tr"); output.WriteFullBeginTag("tr"); output.WriteBeginTag("td"); output.WriteAttribute("class", grid.SubHeaderCssClass); output.Write(HtmlTextWriter.TagRightChar); output.Write("Memo"); output.WriteEndTag("td"); output.WriteEndTag("tr"); output.WriteFullBeginTag("tr"); output.WriteBeginTag("td"); output.WriteAttribute("class", grid.DefaultRowCssClass); output.Write(HtmlTextWriter.TagRightChar); if (m.PrivateContact.MemoText != "") { output.Write(m.PrivateContact.MemoText.Replace("\n", "<br>")); } else { output.Write("Empty"); } output.WriteEndTag("td"); output.WriteEndTag("tr"); } #endregion output.WriteEndTag("table"); }
private void RenderWeeklySummary(HtmlTextWriter output) { if (attendance.Count == 0) { return; } int entryIndex = 0; // Variable to hold the current working entry DojoAttendanceEntry entry = attendance[entryIndex]; // Variable to hold first and last class dates to start and stop the loop DojoAttendanceEntry lastEntry = attendance[attendance.Count - 1]; // Variables for holding the first date of each week DateTime currentFirstDayOfWeek = DateManipulator.FirstOfWeek(entry.Class.ClassStart); DateTime previousFirstDayOfWeek = currentFirstDayOfWeek - TimeSpan.FromDays(7); // Set hit counters to -1 to inform loop on first run int beginnerHits = 0; int mudanshaHits = 0; int yudanshaHits = 0; int totalHits = 0; while (entry != lastEntry) { while (entry.Class.ClassStart > currentFirstDayOfWeek) { // Increment Counters totalHits++; if (entry.Rank.ID == 1) { beginnerHits++; } if (entry.Rank.IsMudansha) { mudanshaHits++; } if (entry.Rank.IsYudansha) { yudanshaHits++; } entryIndex++; if (entryIndex < attendance.Count) { entry = attendance[entryIndex]; } else { break; } } renderWeeklySummary(output, this.DefaultRowCssClass, currentFirstDayOfWeek, DateManipulator.LastOfWeek(currentFirstDayOfWeek), beginnerHits, mudanshaHits, yudanshaHits, totalHits); // Reset Counters beginnerHits = 0; mudanshaHits = 0; yudanshaHits = 0; totalHits = 0; currentFirstDayOfWeek = previousFirstDayOfWeek; previousFirstDayOfWeek = currentFirstDayOfWeek - TimeSpan.FromDays(7); } }