Пример #1
0
        public string VerifyTable(bool repair)
        {
            Database     database;
            DbConnection dbConnection;
            DbCommand    dbCommand;
            bool         match;

            string[]      restrictions1;
            StringBuilder msg;

            msg           = new StringBuilder();
            restrictions1 = new string[] { null, null, tableName, null };

            database     = DatabaseFactory.CreateDatabase();
            dbConnection = database.CreateConnection();
            dbConnection.Open();

            System.Data.DataTable schemaTable = dbConnection.GetSchema("Columns", restrictions1);

            // Loop through the join fields and columns in the
            // table schema to find which fields are missing.
            // Note that this search cannot use BinarySearch due
            // to the fact that JoinFields is unsorted.
            // A sorted JoinFields need not be used because this
            // method should be used sparingly.

            for (int i = 0; i <= JoinFields.GetUpperBound(0); i++)
            {
                match = false;
                foreach (System.Data.DataRow row in schemaTable.Rows)
                {
                    if (JoinFields[i, 0] == row[3].ToString())
                    {
                        match = true;
                        break;
                    }
                }
                if (!match)
                {
                    if (repair)
                    {
                        dbCommand = database.GetSqlStringCommand("ALTER TABLE " + tableName + " ADD COLUMN " + JoinFields[i, 0] + " " + JoinFields[i, 1] + ";");
                        database.ExecuteNonQuery(dbCommand);
                        msg.AppendFormat("Added column '{0}'.", JoinFields[i, 0]);
                    }
                    else
                    {
                        msg.AppendFormat("Missing column '{0}'.", JoinFields[i, 0]);
                    }
                }
            }

            GreyFoxContactManager contactManager =
                new GreyFoxContactManager("sysGlobal_Contacts");

            msg.Append(contactManager.VerifyTable(repair));

            dbConnection.Close();
            return(msg.ToString());
        }
Пример #2
0
        private void bind()
        {
            #region Bind Default Child Data

            string[] classUnitTypeNames;
            byte[]   classUnitTypeValues;

            msOptions.Items.Clear();
            DojoSeminarOptionManager optionsManager =
                new DojoSeminarOptionManager();
            DojoSeminarOptionCollection optionsCollection =
                optionsManager.GetCollection(string.Empty, string.Empty);
            foreach (DojoSeminarOption options in optionsCollection)
            {
                ListItem i = new ListItem(options.Name +
                                          " (" + options.Fee.ToString("c") + ")", options.ID.ToString());
                msOptions.Items.Add(i);
            }

            GreyFoxContactManager locationManager =
                new GreyFoxContactManager("kitTessen_Locations");
            GreyFoxContactCollection locationCollection =
                locationManager.GetCollection(string.Empty, string.Empty);
            foreach (GreyFoxContact location in locationCollection)
            {
                ComboBoxItem item = new ComboBoxItem();
                item.Text  = location.BusinessName;
                item.Value = location.ID.ToString();
                comboLocation.Items.Add(item);
            }

            RHItemManager    rhim    = new RHItemManager();
            RHItemCollection rhItems =
                rhim.GetCollection(string.Empty, string.Empty, null);
            foreach (RHItem rhItem in rhItems)
            {
                ComboBoxItem item = new ComboBoxItem();
                item.Text  = rhItem.Name;
                item.Value = rhItem.ID.ToString();
                comboRappahanockItem.Items.Add(item);
            }

            //
            // Bind Class Unit Types
            //
            ddClassUnitType.Items.Clear();
            classUnitTypeNames  = Enum.GetNames(typeof(DojoSeminarClassUnitType));
            classUnitTypeValues = (byte[])Enum.GetValues(typeof(DojoSeminarClassUnitType));
            for (int i = 0; i <= classUnitTypeNames.GetUpperBound(0); i++)
            {
                ddClassUnitType.Items.Add(new ListItem(
                                              classUnitTypeNames[i],
                                              classUnitTypeValues[i].ToString()));
            }

            #endregion
        }
Пример #3
0
        private void bindDropDownLists()
        {
            #region Bind Default Child Data

            msInstructor.Items.Add(new ListItem("Null", "Null"));
            DojoMemberManager    instructorManager    = new DojoMemberManager();
            DojoMemberCollection instructorCollection = instructorManager.GetCollection(string.Empty, string.Empty, null);
            foreach (DojoMember instructor in instructorCollection)
            {
                ListItem i = new ListItem(instructor.ToString(), instructor.ID.ToString());
                msInstructor.Items.Add(i);
            }

            msParentSeminar.Items.Add(new ListItem("Null", "Null"));
            DojoSeminarManager    parentSeminarManager    = new DojoSeminarManager();
            DojoSeminarCollection parentSeminarCollection = parentSeminarManager.GetCollection(string.Empty, string.Empty, null);
            foreach (DojoSeminar parentSeminar in parentSeminarCollection)
            {
                ListItem i = new ListItem(parentSeminar.ToString(), parentSeminar.ID.ToString());
                msParentSeminar.Items.Add(i);
            }

            msParentDefinition.Items.Add(new ListItem("Null", "Null"));
            DojoClassDefinitionManager    parentDefinitionManager    = new DojoClassDefinitionManager();
            DojoClassDefinitionCollection parentDefinitionCollection = parentDefinitionManager.GetCollection(string.Empty, string.Empty, null);
            foreach (DojoClassDefinition parentDefinition in parentDefinitionCollection)
            {
                ListItem i = new ListItem(parentDefinition.ToString(), parentDefinition.ID.ToString());
                msParentDefinition.Items.Add(i);
            }

            msLocation.Items.Add(new ListItem("Null", "Null"));
            GreyFoxContactManager    locationManager    = new GreyFoxContactManager("kitTessen_Locations");
            GreyFoxContactCollection locationCollection = locationManager.GetCollection(string.Empty, string.Empty);
            foreach (GreyFoxContact location in locationCollection)
            {
                ListItem i = new ListItem(location.ToString(), location.ID.ToString());
                msLocation.Items.Add(i);
            }

            msAccessControlGroup.Items.Add(new ListItem("Null", "Null"));
            DojoAccessControlGroupManager    accessControlGroupManager    = new DojoAccessControlGroupManager();
            DojoAccessControlGroupCollection accessControlGroupCollection = accessControlGroupManager.GetCollection(string.Empty, string.Empty, null);
            foreach (DojoAccessControlGroup accessControlGroup in accessControlGroupCollection)
            {
                ListItem i = new ListItem(accessControlGroup.ToString(), accessControlGroup.ID.ToString());
                msAccessControlGroup.Items.Add(i);
            }

            #endregion
        }
Пример #4
0
        private void bindDropDownLists()
        {
            #region Bind General Child Data

            #endregion

            #region Bind Contact Child Data

            msContact.Items.Add(new ListItem("Null", "Null"));
            GreyFoxContactManager    contactManager    = new GreyFoxContactManager("kitTessen_SeminarRegistrations_Contacts");
            GreyFoxContactCollection contactCollection = contactManager.GetCollection(string.Empty, string.Empty);
            foreach (GreyFoxContact contact in contactCollection)
            {
                ListItem i = new ListItem(contact.ToString(), contact.ID.ToString());
                msContact.Items.Add(i);
            }

            #endregion

            #region Bind Rappahanock Child Data

            msCustomer.Items.Add(new ListItem("Null", "Null"));
            RHCustomerManager    customerManager    = new RHCustomerManager();
            RHCustomerCollection customerCollection = customerManager.GetCollection(string.Empty, string.Empty, null);
            foreach (RHCustomer customer in customerCollection)
            {
                ListItem i = new ListItem(customer.ToString(), customer.ID.ToString());
                msCustomer.Items.Add(i);
            }

            msInvoiceLine.Items.Add(new ListItem("Null", "Null"));
            RHInvoiceLineManager    invoiceLineManager    = new RHInvoiceLineManager();
            RHInvoiceLineCollection invoiceLineCollection = invoiceLineManager.GetCollection(string.Empty, string.Empty, null);
            foreach (RHInvoiceLine invoiceLine in invoiceLineCollection)
            {
                ListItem i = new ListItem(invoiceLine.ToString(), invoiceLine.ID.ToString());
                msInvoiceLine.Items.Add(i);
            }

            msSalesOrderLine.Items.Add(new ListItem("Null", "Null"));
            RHSalesOrderLineManager    salesOrderLineManager    = new RHSalesOrderLineManager();
            RHSalesOrderLineCollection salesOrderLineCollection = salesOrderLineManager.GetCollection(string.Empty, string.Empty, null);
            foreach (RHSalesOrderLine salesOrderLine in salesOrderLineCollection)
            {
                ListItem i = new ListItem(salesOrderLine.ToString(), salesOrderLine.ID.ToString());
                msSalesOrderLine.Items.Add(i);
            }

            #endregion
        }
Пример #5
0
        private void bindDropDownLists()
        {
            #region Bind Default Child Data

            msLocation.Items.Add(new ListItem("Null", "Null"));
            GreyFoxContactManager    locationManager    = new GreyFoxContactManager("kitTessen_Locations");
            GreyFoxContactCollection locationCollection = locationManager.GetCollection(string.Empty, string.Empty);
            foreach (GreyFoxContact location in locationCollection)
            {
                ListItem i = new ListItem(location.ToString(), location.ID.ToString());
                msLocation.Items.Add(i);
            }

            msClassLocations.Items.Add(new ListItem("Null", "Null"));
            GreyFoxContactManager    classLocationsManager    = new GreyFoxContactManager("kitTessen_Locations");
            GreyFoxContactCollection classLocationsCollection = classLocationsManager.GetCollection(string.Empty, string.Empty);
            foreach (GreyFoxContact classLocations in classLocationsCollection)
            {
                ListItem i = new ListItem(classLocations.ToString(), classLocations.ID.ToString());
                msClassLocations.Items.Add(i);
            }

            msAdministrativeContact.Items.Add(new ListItem("Null", "Null"));
            GreyFoxContactManager    administrativeContactManager    = new GreyFoxContactManager("sysGlobal_Contacts");
            GreyFoxContactCollection administrativeContactCollection = administrativeContactManager.GetCollection(string.Empty, string.Empty);
            foreach (GreyFoxContact administrativeContact in administrativeContactCollection)
            {
                ListItem i = new ListItem(administrativeContact.ToString(), administrativeContact.ID.ToString());
                msAdministrativeContact.Items.Add(i);
            }

            #endregion

            #region Bind Membership Child Data

            msDefaultMemberType.Items.Add(new ListItem("Null", "Null"));
            DojoMemberTypeManager    defaultMemberTypeManager    = new DojoMemberTypeManager();
            DojoMemberTypeCollection defaultMemberTypeCollection = defaultMemberTypeManager.GetCollection(string.Empty, string.Empty, null);
            foreach (DojoMemberType defaultMemberType in defaultMemberTypeCollection)
            {
                ListItem i = new ListItem(defaultMemberType.ToString(), defaultMemberType.ID.ToString());
                msDefaultMemberType.Items.Add(i);
            }

            #endregion
        }
Пример #6
0
        private void bind()
        {
            #region Bind Access Control Child Data

            DojoAccessControlGroupManager    accessControlGroupManager    = new DojoAccessControlGroupManager();
            DojoAccessControlGroupCollection accessControlGroupCollection = accessControlGroupManager.GetCollection(string.Empty, string.Empty, null);
            foreach (DojoAccessControlGroup accessControlGroup in accessControlGroupCollection)
            {
                ComponentArt.Web.UI.ComboBoxItem i = new ComponentArt.Web.UI.ComboBoxItem();
                i.Text  = accessControlGroup.ToString();
                i.Value = accessControlGroup.ID.ToString();
                comboAccessControlGroup.Items.Add(i);
            }

            #endregion

            #region Bind Next Class Child Data

            DojoMemberManager    instructorManager    = new DojoMemberManager();
            DojoMemberCollection instructorCollection =
                instructorManager.GetCollection("IsInstructor=true",
                                                "LastName, FirstName, MiddleName",
                                                DojoMemberFlags.PrivateContact);
            foreach (DojoMember instructor in instructorCollection)
            {
                ComponentArt.Web.UI.ComboBoxItem i = new ComponentArt.Web.UI.ComboBoxItem();
                i.Text  = instructor.PrivateContact.FullName;
                i.Value = instructor.ID.ToString();
                comboInstructor.Items.Add(i);
            }

            GreyFoxContactManager    locationManager    = new GreyFoxContactManager("kitTessen_Locations");
            GreyFoxContactCollection locationCollection = locationManager.GetCollection(string.Empty, string.Empty);
            foreach (GreyFoxContact location in locationCollection)
            {
                ComponentArt.Web.UI.ComboBoxItem i = new ComponentArt.Web.UI.ComboBoxItem();
                i.Text  = location.BusinessName;
                i.Value = location.ID.ToString();
                comboLocation.Items.Add(i);
            }

            #endregion
        }
