예제 #1
0
        public void subInitSettings()
        {
            using (wsXferEventInfo.XferEventInfo wsDev = new global::CTWebMgmt.wsXferEventInfo.XferEventInfo())
            {
                try
                {
                    if (wsDev.Url.Contains("localhost") ||
                        clsWebTalk.strWebConn.Contains("KINGTUBBY") ||
                        clsWebTalk.strWebConn.Contains("BUNNYLEE") ||
                        clsWebTalk.strPOSTFileURI.Contains("localhost"))
                        System.Windows.Forms.MessageBox.Show("Localhost: Used for development only\n\nwsDev.Url: " + wsDev.Url + "\nclsWebTalk.strWebConn: " + clsWebTalk.strWebConn + "\nclsWebTalk.strPOSTFileURI: " + clsWebTalk.strPOSTFileURI);

                    if (clsLiveCharge.strXChargeURI.Contains("test"))
                        System.Windows.Forms.MessageBox.Show("XCharge URI Test: Used for development only");
                }
                catch { }
            }

            //using ( wsXferEventInfoV2.xfereventinfov2SoapClient svc = new global::CTWebMgmt.wsXferEventInfoV2.xfereventinfov2SoapClient("xfereventinfov2Soap"))
            using (wsXferEventInfoV2.xfereventinfov2 svc = new global::CTWebMgmt.wsXferEventInfoV2.xfereventinfov2())
            {
                try
                {
                    if (svc.Url.Contains("localhost")) System.Windows.Forms.MessageBox.Show("Development settings, wsXferEventInfoV2: " + svc.Url + "\n\n");
                }
                catch { }
            }

            string strSQL = "SELECT lngCTUserID, lngLiveCharge, " +
                                "strCashLinqUName, strXChargePath, strCashLinqPW, strCashLinqCQUser, strCashLinqCQPW, strCashLinqCQMerchantID " +
                            "FROM tblCampDefaults";

            using (OleDbConnection conDB = new OleDbConnection(strCTConn))
            {
                conDB.Open();

                using (OleDbCommand cmdDB = new OleDbCommand(strSQL, conDB))
                {
                    using (OleDbDataReader drDef = cmdDB.ExecuteReader())
                    {
                        if (drDef.Read())
                        {
                            lngCTUserID = Convert.ToInt32(drDef["lngCTUserID"]);
                            lngLiveCharge = (clsGlobalEnum.conLIVECHARGE)Convert.ToInt32(drDef["lngLiveCharge"]);
                            strCashLinqUName = Convert.ToString(drDef["strCashLinqUName"]);
                            strXChargePath = Convert.ToString(drDef["strXChargePath"]);
                            strCashLinqPW = Convert.ToString(drDef["strCashLinqPW"]);

                            strCashLinqCQUser = Convert.ToString(drDef["strCashLinqCQUser"]);
                            strCashLinqCQPW = Convert.ToString(drDef["strCashLinqCQPW"]);
                            strCashLinqCQMerchantID = Convert.ToString(drDef["strCashLinqCQMerchantID"]);
                        }

                        drDef.Close();
                    }
                }

                conDB.Close();
            }
        }
