示例#1
0
        /// <summary>
        /// Saves the DojoClassDefinition object state to the database.
        /// </summary>
        public int Save()
        {
            if (instructor != null)
            {
                instructor.Save();
            }
            if (location != null)
            {
                location.Save();
            }

            if (isSynced)
            {
                return(iD);
            }

            if (iD == -1)
            {
                throw (new Exception("Invalid record; cannot be saved."));
            }
            if (iD == 0)
            {
                iD = DojoClassDefinitionManager._insert(this);
            }
            else
            {
                DojoClassDefinitionManager._update(this);
            }
            isSynced = iD != -1;
            return(iD);
        }
示例#2
0
        /// <summary>
        /// Saves the DojoAttendanceEntry object state to the database.
        /// </summary>
        public int Save()
        {
            if (_class != null)
            {
                _class.Save();
            }
            if (member != null)
            {
                member.Save();
            }
            if (rank != null)
            {
                rank.Save();
            }

            if (isSynced)
            {
                return(iD);
            }

            if (iD == -1)
            {
                throw (new Exception("Invalid record; cannot be saved."));
            }
            if (iD == 0)
            {
                iD = DojoAttendanceEntryManager._insert(this);
            }
            else
            {
                DojoAttendanceEntryManager._update(this);
            }
            isSynced = iD != -1;
            return(iD);
        }
        private void btPromote_Click(object sender, EventArgs e)
        {
            if (ddTests.SelectedValue != "-1")
            {
                DojoMember    member    = new DojoMember(this.SelectedID);
                DojoTest      test      = new DojoTest(int.Parse(ddTests.SelectedValue));
                DojoPromotion promotion = new DojoPromotion();

                promotion.LastRank      = member.Rank;
                promotion.Member        = member;
                promotion.PromotionDate = test.TestDate;
                promotion.PromotionRank = member.Rank.PromotionRank;
                promotion.Test          = test;
                promotion.Save();

                member.Rank     = member.Rank.PromotionRank;
                member.RankDate = test.TestDate;
                member.Save();

//				MembershipScan mScan = new MembershipScan();
//				mScan.FixAttendance();

                Page.ClientScript.RegisterStartupScript(this.GetType(), "WarningMessage",
                                                        "<script language=\"javascript\">alert('" +
                                                        member.PrivateContact.FullName + " promoted to " + member.Rank.Name + "." +
                                                        "');</script>");;
            }
        }
示例#4
0
        /// <summary>
        /// Saves the DojoPromotion object state to the database.
        /// </summary>
        public int Save()
        {
            if (member != null)
            {
                member.Save();
            }
            if (test != null)
            {
                test.Save();
            }
            if (promotionRank != null)
            {
                promotionRank.Save();
            }
            if (lastRank != null)
            {
                lastRank.Save();
            }

            if (isSynced)
            {
                return(iD);
            }

            if (iD == -1)
            {
                throw (new Exception("Invalid record; cannot be saved."));
            }
            if (iD == 0)
            {
                iD = DojoPromotionManager._insert(this);
            }
            else
            {
                DojoPromotionManager._update(this);
            }
            isSynced = iD != -1;
            return(iD);
        }
示例#5
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();
            }
        }