Пример #7
0
        private void bindDropDownLists()
        {
            #region Bind General Child Data

            msLocation.Items.Add(new ListItem("Null", "Null"));
            GreyFoxContactManager    locationManager    = new GreyFoxContactManager("kitTessen_Locations");
            GreyFoxContactCollection locationCollection = locationManager.GetCollection(string.Empty, string.Empty);
            foreach (GreyFoxContact location in locationCollection)
            {
                ListItem i = new ListItem(location.ToString(), location.ID.ToString());
                msLocation.Items.Add(i);
            }

            #endregion

            #region Bind Registration Child Data

            msOptions.Items.Add(new ListItem("Null", "Null"));
            DojoSeminarOptionManager    optionsManager    = new DojoSeminarOptionManager();
            DojoSeminarOptionCollection optionsCollection = optionsManager.GetCollection(string.Empty, string.Empty, null);
            foreach (DojoSeminarOption options in optionsCollection)
            {
                ListItem i = new ListItem(options.ToString(), options.ID.ToString());
                msOptions.Items.Add(i);
            }

            #endregion

            #region Bind Rappahanock Child Data

            msItem.Items.Add(new ListItem("Null", "Null"));
            RHItemManager    itemManager    = new RHItemManager();
            RHItemCollection itemCollection = itemManager.GetCollection(string.Empty, string.Empty, null);
            foreach (RHItem item in itemCollection)
            {
                ListItem i = new ListItem(item.ToString(), item.ID.ToString());
                msItem.Items.Add(i);
            }

            #endregion
        }
Пример #8
0
        public ContactTest()
        {
            try
            {
                Amns.GreyFox.Data.MsJetUtility.CreateDB("Test.mdb");
            }
            catch {}

            try
            {
                GreyFoxContactManager manager = new GreyFoxContactManager("TestContacts");
                manager.CreateTable();
            }
            catch { }

            // For load testing please make sure "Run unit tests in application domain" is set to
            // true in the Run Settings!

            contactA = PeopleTestData.GetInstance().ContactA;
            contactB = PeopleTestData.GetInstance().ContactB;
            contactC = PeopleTestData.GetInstance().ContactC;
        }
Пример #9
0
        private void bindDropDownLists()
        {
            #region Bind Default Child Data

            msContact.Items.Add(new ListItem("Null", "Null"));
            GreyFoxContactManager    contactManager    = new GreyFoxContactManager("sysGlobal_Contacts");
            GreyFoxContactCollection contactCollection = contactManager.GetCollection(string.Empty, string.Empty);
            foreach (GreyFoxContact contact in contactCollection)
            {
                ListItem i = new ListItem(contact.ToString(), contact.ID.ToString());
                msContact.Items.Add(i);
            }

            msRoles.Items.Add(new ListItem("Null", "Null"));
            GreyFoxRoleManager    rolesManager    = new GreyFoxRoleManager();
            GreyFoxRoleCollection rolesCollection = rolesManager.GetCollection(string.Empty, string.Empty);
            foreach (GreyFoxRole roles in rolesCollection)
            {
                ListItem i = new ListItem(roles.ToString(), roles.ID.ToString());
                msRoles.Items.Add(i);
            }

            #endregion
        }
Пример #10
0
        /// <summary>
        /// Render this control to the output parameter specified.
        /// </summary>
        /// <param name="output"> The HTML writer to write out to </param>
        protected override void RenderContent(HtmlTextWriter output)
        {
            GreyFoxContactManager    m = new GreyFoxContactManager(tableName);
            GreyFoxContactCollection greyFoxContactCollection = m.GetCollection(string.Empty, string.Empty);

            // Render Header Row
            this.headerLockEnabled = true;
            RenderRow(this.HeaderRowCssClass, );

            bool   rowflag = false;
            string rowCssClass;

            //
            // Render Records
            //
            foreach (GreyFoxContact greyFoxContact in greyFoxContactCollection)
            {
                if (rowflag)
                {
                    rowCssClass = defaultRowCssClass;
                }
                else
                {
                    rowCssClass = alternateRowCssClass;
                }
                rowflag = !rowflag;
                output.WriteBeginTag("tr");
                output.WriteAttribute("i", greyFoxContact.ID.ToString());
                output.WriteLine(HtmlTextWriter.TagRightChar);
                output.Indent++;

                output.Indent--;
                output.WriteEndTag("tr");
                output.WriteLine();
            }
        }
Пример #11
0
        private void bindDropDownLists()
        {
            #region Bind Default Child Data

            msLocation.Items.Add(new ListItem("Null", "Null"));
            GreyFoxContactManager    locationManager    = new GreyFoxContactManager("kitTessen_Locations");
            GreyFoxContactCollection locationCollection = locationManager.GetCollection(string.Empty, string.Empty);
            foreach (GreyFoxContact location in locationCollection)
            {
                ListItem i = new ListItem(location.ToString(), location.ID.ToString());
                msLocation.Items.Add(i);
            }

            #endregion

            #region Bind List Generator Child Data

            msListMemberType1.Items.Add(new ListItem("Null", "Null"));
            DojoMemberTypeManager    listMemberType1Manager    = new DojoMemberTypeManager();
            DojoMemberTypeCollection listMemberType1Collection = listMemberType1Manager.GetCollection(string.Empty, string.Empty, null);
            foreach (DojoMemberType listMemberType1 in listMemberType1Collection)
            {
                ListItem i = new ListItem(listMemberType1.ToString(), listMemberType1.ID.ToString());
                msListMemberType1.Items.Add(i);
            }

            msListMemberType2.Items.Add(new ListItem("Null", "Null"));
            DojoMemberTypeManager    listMemberType2Manager    = new DojoMemberTypeManager();
            DojoMemberTypeCollection listMemberType2Collection = listMemberType2Manager.GetCollection(string.Empty, string.Empty, null);
            foreach (DojoMemberType listMemberType2 in listMemberType2Collection)
            {
                ListItem i = new ListItem(listMemberType2.ToString(), listMemberType2.ID.ToString());
                msListMemberType2.Items.Add(i);
            }

            msListMemberType3.Items.Add(new ListItem("Null", "Null"));
            DojoMemberTypeManager    listMemberType3Manager    = new DojoMemberTypeManager();
            DojoMemberTypeCollection listMemberType3Collection = listMemberType3Manager.GetCollection(string.Empty, string.Empty, null);
            foreach (DojoMemberType listMemberType3 in listMemberType3Collection)
            {
                ListItem i = new ListItem(listMemberType3.ToString(), listMemberType3.ID.ToString());
                msListMemberType3.Items.Add(i);
            }

            #endregion

            #region Bind Administration Child Data

            msPanelChief.Items.Add(new ListItem("Null", "Null"));
            DojoMemberManager    panelChiefManager    = new DojoMemberManager();
            DojoMemberCollection panelChiefCollection = panelChiefManager.GetCollection(string.Empty, string.Empty, null);
            foreach (DojoMember panelChief in panelChiefCollection)
            {
                ListItem i = new ListItem(panelChief.ToString(), panelChief.ID.ToString());
                msPanelChief.Items.Add(i);
            }

            msPanelMember1.Items.Add(new ListItem("Null", "Null"));
            DojoMemberManager    panelMember1Manager    = new DojoMemberManager();
            DojoMemberCollection panelMember1Collection = panelMember1Manager.GetCollection(string.Empty, string.Empty, null);
            foreach (DojoMember panelMember1 in panelMember1Collection)
            {
                ListItem i = new ListItem(panelMember1.ToString(), panelMember1.ID.ToString());
                msPanelMember1.Items.Add(i);
            }

            msPanelMember2.Items.Add(new ListItem("Null", "Null"));
            DojoMemberManager    panelMember2Manager    = new DojoMemberManager();
            DojoMemberCollection panelMember2Collection = panelMember2Manager.GetCollection(string.Empty, string.Empty, null);
            foreach (DojoMember panelMember2 in panelMember2Collection)
            {
                ListItem i = new ListItem(panelMember2.ToString(), panelMember2.ID.ToString());
                msPanelMember2.Items.Add(i);
            }

            msPanelMember3.Items.Add(new ListItem("Null", "Null"));
            DojoMemberManager    panelMember3Manager    = new DojoMemberManager();
            DojoMemberCollection panelMember3Collection = panelMember3Manager.GetCollection(string.Empty, string.Empty, null);
            foreach (DojoMember panelMember3 in panelMember3Collection)
            {
                ListItem i = new ListItem(panelMember3.ToString(), panelMember3.ID.ToString());
                msPanelMember3.Items.Add(i);
            }

            msPanelMember4.Items.Add(new ListItem("Null", "Null"));
            DojoMemberManager    panelMember4Manager    = new DojoMemberManager();
            DojoMemberCollection panelMember4Collection = panelMember4Manager.GetCollection(string.Empty, string.Empty, null);
            foreach (DojoMember panelMember4 in panelMember4Collection)
            {
                ListItem i = new ListItem(panelMember4.ToString(), panelMember4.ID.ToString());
                msPanelMember4.Items.Add(i);
            }

            msPanelMember5.Items.Add(new ListItem("Null", "Null"));
            DojoMemberManager    panelMember5Manager    = new DojoMemberManager();
            DojoMemberCollection panelMember5Collection = panelMember5Manager.GetCollection(string.Empty, string.Empty, null);
            foreach (DojoMember panelMember5 in panelMember5Collection)
            {
                ListItem i = new ListItem(panelMember5.ToString(), panelMember5.ID.ToString());
                msPanelMember5.Items.Add(i);
            }

            #endregion

            #region Bind System Child Data

            msStatus.Items.Add(new ListItem("Null", "Null"));
            DojoTestListStatusManager    statusManager    = new DojoTestListStatusManager();
            DojoTestListStatusCollection statusCollection = statusManager.GetCollection(string.Empty, string.Empty, null);
            foreach (DojoTestListStatus status in statusCollection)
            {
                ListItem i = new ListItem(status.ToString(), status.ID.ToString());
                msStatus.Items.Add(i);
            }

            msActiveTestList.Items.Add(new ListItem("Null", "Null"));
            DojoTestListManager    activeTestListManager    = new DojoTestListManager();
            DojoTestListCollection activeTestListCollection = activeTestListManager.GetCollection(string.Empty, string.Empty, null);
            foreach (DojoTestList activeTestList in activeTestListCollection)
            {
                ListItem i = new ListItem(activeTestList.ToString(), activeTestList.ID.ToString());
                msActiveTestList.Items.Add(i);
            }

            #endregion

            #region Bind Rappahanock Child Data

            msItem.Items.Add(new ListItem("Null", "Null"));
            RHItemManager    itemManager    = new RHItemManager();
            RHItemCollection itemCollection = itemManager.GetCollection(string.Empty, string.Empty, null);
            foreach (RHItem item in itemCollection)
            {
                ListItem i = new ListItem(item.ToString(), item.ID.ToString());
                msItem.Items.Add(i);
            }

            #endregion
        }