예제 #2
0
        private void subValidateCustomProfileData()
        {
            //download custom data for parents of campers that were submitted through the online registration system.

            string strFile = DateTime.Now.ToString("yyyyMMdd_hhmmss") + "_" + clsAppSettings.GetAppSettings().lngCTUserID.ToString() + "_ProfileIDs.xml";
            string strFileName = System.IO.Path.GetDirectoryName(Properties.Settings.Default.MainPath) + "\\" + strFile;
            string strWebFile = "C:\\inetpub\\wwwroot\\camptrak.com\\fileuls\\" + strFile;
            string strSQL = "";

            using (OleDbConnection conDB = new OleDbConnection(clsAppSettings.GetAppSettings().strCTConn))
            {
                conDB.Open();

                strSQL = "SELECT tblWebRecords.lngProfileWebID " +
                        "FROM tblWebRecords " +
                        "WHERE tblWebRecords.lngProfileWebID Is Not Null";

                using (OleDbCommand cmdDB = new OleDbCommand(strSQL, conDB))
                {
                    using (OleDbDataAdapter daProfile = new OleDbDataAdapter(cmdDB))
                    {
                        DataSet dsProfile = new DataSet();

                        daProfile.Fill(dsProfile);

                        dsProfile.WriteXml(strFileName);
                    }
                }

                conDB.Close();
            }

            //put file
            bool blnULRes = false;
            string strULRes = "";

            try
            {
                System.Net.WebClient cliUL = new System.Net.WebClient();

                byte[] bytULRes = cliUL.UploadFile(clsAppSettings.GetAppSettings().strPOSTFileURI, strFileName);

                // Decode and display the response.

                try { strULRes = System.Text.Encoding.ASCII.GetString(bytULRes); }
                catch { strULRes = "ERR"; }

                blnULRes = true;
            }
            catch (Exception ex)
            {
                lstDLStatus.Items.Insert(0, DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss") + ": Error uploading XML file: " + ex.Message);
                Application.DoEvents();
                blnULRes = false;
            }

            if (blnULRes)
            {
                //tell web service to generate data
                using (wsXferEventInfo.XferEventInfo svc = new global::CTWebMgmt.wsXferEventInfo.XferEventInfo())
                {
                    strULRes = svc.fcnGetCustomData(strWebFile, clsAppSettings.GetAppSettings().strWebDBConn, clsAppSettings.GetAppSettings().lngCTUserID);
                }

                if (strULRes.EndsWith(".xml"))
                {
                    //retrieve results
                    using (System.Net.WebClient webClient = new System.Net.WebClient())
                        webClient.DownloadFile("https://www.camptrak.com/fileuls/CustomData/" + strULRes, System.IO.Path.GetDirectoryName(Properties.Settings.Default.MainPath) + "\\" + strULRes);

                    //insert or edit data in table
                    using (OleDbConnection conDB = new OleDbConnection(clsAppSettings.GetAppSettings().strCTConn))
                    {
                        conDB.Open();

                        using (OleDbCommand cmdDB = new OleDbCommand())
                        {
                            cmdDB.Connection = conDB;

                            Type[] dataTypes = { typeof(Record), typeof(CustomField) };

                            //serialize objres to file
                            System.Xml.Serialization.XmlSerializer xsrRes = new System.Xml.Serialization.XmlSerializer(typeof(CustomRecordData), dataTypes);

                            using (Stream reader = new FileStream(System.IO.Path.GetDirectoryName(Properties.Settings.Default.MainPath) + "\\" + strULRes, FileMode.Open))
                            {
                                CustomRecordData crdFromServer;

                                crdFromServer = (CustomRecordData)xsrRes.Deserialize(reader);

                                for (int intRecord = 0; intRecord < crdFromServer.Records.Count; intRecord++)
                                {
                                    long lngRecordWebID = 0;

                                    try { lngRecordWebID = crdFromServer.Records[intRecord].RecordWebID; }
                                    catch { lngRecordWebID = 0; }

                                    if (lngRecordWebID > 0)
                                    {
                                        for (int intCustomField = 0; intCustomField < crdFromServer.Records[intRecord].CustomFields.Count; intCustomField++)
                                        {
                                            string strLocalCaption = "";
                                            string strValue = "";

                                            try { strLocalCaption = crdFromServer.Records[intRecord].CustomFields[intCustomField].LocalCaption; }
                                            catch { strLocalCaption = ""; }

                                            try { strValue = crdFromServer.Records[intRecord].CustomFields[intCustomField].CustomValue; }
                                            catch { strValue = ""; }

                                            if (strLocalCaption != "")
                                            {
                                                //delete and add value
                                                strSQL = "DELETE tblCustomFieldValWebIR.* " +
                                                        "FROM tblCustomFieldValWebIR " +
                                                        "WHERE lngRecordWebID=@lngRecordWebID AND " +
                                                            "strLocalCaption=@strLocalCaption";

                                                cmdDB.CommandText = strSQL;
                                                cmdDB.Parameters.Clear();

                                                cmdDB.Parameters.AddWithValue("@lngRecordWebID", lngRecordWebID);
                                                cmdDB.Parameters.AddWithValue("@strLocalCaption", strLocalCaption);

                                                try { cmdDB.ExecuteNonQuery(); }
                                                catch { }

                                                //add value
                                                strSQL = "INSERT INTO tblCustomFieldValWebIR " +
                                                        "(lngRecordWebID, " +
                                                            "strLocalCaption, strValue) " +
                                                        "VALUES " +
                                                        "(@lngRecordWebID, " +
                                                            "@strLocalCaption, @strValue)";

                                                cmdDB.CommandText = strSQL;
                                                cmdDB.Parameters.Clear();

                                                cmdDB.Parameters.AddWithValue("@lngRecordWebID", lngRecordWebID);
                                                cmdDB.Parameters.AddWithValue("@strLocalCaption", strLocalCaption);
                                                cmdDB.Parameters.AddWithValue("@strValue", strValue);

                                                try { cmdDB.ExecuteNonQuery(); }
                                                catch { }
                                            }
                                        }
                                    }
                                }

                                reader.Close();
                            }
                        }

                        conDB.Close();
                    }
                }
                else
                {
                    string strWebResShort = "";

                    if (strULRes.Length > 300)
                        strWebResShort = strULRes.Substring(0, 300);
                    else
                        strWebResShort = strULRes;

                    lstDLStatus.Items.Insert(0, DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss") + ": There was an error validating profile custom fields: " + strWebResShort);
                    Application.DoEvents();
                }

                if (File.Exists(System.IO.Path.GetDirectoryName(Properties.Settings.Default.MainPath) + "\\" + strULRes)) File.Delete(System.IO.Path.GetDirectoryName(Properties.Settings.Default.MainPath) + "\\" + strULRes);
            }

            if (File.Exists(strFileName)) File.Delete(strFileName);
        }
예제 #3
0
        private void subSetExcludeFromGeneral(long _lngProgramID)
        {
            //commit 'chkExcludeFromGeneral'
            using (wsXferEventInfo.XferEventInfo svcCTWeb = new global::CTWebMgmt.wsXferEventInfo.XferEventInfo())
                if (!svcCTWeb.fcnSetExcludeFromGeneral(clsAppSettings.GetAppSettings().lngCTUserID, _lngProgramID, chkExcludeFromGeneral.Checked, clsWebTalk.strWebConn)) MessageBox.Show("There was an error committing 'blnExcludeFromGeneral'!");

            string strSQL = "";

            using (OleDbConnection conDB = new OleDbConnection(clsAppSettings.GetAppSettings().strCTConn))
            {
                conDB.Open();

                strSQL = "UPDATE tlkpCampName " +
                    "SET blnExcludeFromGeneral = @blnExcludeFromGeneral " +
                    "WHERE lngCampID=@lngCampID";

                using (OleDbCommand cmdDB = new OleDbCommand(strSQL, conDB))
                {
                    cmdDB.Parameters.AddWithValue("@blnExcludeFromGeneral", chkExcludeFromGeneral.Checked);
                    cmdDB.Parameters.AddWithValue("@lngCampID", _lngProgramID);

                    try { cmdDB.ExecuteNonQuery(); }
                    catch { }
                }

                conDB.Close();
            }
        }
예제 #4
0
        private void subSaveCustomFieldDefReg(long _lngProgramID)
        {
            //open set of local defs to save
            string strSQL = "";

            string strFile = DateTime.Now.ToString("yyyyMMdd") + "_" + clsAppSettings.GetAppSettings().lngCTUserID.ToString() + "CustomFieldDefReg.xml";
            string strFileName = System.IO.Path.GetDirectoryName(Properties.Settings.Default.MainPath) + "\\" + strFile;
            string strWebFile = "C:\\inetpub\\wwwroot\\camptrak.com\\fileuls\\" + strFile;

            using (XmlWriter xmlOut = XmlWriter.Create(strFileName))
            {
                xmlOut.WriteStartDocument();
                xmlOut.WriteStartElement("CustomFieldDefRegs");
                xmlOut.WriteAttributeString("ProgramID", _lngProgramID.ToString());
                xmlOut.WriteAttributeString("CTUserID", clsAppSettings.GetAppSettings().lngCTUserID.ToString());

                using (OleDbConnection conDB = new OleDbConnection(clsAppSettings.GetAppSettings().strCTConn))
                {
                    conDB.Open();

                    strSQL = "SELECT tblCustomFieldDefReg.lngCustomFieldDefRegID " +
                            "FROM tblCustomFieldDefReg";

                    List<long> lngCustomFieldDefRegIDs = new List<long>();

                    using (OleDbCommand cmdDB = new OleDbCommand(strSQL, conDB))
                    {
                        using (OleDbDataReader drCust = cmdDB.ExecuteReader())
                        {
                            while (drCust.Read())
                            {
                                long lngCustomFieldDefRegID = 0;

                                try { lngCustomFieldDefRegID = Convert.ToInt32(drCust["lngCustomFieldDefRegID"]); }
                                catch { lngCustomFieldDefRegID = 0; }

                                lngCustomFieldDefRegIDs.Add(lngCustomFieldDefRegID);
                            }

                            drCust.Close();
                        }

                        for (int intI = 0; intI < lngCustomFieldDefRegIDs.Count; intI++)
                        {
                            long lngCustomFieldDefRegID = lngCustomFieldDefRegIDs[intI];
                            Panel panCustomReg = (Panel)pagRegCustom.Controls["panCustomReg_" + lngCustomFieldDefRegID.ToString()];

                            bool blnUseLocal = false;
                            long lngSortOrder = 0;
                            decimal decCharge = 0;
                            string strLocalCaption = "";
                            string strFieldType="";

                            try { blnUseLocal = ((CheckBox)panCustomReg.Controls["chkUseLocalReg_" + lngCustomFieldDefRegID.ToString()]).Checked; }
                            catch { blnUseLocal = false; }

                            try { lngSortOrder = Convert.ToInt32(((TextBox)panCustomReg.Controls["txtSortOrderReg_" + lngCustomFieldDefRegID.ToString()]).Text); }
                            catch { lngSortOrder = 0; }

                            try { decCharge = Convert.ToDecimal(panCustomReg.Controls["txtChargeReg_" + lngCustomFieldDefRegID.ToString()].Text.Replace("$", "").Replace(",", "")); }
                            catch { decCharge = 0; }

                            try { strLocalCaption = ((TextBox)panCustomReg.Controls["txtLocalCaptionReg_" + lngCustomFieldDefRegID.ToString()]).Text; }
                            catch { strLocalCaption = ""; }

                            try { strFieldType = ((Label)panCustomReg.Controls["lblFieldTypeReg_" +lngCustomFieldDefRegID.ToString()]).Text; }
                            catch { strFieldType = "FIELD"; }

                            strSQL = "UPDATE tblCustomFieldDefReg " +
                                    "SET tblCustomFieldDefReg.blnUseLocal = @blnUseLocal, " +
                                        "tblCustomFieldDefReg.lngSortOrder = @lngSortOrder, " +
                                        "tblCustomFieldDefReg.decCharge = @decCharge, " +
                                        "tblCustomFieldDefReg.strLocalCaption = @strLocalCaption " +
                                    "WHERE tblCustomFieldDefReg.lngCustomFieldDefRegID=@lngCustomFieldDefRegID";

                            cmdDB.CommandText = strSQL;
                            cmdDB.Parameters.Clear();

                            cmdDB.Parameters.AddWithValue("@blnUseLocal", blnUseLocal);
                            cmdDB.Parameters.AddWithValue("@lngSortOrder", lngSortOrder);
                            cmdDB.Parameters.AddWithValue("@decCharge", decCharge);
                            cmdDB.Parameters.AddWithValue("@strLocalCaption", strLocalCaption);
                            cmdDB.Parameters.AddWithValue("@lngCustomFieldDefRegID", lngCustomFieldDefRegID);

                            cmdDB.ExecuteNonQuery();

                            //build xml of web data to commit
                            bool blnRequired = false;
                            string strWebCaption = "";
                            string strHeader = "";
                            string strFooter = "";

                            try { blnRequired = ((CheckBox)panCustomReg.Controls["chkRequiredReg_" + lngCustomFieldDefRegID.ToString()]).Checked; }
                            catch { blnRequired = false; }

                            try { strWebCaption = ((TextBox)panCustomReg.Controls["txtWebCaptionReg_" + lngCustomFieldDefRegID.ToString()]).Text; }
                            catch { strWebCaption = ""; }

                            try { strHeader = ((TextBox)panCustomReg.Controls["txtHeaderReg_" + lngCustomFieldDefRegID.ToString()]).Text; }
                            catch { strHeader = ""; }

                            try { strFooter = ((TextBox)panCustomReg.Controls["txtFooterReg_" + lngCustomFieldDefRegID.ToString()]).Text; }
                            catch { strFooter = ""; }

                            if (strWebCaption != "" && ((CheckBox)panCustomReg.Controls["chkUseOnlineReg_"+lngCustomFieldDefRegID.ToString()]).Checked)
                            {
                                //generate xml of definition
                                xmlOut.WriteStartElement("CustomFieldDefReg");

                                xmlOut.WriteElementString("lngCTUserID", clsAppSettings.GetAppSettings().lngCTUserID.ToString());
                                xmlOut.WriteElementString("lngCustomFieldDefRegID", lngCustomFieldDefRegID.ToString());
                                xmlOut.WriteElementString("blnRequired", blnRequired.ToString());
                                xmlOut.WriteElementString("lngProgramID", _lngProgramID.ToString());
                                xmlOut.WriteElementString("lngSortOrder", lngSortOrder.ToString());
                                xmlOut.WriteElementString("decCharge", decCharge.ToString());
                                xmlOut.WriteElementString("strLocalCaption", strLocalCaption);
                                xmlOut.WriteElementString("strWebCaption", strWebCaption);
                                xmlOut.WriteElementString("strHeader", strHeader);
                                xmlOut.WriteElementString("strFooter", strFooter);
                                xmlOut.WriteElementString("strFieldType", strFieldType);

                                //write dd options
                                xmlOut.WriteStartElement("strDropdownOptions");

                                List<string> strDropdownOptions = new List<string>(((TextBox)panCustomReg.Controls["txtDropdownOptionsReg_" + lngCustomFieldDefRegID.ToString()]).Text.Split(new string[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries));

                                for (int intOption = 0; intOption < strDropdownOptions.Count; intOption++)
                                    xmlOut.WriteElementString("strValue", strDropdownOptions[intOption]);

                                xmlOut.WriteEndElement();

                                xmlOut.WriteEndElement();
                            }
                        }

                        xmlOut.WriteEndElement();
                        xmlOut.WriteEndDocument();
                    }

                    conDB.Close();
                }
            }

            //upload xml doc of web field defs
            using (wsXferEventInfo.XferEventInfo xferEventInfo = new global::CTWebMgmt.wsXferEventInfo.XferEventInfo())
            {
                string strWebRes = "";

                System.Net.WebClient myWebClient = new System.Net.WebClient();

                string fileName = strFileName;

                try
                {
                    byte[] responseArray = myWebClient.UploadFile(clsWebTalk.strPOSTFileURI, fileName);

                    // Decode and display the response.
                    string strULRes = "";

                    try { strULRes = System.Text.Encoding.ASCII.GetString(responseArray); }
                    catch { strULRes = "ERR"; }

                    //tell server to process uploaded file
                    strWebRes = xferEventInfo.fcnCommitCustomFieldDefReg(strWebFile, clsWebTalk.strWebConn);
                }
                catch (System.Net.WebException ex)
                {
                    Console.WriteLine(ex.Message);
                }

                if (strWebRes != "")
                    MessageBox.Show("There was an error uploading the custom flag and field definitions to the web server.");
            }

            //delete temp local file
            System.IO.File.Delete(strFileName);
        }
예제 #5
0
        private void subLoadCustomFieldDefRegs(long _lngProgramID)
        {
            //loop through custom field defs and add controls

            //first clear any existing panels
            bool blnContinueClearing = true;

            while (blnContinueClearing)
            {
                for (int intI = 0; intI < pagRegCustom.Controls.Count; intI++)
                {
                    blnContinueClearing = false;

                    if (pagRegCustom.Controls[intI].Name.Contains("panCustomReg_"))
                    {
                        blnContinueClearing = true;
                        pagRegCustom.Controls.RemoveAt(intI);
                        break;
                    }
                }
            }

            string strSQL = "";

            //get web defs from web service, get local defs from db
            //local defs
            using (OleDbConnection conDB = new OleDbConnection(clsAppSettings.GetAppSettings().strCTConn))
            {
                conDB.Open();

                strSQL = "SELECT tblCustomFieldDefReg.blnUseLocal, " +
                            "tblCustomFieldDefReg.lngCustomFieldDefRegID, tblCustomFieldDefReg.lngSortOrder, " +
                            "tblCustomFieldDefReg.decCharge, " +
                            "tblCustomFieldDefReg.strLocalCaption, tblCustomFieldDefReg.strFieldType " +
                        "FROM tblCustomFieldDefReg " +
                        "ORDER BY tblCustomFieldDefReg.lngSortOrder";

                using (OleDbCommand cmdDB = new OleDbCommand(strSQL, conDB))
                {
                    using (OleDbDataReader drCust = cmdDB.ExecuteReader())
                    {
                        intNextRegTop = 55;

                        while (drCust.Read())
                        {
                            //local defs
                            bool blnUseLocal = false;
                            long lngCustomFieldDefRegID = 0;
                            long lngSortOrder = 0;
                            decimal decCharge = 0;
                            string strLocalCaption = "";
                            string strFieldType = "";

                            try { blnUseLocal = Convert.ToBoolean(drCust["blnUseLocal"]); }
                            catch { blnUseLocal = false; }
                            try { lngCustomFieldDefRegID = Convert.ToInt32(drCust["lngCustomFieldDefRegID"]); }
                            catch { lngCustomFieldDefRegID = 0; }
                            try { lngSortOrder = Convert.ToInt32(drCust["lngSortOrder"]); }
                            catch { lngSortOrder = 0; }
                            try { decCharge = Convert.ToDecimal(drCust["decCharge"]); }
                            catch { decCharge = 0; }
                            try { strLocalCaption = Convert.ToString(drCust["strLocalCaption"]); }
                            catch { strLocalCaption = ""; }
                            try { strFieldType = Convert.ToString(drCust["strFieldType"]); }
                            catch { strFieldType = ""; }

                            CheckBox chkUseLocalReg = new CheckBox();
                            chkUseLocalReg.Name = "chkUseLocalReg_" +lngCustomFieldDefRegID.ToString();
                            chkUseLocalReg.Checked = blnUseLocal;
                            chkUseLocalReg.Top = 9;
                            chkUseLocalReg.Left =lblUseLocalRegHead.Left;
                            chkUseLocalReg.Width = 15;

                            CheckBox chkUseOnlineReg = new CheckBox();
                            chkUseOnlineReg.Name = "chkUseOnlineReg_" +lngCustomFieldDefRegID.ToString();
                            chkUseOnlineReg.Top = 9;
                            chkUseOnlineReg.Left = lblUseOnlineRegHead.Left;
                            chkUseOnlineReg.Width = 15;
                            chkUseOnlineReg.CheckedChanged += new EventHandler(chkUseOnlineReg_CheckedChanged);

                            CheckBox chkRequiredReg = new CheckBox();
                            chkRequiredReg.Name = "chkRequiredReg_" +lngCustomFieldDefRegID.ToString();
                            chkRequiredReg.Top = 9;
                            chkRequiredReg.Left = lblRequiredRegHead.Left;
                            chkRequiredReg.Width = 15;
                            chkRequiredReg.Visible = false;

                            TextBox txtChargeReg = new TextBox();
                            txtChargeReg.Name = "txtChargeReg_" + lngCustomFieldDefRegID.ToString();
                            txtChargeReg.Top = 9;
                            txtChargeReg.Left = lblChargeRegHead.Left;
                            txtChargeReg.Width = 55;
                            txtChargeReg.Visible = false;

                            TextBox txtSortOrderReg = new TextBox();
                            txtSortOrderReg.Name = "txtSortOrderReg_" +lngCustomFieldDefRegID.ToString();
                            txtSortOrderReg.Text = lngSortOrder.ToString();
                            txtSortOrderReg.Top = 9;
                            txtSortOrderReg.Left = lblSortOrderRegHead.Left;
                            txtSortOrderReg.Width = 55;

                            TextBox txtLocalCaptionReg = new TextBox();
                            txtLocalCaptionReg.Name = "txtLocalCaptionReg_" +lngCustomFieldDefRegID.ToString();
                            txtLocalCaptionReg.Text = strLocalCaption;
                            txtLocalCaptionReg.Top = 9;
                            txtLocalCaptionReg.Left =lblLocalCaptionRegHead.Left;
                            txtLocalCaptionReg.Width = 165;
                            txtLocalCaptionReg.Enabled = false;
                            txtLocalCaptionReg.ReadOnly = true;

                            TextBox txtWebCaptionReg = new TextBox();
                            txtWebCaptionReg.Name = "txtWebCaptionReg_" +lngCustomFieldDefRegID.ToString();
                            txtWebCaptionReg.Top = 9;
                            txtWebCaptionReg.Left =lblWebCaptionRegHead.Left;
                            txtWebCaptionReg.Width = 165;
                            txtWebCaptionReg.Visible = false;

                            Label lblFieldTypeReg = new Label();
                            lblFieldTypeReg.Name = "lblFieldTypeReg_" +lngCustomFieldDefRegID.ToString();
                            lblFieldTypeReg.Top = 9;
                            lblFieldTypeReg.Text = strFieldType;
                            lblFieldTypeReg.Left = lblFieldTypeRegHead.Left;

                            Button btnDetailsReg = new Button();
                            btnDetailsReg.Name = "btnDetailsReg_" +lngCustomFieldDefRegID.ToString();
                            btnDetailsReg.Click += new EventHandler(btnDetailsReg_Click);
                            btnDetailsReg.Top = 9;
                            btnDetailsReg.Text = "Details";
                            btnDetailsReg.Width = 57;
                            btnDetailsReg.Left = txtSortOrderReg.Left + txtSortOrderReg.Width + 6;

                            Button btnDeleteReg = new Button();
                            btnDeleteReg.Name = "btnDeleteReg_" +lngCustomFieldDefRegID.ToString();
                            btnDeleteReg.Click += new EventHandler(btnDeleteReg_Click);
                            btnDeleteReg.Top = 9;
                            btnDeleteReg.Text = "Delete";
                            btnDeleteReg.Width = 55;
                            btnDeleteReg.Left = btnDetailsReg.Left + btnDetailsReg.Width + 6;

                            //holders for header/footer
                            TextBox txtHeader = new TextBox();
                            txtHeader.Name = "txtHeaderReg_" +lngCustomFieldDefRegID.ToString();
                            txtHeader.Top = 24;
                            txtHeader.Width = 55;
                            txtHeader.Left = 0;
                            txtHeader.Visible = false;

                            TextBox txtFooter = new TextBox();
                            txtFooter.Name = "txtFooterReg_" +lngCustomFieldDefRegID.ToString();
                            txtFooter.Top = 24;
                            txtFooter.Width = 55;
                            txtFooter.Left = 61;
                            txtFooter.Visible = false;

                            TextBox txtDropdownOptions = new TextBox();
                            txtDropdownOptions.Name = "txtDropdownOptionsReg_" +lngCustomFieldDefRegID.ToString();
                            txtDropdownOptions.Top = 24;
                            txtDropdownOptions.Width = 55;
                            txtDropdownOptions.Left = 122;
                            if (strFieldType == "DROPDOWN") subLoadDropdownOptionsReg(txtDropdownOptions, lngCustomFieldDefRegID, strLocalCaption);
                            txtDropdownOptions.Visible = false;

                            Panel panCustomReg = new Panel();

                            panCustomReg.Name = "panCustomReg_" +lngCustomFieldDefRegID.ToString();
                            panCustomReg.BackColor = ColorTranslator.FromHtml("#E0E0E0");
                            panCustomReg.Width = btnDeleteReg.Left + btnDeleteReg.Width + 6;
                            panCustomReg.Height = 38;
                            panCustomReg.Left = 3;
                            panCustomReg.Top = intNextRegTop;

                            panCustomReg.Controls.Add(chkUseLocalReg);
                            panCustomReg.Controls.Add(chkUseOnlineReg);
                            panCustomReg.Controls.Add(chkRequiredReg);
                            panCustomReg.Controls.Add(txtChargeReg);
                            panCustomReg.Controls.Add(txtSortOrderReg);
                            panCustomReg.Controls.Add(txtLocalCaptionReg);
                            panCustomReg.Controls.Add(lblFieldTypeReg);
                            panCustomReg.Controls.Add(txtWebCaptionReg);
                            panCustomReg.Controls.Add(btnDetailsReg);
                            panCustomReg.Controls.Add(btnDeleteReg);
                            panCustomReg.Controls.Add(txtHeader);
                            panCustomReg.Controls.Add(txtFooter);
                            panCustomReg.Controls.Add(txtDropdownOptions);

                            pagRegCustom.Controls.Add(panCustomReg);

                            intNextRegTop += 44;
                        }

                        drCust.Close();
                    }
                }

                conDB.Close();
            }

            //web defs

            //load web reg definitions
            using (wsXferEventInfo.XferEventInfo wsDLFlags = new global::CTWebMgmt.wsXferEventInfo.XferEventInfo())
            {
                strSQL = "SELECT blnRequired, " +
                            "lngCustomFieldDefRegID, " +
                            "decCharge, " +
                            "strLocalCaption, strWebCaption, strHeader, strFooter " +
                        "FROM tblCustomFieldDefReg " +
                        "WHERE lngCTUserID = " + clsAppSettings.GetAppSettings().lngCTUserID.ToString() + " AND " +
                            "lngProgramID = " + _lngProgramID.ToString();

                string strWebXML = "";

                try { strWebXML = wsDLFlags.fcnGetRecords(strSQL, "tblCustomVals", clsWebTalk.strWebConn); }
                catch (Exception ex) { }

                DataSet dsXML = new DataSet("tblCustomVals");

                dsXML.ReadXml(new System.IO.StringReader(strWebXML), XmlReadMode.ReadSchema);

                foreach (DataTable tbl in dsXML.Tables)
                {
                    foreach (DataRow row in tbl.Rows)
                    {
                        string strNameOnWS = "";
                        long lngIDOnWS = 0;

                        bool blnRequired = false;
                        decimal decCharge = 0;
                        string strWebCaption = "";
                        string strHeader = "";
                        string strFooter = "";

                        try { strNameOnWS = Convert.ToString(row["strLocalCaption"]); }
                        catch { strNameOnWS = ""; }

                        try { lngIDOnWS = Convert.ToInt32(row["lngCustomFieldDefRegID"]); }
                        catch { lngIDOnWS = 0; }

                        try { strWebCaption = Convert.ToString(row["strWebCaption"]); }
                        catch { strWebCaption = ""; }

                        if (lngIDOnWS == 0)
                        {
                            //field/flag hasn't been matched with a local id:  look up caption from old table to match it to web data
                            using (OleDbConnection conDB = new OleDbConnection(clsAppSettings.GetAppSettings().strCTConn))
                            {
                                conDB.Open();

                                strSQL = "SELECT tblCustomFieldDefReg.lngCustomFieldDefRegID " +
                                        "FROM tblCustomFieldDefReg " +
                                            "INNER JOIN tblCustomRegFlagDesc ON tblCustomFieldDefReg.strLocalCaption = tblCustomRegFlagDesc." + strNameOnWS;

                                using (OleDbCommand cmdDB = new OleDbCommand(strSQL, conDB))
                                {
                                    try { lngIDOnWS = Convert.ToInt32(cmdDB.ExecuteScalar()); }
                                    catch { lngIDOnWS = 0; }
                                }

                                conDB.Close();
                            }
                        }

                        if (lngIDOnWS > 0)
                        {
                            try
                            {
                                try { blnRequired = Convert.ToBoolean(row["blnRequired"]); }
                                catch { blnRequired = false; }

                                try { decCharge = Convert.ToDecimal(row["decCharge"]); }
                                catch { decCharge = 0; }

                                try { strHeader = Convert.ToString(row["strHeader"]); }
                                catch { strHeader = ""; }

                                try { strFooter = Convert.ToString(row["strFooter"]); }
                                catch { strFooter = ""; }

                                Panel panCustomReg = (Panel)pagRegCustom.Controls["panCustomReg_" + lngIDOnWS.ToString()];

                                ((CheckBox)panCustomReg.Controls["chkUseOnlineReg_" + lngIDOnWS.ToString()]).Checked = true;

                                if (blnRequired) ((CheckBox)panCustomReg.Controls["chkRequiredReg_" + lngIDOnWS.ToString()]).Checked = true;
                                ((TextBox)panCustomReg.Controls["txtWebCaptionReg_" + lngIDOnWS.ToString()]).Text = strWebCaption;
                                ((TextBox)panCustomReg.Controls["txtChargeReg_" + lngIDOnWS.ToString()]).Text = decCharge.ToString("C");
                                ((TextBox)panCustomReg.Controls["txtHeaderReg_" + lngIDOnWS.ToString()]).Text = strHeader;
                                ((TextBox)panCustomReg.Controls["txtFooterReg_" + lngIDOnWS.ToString()]).Text = strFooter;
                            }
                            catch (Exception ex)
                            {
                                MessageBox.Show("Error retrieving custom field definitions: " + ex.Message);
                            }
                        }
                    }
                }
            }
        }
예제 #6
0
        private bool fcnCommitDiscountsToWeb()
        {
            bool blnRes = false;

            string strFile = DateTime.Now.ToString("yyyyMMdd") + "_" + clsAppSettings.GetAppSettings().lngCTUserID.ToString() + "DiscountDef.xml";
            string strFileName = System.IO.Path.GetDirectoryName(Properties.Settings.Default.MainPath) + "\\" + strFile;

            string strWebFile = clsWebTalk.strPOSTFileDir + strFile;

            using (XmlWriter xmlOut = XmlWriter.Create(strFileName))
            {
                xmlOut.WriteStartDocument();
                xmlOut.WriteStartElement("DiscountDef");
                xmlOut.WriteAttributeString("CTUserID", clsAppSettings.GetAppSettings().lngCTUserID.ToString());

                //generate xml of definition
                for (int intI = 1; intI <= 10; intI++)
                {
                    xmlOut.WriteStartElement("Discount");
                    xmlOut.WriteElementString("DiscountID", intI.ToString());
                    xmlOut.WriteElementString("Description", ((TextBox)Controls["txtDiscount" + intI.ToString()]).Text);
                    xmlOut.WriteElementString("PromoCode", ((TextBox)Controls["txtPromoCode" + intI.ToString()]).Text);
                    xmlOut.WriteElementString("Amount", ((TextBox)Controls["txtDiscountAmt" + intI.ToString()]).Text.Replace("$", ""));
                    xmlOut.WriteElementString("Display", ((CheckBox)Controls["chkDisplayOnline" + intI.ToString()]).Checked.ToString());
                    xmlOut.WriteEndElement();
                }

                xmlOut.WriteEndElement();
                xmlOut.WriteEndDocument();
            }

            using (wsXferEventInfo.XferEventInfo xferEventInfo = new global::CTWebMgmt.wsXferEventInfo.XferEventInfo())
            {
                string strWebRes = "";

                //upload file

                // Create a new WebClient instance.
                System.Net.WebClient myWebClient = new System.Net.WebClient();

                // Upload the file to the URI.
                // The 'UploadFile(uriString,fileName)' method implicitly uses HTTP POST method.

                try
                {
                    byte[] responseArray = myWebClient.UploadFile(clsWebTalk.strPOSTFileURI, strFileName);

                    // Decode and display the response.
                    string strULRes = "";

                    try { strULRes = System.Text.Encoding.ASCII.GetString(responseArray); }
                    catch { strULRes = "ERR"; }

                    strWebRes = xferEventInfo.fcnCommitDiscountDefs(strWebFile, clsWebTalk.strWebConn);
                }
                catch (System.Net.WebException ex)
                {
                    Console.WriteLine(ex.Message);
                }
                //upload xml definition file...web server will process it and return result.
                if (strWebRes != "")
                    MessageBox.Show("There was an error uploading the discount definitions to the web server.");
                else
                    blnRes = true;
            }

            //delete temp file
            System.IO.File.Delete(strFileName);

            return blnRes;
        }
예제 #7
0
        private void subLoadOnlineSettings()
        {
            string strSQL = "";

            using (wsXferEventInfo.XferEventInfo wsDLDiscount = new global::CTWebMgmt.wsXferEventInfo.XferEventInfo())
            {
                strSQL = "SELECT blnShowUsers, " +
                            "lngDiscountID " +
                        "FROM tblDiscountDefs " +
                        "WHERE lngCTUserID = " + clsAppSettings.GetAppSettings().lngCTUserID.ToString();

                string strWebXML = "";

                try { strWebXML = wsDLDiscount.fcnGetRecords(strSQL, "tblDiscountDefs", clsWebTalk.strWebConn); }
                catch (Exception ex) { }

                DataSet dsXML = new DataSet("tblDiscountDefs");

                dsXML.ReadXml(new System.IO.StringReader(strWebXML), XmlReadMode.ReadSchema);

                foreach (DataTable tbl in dsXML.Tables)
                {
                    foreach (DataRow row in tbl.Rows)
                    {
                        bool blnShowUsers = false;
                        long lngDiscountID = 0;

                        foreach (DataColumn col in tbl.Columns)
                        {
                            string strColName = col.ColumnName;
                            string strColVal = Convert.ToString(row[col]);

                            if (strColName == "blnShowUsers")
                            {
                                try { blnShowUsers = Convert.ToBoolean(strColVal); }
                                catch { blnShowUsers = false; }
                            }
                            else if (strColName == "lngDiscountID")
                            {
                                try { lngDiscountID = Convert.ToInt32(strColVal); }
                                catch { lngDiscountID = 0; }
                            }
                        }

                        ((CheckBox)Controls["chkDisplayOnline" + lngDiscountID.ToString()]).Checked = blnShowUsers;
                    }
                }
            }
        }
예제 #8
0
        private static bool fcnGetWebCustomRegFieldDefs(clsCustomFieldRegDef[] _cstRegWebFlags,clsCustomFieldRegDef[] _cstRegWebFields)
        {
            string strSQL = "";

            bool blnRes = false;

            //init
            for (int intI = 0; intI <_cstRegWebFlags.Length; intI++)
            {
                _cstRegWebFlags[intI] = new clsCustomFieldRegDef();
                _cstRegWebFields[intI] = new clsCustomFieldRegDef();
            }

            try
            {
                using (wsXferEventInfo.XferEventInfo wsDLFlags = new global::CTWebMgmt.wsXferEventInfo.XferEventInfo())
                {
                    strSQL = "SELECT strFieldName, strValue " +
                            "FROM tblCustomVals " +
                        "WHERE lngProgramID = 0 AND " +
                            "lngCTUserID = " + clsAppSettings.GetAppSettings().lngCTUserID.ToString() + " AND " +
                            "(strFieldName LIKE 'blnUse%Field%' OR " +
                                "strFieldName LIKE 'blnUse%Flag%' OR " +
                                "strFieldName LIKE 'strRegFlag%' OR " +
                                "strFieldName LIKE 'curChargeFlag%' OR " +
                                "strFieldName LIKE 'strRegField%') " +
                            "ORDER BY strFieldName";

                    string strWebXML = "";

                    try { strWebXML = wsDLFlags.fcnGetRecords(strSQL, "tblCustomVals", clsWebTalk.strWebConn); }
                    catch (Exception ex) { MessageBox.Show("There was an error retrieving custom field definitions from the web: " + ex.Message); }

                    DataSet dsXML = new DataSet("tblCustomVals");

                    dsXML.ReadXml(new System.IO.StringReader(strWebXML), XmlReadMode.ReadSchema);

                    foreach (DataTable tbl in dsXML.Tables)
                    {
                        foreach (DataRow row in tbl.Rows)
                        {
                            string strFieldName = "";
                            string strFieldVal = "";

                            foreach (DataColumn col in tbl.Columns)
                            {
                                string strColName = col.ColumnName;
                                string strColVal = Convert.ToString(row[col]);

                                if (strColName == "strFieldName") strFieldName = strColVal;
                                else if (strColName == "strValue") strFieldVal = strColVal;
                            }

                            //evaluate field, val, set control value
                            if (strFieldName.IndexOf("blnUseRegField") >= 0)
                                _cstRegWebFields[Convert.ToInt32(strFieldName.Substring(14, strFieldName.Length - 14)) - 1].blnUseOnline = Convert.ToBoolean(strFieldVal);
                            else if (strFieldName.IndexOf("blnUseRegFlag") >= 0)
                                _cstRegWebFlags[Convert.ToInt32(strFieldName.Substring(13, strFieldName.Length - 13)) - 1].blnUseOnline = Convert.ToBoolean(strFieldVal);
                            else if (strFieldName.IndexOf("strRegField") >= 0)
                                _cstRegWebFields[Convert.ToInt32(strFieldName.Substring(11, strFieldName.Length - 11)) - 1].mmoWebCaption = strFieldVal;
                            else if (strFieldName.IndexOf("strRegFlag") >= 0)
                                _cstRegWebFlags[Convert.ToInt32(strFieldName.Substring(10, strFieldName.Length - 10)) - 1].mmoWebCaption = strFieldVal;
                            else if (strFieldName.IndexOf("curChargeFlag") >= 0)
                                _cstRegWebFlags[Convert.ToInt32(strFieldName.Substring(13, strFieldName.Length - 13)) - 1].decCharge = Convert.ToDecimal(strFieldVal);
                        }
                    }
                }

                blnRes = true;
            }
            catch (Exception ex)
            {
                blnRes = false;
            }

            return blnRes;
        }
예제 #9
0
        private void btnRegister_Click(object sender, EventArgs e)
        {
            string strSQL = "";

            decimal decPmtAmt = 0;
            decimal decSpending = 0;

            long lngRegistrationID = 0;
            long lngPmtType = 0;

            int intTotChoices = 0;
            int[] intWaitList = new int[11];

            //'first check availability
            //'try to match camper to an existing record
            //'if a possible match is found, display a form to pick exact record
            //'if no match is found, try to find a mor that the record might fit into.  add record and assign to mor
            //'if no mor is found, add record
            //'return id, register camper
            DateTime dteRegDate;

            try { dteRegDate = Convert.ToDateTime(txtRegDate.Text); }
            catch (Exception ex)
            {
                MessageBox.Show("There was a problem with the registration date: " + ex.Message + "\nThe current date will be used.");
                dteRegDate = DateTime.Now;
            }

            DateTime dteCamperBDate;

            try { dteCamperBDate = Convert.ToDateTime(txtCamperBDate.Text); }
            catch (Exception ex)
            {
                MessageBox.Show("There was a problem with the birth date: " + ex.Message + "\nThe current date will be used.");
                dteCamperBDate = DateTime.Now;
            }

            for (int intI = 1; intI <= 11; intI++)
            {
                if (((CheckBox)pagRegInfo.Controls["chkReg" + intI.ToString()]).Checked)
                    intTotChoices++;
                else if (((CheckBox)pagRegInfo.Controls["chkWait" + intI.ToString()]).Checked)
                    intTotChoices++;
            }

            if (intTotChoices == 0)
            {
                MessageBox.Show("Please select a block to register or wait list this camper for.");
                pagRegInfo.Focus();
                return;
            }

            try { decSpending = decimal.Parse(txtSpending.Text, System.Globalization.NumberStyles.Currency); }
            catch { decSpending = 0; }

            try { decPmtAmt = decimal.Parse(txtPmtAmt.Text, System.Globalization.NumberStyles.Currency); }
            catch { decPmtAmt = 0; }

            //availability check--un-mark any full blocks, mark wait list
            for (int intI = 1; intI <= 11; intI++)
            {
                if (((CheckBox)pagRegInfo.Controls["chkReg" + intI]).Checked)
                {
                    if (((Label)pagRegInfo.Controls["lblFull" + intI]).Visible)
                    {
                        if (MessageBox.Show("This block (" + ((clsCboItem)((ComboBox)pagRegInfo.Controls["cboBlockChoice" + intI]).SelectedItem).Item + ") is full.\n\nWould you like to continue with this registration\nand thus overbook the block?\n\n(Selecting 'No' will place this camper on the waiting list.)", "Block Full", MessageBoxButtons.YesNo) == DialogResult.No)
                        {
                            ((CheckBox)pagRegInfo.Controls["chkReg" + intI.ToString()]).Checked = false;
                            ((CheckBox)pagRegInfo.Controls["chkWait" + intI.ToString()]).Checked = true;
                        }
                    }
                }
            }

            if (intTotChoices == 0)
            {
                decSpending = 0;
                decPmtAmt = 0;
            }
            else
            {
                decSpending = decSpending / intTotChoices;
                decPmtAmt = decPmtAmt / intTotChoices;
            }

            // 'populate waiting list array
            for (int intI = 0; intI <= 10; intI++)
            {
                if (((CheckBox)pagRegInfo.Controls["chkWait" + (intI + 1)]).Checked) { intWaitList[intI] = Convert.ToInt32(((clsCboItem)((ComboBox)pagRegInfo.Controls["cboBlockChoice" + (intI + 1)]).SelectedItem).ID); }
                else
                    intWaitList[intI] = 0;
            }

            long lngParentIRID = 0;
            bool blnParentRequired = false;

            if (fraApplyDonationTo.Visible && radDonationToParent.Checked) blnParentRequired = true;

            try { lngParentIRID = fcnProcessProfileRecord(blnParentRequired); }
            catch (Exception ex) { lngParentIRID = 0; }

            if (blnParentRequired && lngParentIRID <= 0)
            {
                MessageBox.Show("You've chosen to assign the donation to the parent, so a parent record must be selected or created to continue.");
                txtDonation.Focus();
                return;
            }

            //'get record to add reg/wait list for
            //'if there are no eligible matches, go directly to add new.
            //'show list of possible matches
            long lngStateID = 0;

            try { lngStateID = ((clsCboItem)cboCamperState.SelectedItem).ID; }
            catch { lngStateID = 0; }

            clsIR irToSearch = new clsIR(0, lngStateID, txtCamperFName.Text, txtCamperLName.Text, "", txtCamperAddress.Text, txtCamperCity.Text, txtCamperZip.Text, txtCamperPhone.Text, "", txtCamperCellPhone.Text, txtCamperEMail.Text);

            //fill in ir details to pass to search screen
            irToSearch.blnGender = radM.Checked;

            irToSearch.blnCamper = true;
            irToSearch.blnParent = false;

            try { irToSearch.intGrade = Convert.ToInt32(txtCamperGrade.Text); }
            catch { irToSearch.intGrade = 0; }

            irToSearch.lngRecordWebID = lngRecordWebID;
            irToSearch.lngRecordID = lngRecordID;

            try { irToSearch.lngStateID = ((clsCboItem)cboCamperState.SelectedItem).ID; }
            catch { irToSearch.lngStateID = 0; }

            try { irToSearch.lngBillStateID = ((clsCboItem)cboBillState.SelectedItem).ID; }
            catch { irToSearch.lngBillStateID = 0; }

            irToSearch.dteBDate = dteCamperBDate;

            irToSearch.strMI = txtCamperMI.Text;
            irToSearch.strEmail = txtCamperEMail.Text;
            irToSearch.strConfEmail = txtProfileEmail.Text;
            irToSearch.strHomePhone = txtCamperPhone.Text;
            irToSearch.strZip = txtCamperZip.Text;
            irToSearch.strCity = txtCamperCity.Text;
            irToSearch.strAddress = txtCamperAddress.Text;
            irToSearch.strLName = txtCamperLName.Text;
            irToSearch.strFName = txtCamperFName.Text;
            irToSearch.strPmtType = txtPmtType.Text;
            irToSearch.strSpecialNeeds = "";
            irToSearch.strNotes = txtNotes.Text;
            irToSearch.strBankName = txtBankName.Text;
            irToSearch.strFather = txtFather.Text;
            irToSearch.strMother = txtMother.Text;
            irToSearch.strBillName = txtBillName.Text;
            irToSearch.strBillAddress = txtBillAddress.Text;
            irToSearch.strBillCity = txtBillCity.Text;
            irToSearch.strBillZip = txtBillZip.Text;
            irToSearch.strBillPhone = txtBillPhone.Text;

            //add custom vals to ir to search for
            for (int intI = 0; intI <pagCustomIR.Controls.Count; intI++)
            {
                if (pagCustomIR.Controls[intI].HasChildren)
                {
                    if (pagCustomIR.Controls[intI].Name.StartsWith("panCustomIR_"))
                    {
                        long lngCustomFieldDefIRID = 0;
                        string strID = pagCustomIR.Controls[intI].Name;

                        lngCustomFieldDefIRID = Convert.ToInt32(strID.Substring(strID.IndexOf("_") + 1, strID.Length - (strID.IndexOf("_") + 1)));

                        Panel panCustom = (Panel)pagCustomIR.Controls[intI];

                        string strLocalCaption = "";
                        string strValue = "";

                        //assume textbox or cbo for caption
                        try { strLocalCaption = ((Label)panCustom.Controls["lblCustFieldIR_" + lngCustomFieldDefIRID.ToString()]).Text; }
                        catch { strLocalCaption = ""; }

                        //either a flag or err
                        if (strLocalCaption == "")
                        {
                            try { strLocalCaption = ((CheckBox)panCustom.Controls["chkCustIR_" + lngCustomFieldDefIRID.ToString()]).Text; }
                            catch { strLocalCaption = ""; }
                        }

                        if (strLocalCaption != "")
                        {
                            try { strValue = ((TextBox)panCustom.Controls["txtCustFieldIR_" + lngCustomFieldDefIRID.ToString()]).Text; }
                            catch { strValue = ""; }

                            if (strValue == "")
                            {
                                try { strValue = ((CheckBox)panCustom.Controls["chkCustIR_" + lngCustomFieldDefIRID.ToString()]).Checked.ToString(); }
                                catch { strValue = ""; }
                            }

                            if (strValue == "")
                            {
                                try { strValue = ((ComboBox)panCustom.Controls["cboCustFieldIR_" + lngCustomFieldDefIRID.ToString()]).SelectedItem.ToString(); }
                                catch { strValue = ""; }
                            }
                        }

                        string[] strCustom = new string[2];

                        strCustom[0] = strLocalCaption;
                        strCustom[1] = strValue;

                        irToSearch.strCustom.Add(strCustom);
                    }
                }
            }

            using (frmFindIR objFindIR = new frmFindIR(irToSearch, "Find camper record"))
            {
                if (objFindIR.ShowDialog() == DialogResult.OK)
                {
                    if (objFindIR.irToSearch.lngRecordID == 0)
                        return;
                    else
                    {
                        lngRecordID = objFindIR.irToSearch.lngRecordID;
                        clsIRCRUD.subSetToSync(lngRecordID);

                        if (!objFindIR.blnAddNew)
                        {
                            using (IRUtils.frmReconcileIR objReconcileIR = new global::CTWebMgmt.IRUtils.frmReconcileIR("tblWebRecords", lngRecordID, lngRecordWebID))
                            {
                                if (objReconcileIR.ShowDialog() == DialogResult.Cancel)
                                    return;
                                else
                                    lngRecordID = objReconcileIR.lngDBID;
                            }
                        }
                    }
                }
                else
                    return;
            }

            using (OleDbConnection conDB = new OleDbConnection(clsAppSettings.GetAppSettings().strCTConn))
            {
                //'put web camper id in tblRecords
                strSQL = "UPDATE tblRecords " +
                        "SET blnCamper=True, " +
                            "lngWebCamperID=" + lngRecordWebID.ToString() + ", lngRecordWebID=" + lngRecordWebID.ToString() + " " +
                        "WHERE lngRecordID=" + lngRecordID.ToString();

                conDB.Open();

                using (OleDbCommand cmdDB = new OleDbCommand(strSQL, conDB))
                {
                    cmdDB.ExecuteNonQuery();

                    //update local id on server
                    using (wsXferEventInfoV2.xfereventinfov2 svc = new global::CTWebMgmt.wsXferEventInfoV2.xfereventinfov2())
                    {
                        string strWebRes = "";

                        strWebRes = svc.fcnUpdateLocalID(lngRecordWebID, lngRecordID, clsAppSettings.GetAppSettings().lngCTUserID, clsAppSettings.GetAppSettings().strWebDBConn);

                        if (strWebRes != "") MessageBox.Show("There was an error updating the camper's web id: " + strWebRes);
                    }

                    subManageSpecNeeds(cmdDB, lngRegWebID, lngRecordID);

                    //at this point, user has either selected a matching record, created a new record, or cancelled
                    //attempt to add mor for record (if one doesn't already exist)
                    long lngMORID = 0;

                    strSQL = "SELECT lngPrimaryMORID " +
                            "FROM tblRecords " +
                            "WHERE lngRecordID=" + lngRecordID;

                    cmdDB.CommandText = strSQL;

                    cmdDB.Parameters.Clear();

                    try { lngMORID = Convert.ToInt32(cmdDB.ExecuteScalar()); }
                    catch { lngMORID = 0; }

                    if (lngMORID == 0)
                    {
                        if (MessageBox.Show("Add MOR for this record?", "Add MOR?", MessageBoxButtons.YesNo) == DialogResult.Yes)
                        {
                            using (frmFindMOR objFindMOR = new frmFindMOR("%" + txtCamperLName.Text + "%", 1))
                            {
                                if (objFindMOR.ShowDialog() == DialogResult.OK)
                                {
                                    if (objFindMOR.lngMORID > 0)
                                        lngMORID = objFindMOR.lngMORID;
                                    else
                                    {//give option to create new MOR--forthcoming
                                        using (MORUtils.frmAddMOR objAddMOR = new global::CTWebMgmt.MORUtils.frmAddMOR(lngRecordWebID, lngRecordID, lngParentIRID))
                                        {
                                            if (objAddMOR.ShowDialog() == DialogResult.OK)
                                                lngMORID = objAddMOR.lngMORID;
                                            else
                                                return;
                                        }
                                    }

                                    if (lngMORID > 0)
                                    {
                                        //update camper's primary mor
                                        strSQL = "UPDATE tblRecords " +
                                                "SET blnUseMORAddress=-1, " +
                                                    "lngPrimaryMORID=" + lngMORID.ToString() + " " +
                                                "WHERE lngRecordID=" + lngRecordID.ToString();

                                        cmdDB.Parameters.Clear();
                                        cmdDB.CommandText = strSQL;

                                        try { cmdDB.ExecuteNonQuery(); }
                                        catch { }
                                    }
                                }
                                else
                                    return;
                            }

                            if (lngMORID > 0)
                            {
                                long lngMORIRLinkID = 0;

                                strSQL = "SELECT lngMORIRLinkID " +
                                        "FROM tblnkMORIR " +
                                        "WHERE lngMORID=" + lngMORID.ToString() + " AND " +
                                            "lngRecordID=" + lngRecordID.ToString();

                                cmdDB.CommandText = strSQL;
                                cmdDB.Parameters.Clear();

                                try { lngMORIRLinkID = Convert.ToInt32(cmdDB.ExecuteScalar()); }
                                catch { lngMORIRLinkID = 0; }

                                if (lngMORIRLinkID == 0)
                                {
                                    strSQL = "INSERT INTO tblnkMORIR " +
                                            "( lngMORID, lngRecordID, lngLastModifiedUser, " +
                                                "dteLastModified ) " +
                                            "SELECT " + lngMORID + ", " + lngRecordID + ", " + CTWebMgmt.lngCTUserID + ", " +
                                                "Now()";

                                    cmdDB.CommandText = strSQL;

                                    cmdDB.Parameters.Clear();

                                    cmdDB.ExecuteNonQuery();
                                }
                            }
                        }
                    }

                    //'make sure they are not already registered for one of the blocks

                    for (int intI = 1; intI <= 11; intI++)
                    {
                        if (((CheckBox)pagRegInfo.Controls["chkReg" + intI.ToString()]).Checked)
                        {
                            strSQL = "SELECT lngRegistrationID " +
                                    "FROM tblRegistrations " +
                                    "WHERE lngRecordID=" + lngRecordID + " AND " +
                                        "lngBlockID=" + ((clsCboItem)((ComboBox)pagRegInfo.Controls["cboBlockChoice" + intI]).SelectedItem).ID;

                            cmdDB.CommandText = strSQL;
                            cmdDB.Parameters.Clear();

                            lngRegistrationID = 0;

                            try { lngRegistrationID = Convert.ToInt32(cmdDB.ExecuteScalar()); }
                            catch { lngRegistrationID = 0; }

                            if (lngRegistrationID > 0)
                            {
                                MessageBox.Show("This record is already registered for this block. (" + ((clsCboItem)((ComboBox)pagRegInfo.Controls["cboBlockChoice" + intI]).SelectedItem).Item + ")");
                                return;
                            }
                        }
                    }

                    //check to see if approval is needed for the camper
                    try
                    {
                        strSQL = "SELECT tblRecords.blnApprovalNeeded " +
                                "FROM tblRecords " +
                                "WHERE tblRecords.lngRecordID=@lngRecordID";

                        cmdDB.CommandText = strSQL;
                        cmdDB.Parameters.Clear();

                        cmdDB.Parameters.AddWithValue("@lngRecordID", lngRecordID);

                        bool blnApprovalNeeded = false;

                        try { blnApprovalNeeded = Convert.ToBoolean(cmdDB.ExecuteScalar()); }
                        catch { blnApprovalNeeded = false; }

                        if (blnApprovalNeeded)
                        {
                            if (MessageBox.Show("This record needs administrative approval to register for an individual event.\nAre you sure you wish to continue?", "Approval Needed", MessageBoxButtons.OKCancel) == DialogResult.Cancel)
                                return;
                        }
                    }
                    catch (Exception ex) { }

                    //'add waiting list(s)
                    for (int intI = 0; intI <= 10; intI++)
                    {
                        if (intWaitList[intI] != 0)
                        {
                            //'make sure they aren't already on the list
                            strSQL = "SELECT lngWaitID " +
                                   "FROM tblWaitingList " +
                                   "WHERE lngRecordID=" + lngRecordID + " AND " +
                                       "lngBlockID=" + intWaitList[intI];

                            cmdDB.CommandText = strSQL;

                            cmdDB.Parameters.Clear();

                            using (OleDbDataReader drWait = cmdDB.ExecuteReader())
                            {
                                if (!drWait.Read())
                                {
                                    drWait.Close();

                                    int intGender = 0;

                                    //'make sure they are the right gender
                                    strSQL = "SELECT lngGenderID " +
                                           "FROM tblBlock " +
                                           "WHERE lngBlockID=" + intWaitList[intI];

                                    cmdDB.CommandText = strSQL;
                                    cmdDB.Parameters.Clear();

                                    try { intGender = Convert.ToInt32(cmdDB.ExecuteScalar()); }
                                    catch { intGender = 0; }

                                    if (!(intGender == 1 && radF.Checked) && !(intGender == 2 && radM.Checked))
                                    {
                                        //'add waiting list entry
                                        strSQL = "INSERT INTO tblWaitingList " +
                                               "( lngBlockID, lngRecordID, " +
                                                   "dteDateAdded ) " +
                                               "SELECT " + intWaitList[intI] + ", " + lngRecordID + ", " +
                                                   "@dteDateAdded";

                                        cmdDB.CommandText = strSQL;

                                        cmdDB.Parameters.Clear();
                                        cmdDB.Parameters.Add(new OleDbParameter("@dteDateAdded", dteRegDate));

                                        try { cmdDB.ExecuteNonQuery(); }
                                        catch { }

                                        //'update block stats
                                        strSQL = "SELECT Count(tblWaitingList.lngWaitID) AS CountOflngWaitID " +
                                                "FROM tblWaitingList " +
                                                "WHERE tblWaitingList.lngBlockID=" + intWaitList[intI];

                                        cmdDB.CommandText = strSQL;
                                        cmdDB.Parameters.Clear();

                                        int intWaitListCount = 0;

                                        try { intWaitListCount = Convert.ToInt32(cmdDB.ExecuteScalar()); }
                                        catch { intWaitListCount = 0; }

                                        strSQL = "UPDATE tblBlock " +
                                                "SET tblBlock.intWaitingList = " + intWaitListCount + " " +
                                                "WHERE tblBlock.lngBlockID=" + intWaitList[intI];

                                        cmdDB.CommandText = strSQL;
                                        cmdDB.Parameters.Clear();

                                        try { cmdDB.ExecuteNonQuery(); }
                                        catch { }
                                    }
                                    else
                                    {
                                        MessageBox.Show("The camper appears to be the wrong gender for the block.\n\nThe waiting list entry was not added.");
                                    }
                                }
                                else
                                    drWait.Close();
                            }

                            //add deposit and spending money for wait list selections
                            strSQL = "INSERT INTO tblTransactions " +
                                    "(blnMarkedForCC, " +
                                        "lngPaymentTypeID, lngRecordID, lngBillStateID, lngUserID, lngTransTypeID, " +
                                        "curPayment, " +
                                        "dteDateAdded, " +
                                        "strTransactionDesc, strCCNumber, strCCExpDate, strCCValCode, strBillName, strBillAddress, strBillCity, strBillZip, strBillPhone, strBankName, strAcctNum, strRoutingNum, strXCAlias, strXCTransID, strXCAuthCode, strPNRef, strEPSApprovalNumber, strEPSPmtAcctID, strEPSTransID, strEPSValidationCode ) " +
                                    "SELECT @blnMarkedForCC, " +
                                        "@lngPaymentTypeID, @lngRecordID, @lngBillStateID, @lngUserID, @lngTransTypeID, " +
                                        "@curPayment, " +
                                        "@dteDateAdded, " +
                                        "@strTransactionDesc, @strCCNumber, @strCCExpDate, @strCCValCode, @strBillName, @strBillAddress, @strBillCity, @strBillZip, @strBillPhone, @strBankName, @strAcctNum, @strRoutingNum, @strXCAlias, @strXCTransID, @strXCAuthCode, @strPNRef, @strEPSApprovalNumber, @strEPSPmtAcctID, @strEPSTransID, @strEPSValidationCode ";

                            cmdDB.CommandText = strSQL;
                            cmdDB.Parameters.Clear();

                            if (txtCardNumber.Text == "" && txtAcctNum.Text != "")
                                lngPmtType = 11;
                            else
                                lngPmtType = 2;

                            long lngBillStateID = 0;

                            try { lngBillStateID = ((clsCboItem)cboBillState.SelectedItem).ID; }
                            catch { lngBillStateID = 0; }

                            cmdDB.Parameters.Add(new OleDbParameter("@blnMarkedForCC", true));

                            cmdDB.Parameters.Add(new OleDbParameter("@lngPaymentTypeID", lngPmtType));
                            cmdDB.Parameters.Add(new OleDbParameter("@lngRecordID", lngRecordID));
                            cmdDB.Parameters.Add(new OleDbParameter("@lngBillStateID", lngBillStateID));
                            cmdDB.Parameters.Add(new OleDbParameter("@lngUserID", CTWebMgmt.lngUserID));
                            cmdDB.Parameters.Add(new OleDbParameter("@lngTransTypeID", 8));

                            cmdDB.Parameters.Add(new OleDbParameter("@curPayment", decPmtAmt));

                            cmdDB.Parameters.Add(new OleDbParameter("@dteDateAdded", dteRegDate));

                            cmdDB.Parameters.Add(new OleDbParameter("@strTransactionDesc", "Web Reg Tuition, Wait List"));
                            cmdDB.Parameters.Add(new OleDbParameter("@strCCNumber", txtCardNumber.Text));
                            cmdDB.Parameters.Add(new OleDbParameter("@strCCExpDate", txtExpDate.Text));
                            cmdDB.Parameters.Add(new OleDbParameter("@strCCValCode", txtCVV2.Text));
                            cmdDB.Parameters.Add(new OleDbParameter("@strBillName", txtBillName.Text));
                            cmdDB.Parameters.Add(new OleDbParameter("@strBillAddress", txtBillAddress.Text));
                            cmdDB.Parameters.Add(new OleDbParameter("@strBillCity", txtBillCity.Text));
                            cmdDB.Parameters.Add(new OleDbParameter("@strBillZip", txtBillZip.Text));
                            cmdDB.Parameters.Add(new OleDbParameter("@strBillPhone", txtBillPhone.Text));
                            cmdDB.Parameters.Add(new OleDbParameter("@strBankName", txtBankName.Text));
                            cmdDB.Parameters.Add(new OleDbParameter("@strAcctNum", txtAcctNum.Text));
                            cmdDB.Parameters.Add(new OleDbParameter("@strRoutingNum", txtRoutingNum.Text));
                            cmdDB.Parameters.Add(new OleDbParameter("@strXCAlias", txtXCAlias.Text));
                            cmdDB.Parameters.Add(new OleDbParameter("@strXCTransID", txtXCTransID.Text));
                            cmdDB.Parameters.Add(new OleDbParameter("@strXCAuthCode", txtXCAuthCode.Text));
                            cmdDB.Parameters.Add(new OleDbParameter("@strPNRef", txtPNRef.Text));

                            cmdDB.Parameters.Add(new OleDbParameter("@strEPSApprovalNumber", txtEPSApprovalNumber.Text));
                            cmdDB.Parameters.Add(new OleDbParameter("@strEPSPmtAcctID", txtEPSPmtAcctID.Text));
                            cmdDB.Parameters.Add(new OleDbParameter("@strEPSTransID", txtEPSTransID.Text));
                            cmdDB.Parameters.Add(new OleDbParameter("@strEPSValidationCode", txtEPSValidationCode.Text));

                            try { cmdDB.ExecuteNonQuery(); }
                            catch (Exception ex) { MessageBox.Show("There was an error recording the deposit: " + ex.Message); }

                            //add spending money credit for waiting list entry
                            if (decSpending > 0)
                            {
                                strSQL = "INSERT INTO tblTransactions " +
                                      "(blnMarkedForCC, " +
                                            "lngRecordID, lngTransTypeID, lngPaymentTypeID, lngBillStateID, lngUserID, " +
                                          "curPayment, " +
                                          "dteDateAdded, " +
                                          "strTransactionDesc, strCCNumber, strCCExpDate, strCCValCode, strBillName, strBillAddress, strBillCity, strBillZip, strBillPhone, strBankName, strAcctNum, strRoutingNum, strXCAlias, strXCTransID, strXCAuthCode, strPNRef, strEPSApprovalNumber, strEPSPmtAcctID, strEPSTransID, strEPSValidationCode )" +
                                  "SELECT @blnMarkedForCC, " +
                                            "@lngRecordID, @lngTransTypeID, @lngPaymentTypeID, @lngBillStateID, @lngUserID, " +
                                          "@curPayment, " +
                                          "@dteDateAdded, " +
                                          "@strTransactionDesc, @strCCNumber, @strCCExpDate, @strCCValCode, @strBillName, @strBillAddress, @strBillCity, @strBillZip, @strBillPhone, @strBankName, @strAcctNum, @strRoutingNum, @strXCAlias, @strXCTransID, @strXCAuthCode, @strPNRef, @strEPSApprovalNumber, @strEPSPmtAcctID, @strEPSTransID, @strEPSValidationCode ";

                                cmdDB.CommandText = strSQL;
                                cmdDB.Parameters.Clear();

                                cmdDB.Parameters.Add(new OleDbParameter("@blnMarkedForCC", true));

                                cmdDB.Parameters.Add(new OleDbParameter("@lngRecordID", lngRecordID));
                                cmdDB.Parameters.Add(new OleDbParameter("@lngTransTypeID", 25));
                                cmdDB.Parameters.Add(new OleDbParameter("@lngPaymentTypeID", lngPmtType));
                                cmdDB.Parameters.Add(new OleDbParameter("@lngBillStateID", lngBillStateID));
                                cmdDB.Parameters.Add(new OleDbParameter("@lngUserID", CTWebMgmt.lngUserID));
                                cmdDB.Parameters.Add(new OleDbParameter("@curPayment", decSpending));

                                cmdDB.Parameters.Add(new OleDbParameter("@dteDateAdded", dteRegDate));

                                cmdDB.Parameters.Add(new OleDbParameter("@strTransactionDesc", "Web Reg Spending Money, Wait List"));
                                cmdDB.Parameters.Add(new OleDbParameter("@strCCNumber", txtCardNumber.Text));
                                cmdDB.Parameters.Add(new OleDbParameter("@strCCExpDate", txtExpDate.Text));
                                cmdDB.Parameters.Add(new OleDbParameter("@strCCValCode", txtCVV2.Text));
                                cmdDB.Parameters.Add(new OleDbParameter("@strBillName", txtBillName.Text));
                                cmdDB.Parameters.Add(new OleDbParameter("@strBillAddress", txtBillAddress.Text));
                                cmdDB.Parameters.Add(new OleDbParameter("@strBillCity", txtBillCity.Text));
                                cmdDB.Parameters.Add(new OleDbParameter("@strBillZip", txtBillZip.Text));
                                cmdDB.Parameters.Add(new OleDbParameter("@strBillPhone", txtBillPhone.Text));
                                cmdDB.Parameters.Add(new OleDbParameter("@strBankName", txtBankName.Text));
                                cmdDB.Parameters.Add(new OleDbParameter("@strAcctNum", txtAcctNum.Text));
                                cmdDB.Parameters.Add(new OleDbParameter("@strRoutingNum", txtRoutingNum.Text));
                                cmdDB.Parameters.Add(new OleDbParameter("@strXCAlias", txtXCAlias.Text));
                                cmdDB.Parameters.Add(new OleDbParameter("@strXCTransID", txtXCTransID.Text));
                                cmdDB.Parameters.Add(new OleDbParameter("@strXCAuthCode", txtXCAuthCode.Text));
                                cmdDB.Parameters.Add(new OleDbParameter("@strPNRef", txtPNRef.Text));
                                cmdDB.Parameters.Add(new OleDbParameter("@strEPSApprovalNumber", txtEPSApprovalNumber.Text));
                                cmdDB.Parameters.Add(new OleDbParameter("@strEPSPmtAcctID", txtEPSPmtAcctID.Text));
                                cmdDB.Parameters.Add(new OleDbParameter("@strEPSTransID", txtEPSTransID.Text));
                                cmdDB.Parameters.Add(new OleDbParameter("@strEPSValidationCode", txtEPSValidationCode.Text));

                                try { cmdDB.ExecuteNonQuery(); }
                                catch { }
                            }
                        }
                    }

                    //choice level variables that need to be checked for each reg box checked
                    string strBlockCode = "";

                    long lngBlockID = 0;
                    decimal decTuitionCharge = 0;

                    //get pref for how to apply reg flag charges for multiple block choices
                    bool blnMultRegFlagCharge = true;

                    if (intTotChoices > 1)
                    {
                        using (wsXferEventInfo.XferEventInfo svcCT = new global::CTWebMgmt.wsXferEventInfo.XferEventInfo())
                            blnMultRegFlagCharge = svcCT.fcnGetMultRegFlagCharge(clsAppSettings.GetAppSettings().lngCTUserID, clsWebTalk.strWebConn);
                    }
                    else
                        blnMultRegFlagCharge = false;

                    for (int intBlockChoice = 1; intBlockChoice <= 11; intBlockChoice++)
                    {
                        //if block is selected and reg box is checked
                        if (((ComboBox)pagRegInfo.Controls["cboBlockChoice" + intBlockChoice.ToString()]).SelectedIndex >= 0 && ((CheckBox)pagRegInfo.Controls["chkReg" + intBlockChoice.ToString()]).Checked)
                        {
                            try { lngBlockID = ((clsCboItem)((ComboBox)pagRegInfo.Controls["cboBlockChoice" + intBlockChoice.ToString()]).SelectedItem).ID; }
                            catch { lngBlockID = 0; }

                            try { strBlockCode = ((clsCboItem)((ComboBox)pagRegInfo.Controls["cboBlockChoice" + intBlockChoice.ToString()]).SelectedItem).Item; }
                            catch { strBlockCode = ""; }

                            //validate gender, grade, age group, availability of block choice
                            if (!fcnValBlockChoice(lngRecordID, lngBlockID))
                                return;
                            else
                            {
                                //camper selected is correct gender and grade, verify registration.
                                if (MessageBox.Show("Register " + txtCamperFName.Text + " " + txtCamperLName.Text + " for program block " + strBlockCode + "?", "Register?", MessageBoxButtons.OKCancel) == DialogResult.Cancel)
                                    return;
                                else
                                {
                                    //add registration record

                                    strSQL = "INSERT INTO tblRegistrations " +
                                            "( lngBlockID, lngRecordID, lngRegSourceID, lngUserID, lngConfMethodID, " +
                                                "dteRegistrationDate, " +
                                                "strBuddy1, strBuddy2, strReleaseTo, strReferredBy, strOrgCode, " +
                                                "mmoRegNotes ) " +
                                            "SELECT @lngBlockID, @lngRecordID, @lngRegSourceID, @lngUserID, 2, " +
                                                "@dteRegistrationDate, " +
                                                "@strBuddy1, @strBuddy2, @strReleaseTo, @strReferredBy, @strOrgCode, " +
                                                "@mmoRegNotes";

                                    cmdDB.Parameters.Clear();
                                    cmdDB.CommandText = strSQL;

                                    cmdDB.Parameters.Add(new OleDbParameter("@lngBlockID", lngBlockID));
                                    cmdDB.Parameters.Add(new OleDbParameter("@lngRecordID", lngRecordID));
                                    cmdDB.Parameters.Add(new OleDbParameter("@lngRegSourceID", 3));
                                    cmdDB.Parameters.Add(new OleDbParameter("@lngUserID", CTWebMgmt.lngUserID));
                                    cmdDB.Parameters.Add(new OleDbParameter("@dteRegistrationDate", dteRegDate));
                                    cmdDB.Parameters.Add(new OleDbParameter("@strBuddy1", txtBuddy1.Text));
                                    cmdDB.Parameters.Add(new OleDbParameter("@strBuddy2", txtBuddy2.Text));
                                    cmdDB.Parameters.Add(new OleDbParameter("@strReleaseTo", txtReleaseTo.Text));

                                    string strReferredBy = "";

                                    try { strReferredBy = ((clsCboItem)cboReferredBy.SelectedItem).Item; }
                                    catch { strReferredBy = ""; }

                                    cmdDB.Parameters.Add(new OleDbParameter("@strReferredBy", strReferredBy));

                                    cmdDB.Parameters.AddWithValue("@strOrgCode", txtOrgCode.Text);

                                    string mmoRegNotes = "";

                                    try { mmoRegNotes = txtNotes.Text; }
                                    catch { mmoRegNotes = ""; }

                                    cmdDB.Parameters.AddWithValue("@mmoRegNotes", mmoRegNotes);

                                    try { cmdDB.ExecuteNonQuery(); }
                                    catch { }

                                    strSQL = "SELECT @@IDENTITY;";

                                    cmdDB.Parameters.Clear();
                                    cmdDB.CommandText = strSQL;

                                    try { lngRegistrationID = Convert.ToInt32(cmdDB.ExecuteScalar()); }
                                    catch { lngRegistrationID = 0; }

                                    //add reg custom data vals
                                    strSQL = "DELETE tblCustomFieldValReg.* " +
                                            "FROM tblCustomFieldValReg " +
                                            "WHERE lngRegistrationID=@lngRegistrationID";

                                    cmdDB.Parameters.Clear();
                                    cmdDB.CommandText = strSQL;

                                    cmdDB.Parameters.AddWithValue("@lngRegistrationID", lngRegistrationID);

                                    try { cmdDB.ExecuteNonQuery(); }
                                    catch { }

                                    //loop through reg data and add to registration
                                    ////////////////////////////////////////////////////////////////////
                                    for (int intI = 0; intI < pagCustomReg.Controls.Count; intI++)
                                    {
                                        if (pagCustomReg.Controls[intI].HasChildren)
                                        {
                                            if (pagCustomReg.Controls[intI].Name.StartsWith("panCustomReg_"))
                                            {
                                                long lngCustomFieldDefRegID = 0;
                                                string strID = pagCustomReg.Controls[intI].Name;

                                                lngCustomFieldDefRegID= Convert.ToInt32(strID.Substring(strID.IndexOf("_") + 1, strID.Length - (strID.IndexOf("_") + 1)));

                                                Panel panCustom = (Panel)pagCustomReg.Controls[intI];

                                                string strLocalCaption = "";
                                                string strValue = "";

                                                //assume textbox or cbo for caption
                                                try { strLocalCaption = ((Label)panCustom.Controls["lblCustFieldReg_" +lngCustomFieldDefRegID.ToString()]).Text; }
                                                catch { strLocalCaption = ""; }

                                                //either a flag or err
                                                if (strLocalCaption == "")
                                                {
                                                    try { strLocalCaption = ((CheckBox)panCustom.Controls["chkCustReg_" +lngCustomFieldDefRegID.ToString()]).Text; }
                                                    catch { strLocalCaption = ""; }
                                                }

                                                if (strLocalCaption != "")
                                                {
                                                    try { strValue = ((TextBox)panCustom.Controls["txtCustFieldReg_" +lngCustomFieldDefRegID.ToString()]).Text; }
                                                    catch { strValue = ""; }

                                                    if (strValue == "")
                                                    {
                                                        try { strValue = ((CheckBox)panCustom.Controls["chkCustReg_" +lngCustomFieldDefRegID.ToString()]).Checked.ToString(); }
                                                        catch { strValue = ""; }
                                                    }

                                                    if (strValue == "")
                                                    {
                                                        try { strValue = ((ComboBox)panCustom.Controls["cboCustFieldReg_" +lngCustomFieldDefRegID.ToString()]).SelectedItem.ToString(); }
                                                        catch { strValue = ""; }
                                                    }
                                                }

                                                //strLocalCaption;
                                                //strValue;
                                                strSQL = "INSERT INTO tblCustomFieldValReg " +
                                                        "( lngRegistrationID, " +
                                                            "strLocalCaption, strValue ) " +
                                                        "VALUES " +
                                                        "( @lngRegistrationID, " +
                                                            "@strLocalCaption, @strValue )";

                                                cmdDB.CommandText = strSQL;
                                                cmdDB.Parameters.Clear();

                                                cmdDB.Parameters.AddWithValue("@lngRegistrationID", lngRegistrationID);
                                                cmdDB.Parameters.AddWithValue("@strLocalCaption", strLocalCaption);
                                                cmdDB.Parameters.AddWithValue("@strValue", strValue);

                                                try { cmdDB.ExecuteNonQuery(); }
                                                catch { }
                                            }
                                        }
                                    }

                                    //get reg id to add transaction
                                    long lngTuitionChargeID = fcnAddTuitionCharge(cmdDB, lngRecordID, lngBlockID, lngRegistrationID, ref decTuitionCharge);

                                    //update reg w/ transaction id
                                    strSQL = "UPDATE tblRegistrations " +
                                            "SET lngTransactionID=" + lngTuitionChargeID.ToString() + " " +
                                            "WHERE lngRegistrationID=" + lngRegistrationID.ToString();

                                    cmdDB.CommandText = strSQL;
                                    cmdDB.Parameters.Clear();

                                    cmdDB.ExecuteNonQuery();

                                    //adjust block stats
                                    subOneBlockRegCount(cmdDB, lngBlockID);

                                    long lngBillStateID = 0;

                                    try { lngBillStateID = ((clsCboItem)cboBillState.SelectedItem).ID; }
                                    catch { lngBillStateID = 0; }

                                    if (decPmtAmt > 0)
                                    {
                                        //add payment
                                        strSQL = "INSERT INTO tblTransactions " +
                                                "(blnMarkedForCC, " +
                                                    "lngPaymentTypeID, lngRecordID, lngRegistrationID, lngBillStateID, lngUserID, lngTransTypeID, " +
                                                    "curPayment, " +
                                                    "dteDateAdded, " +
                                                    "strTransactionDesc, strCCNumber, strCCExpDate, strCCValCode, strBillName, strBillAddress, strBillCity, strBillZip, strBillPhone, strBankName, strAcctNum, strRoutingNum, strXCAlias, strXCTransID, strXCAuthCode, strPNRef, strEPSApprovalNumber, strEPSPmtAcctID, strEPSTransID, strEPSValidationCode ) " +
                                                "SELECT @blnMarkedForCC, " +
                                                    "@lngPaymentTypeID, @lngRecordID, @lngRegistrationID, @lngBillStateID, @lngUserID, @lngTransTypeID, " +
                                                    "@curPayment, " +
                                                    "@dteDateAdded, " +
                                                    "@strTransactionDesc, @strCCNumber, @strCCExpDate, @strCCValCode, @strBillName, @strBillAddress, @strBillCity, @strBillZip, @strBillPhone, @strBankName, @strAcctNum, @strRoutingNum, @strXCAlias, @strXCTransID, @strXCAuthCode, @strPNRef, @strEPSApprovalNumber, @strEPSPmtAcctID, @strEPSTransID, @strEPSValidationCode ";

                                        cmdDB.CommandText = strSQL;
                                        cmdDB.Parameters.Clear();

                                        if (txtCardNumber.Text == "" && txtAcctNum.Text != "")
                                            lngPmtType = 11;
                                        else
                                            lngPmtType = 2;

                                        cmdDB.Parameters.Add(new OleDbParameter("@blnMarkedForCC", true));

                                        cmdDB.Parameters.Add(new OleDbParameter("@lngPaymentTypeID", lngPmtType));
                                        cmdDB.Parameters.Add(new OleDbParameter("@lngRecordID", lngRecordID));
                                        cmdDB.Parameters.Add(new OleDbParameter("@lngRegistrationID", lngRegistrationID));
                                        cmdDB.Parameters.Add(new OleDbParameter("@lngBillStateID", lngBillStateID));
                                        cmdDB.Parameters.Add(new OleDbParameter("@lngUserID", CTWebMgmt.lngUserID));
                                        cmdDB.Parameters.Add(new OleDbParameter("@lngTransTypeID", 8));

                                        cmdDB.Parameters.Add(new OleDbParameter("@curPayment", decPmtAmt));

                                        cmdDB.Parameters.Add(new OleDbParameter("@dteDateAdded", dteRegDate));

                                        cmdDB.Parameters.Add(new OleDbParameter("@strTransactionDesc", "Web Reg Tuition"));
                                        cmdDB.Parameters.Add(new OleDbParameter("@strCCNumber", txtCardNumber.Text));
                                        cmdDB.Parameters.Add(new OleDbParameter("@strCCExpDate", txtExpDate.Text));
                                        cmdDB.Parameters.Add(new OleDbParameter("@strCCValCode", txtCVV2.Text));
                                        cmdDB.Parameters.Add(new OleDbParameter("@strBillName", txtBillName.Text));
                                        cmdDB.Parameters.Add(new OleDbParameter("@strBillAddress", txtBillAddress.Text));
                                        cmdDB.Parameters.Add(new OleDbParameter("@strBillCity", txtBillCity.Text));
                                        cmdDB.Parameters.Add(new OleDbParameter("@strBillZip", txtBillZip.Text));
                                        cmdDB.Parameters.Add(new OleDbParameter("@strBillPhone", txtBillPhone.Text));
                                        cmdDB.Parameters.Add(new OleDbParameter("@strBankName", txtBankName.Text));
                                        cmdDB.Parameters.Add(new OleDbParameter("@strAcctNum", txtAcctNum.Text));
                                        cmdDB.Parameters.Add(new OleDbParameter("@strRoutingNum", txtRoutingNum.Text));
                                        cmdDB.Parameters.Add(new OleDbParameter("@strXCAlias", txtXCAlias.Text));
                                        cmdDB.Parameters.Add(new OleDbParameter("@strXCTransID", txtXCTransID.Text));
                                        cmdDB.Parameters.Add(new OleDbParameter("@strXCAuthCode", txtXCAuthCode.Text));
                                        cmdDB.Parameters.Add(new OleDbParameter("@strPNRef", txtPNRef.Text));

                                        cmdDB.Parameters.Add(new OleDbParameter("@strEPSApprovalNumber", txtEPSApprovalNumber.Text));
                                        cmdDB.Parameters.Add(new OleDbParameter("@strEPSPmtAcctID", txtEPSPmtAcctID.Text));
                                        cmdDB.Parameters.Add(new OleDbParameter("@strEPSTransID", txtEPSTransID.Text));
                                        cmdDB.Parameters.Add(new OleDbParameter("@strEPSValidationCode", txtEPSValidationCode.Text));

                                        try { cmdDB.ExecuteNonQuery(); }
                                        catch { }

                                        strSQL = "SELECT @@IDENTITY";

                                        cmdDB.CommandText = strSQL;
                                        cmdDB.Parameters.Clear();

                                        long lngPmtTransID = 0;

                                        try { lngPmtTransID = Convert.ToInt32(cmdDB.ExecuteScalar()); }
                                        catch { lngPmtTransID = 0; }

                                        //update pn ref in billing info
                                        clsIRCRUD.subUpdateBillingInfoCC(lngRecordID, txtPNRef.Text, txtCardNumber.Text, txtXCAlias.Text, txtEPSPmtAcctID.Text);
                                    }

                                    //add spending money if amt > 0
                                    if (decSpending > 0)
                                    {
                                        strSQL = "INSERT INTO tblTransactions " +
                                              "(blnMarkedForCC, " +
                                                    "lngRecordID, lngTransTypeID, lngPaymentTypeID, lngRegistrationID, lngBillStateID, lngUserID, " +
                                                  "curPayment, " +
                                                  "dteDateAdded, " +
                                                  "strTransactionDesc, strCCNumber, strCCExpDate, strCCValCode, strBillName, strBillAddress, strBillCity, strBillZip, strBillPhone, strBankName, strAcctNum, strRoutingNum, strXCAlias, strXCTransID, strXCAuthCode, strPNRef, strEPSApprovalNumber, strEPSPmtAcctID, strEPSTransID, strEPSValidationCode )" +
                                          "SELECT @blnMarkedForCC, " +
                                                    "@lngRecordID, @lngTransTypeID, @lngPaymentTypeID, @lngRegistrationID, @lngBillStateID, @lngUserID, " +
                                                  "@curPayment, " +
                                                  "@dteDateAdded, " +
                                                  "@strTransactionDesc, @strCCNumber, @strCCExpDate, @strCCValCode, @strBillName, @strBillAddress, @strBillCity, @strBillZip, @strBillPhone, @strBankName, @strAcctNum, @strRoutingNum, @strXCAlias, @strXCTransID, @strXCAuthCode, @strPNRef, @strEPSApprovalNumber, @strEPSPmtAcctID, @strEPSTransID, @strEPSValidationCode ";

                                        cmdDB.CommandText = strSQL;
                                        cmdDB.Parameters.Clear();

                                        cmdDB.Parameters.Add(new OleDbParameter("@blnMarkedForCC", true));

                                        cmdDB.Parameters.Add(new OleDbParameter("@lngRecordID", lngRecordID));
                                        cmdDB.Parameters.Add(new OleDbParameter("@lngTransTypeID", 25));
                                        cmdDB.Parameters.Add(new OleDbParameter("@lngPaymentTypeID", lngPmtType));
                                        cmdDB.Parameters.Add(new OleDbParameter("@lngRegistrationID", lngRegistrationID));
                                        cmdDB.Parameters.Add(new OleDbParameter("@lngBillStateID", lngBillStateID));
                                        cmdDB.Parameters.Add(new OleDbParameter("@lngUserID", CTWebMgmt.lngUserID));
                                        cmdDB.Parameters.Add(new OleDbParameter("@curPayment", decSpending));

                                        cmdDB.Parameters.Add(new OleDbParameter("@dteDateAdded", dteRegDate));

                                        cmdDB.Parameters.Add(new OleDbParameter("@strTransactionDesc", "Web Reg Spending Money"));
                                        cmdDB.Parameters.Add(new OleDbParameter("@strCCNumber", txtCardNumber.Text));
                                        cmdDB.Parameters.Add(new OleDbParameter("@strCCExpDate", txtExpDate.Text));
                                        cmdDB.Parameters.Add(new OleDbParameter("@strCCValCode", txtCVV2.Text));
                                        cmdDB.Parameters.Add(new OleDbParameter("@strBillName", txtBillName.Text));
                                        cmdDB.Parameters.Add(new OleDbParameter("@strBillAddress", txtBillAddress.Text));
                                        cmdDB.Parameters.Add(new OleDbParameter("@strBillCity", txtBillCity.Text));
                                        cmdDB.Parameters.Add(new OleDbParameter("@strBillZip", txtBillZip.Text));
                                        cmdDB.Parameters.Add(new OleDbParameter("@strBillPhone", txtBillPhone.Text));
                                        cmdDB.Parameters.Add(new OleDbParameter("@strBankName", txtBankName.Text));
                                        cmdDB.Parameters.Add(new OleDbParameter("@strAcctNum", txtAcctNum.Text));
                                        cmdDB.Parameters.Add(new OleDbParameter("@strRoutingNum", txtRoutingNum.Text));
                                        cmdDB.Parameters.Add(new OleDbParameter("@strXCAlias", txtXCAlias.Text));
                                        cmdDB.Parameters.Add(new OleDbParameter("@strXCTransID", txtXCTransID.Text));
                                        cmdDB.Parameters.Add(new OleDbParameter("@strXCAuthCode", txtXCAuthCode.Text));
                                        cmdDB.Parameters.Add(new OleDbParameter("@strPNRef", txtPNRef.Text));
                                        cmdDB.Parameters.Add(new OleDbParameter("@strEPSApprovalNumber", txtEPSApprovalNumber.Text));
                                        cmdDB.Parameters.Add(new OleDbParameter("@strEPSPmtAcctID", txtEPSPmtAcctID.Text));
                                        cmdDB.Parameters.Add(new OleDbParameter("@strEPSTransID", txtEPSTransID.Text));
                                        cmdDB.Parameters.Add(new OleDbParameter("@strEPSValidationCode", txtEPSValidationCode.Text));

                                        cmdDB.ExecuteNonQuery();

                                        strSQL = "SELECT @@IDENTITY";

                                        cmdDB.CommandText = strSQL;
                                        cmdDB.Parameters.Clear();

                                        long lngSpendingTransID = 0;

                                        try { lngSpendingTransID = Convert.ToInt32(cmdDB.ExecuteScalar()); }
                                        catch { lngSpendingTransID = 0; }
                                    }

                                    //check for discounts
                                    strSQL = "SELECT curDiscAmt1, curDiscAmt10, curDiscAmt2, curDiscAmt3, curDiscAmt4, curDiscAmt5, curDiscAmt6, curDiscAmt7, curDiscAmt8, curDiscAmt9, " +
                                                "strDiscDesc1, strDiscDesc10, strDiscDesc2, strDiscDesc3, strDiscDesc4, strDiscDesc5, strDiscDesc6, strDiscDesc7, strDiscDesc8, strDiscDesc9 " +
                                            "FROM tblCampDefaults;";

                                    cmdDB.CommandText = strSQL;
                                    cmdDB.Parameters.Clear();

                                    using (OleDbDataReader drDiscount = cmdDB.ExecuteReader())
                                    {
                                        if (drDiscount.Read())
                                        {
                                            string strDiscDesc = "";

                                            decimal decDiscAmt = 0;

                                            for (int intJ = 1; intJ <= 10; intJ++)
                                            {
                                                try
                                                {
                                                    decDiscAmt = Convert.ToDecimal(drDiscount["curDiscAmt" + intJ.ToString()]);
                                                    strDiscDesc = Convert.ToString(drDiscount["strDiscDesc" + intJ.ToString()]);
                                                }
                                                catch
                                                {
                                                    strDiscDesc = "";
                                                    decDiscAmt = 0;
                                                }

                                                //if discount is being used by camp, check to see if it is applied to this camper
                                                if (decDiscAmt > 0)
                                                {
                                                    if (((CheckBox)fraDiscounts.Controls["chkDiscount" + intJ.ToString()]).Checked)
                                                    {
                                                        strSQL = "INSERT INTO tblTransactions " +
                                                                "( lngRecordID, lngTransTypeID, lngPaymentTypeID, lngRegistrationID, lngUserID, " +
                                                                    "curPayment, " +
                                                                    "dteDateAdded, " +
                                                                    "strTransactionDesc ) " +
                                                                "SELECT " + lngRecordID + ", 69, 6, " + lngRegistrationID + ", " + CTWebMgmt.lngUserID + ", " +
                                                                    decDiscAmt + ", " +
                                                                    "@dteDateAdded, " +
                                                                    "\"" + strDiscDesc + "\"";

                                                        using (OleDbCommand cmdDisc = new OleDbCommand(strSQL, conDB))
                                                        {
                                                            cmdDisc.Parameters.Add(new OleDbParameter("@dteDateAdded", dteRegDate));
                                                            cmdDisc.ExecuteNonQuery();
                                                        }
                                                    }
                                                }
                                            }
                                        }

                                        drDiscount.Close();
                                    }

                                    //add any charges associated w/ custom reg flags
                                    //get trans type to use for charges
                                    if (blnMultRegFlagCharge || intBlockChoice==1)
                                    {
                                        long lngDefCustRegFlagTransType = 0;

                                        strSQL = "SELECT lngDefCustRegFlagTransType " +
                                                "FROM tblCampDefaults";

                                        cmdDB.CommandText = strSQL;
                                        cmdDB.Parameters.Clear();

                                        try { lngDefCustRegFlagTransType = Convert.ToInt32(cmdDB.ExecuteScalar()); }
                                        catch { lngDefCustRegFlagTransType = 0; }

                                        //next get rs of reg flags w/ a charge
                                        strSQL = "SELECT tblCustomFieldDefReg.lngCustomFieldDefRegID, " +
                                                    "tblCustomFieldDefReg.decCharge, " +
                                                    "tblCustomFieldDefReg.strLocalCaption " +
                                                "FROM tblCustomFieldDefReg " +
                                                "WHERE tblCustomFieldDefReg.blnUseLocal=True AND " +
                                                    "tblCustomFieldDefReg.decCharge>0 AND " +
                                                    "tblCustomFieldDefReg.strFieldType='FLAG'";

                                        cmdDB.Parameters.Clear();
                                        cmdDB.CommandText = strSQL;

                                        using (OleDbDataReader drFlagCharge = cmdDB.ExecuteReader())
                                        {
                                            while (drFlagCharge.Read())
                                            {
                                                long lngCustomFieldDefRegID = 0;

                                                try { lngCustomFieldDefRegID = Convert.ToInt32(drFlagCharge["lngCustomFieldDefRegID"]); }
                                                catch { lngCustomFieldDefRegID = 0; }

                                                if (((CheckBox)pagCustomReg.Controls["panCustomReg_" + lngCustomFieldDefRegID.ToString()].Controls["chkCustReg_" + lngCustomFieldDefRegID.ToString()]).Checked)
                                                {
                                                    decimal decCharge = 0;

                                                    try { decCharge = Convert.ToDecimal(drFlagCharge["decCharge"]); }
                                                    catch { decCharge = 0; }

                                                    string strDesc = "";

                                                    try { strDesc = "Charge for " + Convert.ToString(drFlagCharge["strLocalCaption"]); }
                                                    catch { strDesc = "Charge for custom reg flag"; }

                                                    //add transaction
                                                    if (decCharge > 0)
                                                        subAddRegFlagCharge(decCharge, lngRegistrationID, lngRecordID, CTWebMgmt.lngUserID, lngDefCustRegFlagTransType, strDesc);
                                                }
                                            }

                                            drFlagCharge.Close();
                                        }
                                    }
                                }
                            }
                        }
                    }

                    //add donation if required
                    decimal decDonation = 0;

                    try { decDonation = decimal.Parse(txtDonation.Text, System.Globalization.NumberStyles.Currency); }
                    catch { decDonation = 0; }

                    if (decDonation > 0)
                    {
                        long lngGiftCategory = 0;
                        long lngCampaign = 0;
                        long lngTrigger = 0;

                        strSQL = "SELECT lngOLGiftCategoryID, lngOLGiftCampaign, lngOLTriggerID " +
                                "FROM tblCampDefaults";

                        cmdDB.CommandText = strSQL;
                        cmdDB.Parameters.Clear();

                        using (OleDbDataReader drDef = cmdDB.ExecuteReader())
                        {
                            if (drDef.Read())
                            {
                                try { lngGiftCategory = Convert.ToInt32(drDef["lngOLGiftCategoryID"]); }
                                catch { lngGiftCategory = 0; }

                                try { lngCampaign = Convert.ToInt32(drDef["lngOLGiftCampaign"]); }
                                catch { lngCampaign = 0; }

                                try { lngTrigger = Convert.ToInt32(drDef["lngOLTriggerID"]); }
                                catch { lngTrigger = 0; }
                            }

                            drDef.Close();
                        }

                        long lngGiftID = 0;

                        strSQL = "INSERT INTO tblGift " +
                                "(lngGiftCategoryID, lngRecordID, lngCampaignID, lngGiftTypeID, lngTriggerID, lngPaymentTypeID, lngBillStateID, " +
                                    "dteGiftDate, dteDateEntered, " +
                                    "curAmount, " +
                                    "strAcctNum, strBankName, strBillAddress, strBillCity, strBillName, strBillPhone, strBillZip, strCCExpDate, strCCNumber, strCCValCode, strRoutingNum, strXCAlias, strXCTransID, strXCAuthCode, strPNRef, strEPSApprovalNumber, strEPSPmtAcctID, strEPSTransID, strEPSValidationCode, " +
                                    "mmoNotes) " +
                                "SELECT @lngGiftCategoryID, @lngRecordID, @lngCampaignID, @lngGiftTypeID, @lngTriggerID, @lngPaymentTypeID, @lngBillStateID, " +
                                    "@dteGiftDate, @dteDateEntered, " +
                                    "@curAmount, " +
                                    "@strAcctNum, @strBankName, @strBillAddress, @strBillCity, @strBillName, @strBillPhone, @strBillZip, @strCCExpDate, @strCCNumber, @strCCValCode, @strRoutingNum, @strXCAlias, @strXCTransID, @strXCAuthCode, @strPNRef, @strEPSApprovalNumber, @strEPSPmtAcctID, @strEPSTransID, @strEPSValidationCode, " +
                                    "@mmoNotes";

                        cmdDB.CommandText = strSQL;
                        cmdDB.Parameters.Clear();

                        long lngBillStateID = 0;

                        try { lngBillStateID = ((clsCboItem)cboBillState.SelectedItem).ID; }
                        catch { lngBillStateID = 0; }

                        cmdDB.Parameters.Add(new OleDbParameter("@lngGiftCategoryID", lngGiftCategory));

                        long lngDonorID = 0;

                        if (radDonationToParent.Checked)
                            lngDonorID = lngParentIRID;
                        else
                            lngDonorID = lngRecordID;

                        cmdDB.Parameters.Add(new OleDbParameter("@lngRecordID", lngDonorID));

                        cmdDB.Parameters.Add(new OleDbParameter("@lngCampaignID", lngCampaign));
                        cmdDB.Parameters.Add(new OleDbParameter("@lngGiftTypeID", 1));
                        cmdDB.Parameters.Add(new OleDbParameter("@lngTriggerID", lngTrigger));
                        cmdDB.Parameters.Add(new OleDbParameter("@lngPaymentTypeID", lngPmtType));
                        cmdDB.Parameters.Add(new OleDbParameter("@lngBillStateID", lngBillStateID));

                        cmdDB.Parameters.Add(new OleDbParameter("@dteGiftDate", dteRegDate));
                        cmdDB.Parameters.Add(new OleDbParameter("@dteDateEntered", OleDbType.Date));
                        cmdDB.Parameters["@dteDateEntered"].Value = DateTime.Now;

                        cmdDB.Parameters.Add(new OleDbParameter("@curAmount", decDonation));
                        cmdDB.Parameters.Add(new OleDbParameter("@strAcctNum", txtAcctNum.Text));
                        cmdDB.Parameters.Add(new OleDbParameter("@strBankName", txtBankName.Text));
                        cmdDB.Parameters.Add(new OleDbParameter("@strBillAddress", txtBillAddress.Text));
                        cmdDB.Parameters.Add(new OleDbParameter("@strBillCity", txtBillCity.Text));
                        cmdDB.Parameters.Add(new OleDbParameter("@strBillName", txtBillName.Text));
                        cmdDB.Parameters.Add(new OleDbParameter("@strBillPhone", txtBillPhone.Text));
                        cmdDB.Parameters.Add(new OleDbParameter("@strBillZip", txtBillZip.Text));
                        cmdDB.Parameters.Add(new OleDbParameter("@strCCExpDate", txtExpDate.Text));
                        cmdDB.Parameters.Add(new OleDbParameter("@strCCNumber", txtCardNumberUnmasked.Text));
                        cmdDB.Parameters.Add(new OleDbParameter("@strCCValCode", txtCVV2.Text));
                        cmdDB.Parameters.Add(new OleDbParameter("@strRoutingNum", txtRoutingNum.Text));
                        cmdDB.Parameters.Add(new OleDbParameter("@strXCAlias", txtXCAlias.Text));
                        cmdDB.Parameters.Add(new OleDbParameter("@strXCTransID", txtXCTransID.Text));
                        cmdDB.Parameters.Add(new OleDbParameter("@strXCAuthCode", txtXCAuthCode.Text));
                        cmdDB.Parameters.Add(new OleDbParameter("@strPNRef", txtPNRef.Text));

                        cmdDB.Parameters.Add(new OleDbParameter("@strEPSApprovalNumber", txtEPSApprovalNumber.Text));
                        cmdDB.Parameters.Add(new OleDbParameter("@strEPSPmtAcctID", txtEPSPmtAcctID.Text));
                        cmdDB.Parameters.Add(new OleDbParameter("@strEPSTransID", txtEPSTransID.Text));
                        cmdDB.Parameters.Add(new OleDbParameter("@strEPSValidationCode", txtEPSValidationCode.Text));

                        cmdDB.Parameters.Add(new OleDbParameter("@mmoNotes", "Online Donation"));

                        cmdDB.ExecuteNonQuery();

                        strSQL = "SELECT @@IDENTITY";

                        cmdDB.CommandText = strSQL;
                        cmdDB.Parameters.Clear();

                        try { lngGiftID = Convert.ToInt32(cmdDB.ExecuteScalar()); }
                        catch { lngGiftID = 0; }

                        //mark record as donor
                        strSQL = "UPDATE tblRecords " +
                                "SET blnDonor = True " +
                                "WHERE lngRecordID=" + lngDonorID.ToString();

                        cmdDB.CommandText = strSQL;
                        cmdDB.Parameters.Clear();

                        cmdDB.ExecuteNonQuery();
                    }

                    //add choices for camper
                    strSQL = "SELECT lngChoiceID " +
                            "FROM tblChoices " +
                            "WHERE lngRecordID=" + lngRecordID.ToString();

                    cmdDB.CommandText = strSQL;
                    cmdDB.Parameters.Clear();

                    if (Convert.ToInt32(cmdDB.ExecuteScalar()) > 0)
                    {
                        //create choices record
                        strSQL = "INSERT INTO tblChoices ( lngRecordID, lngBlockID1, lngBlockID2, lngBlockID3, lngBlockID4, lngBlockID5, lngBlockID6, lngBlockID7, lngBlockID8, lngBlockID9, lngBlockID10 ) " +
                                "SELECT " + lngRecordID.ToString();

                        for (int intI = 1; intI <= 10; intI++)
                        {
                            try { strSQL += ", " + ((clsCboItem)((ComboBox)pagRegInfo.Controls["cboBlockChoice" + intI.ToString()]).SelectedItem).ID.ToString(); }
                            catch { strSQL += ", 0"; }
                        }
                    }
                    else
                    {
                        //update existing choices record
                        strSQL = "UPDATE tblChoices " +
                                "SET ";

                        for (int intI = 1; intI <= 10; intI++)
                        {
                            try
                            {
                                long lngChoiceBlockID = 0;

                                try { lngChoiceBlockID = ((clsCboItem)((ComboBox)pagRegInfo.Controls["cboBlockChoice" + intI.ToString()]).SelectedItem).ID; }
                                catch { lngChoiceBlockID = 0; }

                                strSQL += "lngBlockID" + intI.ToString() + "=" + lngChoiceBlockID.ToString() + ", ";
                            }
                            catch { strSQL += "lngBlockID" + intI.ToString() + "=0, "; }
                        }

                        strSQL = strSQL.Substring(0, strSQL.Length - 2);

                    }

                    cmdDB.CommandText = strSQL;
                    cmdDB.Parameters.Clear();

                    cmdDB.ExecuteNonQuery();

                    //apply hold registration, shared cost
                    //////////////////////////////
                    if (cboRegHold.SelectedIndex > 0)
                    {
                        long lngRegHoldID = 0;

                        try { lngRegHoldID = Convert.ToInt32(((clsCboItem)cboRegHold.SelectedItem).ID); }
                        catch { lngRegHoldID = 0; }

                        if (lngRegHoldID > 0)
                        {
                            //add transaction (if applicable) to registration holder, camper
                            decimal decSplitAmt = 0;
                            long lngRegHolderID = 0;

                            bool blnSharedCostPercent = false;

                            strSQL = "SELECT blnSharedCostPercent, " +
                                        "curCostShare, " +
                                        "lngRecordID " +
                                    "FROM tblRegHold " +
                                    "WHERE lngRegHoldID=" + lngRegHoldID.ToString();

                            cmdDB.Parameters.Clear();
                            cmdDB.CommandText = strSQL;

                            using (OleDbDataReader drHold = cmdDB.ExecuteReader())
                            {
                                if (drHold.Read())
                                {
                                    try { blnSharedCostPercent = Convert.ToBoolean(drHold["blnSharedCostPercent"]); }
                                    catch { blnSharedCostPercent = false; }

                                    try { decSplitAmt = Convert.ToDecimal(drHold["curCostShare"]); }
                                    catch { decSplitAmt = 0; }

                                    try { lngRegHolderID = Convert.ToInt32(drHold["lngRecordID"]); }
                                    catch { lngRegHolderID = 0; }
                                }

                                drHold.Close();
                            }

                            if (decSplitAmt > 0)
                            {
                                if (blnSharedCostPercent)
                                    decSplitAmt = decSplitAmt * decTuitionCharge;

                                strSQL = "INSERT INTO tblTransactions ( lngRecordID, lngTransTypeID, lngRegistrationID, lngRegHoldID, lngUserID, " +
                                            "curCharge, " +
                                            "dteDateAdded ) " +
                                        "VALUES " +
                                            "(" + lngRegHolderID + ", 38, " + lngRegistrationID + ", " + lngRegHoldID + ", " + CTWebMgmt.lngCTUserID.ToString() + ", " +
                                            decSplitAmt + ", " +
                                            "@dteDateAdded)";

                                cmdDB.CommandText = strSQL;
                                cmdDB.Parameters.Clear();

                                cmdDB.Parameters.Add(new OleDbParameter("@dteDateAdded", dteRegDate));

                                cmdDB.ExecuteNonQuery();

                                //add credit to registering camper
                                strSQL = "INSERT INTO tblTransactions ( lngRecordID, lngTransTypeID, lngRegistrationID, lngRegHoldID, lngUserID, " +
                                            "curPayment, " +
                                            "dteDateAdded ) " +
                                        "VALUES " +
                                        "(" + lngRecordID + ", 39 , " + lngRegistrationID + ", " + lngRegHoldID + ", " + CTWebMgmt.lngCTUserID.ToString() + ", " +
                                            decSplitAmt + ", " +
                                            "@dteDateAdded)";

                                cmdDB.CommandText = strSQL;
                                cmdDB.Parameters.Clear();

                                cmdDB.Parameters.Add(new OleDbParameter("@dteDateAdded", dteRegDate));

                                cmdDB.ExecuteNonQuery();
                            }

                            strSQL = "UPDATE tblRegistrations " +
                                    "SET tblRegistrations.lngRegHoldID = " + lngRegHoldID.ToString() + " " +
                                    "WHERE tblRegistrations.lngRegistrationID=" + lngRegistrationID.ToString();

                            cmdDB.CommandText = strSQL;
                            cmdDB.Parameters.Clear();

                            cmdDB.ExecuteNonQuery();
                        }
                    }
                    ////////////////////////////////

                    //mark camper as processed
                    strSQL = "UPDATE tblWebIndRegistrations " +
                        "SET blnProcessed=True " +
                        "WHERE lngRegistrationWebID=" + lngRegWebID.ToString();

                    cmdDB.CommandText = strSQL;
                    cmdDB.Parameters.Clear();

                    cmdDB.ExecuteNonQuery();
                }

                conDB.Close();
            }

            Close();
        }
예제 #10
0
        private bool fcnULImg(string _strLocFileToUL)
        {
            bool blnRes = false;

            string strULRes = "";

            try
            {
                System.Net.WebClient cliUL = new System.Net.WebClient();

                byte[] bytULRes = cliUL.UploadFile(clsWebTalk.strPOSTFileURI, _strLocFileToUL);

                // Decode and display the response.
                try { strULRes = System.Text.Encoding.ASCII.GetString(bytULRes); }
                catch { strULRes = "ERR"; }

                using (wsXferEventInfo.XferEventInfo wsXfer = new global::CTWebMgmt.wsXferEventInfo.XferEventInfo())
                {
                    string strFileName = "";

                    long lngWeekID = 0;
                    long lngCampID = 0;
                    long lngHousingID = 0;

                    try { strFileName = _strLocFileToUL.Substring(_strLocFileToUL.LastIndexOf("\\") + 1, _strLocFileToUL.Length - (_strLocFileToUL.LastIndexOf("\\") + 1)); }
                    catch { strFileName = _strLocFileToUL; }

                    try { lngWeekID = ((clsCboItem)cboWeek.SelectedItem).ID; }
                    catch { lngWeekID = 0; }

                    try { lngCampID = ((clsCboItem)cboProgram.SelectedItem).ID; }
                    catch { lngCampID = 0; }

                    try { lngHousingID = ((clsCboItem)cboHousing.SelectedItem).ID; }
                    catch { lngHousingID = 0; }

                    try
                    {
                        string strWebDBConn = "Server=localhost;Database=dbCTOnline;UID=WebMailAdmin;PWD=tS3UnhYa;";

                        string strRes = wsXfer.fcnCommitMsgImgUL(strFileName, clsAppSettings.GetAppSettings().lngCTUserID, lngWeekID, lngCampID, lngHousingID, strWebDBConn);

                        if (strRes == "")
                            blnRes = true;
                        else
                        {
                            blnRes = false;
                            lblStatus.Text = "Error committing image " + strRes;
                        }
                    }
                    catch(Exception ex)
                    {
                        blnRes = false;
                        lblStatus.Text = "ERROR Commiting Image: " + ex.Message;
                    }
                }
            }
            catch (Exception ex)
            {
                lblStatus.Text = DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss") + ": Error uploading XML file: " + ex.Message;

                Application.DoEvents();
                blnRes = false;
            }

            return blnRes;
        }
예제 #11
0
        public static void subUpdateCustomVal(string _strFldName, string _strVal)
        {
            string strRes = "";

            try
            {
                using (wsXferEventInfo.XferEventInfo wsXferData = new global::CTWebMgmt.wsXferEventInfo.XferEventInfo())
                {
                    strRes = wsXferData.fcnUpdateCustomVal(clsAppSettings.GetAppSettings().lngCTUserID, _strFldName, _strVal, strWebConn);
                }
            }
            catch (Exception ex)
            {
                clsErr.subLogErr("clsWebTalk.subUpdateCustomVal", ex);
            }

            if (strRes != "") MessageBox.Show("Error updating default: " + strRes);

            return;
        }