示例#6
0
        protected void ok_Click(object sender, EventArgs e)
        {
            if (dojoMemberID == 0)
            {
                obj = new DojoMember();
            }
            else
            {
                obj = new DojoMember(dojoMemberID);
            }

            obj.MemberSince        = deMemberSince.Date;
            obj.IsPrimaryOrgActive = cbIsPrimaryOrgActive.Checked;
            obj.IsParentOrgActive  = cbIsParentOrgActive.Checked;
            obj.LastMembershipScan = DateTime.Parse(tbLastMembershipScan.Text);
            obj.AttendanceMessage  = tbAttendanceMessage.Text;
            obj.HasWaiver          = cbHasWaiver.Checked;
            obj.IsPromotable       = cbIsPromotable.Checked;
            obj.IsInstructor       = cbIsInstructor.Checked;
            obj.RankDate           = deRankDate.Date;
            obj.IsPastDue          = cbIsPastDue.Checked;

            if (msMemberType.SelectedItem != null && msMemberType.SelectedItem.Value != "Null")
            {
                obj.MemberType = DojoMemberType.NewPlaceHolder(
                    int.Parse(msMemberType.SelectedItem.Value));
            }
            else
            {
                obj.MemberType = null;
            }

            if (msPublicContact.SelectedItem != null && msPublicContact.SelectedItem.Value != "Null")
            {
                obj.PublicContact = GreyFoxContact.NewPlaceHolder("kitTessen_Members_PublicContacts",
                                                                  int.Parse(msPublicContact.SelectedItem.Value));
            }
            else
            {
                obj.PublicContact = null;
            }

            if (msParentMember.SelectedItem != null && msParentMember.SelectedItem.Value != "Null")
            {
                obj.ParentMember = DojoMember.NewPlaceHolder(
                    int.Parse(msParentMember.SelectedItem.Value));
            }
            else
            {
                obj.ParentMember = null;
            }

            if (msPrimaryOrgMembership.SelectedItem != null && msPrimaryOrgMembership.SelectedItem.Value != "Null")
            {
                obj.PrimaryOrgMembership = DojoMembership.NewPlaceHolder(
                    int.Parse(msPrimaryOrgMembership.SelectedItem.Value));
            }
            else
            {
                obj.PrimaryOrgMembership = null;
            }

            if (msParentOrgMembership.SelectedItem != null && msParentOrgMembership.SelectedItem.Value != "Null")
            {
                obj.ParentOrgMembership = DojoMembership.NewPlaceHolder(
                    int.Parse(msParentOrgMembership.SelectedItem.Value));
            }
            else
            {
                obj.ParentOrgMembership = null;
            }

            if (msInstructor1.SelectedItem != null && msInstructor1.SelectedItem.Value != "Null")
            {
                obj.Instructor1 = DojoMember.NewPlaceHolder(
                    int.Parse(msInstructor1.SelectedItem.Value));
            }
            else
            {
                obj.Instructor1 = null;
            }

            if (msInstructor2.SelectedItem != null && msInstructor2.SelectedItem.Value != "Null")
            {
                obj.Instructor2 = DojoMember.NewPlaceHolder(
                    int.Parse(msInstructor2.SelectedItem.Value));
            }
            else
            {
                obj.Instructor2 = null;
            }

            if (msInstructor3.SelectedItem != null && msInstructor3.SelectedItem.Value != "Null")
            {
                obj.Instructor3 = DojoMember.NewPlaceHolder(
                    int.Parse(msInstructor3.SelectedItem.Value));
            }
            else
            {
                obj.Instructor3 = null;
            }

            if (msPromotionFlags.IsChanged)
            {
                obj.PromotionFlags = new DojoPromotionFlagCollection();
                foreach (ListItem i in msPromotionFlags.Items)
                {
                    if (i.Selected)
                    {
                        obj.PromotionFlags.Add(DojoPromotionFlag.NewPlaceHolder(int.Parse(i.Value)));
                    }
                }
            }

            if (msRank.SelectedItem != null && msRank.SelectedItem.Value != "Null")
            {
                obj.Rank = DojoRank.NewPlaceHolder(
                    int.Parse(msRank.SelectedItem.Value));
            }
            else
            {
                obj.Rank = null;
            }

            if (msCustomer.SelectedItem != null && msCustomer.SelectedItem.Value != "Null")
            {
                obj.Customer = RHCustomer.NewPlaceHolder(
                    int.Parse(msCustomer.SelectedItem.Value));
            }
            else
            {
                obj.Customer = null;
            }

            if (editOnAdd)
            {
                dojoMemberID = obj.Save();
            }
            else
            {
                obj.Save();
            }

            if (resetOnAdd)
            {
                deMemberSince.Date           = DateTime.Now;
                cbIsPrimaryOrgActive.Checked = false;
                cbIsParentOrgActive.Checked  = false;
                tbLastMembershipScan.Text    = DateTime.Now.ToString();
                tbAttendanceMessage.Text     = string.Empty;
                cbHasWaiver.Checked          = false;
                cbIsPromotable.Checked       = false;
                cbIsInstructor.Checked       = false;
                deRankDate.Date                      = DateTime.Now;
                cbIsPastDue.Checked                  = false;
                msMemberType.SelectedIndex           = 0;
                msPublicContact.SelectedIndex        = 0;
                msParentMember.SelectedIndex         = 0;
                msPrimaryOrgMembership.SelectedIndex = 0;
                msParentOrgMembership.SelectedIndex  = 0;
                msInstructor1.SelectedIndex          = 0;
                msInstructor2.SelectedIndex          = 0;
                msInstructor3.SelectedIndex          = 0;
                msRank.SelectedIndex                 = 0;
                msCustomer.SelectedIndex             = 0;
            }

            OnUpdated(EventArgs.Empty);
        }