Пример #12
0
        public DbContentHitCollection GetCollection(int topCount, string whereClause, string sortClause, params DbContentHitFlags[] optionFlags)
        {
            StringBuilder          query;
            Database               database;
            DbCommand              dbCommand;
            IDataReader            r;
            DbContentHitCollection dbContentHitCollection;

            int innerJoinOffset;

            query = new StringBuilder("SELECT ");

            if (topCount > 0)
            {
                query.Append("TOP ");
                query.Append(topCount);
                query.Append(" ");
            }

            foreach (string columnName in InnerJoinFields)
            {
                query.Append("DbContentHit.");
                query.Append(columnName);
                query.Append(",");
            }

            innerJoinOffset = InnerJoinFields.GetUpperBound(0) + 1;
            int userOffset                        = -1;
            int userContactOffset                 = -1;
            int requestContentOffset              = -1;
            int requestContentStatusOffset        = -1;
            int requestContentParentCatalogOffset = -1;
            int requestContentRatingOffset        = -1;
            int requestContentWorkingDraftOffset  = -1;

            //
            // Append Option Flag Fields
            //
            if (optionFlags != null)
            {
                for (int x = 0; x < optionFlags.Length; x++)
                {
                    switch (optionFlags[x])
                    {
                    case DbContentHitFlags.User:
                        for (int i = 0; i <= GreyFoxUserManager.InnerJoinFields.GetUpperBound(0); i++)
                        {
                            query.Append("User.");
                            query.Append(GreyFoxUserManager.InnerJoinFields[i]);
                            query.Append(",");
                        }
                        userOffset      = innerJoinOffset;
                        innerJoinOffset = userOffset + GreyFoxUserManager.InnerJoinFields.GetUpperBound(0) + 1;
                        break;

                    case DbContentHitFlags.UserContact:
                        for (int i = 0; i <= GreyFoxContactManager.InnerJoinFields.GetUpperBound(0); i++)
                        {
                            query.Append("User_Contact.");
                            query.Append(GreyFoxContactManager.InnerJoinFields[i]);
                            query.Append(",");
                        }
                        userContactOffset = innerJoinOffset;
                        innerJoinOffset   = userContactOffset + GreyFoxContactManager.InnerJoinFields.GetUpperBound(0) + 1;
                        break;

                    case DbContentHitFlags.RequestContent:
                        for (int i = 0; i <= DbContentClipManager.InnerJoinFields.GetUpperBound(0); i++)
                        {
                            query.Append("RequestContent.");
                            query.Append(DbContentClipManager.InnerJoinFields[i]);
                            query.Append(",");
                        }
                        requestContentOffset = innerJoinOffset;
                        innerJoinOffset      = requestContentOffset + DbContentClipManager.InnerJoinFields.GetUpperBound(0) + 1;
                        break;

                    case DbContentHitFlags.RequestContentStatus:
                        for (int i = 0; i <= DbContentStatusManager.InnerJoinFields.GetUpperBound(0); i++)
                        {
                            query.Append("RequestContent_Status.");
                            query.Append(DbContentStatusManager.InnerJoinFields[i]);
                            query.Append(",");
                        }
                        requestContentStatusOffset = innerJoinOffset;
                        innerJoinOffset            = requestContentStatusOffset + DbContentStatusManager.InnerJoinFields.GetUpperBound(0) + 1;
                        break;

                    case DbContentHitFlags.RequestContentParentCatalog:
                        for (int i = 0; i <= DbContentCatalogManager.InnerJoinFields.GetUpperBound(0); i++)
                        {
                            query.Append("RequestContent_ParentCatalog.");
                            query.Append(DbContentCatalogManager.InnerJoinFields[i]);
                            query.Append(",");
                        }
                        requestContentParentCatalogOffset = innerJoinOffset;
                        innerJoinOffset = requestContentParentCatalogOffset + DbContentCatalogManager.InnerJoinFields.GetUpperBound(0) + 1;
                        break;

                    case DbContentHitFlags.RequestContentRating:
                        for (int i = 0; i <= DbContentRatingManager.InnerJoinFields.GetUpperBound(0); i++)
                        {
                            query.Append("RequestContent_Rating.");
                            query.Append(DbContentRatingManager.InnerJoinFields[i]);
                            query.Append(",");
                        }
                        requestContentRatingOffset = innerJoinOffset;
                        innerJoinOffset            = requestContentRatingOffset + DbContentRatingManager.InnerJoinFields.GetUpperBound(0) + 1;
                        break;

                    case DbContentHitFlags.RequestContentWorkingDraft:
                        for (int i = 0; i <= DbContentClipManager.InnerJoinFields.GetUpperBound(0); i++)
                        {
                            query.Append("RequestContent_WorkingDraft.");
                            query.Append(DbContentClipManager.InnerJoinFields[i]);
                            query.Append(",");
                        }
                        requestContentWorkingDraftOffset = innerJoinOffset;
                        innerJoinOffset = requestContentWorkingDraftOffset + DbContentClipManager.InnerJoinFields.GetUpperBound(0) + 1;
                        break;
                    }
                }
            }

            //
            // Remove trailing comma
            //
            query.Length--;
            if (optionFlags != null)
            {
                query.Append(" FROM ");

                //
                // Start INNER JOIN expressions
                //
                for (int x = 0; x < optionFlags.Length; x++)
                {
                    query.Append("(");
                }

                query.Append("kitCms_Hits AS DbContentHit");
            }
            else
            {
                query.Append(" FROM kitCms_Hits AS DbContentHit");
            }
            //
            // Finish INNER JOIN expressions
            //
            if (optionFlags != null)
            {
                for (int x = 0; x < optionFlags.Length; x++)
                {
                    switch (optionFlags[x])
                    {
                    case DbContentHitFlags.User:
                        query.Append(" LEFT JOIN sysGlobal_Users AS User ON DbContentHit.UserID = User.GreyFoxUserID)");
                        break;

                    case DbContentHitFlags.UserContact:
                        query.Append(" LEFT JOIN sysGlobal_Contacts AS User_Contact ON User.ContactID = User_Contact.GreyFoxContactID)");
                        break;

                    case DbContentHitFlags.RequestContent:
                        query.Append(" LEFT JOIN kitCms_Clips AS RequestContent ON DbContentHit.RequestContentID = RequestContent.DbContentClipID)");
                        break;

                    case DbContentHitFlags.RequestContentStatus:
                        query.Append(" LEFT JOIN kitCms_Statuses AS RequestContent_Status ON RequestContent.StatusID = RequestContent_Status.DbContentStatusID)");
                        break;

                    case DbContentHitFlags.RequestContentParentCatalog:
                        query.Append(" LEFT JOIN kitCms_Catalogs AS RequestContent_ParentCatalog ON RequestContent.ParentCatalogID = RequestContent_ParentCatalog.DbContentCatalogID)");
                        break;

                    case DbContentHitFlags.RequestContentRating:
                        query.Append(" LEFT JOIN kitCms_Ratings AS RequestContent_Rating ON RequestContent.RatingID = RequestContent_Rating.DbContentRatingID)");
                        break;

                    case DbContentHitFlags.RequestContentWorkingDraft:
                        query.Append(" LEFT JOIN kitCms_Clips AS RequestContent_WorkingDraft ON RequestContent.WorkingDraftID = RequestContent_WorkingDraft.DbContentClipID)");
                        break;
                    }
                }
            }

            //
            // Render where clause
            //
            if (whereClause != string.Empty)
            {
                query.Append(" WHERE ");
                query.Append(whereClause);
            }

            //
            // Render sort clause
            //
            if (sortClause != string.Empty)
            {
                query.Append(" ORDER BY ");
                query.Append(sortClause);
            }

            //
            // Render final semicolon
            //
            query.Append(";");
            database  = DatabaseFactory.CreateDatabase();
            dbCommand = database.GetSqlStringCommand(query.ToString());
                        #if DEBUG
            try
            {
                r = database.ExecuteReader(dbCommand);
            }
            catch (Exception e)
            {
                string msg = e.Message;
                throw(new Exception(msg + " --- Query: " + query.ToString()));
            }
                        #else
            r = database.ExecuteReader(dbCommand);
                        #endif

            dbContentHitCollection = new DbContentHitCollection();

            while (r.Read())
            {
                DbContentHit dbContentHit = ParseFromReader(r, 0, 1);

                // Fill User
                if (userOffset != -1 && !r.IsDBNull(userOffset))
                {
                    GreyFoxUserManager.FillFromReader(dbContentHit.user, r, userOffset, userOffset + 1);

                    // Fill
                    if (userContactOffset != -1 && !r.IsDBNull(userContactOffset))
                    {
                        GreyFoxContactManager.FillFromReader(dbContentHit.user.Contact, "sysGlobal_Contacts", r, userContactOffset, userContactOffset + 1);
                    }
                }

                // Fill RequestContent
                if (requestContentOffset != -1 && !r.IsDBNull(requestContentOffset))
                {
                    DbContentClipManager.FillFromReader(dbContentHit.requestContent, r, requestContentOffset, requestContentOffset + 1);

                    // Fill
                    if (requestContentStatusOffset != -1 && !r.IsDBNull(requestContentStatusOffset))
                    {
                        DbContentStatusManager.FillFromReader(dbContentHit.requestContent.Status, r, requestContentStatusOffset, requestContentStatusOffset + 1);
                    }

                    // Fill Parent Catalog
                    if (requestContentParentCatalogOffset != -1 && !r.IsDBNull(requestContentParentCatalogOffset))
                    {
                        DbContentCatalogManager.FillFromReader(dbContentHit.requestContent.ParentCatalog, r, requestContentParentCatalogOffset, requestContentParentCatalogOffset + 1);
                    }

                    // Fill
                    if (requestContentRatingOffset != -1 && !r.IsDBNull(requestContentRatingOffset))
                    {
                        DbContentRatingManager.FillFromReader(dbContentHit.requestContent.Rating, r, requestContentRatingOffset, requestContentRatingOffset + 1);
                    }

                    // Fill
                    if (requestContentWorkingDraftOffset != -1 && !r.IsDBNull(requestContentWorkingDraftOffset))
                    {
                        DbContentClipManager.FillFromReader(dbContentHit.requestContent.WorkingDraft, r, requestContentWorkingDraftOffset, requestContentWorkingDraftOffset + 1);
                    }
                }

                dbContentHitCollection.Add(dbContentHit);
            }

            return(dbContentHitCollection);
        }
Пример #13
0
        private void bind()
        {
            #region Bind Default Child Data

            DojoMemberManager                instructorManager    = new DojoMemberManager();
            DojoMemberCollection             instructorCollection = instructorManager.GetCollection(string.Empty, string.Empty, null);
            ComponentArt.Web.UI.ComboBoxItem InstructorNullItem   = new ComponentArt.Web.UI.ComboBoxItem();
            InstructorNullItem.Text  = "Null";
            InstructorNullItem.Value = "Null";
            comboInstructor.Items.Add(InstructorNullItem);
            foreach (DojoMember instructor in instructorCollection)
            {
                ComponentArt.Web.UI.ComboBoxItem i = new ComponentArt.Web.UI.ComboBoxItem();
                i.Text  = instructor.ToString();
                i.Value = instructor.ID.ToString();
                comboInstructor.Items.Add(i);
            }

            DojoSeminarManager               parentSeminarManager    = new DojoSeminarManager();
            DojoSeminarCollection            parentSeminarCollection = parentSeminarManager.GetCollection(string.Empty, string.Empty, null);
            ComponentArt.Web.UI.ComboBoxItem ParentSeminarNullItem   = new ComponentArt.Web.UI.ComboBoxItem();
            ParentSeminarNullItem.Text  = "Null";
            ParentSeminarNullItem.Value = "Null";
            comboParentSeminar.Items.Add(ParentSeminarNullItem);
            foreach (DojoSeminar parentSeminar in parentSeminarCollection)
            {
                ComponentArt.Web.UI.ComboBoxItem i = new ComponentArt.Web.UI.ComboBoxItem();
                i.Text  = parentSeminar.ToString();
                i.Value = parentSeminar.ID.ToString();
                comboParentSeminar.Items.Add(i);
            }

            DojoClassDefinitionManager       parentDefinitionManager    = new DojoClassDefinitionManager();
            DojoClassDefinitionCollection    parentDefinitionCollection = parentDefinitionManager.GetCollection(string.Empty, string.Empty, null);
            ComponentArt.Web.UI.ComboBoxItem ParentDefinitionNullItem   = new ComponentArt.Web.UI.ComboBoxItem();
            ParentDefinitionNullItem.Text  = "Null";
            ParentDefinitionNullItem.Value = "Null";
            comboParentDefinition.Items.Add(ParentDefinitionNullItem);
            foreach (DojoClassDefinition parentDefinition in parentDefinitionCollection)
            {
                ComponentArt.Web.UI.ComboBoxItem i = new ComponentArt.Web.UI.ComboBoxItem();
                i.Text  = parentDefinition.ToString();
                i.Value = parentDefinition.ID.ToString();
                comboParentDefinition.Items.Add(i);
            }

            GreyFoxContactManager            locationManager    = new GreyFoxContactManager("kitTessen_Locations");
            GreyFoxContactCollection         locationCollection = locationManager.GetCollection(string.Empty, string.Empty);
            ComponentArt.Web.UI.ComboBoxItem LocationNullItem   = new ComponentArt.Web.UI.ComboBoxItem();
            LocationNullItem.Text  = "Null";
            LocationNullItem.Value = "Null";
            comboLocation.Items.Add(LocationNullItem);
            foreach (GreyFoxContact location in locationCollection)
            {
                ComponentArt.Web.UI.ComboBoxItem i = new ComponentArt.Web.UI.ComboBoxItem();
                i.Text  = location.ToString();
                i.Value = location.ID.ToString();
                comboLocation.Items.Add(i);
            }

            DojoAccessControlGroupManager    accessControlGroupManager    = new DojoAccessControlGroupManager();
            DojoAccessControlGroupCollection accessControlGroupCollection = accessControlGroupManager.GetCollection(string.Empty, string.Empty, null);
            ComponentArt.Web.UI.ComboBoxItem AccessControlGroupNullItem   = new ComponentArt.Web.UI.ComboBoxItem();
            AccessControlGroupNullItem.Text  = "Null";
            AccessControlGroupNullItem.Value = "Null";
            comboAccessControlGroup.Items.Add(AccessControlGroupNullItem);
            foreach (DojoAccessControlGroup accessControlGroup in accessControlGroupCollection)
            {
                ComponentArt.Web.UI.ComboBoxItem i = new ComponentArt.Web.UI.ComboBoxItem();
                i.Text  = accessControlGroup.ToString();
                i.Value = accessControlGroup.ID.ToString();
                comboAccessControlGroup.Items.Add(i);
            }

            #endregion
        }
