Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 3
0
        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);
     }
 }
Ejemplo n.º 5
0
 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);
     }
 }
Ejemplo n.º 6
0
 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;
     }
 }
Ejemplo n.º 10
0
 /// <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;
     }
 }
Ejemplo n.º 11
0
 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);
 }
Ejemplo n.º 13
0
        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);
        }
Ejemplo n.º 14
0
        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();
            }
        }
Ejemplo n.º 15
0
        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;
                }
            }
        }
Ejemplo n.º 16
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);
        }
Ejemplo n.º 17
0
        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();
            }
        }
Ejemplo n.º 18
0
        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();
        }
Ejemplo n.º 19
0
        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");
        }
Ejemplo n.º 20
0
        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);
            }
        }