示例#7
0
        public void ddCommands_SelectIndexChanged(object sender, EventArgs e)
        {
            switch (ddCommands.SelectedItem.Value)
            {
            case "activate":
            {
                DojoMember member = new DojoMember(selectedID);
                member.IsPrimaryOrgActive = true;
                member.AddMemoMessage(DateTime.Now.ToString() + " : Activated");
                member.PrivateContact.Save();
                member.Save();
                break;
            }

            case "cleardues":
            {
                DojoMember member = new DojoMember(selectedID);
                member.IsPastDue = false;
                member.AddMemoMessage(DateTime.Now.ToString() + " : Cleared Dues\r\n" +
                                      member.AttendanceMessage);
                member.AttendanceMessage = string.Empty;
                member.PrivateContact.Save();
                member.Save();
                break;
            }

            case "pastdue":
            {
                DojoMember member = new DojoMember(selectedID);
                member.IsPastDue = true;
                member.AddMemoMessage(DateTime.Now.ToString() + " : Past Due");
                member.PrivateContact.Save();
                member.Save();
                break;
            }

            case "deactivate":
            {
                DojoMember member = new DojoMember(selectedID);
                member.IsPrimaryOrgActive = false;
                member.AddMemoMessage(DateTime.Now.ToString() + " : Deactivated");
                member.PrivateContact.Save();
                member.Save();
                break;
            }

            case "validateaddress":
            {
                DojoMember member = new DojoMember(selectedID);
                member.PrivateContact.IsBadAddress = false;
                member.AddMemoMessage(DateTime.Now.ToString() + " : Address Validated");
                member.PrivateContact.Save();
                break;
            }

            case "invalidateaddress":
            {
                DojoMember member = new DojoMember(selectedID);
                member.PrivateContact.IsBadAddress = true;
                member.AddMemoMessage(DateTime.Now.ToString() + " : Address Invalidated");
                member.PrivateContact.Save();
                break;
            }

            case "grantmembership":
            {
                DojoMember        member  = new DojoMember(selectedID);
                MembershipBuilder builder = new MembershipBuilder();
                builder.Load();            // TODO: SPEED ME UP USING THE ROOT MEMBER SEARCH!
                builder.ProcessTrees();
                builder.ProcessHashes();
                List <MembershipPackage> packages = builder.GetMembershipPackages(member);
                if (packages.Count > 0)
                {
                    MembershipPackage package = packages[0];
                    package.ApplyGrant();
                    package.Save();
                    registerNotification("Membership package for " +
                                         member.PrivateContact.FullName +
                                         " has been granted. Any sub-members have also been granted " +
                                         "memberships.");
                }
                packages = null;
                builder  = null;
                break;
            }
            }

            ddCommands.SelectedIndex = 0;
        }