Пример #14
0
        public DojoSeminarCollection GetCollection(int topCount, string whereClause, string sortClause, params DojoSeminarFlags[] optionFlags)
        {
            StringBuilder         query;
            Database              database;
            DbCommand             dbCommand;
            IDataReader           r;
            DojoSeminarCollection dojoSeminarCollection;

            int innerJoinOffset;

            query = new StringBuilder("SELECT ");

            if (topCount > 0)
            {
                query.Append("TOP ");
                query.Append(topCount);
                query.Append(" ");
            }

            foreach (string columnName in InnerJoinFields)
            {
                query.Append("DojoSeminar.");
                query.Append(columnName);
                query.Append(",");
            }

            innerJoinOffset = InnerJoinFields.GetUpperBound(0) + 1;
            int locationOffset               = -1;
            int itemOffset                   = -1;
            int itemParentItemOffset         = -1;
            int itemPurchaseVendorOffset     = -1;
            int itemPurchaseAccountOffset    = -1;
            int itemInventoryAccountOffset   = -1;
            int itemTaxOffset                = -1;
            int itemSalesIncomeAccountOffset = -1;

            //
            // Append Option Flag Fields
            //
            if (optionFlags != null)
            {
                for (int x = 0; x < optionFlags.Length; x++)
                {
                    switch (optionFlags[x])
                    {
                    case DojoSeminarFlags.Location:
                        for (int i = 0; i <= GreyFoxContactManager.InnerJoinFields.GetUpperBound(0); i++)
                        {
                            query.Append("Location.");
                            query.Append(GreyFoxContactManager.InnerJoinFields[i]);
                            query.Append(",");
                        }
                        locationOffset  = innerJoinOffset;
                        innerJoinOffset = locationOffset + GreyFoxContactManager.InnerJoinFields.GetUpperBound(0) + 1;
                        break;

                    case DojoSeminarFlags.Item:
                        for (int i = 0; i <= RHItemManager.InnerJoinFields.GetUpperBound(0); i++)
                        {
                            query.Append("Item.");
                            query.Append(RHItemManager.InnerJoinFields[i]);
                            query.Append(",");
                        }
                        itemOffset      = innerJoinOffset;
                        innerJoinOffset = itemOffset + RHItemManager.InnerJoinFields.GetUpperBound(0) + 1;
                        break;

                    case DojoSeminarFlags.ItemParentItem:
                        for (int i = 0; i <= RHItemManager.InnerJoinFields.GetUpperBound(0); i++)
                        {
                            query.Append("Item_ParentItem.");
                            query.Append(RHItemManager.InnerJoinFields[i]);
                            query.Append(",");
                        }
                        itemParentItemOffset = innerJoinOffset;
                        innerJoinOffset      = itemParentItemOffset + RHItemManager.InnerJoinFields.GetUpperBound(0) + 1;
                        break;

                    case DojoSeminarFlags.ItemPurchaseVendor:
                        for (int i = 0; i <= RHVendorManager.InnerJoinFields.GetUpperBound(0); i++)
                        {
                            query.Append("Item_PurchaseVendor.");
                            query.Append(RHVendorManager.InnerJoinFields[i]);
                            query.Append(",");
                        }
                        itemPurchaseVendorOffset = innerJoinOffset;
                        innerJoinOffset          = itemPurchaseVendorOffset + RHVendorManager.InnerJoinFields.GetUpperBound(0) + 1;
                        break;

                    case DojoSeminarFlags.ItemPurchaseAccount:
                        for (int i = 0; i <= RHAccountManager.InnerJoinFields.GetUpperBound(0); i++)
                        {
                            query.Append("Item_PurchaseAccount.");
                            query.Append(RHAccountManager.InnerJoinFields[i]);
                            query.Append(",");
                        }
                        itemPurchaseAccountOffset = innerJoinOffset;
                        innerJoinOffset           = itemPurchaseAccountOffset + RHAccountManager.InnerJoinFields.GetUpperBound(0) + 1;
                        break;

                    case DojoSeminarFlags.ItemInventoryAccount:
                        for (int i = 0; i <= RHAccountManager.InnerJoinFields.GetUpperBound(0); i++)
                        {
                            query.Append("Item_InventoryAccount.");
                            query.Append(RHAccountManager.InnerJoinFields[i]);
                            query.Append(",");
                        }
                        itemInventoryAccountOffset = innerJoinOffset;
                        innerJoinOffset            = itemInventoryAccountOffset + RHAccountManager.InnerJoinFields.GetUpperBound(0) + 1;
                        break;

                    case DojoSeminarFlags.ItemTax:
                        for (int i = 0; i <= RHTaxTypeManager.InnerJoinFields.GetUpperBound(0); i++)
                        {
                            query.Append("Item_Tax.");
                            query.Append(RHTaxTypeManager.InnerJoinFields[i]);
                            query.Append(",");
                        }
                        itemTaxOffset   = innerJoinOffset;
                        innerJoinOffset = itemTaxOffset + RHTaxTypeManager.InnerJoinFields.GetUpperBound(0) + 1;
                        break;

                    case DojoSeminarFlags.ItemSalesIncomeAccount:
                        for (int i = 0; i <= RHAccountManager.InnerJoinFields.GetUpperBound(0); i++)
                        {
                            query.Append("Item_SalesIncomeAccount.");
                            query.Append(RHAccountManager.InnerJoinFields[i]);
                            query.Append(",");
                        }
                        itemSalesIncomeAccountOffset = innerJoinOffset;
                        innerJoinOffset = itemSalesIncomeAccountOffset + RHAccountManager.InnerJoinFields.GetUpperBound(0) + 1;
                        break;
                    }
                }
            }

            //
            // Remove trailing comma
            //
            query.Length--;
            if (optionFlags != null)
            {
                query.Append(" FROM ");

                //
                // Start INNER JOIN expressions
                //
                for (int x = 0; x < optionFlags.Length; x++)
                {
                    query.Append("(");
                }

                query.Append("kitTessen_Seminars AS DojoSeminar");
            }
            else
            {
                query.Append(" FROM kitTessen_Seminars AS DojoSeminar");
            }
            //
            // Finish INNER JOIN expressions
            //
            if (optionFlags != null)
            {
                for (int x = 0; x < optionFlags.Length; x++)
                {
                    switch (optionFlags[x])
                    {
                    case DojoSeminarFlags.Location:
                        query.Append(" LEFT JOIN kitTessen_Locations AS Location ON DojoSeminar.LocationID = Location.GreyFoxContactID)");
                        break;

                    case DojoSeminarFlags.Item:
                        query.Append(" LEFT JOIN RH_Items AS Item ON DojoSeminar.ItemID = Item.RHItemID)");
                        break;

                    case DojoSeminarFlags.ItemParentItem:
                        query.Append(" LEFT JOIN RH_Items AS Item_ParentItem ON Item.ParentItemID = Item_ParentItem.RHItemID)");
                        break;

                    case DojoSeminarFlags.ItemPurchaseVendor:
                        query.Append(" LEFT JOIN RH_Vendors AS Item_PurchaseVendor ON Item.PurchaseVendorID = Item_PurchaseVendor.RHVendorID)");
                        break;

                    case DojoSeminarFlags.ItemPurchaseAccount:
                        query.Append(" LEFT JOIN RH_Accounts AS Item_PurchaseAccount ON Item.PurchaseAccountID = Item_PurchaseAccount.RHAccountID)");
                        break;

                    case DojoSeminarFlags.ItemInventoryAccount:
                        query.Append(" LEFT JOIN RH_Accounts AS Item_InventoryAccount ON Item.InventoryAccountID = Item_InventoryAccount.RHAccountID)");
                        break;

                    case DojoSeminarFlags.ItemTax:
                        query.Append(" LEFT JOIN RH_TaxTypes AS Item_Tax ON Item.TaxID = Item_Tax.RHTaxTypeID)");
                        break;

                    case DojoSeminarFlags.ItemSalesIncomeAccount:
                        query.Append(" LEFT JOIN RH_Accounts AS Item_SalesIncomeAccount ON Item.SalesIncomeAccountID = Item_SalesIncomeAccount.RHAccountID)");
                        break;
                    }
                }
            }

            //
            // Render where clause
            //
            if (whereClause != string.Empty)
            {
                query.Append(" WHERE ");
                query.Append(whereClause);
            }

            //
            // Render sort clause
            //
            if (sortClause != string.Empty)
            {
                query.Append(" ORDER BY ");
                query.Append(sortClause);
            }

            //
            // Render final semicolon
            //
            query.Append(";");
            database  = DatabaseFactory.CreateDatabase();
            dbCommand = database.GetSqlStringCommand(query.ToString());
                        #if DEBUG
            try
            {
                r = database.ExecuteReader(dbCommand);
            }
            catch (Exception e)
            {
                string msg = e.Message;
                throw(new Exception(msg + " --- Query: " + query.ToString()));
            }
                        #else
            r = database.ExecuteReader(dbCommand);
                        #endif

            dojoSeminarCollection = new DojoSeminarCollection();

            while (r.Read())
            {
                DojoSeminar dojoSeminar = ParseFromReader(r, 0, 1);

                // Fill Location
                if (locationOffset != -1 && !r.IsDBNull(locationOffset))
                {
                    GreyFoxContactManager.FillFromReader(dojoSeminar.location, "kitTessen_Locations", r, locationOffset, locationOffset + 1);
                }

                // Fill Item
                if (itemOffset != -1 && !r.IsDBNull(itemOffset))
                {
                    RHItemManager.FillFromReader(dojoSeminar.item, r, itemOffset, itemOffset + 1);

                    // Fill
                    if (itemParentItemOffset != -1 && !r.IsDBNull(itemParentItemOffset))
                    {
                        RHItemManager.FillFromReader(dojoSeminar.item.ParentItem, r, itemParentItemOffset, itemParentItemOffset + 1);
                    }

                    // Fill Vendor
                    if (itemPurchaseVendorOffset != -1 && !r.IsDBNull(itemPurchaseVendorOffset))
                    {
                        RHVendorManager.FillFromReader(dojoSeminar.item.PurchaseVendor, r, itemPurchaseVendorOffset, itemPurchaseVendorOffset + 1);
                    }

                    // Fill Purchase Account
                    if (itemPurchaseAccountOffset != -1 && !r.IsDBNull(itemPurchaseAccountOffset))
                    {
                        RHAccountManager.FillFromReader(dojoSeminar.item.PurchaseAccount, r, itemPurchaseAccountOffset, itemPurchaseAccountOffset + 1);
                    }

                    // Fill Asset Account
                    if (itemInventoryAccountOffset != -1 && !r.IsDBNull(itemInventoryAccountOffset))
                    {
                        RHAccountManager.FillFromReader(dojoSeminar.item.InventoryAccount, r, itemInventoryAccountOffset, itemInventoryAccountOffset + 1);
                    }

                    // Fill
                    if (itemTaxOffset != -1 && !r.IsDBNull(itemTaxOffset))
                    {
                        RHTaxTypeManager.FillFromReader(dojoSeminar.item.Tax, r, itemTaxOffset, itemTaxOffset + 1);
                    }

                    // Fill
                    if (itemSalesIncomeAccountOffset != -1 && !r.IsDBNull(itemSalesIncomeAccountOffset))
                    {
                        RHAccountManager.FillFromReader(dojoSeminar.item.SalesIncomeAccount, r, itemSalesIncomeAccountOffset, itemSalesIncomeAccountOffset + 1);
                    }
                }

                dojoSeminarCollection.Add(dojoSeminar);
            }

            // Microsoft DAAB still needs to close readers.
            r.Close();

            return(dojoSeminarCollection);
        }
Пример #15
0
        public GreyFoxUserPreferenceCollection GetCollection(int topCount, string whereClause, string sortClause, params GreyFoxUserPreferenceFlags[] optionFlags)
        {
            StringBuilder query = new StringBuilder("SELECT ");

            if (topCount > 0)
            {
                query.Append("TOP ");
                query.Append(topCount);
                query.Append(" ");
            }
            foreach (string columnName in InnerJoinFields)
            {
                query.Append("sysGlobal_UserPreferences.");
                query.Append(columnName);
                query.Append(",");
            }

            int innerJoinOffset   = InnerJoinFields.GetUpperBound(0) + 1;
            int userOffset        = -1;
            int userContactOffset = -1;

            //
            // Append Option Flag Fields
            //
            if (optionFlags != null)
            {
                for (int x = 0; x < optionFlags.Length; x++)
                {
                    switch (optionFlags[x])
                    {
                    case GreyFoxUserPreferenceFlags.User:
                        for (int i = 0; i <= GreyFoxUserManager.InnerJoinFields.GetUpperBound(0); i++)
                        {
                            query.Append("sysGlobal_Users.");
                            query.Append(GreyFoxUserManager.InnerJoinFields[i]);
                            query.Append(",");
                        }
                        userOffset      = innerJoinOffset;
                        innerJoinOffset = userOffset + GreyFoxUserManager.InnerJoinFields.GetUpperBound(0) + 1;
                        break;

                    case GreyFoxUserPreferenceFlags.UserContact:
                        for (int i = 0; i <= GreyFoxContactManager.InnerJoinFields.GetUpperBound(0); i++)
                        {
                            query.Append("sysGlobal_Contacts.");
                            query.Append(GreyFoxContactManager.InnerJoinFields[i]);
                            query.Append(",");
                        }
                        userContactOffset = innerJoinOffset;
                        innerJoinOffset   = userContactOffset + GreyFoxContactManager.InnerJoinFields.GetUpperBound(0) + 1;
                        break;
                    }
                }
            }

            //
            // Remove trailing comma
            //
            query.Length--;
            if (optionFlags != null)
            {
                query.Append(" FROM ");

                //
                // Start INNER JOIN expressions
                //
                for (int x = 0; x < optionFlags.Length; x++)
                {
                    query.Append("(");
                }

                query.Append("sysGlobal_UserPreferences");
            }
            else
            {
                query.Append(" FROM sysGlobal_UserPreferences ");
            }
            //
            // Finish INNER JOIN expressions
            //
            if (optionFlags != null)
            {
                for (int x = 0; x < optionFlags.Length; x++)
                {
                    switch (optionFlags[x])
                    {
                    case GreyFoxUserPreferenceFlags.User:
                        query.Append(" LEFT JOIN sysGlobal_Users ON sysGlobal_UserPreferences.UserID = sysGlobal_Users.GreyFoxUserID)");
                        break;

                    case GreyFoxUserPreferenceFlags.UserContact:
                        query.Append(" LEFT JOIN sysGlobal_Contacts ON sysGlobal_Users.ContactID = sysGlobal_Contacts.GreyFoxContactID)");
                        break;
                    }
                }
            }

            //
            // Render where clause
            //
            if (whereClause != string.Empty)
            {
                query.Append(" WHERE ");
                query.Append(whereClause);
            }

            //
            // Render sort clause
            //
            if (sortClause != string.Empty)
            {
                query.Append(" ORDER BY ");
                query.Append(sortClause);
            }

            //
            // Render final semicolon
            //
            query.Append(";");
            OleDbConnection dbConnection = new OleDbConnection(connectionString);
            OleDbCommand    dbCommand    = new OleDbCommand(query.ToString(), dbConnection);

            dbConnection.Open();

                        #if DEBUG
            OleDbDataReader r;
            try
            {
                r = dbCommand.ExecuteReader();
            }
            catch (Exception e)
            {
                throw(new Exception(e.Message + " --- Query: " + query.ToString()));
            }
                        #else
            OleDbDataReader r = dbCommand.ExecuteReader();
                        #endif

            GreyFoxUserPreferenceCollection greyFoxUserPreferenceCollection = new GreyFoxUserPreferenceCollection();

            while (r.Read())
            {
                GreyFoxUserPreference greyFoxUserPreference = ParseFromReader(r, 0, 1);

                // Fill User
                if (userOffset != -1 && !r.IsDBNull(userOffset))
                {
                    GreyFoxUserManager.FillFromReader(greyFoxUserPreference.user, r, userOffset, userOffset + 1);

                    // Fill
                    if (userContactOffset != -1 && !r.IsDBNull(userContactOffset))
                    {
                        GreyFoxContactManager.FillFromReader(greyFoxUserPreference.user.Contact, "sysGlobal_Contacts", r, userContactOffset, userContactOffset + 1);
                    }
                }

                greyFoxUserPreferenceCollection.Add(greyFoxUserPreference);
            }

            r.Close();
            dbConnection.Close();

            return(greyFoxUserPreferenceCollection);
        }
Пример #16
0
        private void bindDropDownLists()
        {
            #region Bind General Child Data

            msMemberType.Items.Add(new ListItem("Null", "Null"));
            DojoMemberTypeManager    memberTypeManager    = new DojoMemberTypeManager();
            DojoMemberTypeCollection memberTypeCollection = memberTypeManager.GetCollection(string.Empty, string.Empty, null);
            foreach (DojoMemberType memberType in memberTypeCollection)
            {
                ListItem i = new ListItem(memberType.ToString(), memberType.ID.ToString());
                msMemberType.Items.Add(i);
            }

            msPublicContact.Items.Add(new ListItem("Null", "Null"));
            GreyFoxContactManager    publicContactManager    = new GreyFoxContactManager("kitTessen_Members_PublicContacts");
            GreyFoxContactCollection publicContactCollection = publicContactManager.GetCollection(string.Empty, string.Empty);
            foreach (GreyFoxContact publicContact in publicContactCollection)
            {
                ListItem i = new ListItem(publicContact.ToString(), publicContact.ID.ToString());
                msPublicContact.Items.Add(i);
            }

            msParentMember.Items.Add(new ListItem("Null", "Null"));
            DojoMemberManager    parentMemberManager    = new DojoMemberManager();
            DojoMemberCollection parentMemberCollection = parentMemberManager.GetCollection(string.Empty, string.Empty, null);
            foreach (DojoMember parentMember in parentMemberCollection)
            {
                ListItem i = new ListItem(parentMember.ToString(), parentMember.ID.ToString());
                msParentMember.Items.Add(i);
            }

            #endregion

            #region Bind Membership Child Data

            msPrimaryOrgMembership.Items.Add(new ListItem("Null", "Null"));
            DojoMembershipManager    primaryOrgMembershipManager    = new DojoMembershipManager();
            DojoMembershipCollection primaryOrgMembershipCollection = primaryOrgMembershipManager.GetCollection(string.Empty, string.Empty, null);
            foreach (DojoMembership primaryOrgMembership in primaryOrgMembershipCollection)
            {
                ListItem i = new ListItem(primaryOrgMembership.ToString(), primaryOrgMembership.ID.ToString());
                msPrimaryOrgMembership.Items.Add(i);
            }

            msParentOrgMembership.Items.Add(new ListItem("Null", "Null"));
            DojoMembershipManager    parentOrgMembershipManager    = new DojoMembershipManager();
            DojoMembershipCollection parentOrgMembershipCollection = parentOrgMembershipManager.GetCollection(string.Empty, string.Empty, null);
            foreach (DojoMembership parentOrgMembership in parentOrgMembershipCollection)
            {
                ListItem i = new ListItem(parentOrgMembership.ToString(), parentOrgMembership.ID.ToString());
                msParentOrgMembership.Items.Add(i);
            }

            #endregion

            #region Bind Attendance Child Data

            msInstructor1.Items.Add(new ListItem("Null", "Null"));
            DojoMemberManager    instructor1Manager    = new DojoMemberManager();
            DojoMemberCollection instructor1Collection = instructor1Manager.GetCollection(string.Empty, string.Empty, null);
            foreach (DojoMember instructor1 in instructor1Collection)
            {
                ListItem i = new ListItem(instructor1.ToString(), instructor1.ID.ToString());
                msInstructor1.Items.Add(i);
            }

            msInstructor2.Items.Add(new ListItem("Null", "Null"));
            DojoMemberManager    instructor2Manager    = new DojoMemberManager();
            DojoMemberCollection instructor2Collection = instructor2Manager.GetCollection(string.Empty, string.Empty, null);
            foreach (DojoMember instructor2 in instructor2Collection)
            {
                ListItem i = new ListItem(instructor2.ToString(), instructor2.ID.ToString());
                msInstructor2.Items.Add(i);
            }

            msInstructor3.Items.Add(new ListItem("Null", "Null"));
            DojoMemberManager    instructor3Manager    = new DojoMemberManager();
            DojoMemberCollection instructor3Collection = instructor3Manager.GetCollection(string.Empty, string.Empty, null);
            foreach (DojoMember instructor3 in instructor3Collection)
            {
                ListItem i = new ListItem(instructor3.ToString(), instructor3.ID.ToString());
                msInstructor3.Items.Add(i);
            }

            #endregion

            #region Bind Activity Child Data

            msPromotionFlags.Items.Add(new ListItem("Null", "Null"));
            DojoPromotionFlagManager    promotionFlagsManager    = new DojoPromotionFlagManager();
            DojoPromotionFlagCollection promotionFlagsCollection = promotionFlagsManager.GetCollection(string.Empty, string.Empty);
            foreach (DojoPromotionFlag promotionFlags in promotionFlagsCollection)
            {
                ListItem i = new ListItem(promotionFlags.ToString(), promotionFlags.ID.ToString());
                msPromotionFlags.Items.Add(i);
            }

            msRank.Items.Add(new ListItem("Null", "Null"));
            DojoRankManager    rankManager    = new DojoRankManager();
            DojoRankCollection rankCollection = rankManager.GetCollection(string.Empty, string.Empty, null);
            foreach (DojoRank rank in rankCollection)
            {
                ListItem i = new ListItem(rank.ToString(), rank.ID.ToString());
                msRank.Items.Add(i);
            }

            #endregion

            #region Bind Security Child Data

            #endregion

            #region Bind Rappahanock Child Data

            msCustomer.Items.Add(new ListItem("Null", "Null"));
            RHCustomerManager    customerManager    = new RHCustomerManager();
            RHCustomerCollection customerCollection = customerManager.GetCollection(string.Empty, string.Empty, null);
            foreach (RHCustomer customer in customerCollection)
            {
                ListItem i = new ListItem(customer.ToString(), customer.ID.ToString());
                msCustomer.Items.Add(i);
            }

            #endregion
        }
Пример #17
0
        public void GetContactsSortName()
        {
            GreyFoxContactManager    cm;
            GreyFoxContactCollection contacts;
            DateTime time;

            cm = new GreyFoxContactManager("TestContacts");

            time     = DateTime.Now;
            contacts = cm.GetCollection(100, string.Empty, "LastName, FirstName, MiddleName");
            TestContext.WriteLine((DateTime.Now - time).ToString());

            time     = DateTime.Now;
            contacts = cm.GetCollection(100, string.Empty, "LastName, FirstName, MiddleName");
            TestContext.WriteLine((DateTime.Now - time).ToString());

            time     = DateTime.Now;
            contacts = cm.GetCollection(100, string.Empty, "LastName, FirstName, MiddleName");
            TestContext.WriteLine((DateTime.Now - time).ToString());

            time     = DateTime.Now;
            contacts = cm.GetCollection(100, string.Empty, "LastName, FirstName, MiddleName");
            TestContext.WriteLine((DateTime.Now - time).ToString());

            time     = DateTime.Now;
            contacts = cm.GetCollection(100, string.Empty, "LastName, FirstName, MiddleName");
            TestContext.WriteLine((DateTime.Now - time).ToString());

            time     = DateTime.Now;
            contacts = cm.GetCollection(100, string.Empty, "LastName, FirstName, MiddleName");
            TestContext.WriteLine((DateTime.Now - time).ToString());

            time     = DateTime.Now;
            contacts = cm.GetCollection(100, string.Empty, "LastName, FirstName, MiddleName, Suffix");
            TestContext.WriteLine((DateTime.Now - time).ToString());

            time     = DateTime.Now;
            contacts = cm.GetCollection(100, string.Empty, "LastName, FirstName, MiddleName, Suffix");
            TestContext.WriteLine((DateTime.Now - time).ToString());

            time     = DateTime.Now;
            contacts = cm.GetCollection(100, string.Empty, "LastName, FirstName, MiddleName, Suffix");
            TestContext.WriteLine((DateTime.Now - time).ToString());

            time     = DateTime.Now;
            contacts = cm.GetCollection(100, string.Empty, "LastName, FirstName, MiddleName, Suffix");
            TestContext.WriteLine((DateTime.Now - time).ToString());

            time     = DateTime.Now;
            contacts = cm.GetCollection(100, string.Empty, "LastName, FirstName, MiddleName, Suffix");
            TestContext.WriteLine((DateTime.Now - time).ToString());

            time     = DateTime.Now;
            contacts = cm.GetCollection(100, string.Empty, "LastName, MiddleName, FirstName, Suffix");
            TestContext.WriteLine((DateTime.Now - time).ToString());

            time     = DateTime.Now;
            contacts = cm.GetCollection(100, string.Empty, "LastName, MiddleName, FirstName, Suffix");
            TestContext.WriteLine((DateTime.Now - time).ToString());

            time     = DateTime.Now;
            contacts = cm.GetCollection(100, string.Empty, "LastName, MiddleName, FirstName, Suffix");
            TestContext.WriteLine((DateTime.Now - time).ToString());

            time     = DateTime.Now;
            contacts = cm.GetCollection(100, string.Empty, "LastName, MiddleName, FirstName, Suffix");
            TestContext.WriteLine((DateTime.Now - time).ToString());

            time     = DateTime.Now;
            contacts = cm.GetCollection(100, string.Empty, "LastName, MiddleName, FirstName, Suffix");
            TestContext.WriteLine((DateTime.Now - time).ToString());

            time     = DateTime.Now;
            contacts = cm.GetCollection(100, string.Empty, "LastName, MiddleName, FirstName, Suffix");
            TestContext.WriteLine((DateTime.Now - time).ToString());

            time     = DateTime.Now;
            contacts = cm.GetCollection(100, string.Empty, "LastName, MiddleName, FirstName");
            TestContext.WriteLine((DateTime.Now - time).ToString());

            time     = DateTime.Now;
            contacts = cm.GetCollection(100, string.Empty, "LastName, MiddleName, FirstName");
            TestContext.WriteLine((DateTime.Now - time).ToString());

            time     = DateTime.Now;
            contacts = cm.GetCollection(100, string.Empty, "LastName, MiddleName, FirstName");
            TestContext.WriteLine((DateTime.Now - time).ToString());

            time     = DateTime.Now;
            contacts = cm.GetCollection(100, string.Empty, "LastName, MiddleName, FirstName");
            TestContext.WriteLine((DateTime.Now - time).ToString());
        }
Пример #18
0
 public void GetContacts()
 {
     GreyFoxContactManager    cm       = new GreyFoxContactManager("TestContacts");
     GreyFoxContactCollection contacts = cm.GetCollection(100, string.Empty, string.Empty);
 }
Пример #19
0
        public void ImportEndNoteXml(XmlDataDocument xmlDocument)
        {
            GreyFoxContactManager authorsManager =
                new GreyFoxContactManager("kitYari_Authors");
            GreyFoxContactManager publishersManager =
                new GreyFoxContactManager("kitYari_Publishers");
            YariMediaRecordManager mediaRecordManager =
                new YariMediaRecordManager();
            YariMediaKeywordManager mediaKeywordManager =
                new YariMediaKeywordManager();

            XmlNodeList bookNodes = xmlDocument.SelectNodes("//XML/RECORDS/RECORD");
            XmlNode     bookNode;

            externalRecordCount = bookNodes.Count;

            OnStart(new YariImporterEventArgs("Started Import.", 0));

            for (int bookIndex = 0; bookIndex < bookNodes.Count; bookIndex++)
            {
                bookNode = bookNodes[bookIndex];

                YariMediaRecord r = new YariMediaRecord();

                foreach (XmlNode childNode in bookNode.ChildNodes)
                {
                    // check for null records which signify existing titles of
                    // the same name.
                    if (r == null)
                    {
                        break;
                    }

                    switch (childNode.Name)
                    {
                    case "ISBN":
                        if (childNode.InnerText.Length > 15)
                        {
                            r.Isbn = childNode.InnerText.Substring(0, 15);
                        }
                        else
                        {
                            r.Isbn = childNode.InnerText;
                        }
                        break;

                    case "REFNUM":
                        r.EndNoteReferenceID = int.Parse(childNode.InnerText);
//							if(mediaRecordManager.EndNoteReferenceIDExists(r.EndNoteReferenceID))
//							{
//								OnRecordSkipped(new YariImporterEventArgs(
//									"Record Skipped - '" + r.EndNoteReferenceID + "'; EndNote Reference ID already exists.", bookIndex));
//								r = null;
//							}
                        break;

                    case "YEAR":
                        try
                        {
                            r.PublishYear = int.Parse(childNode.InnerText);
                        }
                        catch
                        {
                            r.PublishYear = 0;
                        }
                        break;

                    case "TITLE":
                        r.Title = childNode.InnerText;
                        if (mediaRecordManager.TitleExists(r.title))
                        {
                            OnRecordSkipped(new YariImporterEventArgs(
                                                "Record Skipped - '" + r.title + "'; title already exists.", bookIndex));
                            r = null;
                        }
                        break;

                    case "PUBLISHER":
                        r.Publisher = childNode.InnerText;
                        break;

                    case "PAGES":
                        try { r.Pages = int.Parse(childNode.InnerText); }
                        catch {}
                        break;

                    case "EDITION":
                        r.Edition = childNode.InnerText;
                        break;

                    case "LABEL":
                        r.Label = childNode.InnerText;
                        break;

                    case "KEYWORDS":
                        r.keywords = new YariMediaKeywordCollection();
                        foreach (XmlNode keywordNode in childNode.ChildNodes)
                        {
                            string[] keywords =
                                keywordNode.InnerText.Split(new char[] { ',', ';' });

                            foreach (string keyword in keywords)
                            {
                                r.Keywords.Add(mediaKeywordManager.FindByKeyword(keyword.Trim().ToLower(), true));
                            }
                        }
                        break;

                    case "ABSTRACT":
                        r.AbstractText = childNode.InnerText;
                        break;

                    case "NOTES":
                        r.ContentsText = childNode.InnerText;
                        break;

                    case "AUTHORS":
                        foreach (XmlNode authorNode in childNode.ChildNodes)
                        {
                            //
                            // Split author fields in case the firstName is joined with
                            // an ampersand or 'and' text.
                            //
                            string authorText = authorNode.InnerText.Replace(" & ", " and ");
                            int    andIndex   = authorText.ToLower().IndexOf(" and ");
                            if (andIndex != -1)
                            {
                                string authorA =
                                    authorText.Substring(0, andIndex).Trim();
                                string authorB =
                                    authorText.Substring(andIndex + 5,
                                                         authorText.Length - (authorA.Length + 6)).Trim();
                            }

                            r.Authors += authorText + " ";
                        }
                        break;
                    }
                }

                // save the record if it does not exist.
                if (r != null)
                {
                    r.AmazonRefreshDate = DateTime.MinValue;
                    r.AmazonFillDate    = DateTime.MinValue;
                    r.AmazonReleaseDate = DateTime.MinValue;
                    r.Save();
                    OnRecordImported(
                        new YariImporterEventArgs("Imported Record - '" + r.Title + "'.",
                                                  bookIndex, r));
                }
            }

            OnFinish(new YariImporterEventArgs("Finished import.", bookNodes.Count));
        }
Пример #20
0
        public DojoOrganizationCollection GetCollection(int topCount, string whereClause, string sortClause, params DojoOrganizationFlags[] optionFlags)
        {
            StringBuilder query;
            Database      database;
            DbCommand     dbCommand;
            IDataReader   r;
            DojoOrganizationCollection dojoOrganizationCollection;
            int hashcode;

            // Cache Handling

            hashcode = 0;

            if (cacheEnabled)
            {
                hashcode = topCount.GetHashCode() +
                           whereClause.GetHashCode() +
                           sortClause.GetHashCode() +
                           tableName.GetHashCode();

                DojoOrganizationCollection collection = cacheFindCollection(hashcode);
                if (collection != null)
                {
                    return(collection);
                }
            }

            int innerJoinOffset;

            query = new StringBuilder("SELECT ");

            if (topCount > 0)
            {
                query.Append("TOP ");
                query.Append(topCount);
                query.Append(" ");
            }

            foreach (string columnName in InnerJoinFields)
            {
                query.Append("DojoOrganization.");
                query.Append(columnName);
                query.Append(",");
            }

            innerJoinOffset = InnerJoinFields.GetUpperBound(0) + 1;
            int locationOffset = -1;
            int administrativeContactOffset = -1;
            int defaultMemberTypeOffset     = -1;

            //
            // Append Option Flag Fields
            //
            if (optionFlags != null)
            {
                for (int x = 0; x < optionFlags.Length; x++)
                {
                    switch (optionFlags[x])
                    {
                    case DojoOrganizationFlags.Location:
                        for (int i = 0; i <= GreyFoxContactManager.InnerJoinFields.GetUpperBound(0); i++)
                        {
                            query.Append("Location.");
                            query.Append(GreyFoxContactManager.InnerJoinFields[i]);
                            query.Append(",");
                        }
                        locationOffset  = innerJoinOffset;
                        innerJoinOffset = locationOffset + GreyFoxContactManager.InnerJoinFields.GetUpperBound(0) + 1;
                        break;

                    case DojoOrganizationFlags.AdministrativeContact:
                        for (int i = 0; i <= GreyFoxContactManager.InnerJoinFields.GetUpperBound(0); i++)
                        {
                            query.Append("AdministrativeContact.");
                            query.Append(GreyFoxContactManager.InnerJoinFields[i]);
                            query.Append(",");
                        }
                        administrativeContactOffset = innerJoinOffset;
                        innerJoinOffset             = administrativeContactOffset + GreyFoxContactManager.InnerJoinFields.GetUpperBound(0) + 1;
                        break;

                    case DojoOrganizationFlags.DefaultMemberType:
                        for (int i = 0; i <= DojoMemberTypeManager.InnerJoinFields.GetUpperBound(0); i++)
                        {
                            query.Append("DefaultMemberType.");
                            query.Append(DojoMemberTypeManager.InnerJoinFields[i]);
                            query.Append(",");
                        }
                        defaultMemberTypeOffset = innerJoinOffset;
                        innerJoinOffset         = defaultMemberTypeOffset + DojoMemberTypeManager.InnerJoinFields.GetUpperBound(0) + 1;
                        break;
                    }
                }
            }

            //
            // Remove trailing comma
            //
            query.Length--;
            if (optionFlags != null)
            {
                query.Append(" FROM ");

                //
                // Start INNER JOIN expressions
                //
                for (int x = 0; x < optionFlags.Length; x++)
                {
                    query.Append("(");
                }

                query.Append("kitTessen_Organizations AS DojoOrganization");
            }
            else
            {
                query.Append(" FROM kitTessen_Organizations AS DojoOrganization");
            }
            //
            // Finish INNER JOIN expressions
            //
            if (optionFlags != null)
            {
                for (int x = 0; x < optionFlags.Length; x++)
                {
                    switch (optionFlags[x])
                    {
                    case DojoOrganizationFlags.Location:
                        query.Append(" LEFT JOIN kitTessen_Locations AS Location ON DojoOrganization.LocationID = Location.GreyFoxContactID)");
                        break;

                    case DojoOrganizationFlags.AdministrativeContact:
                        query.Append(" LEFT JOIN sysGlobal_Contacts AS AdministrativeContact ON DojoOrganization.AdministrativeContactID = AdministrativeContact.GreyFoxContactID)");
                        break;

                    case DojoOrganizationFlags.DefaultMemberType:
                        query.Append(" LEFT JOIN kitTessen_MemberTypes AS DefaultMemberType ON DojoOrganization.DefaultMemberTypeID = DefaultMemberType.DojoMemberTypeID)");
                        break;
                    }
                }
            }

            //
            // Render where clause
            //
            if (whereClause != string.Empty)
            {
                query.Append(" WHERE ");
                query.Append(whereClause);
            }

            //
            // Render sort clause
            //
            if (sortClause != string.Empty)
            {
                query.Append(" ORDER BY ");
                query.Append(sortClause);
            }

            //
            // Render final semicolon
            //
            query.Append(";");
            database  = DatabaseFactory.CreateDatabase();
            dbCommand = database.GetSqlStringCommand(query.ToString());
                        #if DEBUG
            try
            {
                r = database.ExecuteReader(dbCommand);
            }
            catch (Exception e)
            {
                string msg = e.Message;
                throw(new Exception(msg + " --- Query: " + query.ToString()));
            }
                        #else
            r = database.ExecuteReader(dbCommand);
                        #endif

            dojoOrganizationCollection = new DojoOrganizationCollection();

            while (r.Read())
            {
                DojoOrganization dojoOrganization = ParseFromReader(r, 0, 1);

                // Fill Location
                if (locationOffset != -1 && !r.IsDBNull(locationOffset))
                {
                    GreyFoxContactManager.FillFromReader(dojoOrganization.location, "kitTessen_Locations", r, locationOffset, locationOffset + 1);
                }

                // Fill AdministrativeContact
                if (administrativeContactOffset != -1 && !r.IsDBNull(administrativeContactOffset))
                {
                    GreyFoxContactManager.FillFromReader(dojoOrganization.administrativeContact, "sysGlobal_Contacts", r, administrativeContactOffset, administrativeContactOffset + 1);
                }

                // Fill DefaultMemberType
                if (defaultMemberTypeOffset != -1 && !r.IsDBNull(defaultMemberTypeOffset))
                {
                    DojoMemberTypeManager.FillFromReader(dojoOrganization.defaultMemberType, r, defaultMemberTypeOffset, defaultMemberTypeOffset + 1);
                }

                dojoOrganizationCollection.Add(dojoOrganization);
            }

            // Microsoft DAAB still needs to close readers.
            r.Close();

            if (cacheEnabled)
            {
                cacheStoreCollection(hashcode, dojoOrganizationCollection);
            }

            return(dojoOrganizationCollection);
        }
Пример #21
0
        public GreyFoxUserCollection GetCollection(int topCount, string whereClause, string sortClause, params GreyFoxUserFlags[] optionFlags)
        {
            StringBuilder         query;
            Database              database;
            DbCommand             dbCommand;
            IDataReader           r;
            GreyFoxUserCollection greyFoxUserCollection;

            int innerJoinOffset;

            query = new StringBuilder("SELECT ");

            if (topCount > 0)
            {
                query.Append("TOP ");
                query.Append(topCount);
                query.Append(" ");
            }

            foreach (string columnName in InnerJoinFields)
            {
                query.Append("GreyFoxUser.");
                query.Append(columnName);
                query.Append(",");
            }

            innerJoinOffset = InnerJoinFields.GetUpperBound(0) + 1;
            int contactOffset = -1;

            //
            // Append Option Flag Fields
            //
            if (optionFlags != null)
            {
                for (int x = 0; x < optionFlags.Length; x++)
                {
                    switch (optionFlags[x])
                    {
                    case GreyFoxUserFlags.Contact:
                        for (int i = 0; i <= GreyFoxContactManager.InnerJoinFields.GetUpperBound(0); i++)
                        {
                            query.Append("Contact.");
                            query.Append(GreyFoxContactManager.InnerJoinFields[i]);
                            query.Append(",");
                        }
                        contactOffset   = innerJoinOffset;
                        innerJoinOffset = contactOffset + GreyFoxContactManager.InnerJoinFields.GetUpperBound(0) + 1;
                        break;
                    }
                }
            }

            //
            // Remove trailing comma
            //
            query.Length--;
            if (optionFlags != null)
            {
                query.Append(" FROM ");

                //
                // Start INNER JOIN expressions
                //
                for (int x = 0; x < optionFlags.Length; x++)
                {
                    query.Append("(");
                }

                query.Append("sysGlobal_Users AS GreyFoxUser");
            }
            else
            {
                query.Append(" FROM sysGlobal_Users AS GreyFoxUser");
            }
            //
            // Finish INNER JOIN expressions
            //
            if (optionFlags != null)
            {
                for (int x = 0; x < optionFlags.Length; x++)
                {
                    switch (optionFlags[x])
                    {
                    case GreyFoxUserFlags.Contact:
                        query.Append(" LEFT JOIN sysGlobal_Contacts AS Contact ON GreyFoxUser.ContactID = Contact.GreyFoxContactID)");
                        break;
                    }
                }
            }

            //
            // Render where clause
            //
            if (whereClause != string.Empty)
            {
                query.Append(" WHERE ");
                query.Append(whereClause);
            }

            //
            // Render sort clause
            //
            if (sortClause != string.Empty)
            {
                query.Append(" ORDER BY ");
                query.Append(sortClause);
            }

            //
            // Render final semicolon
            //
            query.Append(";");
            database  = DatabaseFactory.CreateDatabase();
            dbCommand = database.GetSqlStringCommand(query.ToString());
                        #if DEBUG
            try
            {
                r = database.ExecuteReader(dbCommand);
            }
            catch (Exception e)
            {
                string msg = e.Message;
                throw(new Exception(msg + " --- Query: " + query.ToString()));
            }
                        #else
            r = database.ExecuteReader(dbCommand);
                        #endif

            greyFoxUserCollection = new GreyFoxUserCollection();

            while (r.Read())
            {
                GreyFoxUser greyFoxUser = ParseFromReader(r, 0, 1);

                // Fill Contact
                if (contactOffset != -1 && !r.IsDBNull(contactOffset))
                {
                    GreyFoxContactManager.FillFromReader(greyFoxUser.contact, "sysGlobal_Contacts", r, contactOffset, contactOffset + 1);
                }

                greyFoxUserCollection.Add(greyFoxUser);
            }

            // Microsoft DAAB still needs to close readers.
            r.Close();

            return(greyFoxUserCollection);
        }
Пример #22
0
        public void CreateTable()
        {
            StringBuilder query;
            Database      database;
            DbCommand     dbCommand;

            database = DatabaseFactory.CreateDatabase();

            if (database.ConnectionStringWithoutCredentials.StartsWith("provider=microsoft.jet.oledb.4.0"))
            {
                // Microsoft Jet SQL
                query = new StringBuilder("CREATE TABLE kitTessen_Organizations ");
                query.Append(" (DojoOrganizationID COUNTER(1,1) CONSTRAINT PK_kitTessen_Organizations PRIMARY KEY, " +
                             "Name TEXT(75)," +
                             "Description MEMO," +
                             "LocationID LONG," +
                             "AdministrativeContactID LONG," +
                             "WebServiceUrl TEXT(255)," +
                             "RefreshTime DOUBLE," +
                             "IsPrimary BIT," +
                             "DefaultMemberTypeID LONG," +
                             "PromotionFlagEnabled BIT);");
            }
            else
            {
                // Microsoft SQL Server
                query = new StringBuilder("CREATE TABLE kitTessen_Organizations ");
                query.Append(" (DojoOrganizationID INT IDENTITY(1,1) CONSTRAINT PK_kitTessen_Organizations PRIMARY KEY, " +
                             "Name NVARCHAR(75)," +
                             "Description NTEXT," +
                             "LocationID INT," +
                             "AdministrativeContactID INT," +
                             "WebServiceUrl NVARCHAR(255)," +
                             "RefreshTime FLOAT," +
                             "IsPrimary BIT," +
                             "DefaultMemberTypeID INT," +
                             "PromotionFlagEnabled BIT);");
            }

            dbCommand = database.GetSqlStringCommand(query.ToString());
            database.ExecuteNonQuery(dbCommand);

            //
            // Create object level table for Location.
            //
            GreyFoxContactManager locationManager = new GreyFoxContactManager("kitTessen_Locations");

            locationManager.CreateTable();

            //
            // Create object level table for ClassLocations.
            //
            GreyFoxContactManager classLocationsManager = new GreyFoxContactManager("kitTessen_Locations");

            classLocationsManager.CreateTable();

            //
            // Create children table for ClassLocations.
            //
            query.Length = 0;
            if (database.ConnectionStringWithoutCredentials.StartsWith("provider=microsoft.jet.oledb.4.0"))
            {
                query.Append("CREATE TABLE kitTessen_OrganizationsChildren_ClassLocations ");
                query.Append("(DojoOrganizationID LONG, GreyFoxContactID LONG);");
                dbCommand = database.GetSqlStringCommand(query.ToString());
                database.ExecuteNonQuery(dbCommand);
            }
            else
            {
                query.Append("CREATE TABLE kitTessen_OrganizationsChildren_ClassLocations ");
                query.Append("(DojoOrganizationID INT, GreyFoxContactID INT);");
                dbCommand = database.GetSqlStringCommand(query.ToString());
                database.ExecuteNonQuery(dbCommand);
            }
            //
            // Create object level table for AdministrativeContact.
            //
            GreyFoxContactManager administrativeContactManager = new GreyFoxContactManager("sysGlobal_Contacts");

            administrativeContactManager.CreateTable();
        }
Пример #23
0
        public void CreateTable()
        {
            StringBuilder query;
            Database      database;
            DbCommand     dbCommand;

            database = DatabaseFactory.CreateDatabase();

            if (database.ConnectionStringWithoutCredentials.StartsWith("provider=microsoft.jet.oledb.4.0"))
            {
                // Microsoft Jet SQL
                query = new StringBuilder("CREATE TABLE sysGlobal_Users ");
                query.Append(" (GreyFoxUserID COUNTER(1,1) CONSTRAINT PK_sysGlobal_Users PRIMARY KEY, " +
                             "UserName TEXT(25) CONSTRAINT UniqueUserName UNIQUE," +
                             "IsDisabled BIT," +
                             "LoginDate DATETIME," +
                             "LoginCount LONG," +
                             "LoginPassword TEXT(50)," +
                             "ContactID LONG," +
                             "ActivationID TEXT(25));");
            }
            else
            {
                // Microsoft SQL Server
                query = new StringBuilder("CREATE TABLE sysGlobal_Users ");
                query.Append(" (GreyFoxUserID INT IDENTITY(1,1) CONSTRAINT PK_sysGlobal_Users PRIMARY KEY, " +
                             "UserName NVARCHAR(25) CONSTRAINT UniqueUserName UNIQUE," +
                             "IsDisabled BIT," +
                             "LoginDate DATETIME," +
                             "LoginCount INT," +
                             "LoginPassword NVARCHAR(50)," +
                             "ContactID INT," +
                             "ActivationID NVARCHAR(25));");
            }

            dbCommand = database.GetSqlStringCommand(query.ToString());
            database.ExecuteNonQuery(dbCommand);

            //
            // Create object level table for Contact.
            //
            GreyFoxContactManager contactManager = new GreyFoxContactManager("sysGlobal_Contacts");

            contactManager.CreateTable();

            //
            // Create children table for Roles.
            //
            query.Length = 0;
            if (database.ConnectionStringWithoutCredentials.StartsWith("provider=microsoft.jet.oledb.4.0"))
            {
                query.Append("CREATE TABLE sysGlobal_UsersChildren_Roles ");
                query.Append("(GreyFoxUserID LONG, GreyFoxRoleID LONG);");
                dbCommand = database.GetSqlStringCommand(query.ToString());
                database.ExecuteNonQuery(dbCommand);
            }
            else
            {
                query.Append("CREATE TABLE sysGlobal_UsersChildren_Roles ");
                query.Append("(GreyFoxUserID INT, GreyFoxRoleID INT);");
                dbCommand = database.GetSqlStringCommand(query.ToString());
                database.ExecuteNonQuery(dbCommand);
            }
        }
Пример #24
0
        private void bind()
        {
            GreyFoxContactManager    locationManager    = new GreyFoxContactManager("kitTessen_Locations");
            GreyFoxContactCollection locationCollection = locationManager.GetCollection(string.Empty, string.Empty);

            foreach (GreyFoxContact itemObject in locationCollection)
            {
                ComponentArt.Web.UI.ComboBoxItem item = new ComponentArt.Web.UI.ComboBoxItem();
                item.Text  = itemObject.BusinessName;
                item.Value = itemObject.ID.ToString();
                comboLocation.Items.Add(item);
            }


            DojoMemberTypeManager    dojoMemberTypeManager    = new DojoMemberTypeManager();
            DojoMemberTypeCollection dojoMemberTypeCollection = dojoMemberTypeManager.GetCollection(string.Empty, string.Empty);

            foreach (DojoMemberType itemObject in dojoMemberTypeCollection)
            {
                ComponentArt.Web.UI.ComboBoxItem item = new ComponentArt.Web.UI.ComboBoxItem();
                item.Text  = itemObject.Name;
                item.Value = itemObject.ID.ToString();
                comboListMemberType1.Items.Add(item);
            }


            foreach (DojoMemberType itemObject in dojoMemberTypeCollection)
            {
                ComponentArt.Web.UI.ComboBoxItem item = new ComponentArt.Web.UI.ComboBoxItem();
                item.Text  = itemObject.Name;
                item.Value = itemObject.ID.ToString();
                comboListMemberType2.Items.Add(item);
            }


            foreach (DojoMemberType itemObject in dojoMemberTypeCollection)
            {
                ComponentArt.Web.UI.ComboBoxItem item = new ComponentArt.Web.UI.ComboBoxItem();
                item.Text  = itemObject.Name;
                item.Value = itemObject.ID.ToString();
                comboListMemberType3.Items.Add(item);
            }


            DojoMemberManager    dojoMemberManager    = new DojoMemberManager();
            DojoMemberCollection dojoMemberCollection = dojoMemberManager.GetCollection(
                "UserAccountID IS NOT NULL", string.Empty);

            ddPanelChief.Items.Add(new ListItem("             ", "null"));
            foreach (DojoMember itemObject in dojoMemberCollection)
            {
                ddPanelChief.Items.Add(new ListItem(itemObject.ToString(), itemObject.ID.ToString()));
            }

            foreach (DojoMember itemObject in dojoMemberCollection)
            {
                ComponentArt.Web.UI.ComboBoxItem item = new ComponentArt.Web.UI.ComboBoxItem();
                item.Text  = itemObject.UserAccount.UserName;
                item.Value = itemObject.ID.ToString();
                comboPanelMembers.Items.Add(item);
            }


            DojoTestListStatusManager    dojoTestListStatusManager    = new DojoTestListStatusManager();
            DojoTestListStatusCollection dojoTestListStatusCollection = dojoTestListStatusManager.GetCollection(string.Empty, string.Empty);

            foreach (DojoTestListStatus itemObject in dojoTestListStatusCollection)
            {
                ComponentArt.Web.UI.ComboBoxItem item = new ComponentArt.Web.UI.ComboBoxItem();
                item.Text  = itemObject.ToString();
                item.Value = itemObject.ID.ToString();
                comboStatus.Items.Add(item);
            }


            DojoTestListManager    dojoTestListManager    = new DojoTestListManager();
            DojoTestListCollection dojoTestListCollection = dojoTestListManager.GetCollection(string.Empty, string.Empty);

            ddActiveTestList.Items.Add(new ListItem("             ", "null"));
            foreach (DojoTestList itemObject in dojoTestListCollection)
            {
                ddActiveTestList.Items.Add(new ListItem(itemObject.ToString(), itemObject.ID.ToString()));
            }


            RHItemManager    rHItemManager    = new RHItemManager();
            RHItemCollection rHItemCollection = rHItemManager.GetCollection(string.Empty, string.Empty);

            foreach (RHItem itemObject in rHItemCollection)
            {
                ComponentArt.Web.UI.ComboBoxItem item = new ComponentArt.Web.UI.ComboBoxItem();
                item.Text  = itemObject.ToString();
                item.Value = itemObject.ID.ToString();
                comboItem.Items.Add(item);
            }
        }
Пример #25
0
        public DojoSeminarRegistrationOptionCollection GetCollection(int topCount, string whereClause, string sortClause, params DojoSeminarRegistrationOptionFlags[] optionFlags)
        {
            StringBuilder query;
            Database      database;
            DbCommand     dbCommand;
            IDataReader   r;
            DojoSeminarRegistrationOptionCollection dojoSeminarRegistrationOptionCollection;
            int hashcode;

            // Cache Handling

            hashcode = 0;

            if (cacheEnabled)
            {
                hashcode = topCount.GetHashCode() +
                           whereClause.GetHashCode() +
                           sortClause.GetHashCode() +
                           tableName.GetHashCode();

                DojoSeminarRegistrationOptionCollection collection = cacheFindCollection(hashcode);
                if (collection != null)
                {
                    return(collection);
                }
            }

            int innerJoinOffset;

            query = new StringBuilder("SELECT ");

            if (topCount > 0)
            {
                query.Append("TOP ");
                query.Append(topCount);
                query.Append(" ");
            }

            foreach (string columnName in InnerJoinFields)
            {
                query.Append("DojoSeminarRegistrationOption.");
                query.Append(columnName);
                query.Append(",");
            }

            innerJoinOffset = InnerJoinFields.GetUpperBound(0) + 1;
            int parentOptionOffset       = -1;
            int parentOptionItemOffset   = -1;
            int parentRegistrationOffset = -1;
            int parentRegistrationParentSeminarOffset  = -1;
            int parentRegistrationContactOffset        = -1;
            int parentRegistrationInvoiceLineOffset    = -1;
            int parentRegistrationSalesOrderLineOffset = -1;
            int parentRegistrationCustomerOffset       = -1;

            //
            // Append Option Flag Fields
            //
            if (optionFlags != null)
            {
                for (int x = 0; x < optionFlags.Length; x++)
                {
                    switch (optionFlags[x])
                    {
                    case DojoSeminarRegistrationOptionFlags.ParentOption:
                        for (int i = 0; i <= DojoSeminarOptionManager.InnerJoinFields.GetUpperBound(0); i++)
                        {
                            query.Append("ParentOption.");
                            query.Append(DojoSeminarOptionManager.InnerJoinFields[i]);
                            query.Append(",");
                        }
                        parentOptionOffset = innerJoinOffset;
                        innerJoinOffset    = parentOptionOffset + DojoSeminarOptionManager.InnerJoinFields.GetUpperBound(0) + 1;
                        break;

                    case DojoSeminarRegistrationOptionFlags.ParentOptionItem:
                        for (int i = 0; i <= RHItemManager.InnerJoinFields.GetUpperBound(0); i++)
                        {
                            query.Append("ParentOption_Item.");
                            query.Append(RHItemManager.InnerJoinFields[i]);
                            query.Append(",");
                        }
                        parentOptionItemOffset = innerJoinOffset;
                        innerJoinOffset        = parentOptionItemOffset + RHItemManager.InnerJoinFields.GetUpperBound(0) + 1;
                        break;

                    case DojoSeminarRegistrationOptionFlags.ParentRegistration:
                        for (int i = 0; i <= DojoSeminarRegistrationManager.InnerJoinFields.GetUpperBound(0); i++)
                        {
                            query.Append("ParentRegistration.");
                            query.Append(DojoSeminarRegistrationManager.InnerJoinFields[i]);
                            query.Append(",");
                        }
                        parentRegistrationOffset = innerJoinOffset;
                        innerJoinOffset          = parentRegistrationOffset + DojoSeminarRegistrationManager.InnerJoinFields.GetUpperBound(0) + 1;
                        break;

                    case DojoSeminarRegistrationOptionFlags.ParentRegistrationParentSeminar:
                        for (int i = 0; i <= DojoSeminarManager.InnerJoinFields.GetUpperBound(0); i++)
                        {
                            query.Append("ParentRegistration_ParentSeminar.");
                            query.Append(DojoSeminarManager.InnerJoinFields[i]);
                            query.Append(",");
                        }
                        parentRegistrationParentSeminarOffset = innerJoinOffset;
                        innerJoinOffset = parentRegistrationParentSeminarOffset + DojoSeminarManager.InnerJoinFields.GetUpperBound(0) + 1;
                        break;

                    case DojoSeminarRegistrationOptionFlags.ParentRegistrationContact:
                        for (int i = 0; i <= GreyFoxContactManager.InnerJoinFields.GetUpperBound(0); i++)
                        {
                            query.Append("ParentRegistration_Contact.");
                            query.Append(GreyFoxContactManager.InnerJoinFields[i]);
                            query.Append(",");
                        }
                        parentRegistrationContactOffset = innerJoinOffset;
                        innerJoinOffset = parentRegistrationContactOffset + GreyFoxContactManager.InnerJoinFields.GetUpperBound(0) + 1;
                        break;

                    case DojoSeminarRegistrationOptionFlags.ParentRegistrationInvoiceLine:
                        for (int i = 0; i <= RHInvoiceLineManager.InnerJoinFields.GetUpperBound(0); i++)
                        {
                            query.Append("ParentRegistration_InvoiceLine.");
                            query.Append(RHInvoiceLineManager.InnerJoinFields[i]);
                            query.Append(",");
                        }
                        parentRegistrationInvoiceLineOffset = innerJoinOffset;
                        innerJoinOffset = parentRegistrationInvoiceLineOffset + RHInvoiceLineManager.InnerJoinFields.GetUpperBound(0) + 1;
                        break;

                    case DojoSeminarRegistrationOptionFlags.ParentRegistrationSalesOrderLine:
                        for (int i = 0; i <= RHSalesOrderLineManager.InnerJoinFields.GetUpperBound(0); i++)
                        {
                            query.Append("ParentRegistration_SalesOrderLine.");
                            query.Append(RHSalesOrderLineManager.InnerJoinFields[i]);
                            query.Append(",");
                        }
                        parentRegistrationSalesOrderLineOffset = innerJoinOffset;
                        innerJoinOffset = parentRegistrationSalesOrderLineOffset + RHSalesOrderLineManager.InnerJoinFields.GetUpperBound(0) + 1;
                        break;

                    case DojoSeminarRegistrationOptionFlags.ParentRegistrationCustomer:
                        for (int i = 0; i <= RHCustomerManager.InnerJoinFields.GetUpperBound(0); i++)
                        {
                            query.Append("ParentRegistration_Customer.");
                            query.Append(RHCustomerManager.InnerJoinFields[i]);
                            query.Append(",");
                        }
                        parentRegistrationCustomerOffset = innerJoinOffset;
                        innerJoinOffset = parentRegistrationCustomerOffset + RHCustomerManager.InnerJoinFields.GetUpperBound(0) + 1;
                        break;
                    }
                }
            }

            //
            // Remove trailing comma
            //
            query.Length--;
            if (optionFlags != null)
            {
                query.Append(" FROM ");

                //
                // Start INNER JOIN expressions
                //
                for (int x = 0; x < optionFlags.Length; x++)
                {
                    query.Append("(");
                }

                query.Append("kitTessen_SeminarRegistrationOptions AS DojoSeminarRegistrationOption");
            }
            else
            {
                query.Append(" FROM kitTessen_SeminarRegistrationOptions AS DojoSeminarRegistrationOption");
            }
            //
            // Finish INNER JOIN expressions
            //
            if (optionFlags != null)
            {
                for (int x = 0; x < optionFlags.Length; x++)
                {
                    switch (optionFlags[x])
                    {
                    case DojoSeminarRegistrationOptionFlags.ParentOption:
                        query.Append(" LEFT JOIN kitTessen_SeminarOptions AS ParentOption ON DojoSeminarRegistrationOption.ParentOptionID = ParentOption.DojoSeminarOptionID)");
                        break;

                    case DojoSeminarRegistrationOptionFlags.ParentOptionItem:
                        query.Append(" LEFT JOIN RH_Items AS ParentOption_Item ON ParentOption.ItemID = ParentOption_Item.RHItemID)");
                        break;

                    case DojoSeminarRegistrationOptionFlags.ParentRegistration:
                        query.Append(" LEFT JOIN kitTessen_SeminarRegistrations AS ParentRegistration ON DojoSeminarRegistrationOption.ParentRegistrationID = ParentRegistration.DojoSeminarRegistrationID)");
                        break;

                    case DojoSeminarRegistrationOptionFlags.ParentRegistrationParentSeminar:
                        query.Append(" LEFT JOIN kitTessen_Seminars AS ParentRegistration_ParentSeminar ON ParentRegistration.ParentSeminarID = ParentRegistration_ParentSeminar.DojoSeminarID)");
                        break;

                    case DojoSeminarRegistrationOptionFlags.ParentRegistrationContact:
                        query.Append(" LEFT JOIN kitTessen_SeminarRegistrations_Contacts AS ParentRegistration_Contact ON ParentRegistration.ContactID = ParentRegistration_Contact.GreyFoxContactID)");
                        break;

                    case DojoSeminarRegistrationOptionFlags.ParentRegistrationInvoiceLine:
                        query.Append(" LEFT JOIN RH_InvoiceLines AS ParentRegistration_InvoiceLine ON ParentRegistration.InvoiceLineID = ParentRegistration_InvoiceLine.RHInvoiceLineID)");
                        break;

                    case DojoSeminarRegistrationOptionFlags.ParentRegistrationSalesOrderLine:
                        query.Append(" LEFT JOIN RH_SalesOrderLines AS ParentRegistration_SalesOrderLine ON ParentRegistration.SalesOrderLineID = ParentRegistration_SalesOrderLine.RHSalesOrderLineID)");
                        break;

                    case DojoSeminarRegistrationOptionFlags.ParentRegistrationCustomer:
                        query.Append(" LEFT JOIN RH_Customers AS ParentRegistration_Customer ON ParentRegistration.CustomerID = ParentRegistration_Customer.RHCustomerID)");
                        break;
                    }
                }
            }

            //
            // Render where clause
            //
            if (whereClause != string.Empty)
            {
                query.Append(" WHERE ");
                query.Append(whereClause);
            }

            //
            // Render sort clause
            //
            if (sortClause != string.Empty)
            {
                query.Append(" ORDER BY ");
                query.Append(sortClause);
            }

            //
            // Render final semicolon
            //
            query.Append(";");
            database  = DatabaseFactory.CreateDatabase();
            dbCommand = database.GetSqlStringCommand(query.ToString());
                        #if DEBUG
            try
            {
                r = database.ExecuteReader(dbCommand);
            }
            catch (Exception e)
            {
                string msg = e.Message;
                throw(new Exception(msg + " --- Query: " + query.ToString()));
            }
                        #else
            r = database.ExecuteReader(dbCommand);
                        #endif

            dojoSeminarRegistrationOptionCollection = new DojoSeminarRegistrationOptionCollection();

            while (r.Read())
            {
                DojoSeminarRegistrationOption dojoSeminarRegistrationOption = ParseFromReader(r, 0, 1);

                // Fill ParentOption
                if (parentOptionOffset != -1 && !r.IsDBNull(parentOptionOffset))
                {
                    DojoSeminarOptionManager.FillFromReader(dojoSeminarRegistrationOption.parentOption, r, parentOptionOffset, parentOptionOffset + 1);

                    // Fill
                    if (parentOptionItemOffset != -1 && !r.IsDBNull(parentOptionItemOffset))
                    {
                        RHItemManager.FillFromReader(dojoSeminarRegistrationOption.parentOption.Item, r, parentOptionItemOffset, parentOptionItemOffset + 1);
                    }
                }

                // Fill ParentRegistration
                if (parentRegistrationOffset != -1 && !r.IsDBNull(parentRegistrationOffset))
                {
                    DojoSeminarRegistrationManager.FillFromReader(dojoSeminarRegistrationOption.parentRegistration, r, parentRegistrationOffset, parentRegistrationOffset + 1);

                    // Fill
                    if (parentRegistrationParentSeminarOffset != -1 && !r.IsDBNull(parentRegistrationParentSeminarOffset))
                    {
                        DojoSeminarManager.FillFromReader(dojoSeminarRegistrationOption.parentRegistration.ParentSeminar, r, parentRegistrationParentSeminarOffset, parentRegistrationParentSeminarOffset + 1);
                    }

                    // Fill
                    if (parentRegistrationContactOffset != -1 && !r.IsDBNull(parentRegistrationContactOffset))
                    {
                        GreyFoxContactManager.FillFromReader(dojoSeminarRegistrationOption.parentRegistration.Contact, "kitTessen_SeminarRegistrations_Contacts", r, parentRegistrationContactOffset, parentRegistrationContactOffset + 1);
                    }

                    // Fill Invoice Line
                    if (parentRegistrationInvoiceLineOffset != -1 && !r.IsDBNull(parentRegistrationInvoiceLineOffset))
                    {
                        RHInvoiceLineManager.FillFromReader(dojoSeminarRegistrationOption.parentRegistration.InvoiceLine, r, parentRegistrationInvoiceLineOffset, parentRegistrationInvoiceLineOffset + 1);
                    }

                    // Fill Sales Order Line
                    if (parentRegistrationSalesOrderLineOffset != -1 && !r.IsDBNull(parentRegistrationSalesOrderLineOffset))
                    {
                        RHSalesOrderLineManager.FillFromReader(dojoSeminarRegistrationOption.parentRegistration.SalesOrderLine, r, parentRegistrationSalesOrderLineOffset, parentRegistrationSalesOrderLineOffset + 1);
                    }

                    // Fill Registrant
                    if (parentRegistrationCustomerOffset != -1 && !r.IsDBNull(parentRegistrationCustomerOffset))
                    {
                        RHCustomerManager.FillFromReader(dojoSeminarRegistrationOption.parentRegistration.Customer, r, parentRegistrationCustomerOffset, parentRegistrationCustomerOffset + 1);
                    }
                }

                dojoSeminarRegistrationOptionCollection.Add(dojoSeminarRegistrationOption);
            }

            // Microsoft DAAB still needs to close readers.
            r.Close();

            if (cacheEnabled)
            {
                cacheStoreCollection(hashcode, dojoSeminarRegistrationOptionCollection);
            }

            return(dojoSeminarRegistrationOptionCollection);
        }
Пример #26
0
        public void CreateTable()
        {
            StringBuilder query;
            Database      database;
            DbCommand     dbCommand;

            database = DatabaseFactory.CreateDatabase();

            if (database.ConnectionStringWithoutCredentials.StartsWith("provider=microsoft.jet.oledb.4.0"))
            {
                // Microsoft Jet SQL
                query = new StringBuilder("CREATE TABLE kitTessen_Seminars ");
                query.Append(" (DojoSeminarID COUNTER(1,1) CONSTRAINT PK_kitTessen_Seminars PRIMARY KEY, " +
                             "Name TEXT(75)," +
                             "StartDate DATETIME," +
                             "EndDate DATETIME," +
                             "Description MEMO," +
                             "IsLocal BIT," +
                             "LocationID LONG," +
                             "ClassUnitFee CURRENCY," +
                             "ClassUnitType BYTE," +
                             "BaseRegistrationFee CURRENCY," +
                             "RegistrationEnabled BIT," +
                             "RegistrationStart DATETIME," +
                             "FullEarlyRegistrationFee CURRENCY," +
                             "EarlyEndDate DATETIME," +
                             "FullRegistrationFee CURRENCY," +
                             "LateStartDate DATETIME," +
                             "FullLateRegistrationFee CURRENCY," +
                             "RegistrationEnd DATETIME," +
                             "Details MEMO," +
                             "DetailsOverrideUrl TEXT(255)," +
                             "PdfUrl TEXT(255)," +
                             "ItemID LONG);");
            }
            else
            {
                // Microsoft SQL Server
                query = new StringBuilder("CREATE TABLE kitTessen_Seminars ");
                query.Append(" (DojoSeminarID INT IDENTITY(1,1) CONSTRAINT PK_kitTessen_Seminars PRIMARY KEY, " +
                             "Name NVARCHAR(75)," +
                             "StartDate DATETIME," +
                             "EndDate DATETIME," +
                             "Description NTEXT," +
                             "IsLocal BIT," +
                             "LocationID INT," +
                             "ClassUnitFee MONEY," +
                             "ClassUnitType TINYINT," +
                             "BaseRegistrationFee MONEY," +
                             "RegistrationEnabled BIT," +
                             "RegistrationStart DATETIME," +
                             "FullEarlyRegistrationFee MONEY," +
                             "EarlyEndDate DATETIME," +
                             "FullRegistrationFee MONEY," +
                             "LateStartDate DATETIME," +
                             "FullLateRegistrationFee MONEY," +
                             "RegistrationEnd DATETIME," +
                             "Details NTEXT," +
                             "DetailsOverrideUrl NVARCHAR(255)," +
                             "PdfUrl NVARCHAR(255)," +
                             "ItemID INT);");
            }

            dbCommand = database.GetSqlStringCommand(query.ToString());
            database.ExecuteNonQuery(dbCommand);

            //
            // Create object level table for Location.
            //
            GreyFoxContactManager locationManager = new GreyFoxContactManager("kitTessen_Locations");

            locationManager.CreateTable();

            //
            // Create children table for Options.
            //
            query.Length = 0;
            if (database.ConnectionStringWithoutCredentials.StartsWith("provider=microsoft.jet.oledb.4.0"))
            {
                query.Append("CREATE TABLE kitTessen_SeminarsChildren_Options ");
                query.Append("(DojoSeminarID LONG, DojoSeminarOptionID LONG);");
                dbCommand = database.GetSqlStringCommand(query.ToString());
                database.ExecuteNonQuery(dbCommand);
            }
            else
            {
                query.Append("CREATE TABLE kitTessen_SeminarsChildren_Options ");
                query.Append("(DojoSeminarID INT, DojoSeminarOptionID INT);");
                dbCommand = database.GetSqlStringCommand(query.ToString());
                database.ExecuteNonQuery(dbCommand);
            }
        }