コード例 #1
0
 public SeminarRegistrationBuilder(int registrationID)
 {
     registration = new DojoSeminarRegistration(registrationID);
     options      = new DojoSeminarRegistrationOptionManager().
                    GetCollection("ParentRegistrationID=" + registrationID.ToString(),
                                  string.Empty, DojoSeminarRegistrationOptionFlags.ParentOption);
 }
コード例 #2
0
        protected void btOk_Click(object sender, EventArgs e)
        {
            DojoSeminarRegistration dojoSeminarRegistration = new DojoSeminarRegistration(dojoSeminarRegistrationID);

            dojoSeminarRegistration.Delete();

            dojoSeminarRegistrationID = 0;

            OnDeleted(EventArgs.Empty);
        }
コード例 #3
0
        protected void ok_Click(object sender, EventArgs e)
        {
            if (dojoSeminarRegistrationOptionID == 0)
            {
                obj = new DojoSeminarRegistrationOption();
            }
            else
            {
                obj = new DojoSeminarRegistrationOption(dojoSeminarRegistrationOptionID);
            }

            obj.Quantity    = int.Parse(tbQuantity.Text);
            obj.TotalFee    = decimal.Parse(tbTotalFee.Text);
            obj.CostPerItem = decimal.Parse(tbCostPerItem.Text);

            if (msParentOption.SelectedItem != null && msParentOption.SelectedItem.Value != "Null")
            {
                obj.ParentOption = DojoSeminarOption.NewPlaceHolder(
                    int.Parse(msParentOption.SelectedItem.Value));
            }
            else
            {
                obj.ParentOption = null;
            }

            if (msParentRegistration.SelectedItem != null && msParentRegistration.SelectedItem.Value != "Null")
            {
                obj.ParentRegistration = DojoSeminarRegistration.NewPlaceHolder(
                    int.Parse(msParentRegistration.SelectedItem.Value));
            }
            else
            {
                obj.ParentRegistration = null;
            }

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

            if (resetOnAdd)
            {
                tbQuantity.Text                    = string.Empty;
                tbTotalFee.Text                    = string.Empty;
                tbCostPerItem.Text                 = string.Empty;
                msParentOption.SelectedIndex       = 0;
                msParentRegistration.SelectedIndex = 0;
            }

            OnUpdated(EventArgs.Empty);
        }
コード例 #4
0
        public void Remove(DojoSeminarRegistration value)
        {
            OnCollectionChanged(EventArgs.Empty);
            int index = IndexOf(value);

            if (index == -1)
            {
                throw(new Exception("DojoSeminarRegistration not found in collection."));
            }
            RemoveAt(index);
        }
コード例 #5
0
 protected override void OnPreRender(EventArgs e)
 {
     if (dojoSeminarRegistrationID != 0)
     {
         dojoSeminarRegistration = new DojoSeminarRegistration(dojoSeminarRegistrationID);
         text = "Delete - " + dojoSeminarRegistration.ToString();
     }
     else
     {
         text = "Delete ";
     }
 }
コード例 #6
0
        protected override void OnPreRender(EventArgs e)
        {
            switch (selectedTab)
            {
            case Tab.Disabled:
                btOk.CausesValidation = false;
                break;

            case Tab.Create:
                if (registrationID != 0 && registration == null)
                {
                    registration = new DojoSeminarRegistration(registrationID);
                }
                if (registration != null)
                {
                    tbName.Text          = registration.Contact.FullName;
                    tbAddress1.Text      = registration.Contact.Address1;
                    tbAddress2.Text      = registration.Contact.Address2;
                    tbCity.Text          = registration.Contact.City;
                    tbStateProvince.Text = registration.Contact.StateProvince;
                    tbPostalCode.Text    = registration.Contact.PostalCode;
                    tbCountry.Text       = registration.Contact.Country;
                    tbHomePhone.Text     = registration.Contact.HomePhone;
                    tbWorkPhone.Text     = registration.Contact.WorkPhone;
                    tbEmail1.Text        = registration.Contact.Email1;
                    if (registrationOptions == null)
                    {
                        DojoSeminarRegistrationOptionManager m = new DojoSeminarRegistrationOptionManager();
                        registrationOptions = m.GetCollection("ParentRegistrationID=" + registrationID,
                                                              string.Empty, null);
                    }
                    foreach (ListItem i in ddClassUnits.Items)
                    {
                        i.Selected = i.Value == registration.classUnits.ToString();
                    }
                }
                break;

            case Tab.Verify:
                btOk.CausesValidation = false;
                goto case Tab.Create;

            case Tab.Payment:
                btOk.CausesValidation = false;
                break;

            case Tab.Locked:
                btOk.CausesValidation = false;
                break;
            }

            setValidators(selectedTab);
        }
コード例 #7
0
 public int Add(DojoSeminarRegistration value)
 {
     OnCollectionChanged(EventArgs.Empty);
     lock (this)
     {
         count++;
         ensureArrays();
         addIndexKey(value.ID);
         DojoSeminarRegistrationArray[count - 1] = value;
         return(count - 1);
     }
 }
コード例 #8
0
 public void Add(DojoSeminarRegistration dojoSeminarRegistration, TimeSpan slidingExpiration)
 {
     lock (this)
     {
         count++;
         ensureArrays();
         dojoSeminarRegistrationArray[count - 1] = dojoSeminarRegistration;
         timeStamps[count - 1]          = DateTime.Now;
         absoluteExpirations[count - 1] = DateTime.Now.Add(slidingExpiration); // Never Expires
         slidingExpirations[count - 1]  = slidingExpiration;                   // Never slides
         quickSort(0, count - 1);
     }
 }
コード例 #9
0
 public int IndexOf(DojoSeminarRegistration value)
 {
     lock (this)
     {
         for (int x = 0; x < count; x++)
         {
             if (DojoSeminarRegistrationArray[x].Equals(value))
             {
                 return(x);
             }
         }
     }
     return(-1);
 }
コード例 #10
0
 public SeminarRegistrationBuilder(DojoSeminarRegistration registration)
 {
     this.registration = registration;
     if (registration.ID != 0)
     {
         options = new DojoSeminarRegistrationOptionManager().
                   GetCollection("ParentRegistrationID=" + registration.ID.ToString(),
                                 string.Empty, DojoSeminarRegistrationOptionFlags.ParentOption);
     }
     else
     {
         options = new DojoSeminarRegistrationOptionCollection();
     }
 }
コード例 #11
0
        protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);
            EnsureChildControls();

            if (seminarID == 0)
            {
                if (registrationID != 0)
                {
                    try
                    {
                        registration = new DojoSeminarRegistration(registrationID);
                        seminarID    = registration.ParentSeminar.ID;
                        if (registration.SessionID != Page.Session.SessionID &
                            registration.SessionID != Page.User.Identity.Name)
                        {
                            selectedTab = Tab.Locked;
                        }
                    }
                    catch
                    {
                        selectedTab = Tab.Locked;
                    }
                }
                else
                {
                    selectedTab = Tab.InvalidSeminar;
                }
            }

            try
            {
                seminar = new DojoSeminar(seminarID);
            }
            catch
            {
                selectedTab = Tab.InvalidSeminar;
                return;
            }

            if (!seminar.RegistrationEnabled |
                DateTime.Now <seminar.RegistrationStart |
                              DateTime.Now> seminar.RegistrationEnd)
            {
                selectedTab = Tab.Disabled;
                return;
            }

            bind();
        }
コード例 #12
0
 public void Insert(int index, DojoSeminarRegistration value)
 {
     OnCollectionChanged(EventArgs.Empty);
     lock (this)
     {
         count++;
         ensureArrays();
         addIndexKey(value.ID);
         for (int x = index + 1; x == count - 2; x++)
         {
             DojoSeminarRegistrationArray[x] = DojoSeminarRegistrationArray[x - 1];
         }
         DojoSeminarRegistrationArray[index] = value;
     }
 }
コード例 #13
0
 /// <summary>
 /// Ensures that the index and object array are sized correctly
 /// for additions. This method should be protected by locks
 /// issued by calling methods.
 /// </summary>
 private void ensureArrays()
 {
     if (count > DojoSeminarRegistrationArray.GetUpperBound(0) + 1)
     {
         int[,] tempIndex = new int[count * 2, 2];
         DojoSeminarRegistration[] tempDojoSeminarRegistrationArray = new DojoSeminarRegistration[count * 2];
         for (int x = 0; x <= DojoSeminarRegistrationArray.GetUpperBound(0); x++)
         {
             tempIndex[x, 0] = index[x, 0];                                         // Copy ID
             tempIndex[x, 1] = index[x, 1];                                         // Copy Location
             tempDojoSeminarRegistrationArray[x] = DojoSeminarRegistrationArray[x]; // Copy Object
         }
         index = tempIndex;
         DojoSeminarRegistrationArray = tempDojoSeminarRegistrationArray;
     }
 }
コード例 #14
0
        public void PayInvoice(DojoSeminarRegistration registration,
                               RHCustomer customer, decimal amount, string reference)
        {
            RHReceivePayment payment = new RHReceivePayment();

            payment.Account         = registration.ParentSeminar.Item.SalesIncomeAccount;
            payment.Customer        = customer;
            payment.Invoice1        = registration.InvoiceLine.Invoice;
            payment.IsAutomatic     = false;
            payment.ReferenceNumber = reference;
            payment.TotalAmount     = amount;
            payment.Save();

            registration.InvoiceLine.Invoice.AppliedAmount +=
                payment.TotalAmount;
            registration.InvoiceLine.Invoice.Save();
        }
コード例 #15
0
 /// <summary>
 /// Ensures that the index and object array are sized correctly
 /// for additions. This method should be protected by locks
 /// issued by calling methods.
 /// </summary>
 private void ensureArrays()
 {
     if (count > dojoSeminarRegistrationArray.GetUpperBound(0) + 1)
     {
         DojoSeminarRegistration[] tempDojoSeminarRegistrationArray = new DojoSeminarRegistration[count * 2];
         DateTime[] tempTimeStamps          = new DateTime[count * 2];
         DateTime[] tempAbsoluteExpirations = new DateTime[count * 2];
         TimeSpan[] tempSlidingExpirations  = new TimeSpan[count * 2];
         Array.Copy(dojoSeminarRegistrationArray, tempDojoSeminarRegistrationArray, count - 1);
         Array.Copy(timeStamps, tempTimeStamps, count - 1);
         Array.Copy(absoluteExpirations, tempAbsoluteExpirations, count - 1);
         Array.Copy(slidingExpirations, tempSlidingExpirations, count - 1);
         dojoSeminarRegistrationArray = tempDojoSeminarRegistrationArray;
         timeStamps          = tempTimeStamps;
         absoluteExpirations = tempAbsoluteExpirations;
         slidingExpirations  = tempSlidingExpirations;
     }
 }
コード例 #16
0
 public void CheckedAdd(DojoSeminarRegistration dojoSeminarRegistration, TimeSpan slidingExpiration)
 {
     lock (this)
     {
         int i = binarySearch(dojoSeminarRegistration.iD);
         if (i != -1)
         {
             dojoSeminarRegistrationArray[i] = dojoSeminarRegistration;
             absoluteExpirations[i]          = DateTime.Now.Add(slidingExpiration); // Expires
             slidingExpirations[i]           = slidingExpiration;                   // Never slides
             return;
         }
         count++;
         ensureArrays();
         dojoSeminarRegistrationArray[count - 1] = dojoSeminarRegistration;
         timeStamps[count - 1]          = DateTime.Now;
         absoluteExpirations[count - 1] = DateTime.Now.Add(slidingExpiration); // Expires
         slidingExpirations[count - 1]  = slidingExpiration;                   // Never slides
         quickSort(0, count - 1);
     }
 }
コード例 #17
0
        protected override void OnPreRender(EventArgs e)
        {
            if (dojoSeminarRegistrationID != 0)
            {
                dojoSeminarRegistration = new DojoSeminarRegistration(dojoSeminarRegistrationID);

                #region Bind General Folder

                //
                // Set Field Entries
                //

                ltStatus.Text           = dojoSeminarRegistration.Status.ToString();
                ltRegistrationDate.Text = dojoSeminarRegistration.RegistrationDate.ToString();
                ltClassUnits.Text       = dojoSeminarRegistration.ClassUnits.ToString();

                //
                // Set Children Selections
                //

                // ParentSeminar

                if (dojoSeminarRegistration.ParentSeminar != null)
                {
                    ltParentSeminar.Text = dojoSeminarRegistration.ParentSeminar.ToString();
                }
                else
                {
                    ltParentSeminar.Text = string.Empty;
                }


                #endregion

                #region Bind _system Folder

                //
                // Set Field Entries
                //


                //
                // Set Children Selections
                //


                #endregion

                #region Bind Payment Details Folder

                //
                // Set Field Entries
                //

                ltTotalFee.Text         = dojoSeminarRegistration.TotalFee.ToString();
                ltPaymentDate.Text      = dojoSeminarRegistration.PaymentDate.ToString();
                ltPaymentReference.Text = dojoSeminarRegistration.PaymentReference.ToString();
                ltPaymentAmount.Text    = dojoSeminarRegistration.PaymentAmount.ToString();

                //
                // Set Children Selections
                //


                #endregion

                #region Bind Contact Folder

                //
                // Set Field Entries
                //


                //
                // Set Children Selections
                //

                // Contact

                if (dojoSeminarRegistration.Contact != null)
                {
                    ltContact.Text = dojoSeminarRegistration.Contact.ToString();
                }
                else
                {
                    ltContact.Text = string.Empty;
                }


                #endregion

                #region Bind Rappahanock Folder

                //
                // Set Field Entries
                //


                //
                // Set Children Selections
                //

                // Customer

                if (dojoSeminarRegistration.Customer != null)
                {
                    ltCustomer.Text = dojoSeminarRegistration.Customer.ToString();
                }
                else
                {
                    ltCustomer.Text = string.Empty;
                }

                // InvoiceLine

                if (dojoSeminarRegistration.InvoiceLine != null)
                {
                    ltInvoiceLine.Text = dojoSeminarRegistration.InvoiceLine.ToString();
                }
                else
                {
                    ltInvoiceLine.Text = string.Empty;
                }

                // SalesOrderLine

                if (dojoSeminarRegistration.SalesOrderLine != null)
                {
                    ltSalesOrderLine.Text = dojoSeminarRegistration.SalesOrderLine.ToString();
                }
                else
                {
                    ltSalesOrderLine.Text = string.Empty;
                }


                #endregion

                text = "View  - " + dojoSeminarRegistration.ToString();
            }
        }
コード例 #18
0
        protected override void RenderViewPane(HtmlTextWriter output)
        {
            RenderTableBeginTag("_viewPanel", this.CellPadding, this.CellSpacing, Unit.Percentage(100), Unit.Empty, this.CssClass);

            DojoSeminarRegistration m = new DojoSeminarRegistration(int.Parse(Page.Request.QueryString[0]));

            output.WriteFullBeginTag("tr");
            output.WriteBeginTag("th");
            output.WriteAttribute("class", this.HeaderCssClass);
            output.Write(HtmlTextWriter.TagRightChar);
            output.Write(m.Contact.FullName);
            output.WriteEndTag("th");
            output.WriteEndTag("tr");

            #region Contact Information

            output.WriteFullBeginTag("tr");
            output.WriteBeginTag("td");
            output.WriteAttribute("class", this.SubHeaderCssClass);
            output.Write(HtmlTextWriter.TagRightChar);
            output.Write("Contact Information");
            output.WriteEndTag("td");
            output.WriteEndTag("tr");

            output.WriteFullBeginTag("tr");
            output.WriteBeginTag("td");
            output.WriteAttribute("class", this.defaultRowCssClass);
            output.Write(HtmlTextWriter.TagRightChar);
            output.Write(m.Contact.ConstructAddress("<br />"));
            output.Write("<br />");
            if (m.Contact.HomePhone != string.Empty)
            {
                output.Write(m.Contact.HomePhone + " (h)<br />");
            }
            if (m.Contact.WorkPhone != string.Empty)
            {
                output.Write(m.Contact.WorkPhone + " (w)<br />");
            }
            if (m.Contact.Email1 != string.Empty)
            {
                output.Write("<a href=\"mailto:");
                output.Write(m.Contact.Email1);
                output.Write("\">");
                output.Write(m.Contact.Email1);
                output.Write("</a>");
                output.Write("<br />");
            }
            if (m.Contact.ValidationMemo != null && m.Contact.ValidationMemo.Length > 0)
            {
                output.Write("<br />");
                output.Write("<strong>Validation Memo : </strong><br />");
                output.Write(m.Contact.ValidationMemo.Replace("\n", "<br />"));
            }
            output.WriteEndTag("td");
            output.WriteEndTag("tr");

            #endregion

            #region Registration

            output.WriteFullBeginTag("tr");
            output.WriteBeginTag("td");
            output.WriteAttribute("class", this.SubHeaderCssClass);
            output.Write(HtmlTextWriter.TagRightChar);
            output.Write("Payment");
            output.WriteEndTag("td");
            output.WriteEndTag("tr");

            if (m.PaymentAmount == decimal.Zero)
            {
                output.WriteFullBeginTag("tr");
                output.WriteBeginTag("td");
                output.WriteAttribute("class", this.DefaultRowCssClass);
                output.Write(HtmlTextWriter.TagRightChar);
                output.Write("<strong>Payment Amount</strong> : Unpaid");
                output.WriteEndTag("td");
                output.WriteEndTag("tr");
            }
            else
            {
                output.WriteFullBeginTag("tr");
                output.WriteBeginTag("td");
                output.WriteAttribute("class", this.DefaultRowCssClass);
                output.Write(HtmlTextWriter.TagRightChar);
                output.Write("<strong>Payment Amount</strong> : ");
                output.Write(m.PaymentAmount.ToString("c"));
                output.WriteEndTag("td");
                output.WriteEndTag("tr");

                output.WriteFullBeginTag("tr");
                output.WriteBeginTag("td");
                output.WriteAttribute("class", this.DefaultRowCssClass);
                output.Write(HtmlTextWriter.TagRightChar);
                output.Write("<strong>Payment Date</strong> : ");
                output.Write(m.PaymentDate.ToLongDateString());
                output.WriteEndTag("td");
                output.WriteEndTag("tr");

                output.WriteFullBeginTag("tr");
                output.WriteBeginTag("td");
                output.WriteAttribute("class", this.DefaultRowCssClass);
                output.Write(HtmlTextWriter.TagRightChar);
                output.Write("<strong>Payment Reference</strong> : ");
                output.Write(m.PaymentReference);
                output.WriteEndTag("td");
                output.WriteEndTag("tr");
            }

            #endregion

            #region Options

            DojoSeminarRegistrationOptionCollection options =
                new DojoSeminarRegistrationOptionManager().GetCollection("ParentRegistrationID=" +
                                                                         m.ID.ToString(), string.Empty, null);

            if (options.Count > 0)
            {
                output.WriteFullBeginTag("tr");
                output.WriteBeginTag("td");
                output.WriteAttribute("class", this.SubHeaderCssClass);
                output.Write(HtmlTextWriter.TagRightChar);
                output.Write("Options");
                output.WriteEndTag("td");
                output.WriteEndTag("tr");

                foreach (DojoSeminarRegistrationOption option in options)
                {
                    output.WriteFullBeginTag("tr");
                    output.WriteBeginTag("td");
                    output.WriteAttribute("class", this.DefaultRowCssClass);
                    output.Write(HtmlTextWriter.TagRightChar);
                    output.Write(option.ParentOption.Name);
                    output.Write(" - ");
                    output.Write(option.Quantity.ToString());
                    output.WriteEndTag("td");
                    output.WriteEndTag("tr");
                }
            }

            #endregion

            output.WriteEndTag("table");
        }
コード例 #19
0
 public SeminarRegistrationBuilder()
 {
     registration = new DojoSeminarRegistration();
     options      = new DojoSeminarRegistrationOptionCollection();
 }
コード例 #20
0
        protected override void OnPreRender(EventArgs e)
        {
            if (dojoSeminarRegistrationID != 0 & loadFlag)
            {
                editDojoSeminarRegistration = new DojoSeminarRegistration(dojoSeminarRegistrationID);

                //
                // Set Field Entries
                //
                deRegistrationDate.Date = editDojoSeminarRegistration.RegistrationDate;
                tbClassUnits.Text       = editDojoSeminarRegistration.ClassUnits.ToString();
                tbTotalFee.Text         = editDojoSeminarRegistration.TotalFee.ToString("N");
                dePaymentDate.Date      = editDojoSeminarRegistration.PaymentDate;
                tbPaymentReference.Text = editDojoSeminarRegistration.PaymentReference;
                tbPaymentAmount.Text    = editDojoSeminarRegistration.PaymentAmount.ToString("N");

                tbName.Text          = editDojoSeminarRegistration.Contact.FullName;
                tbAddress1.Text      = editDojoSeminarRegistration.Contact.Address1;
                tbAddress2.Text      = editDojoSeminarRegistration.Contact.Address2;
                tbCity.Text          = editDojoSeminarRegistration.Contact.City;
                tbStateProvince.Text = editDojoSeminarRegistration.Contact.StateProvince;
                tbPostalCode.Text    = editDojoSeminarRegistration.Contact.PostalCode;
                tbCountry.Text       = editDojoSeminarRegistration.Contact.Country;
                tbHomePhone.Text     = editDojoSeminarRegistration.Contact.HomePhone;
                tbWorkPhone.Text     = editDojoSeminarRegistration.Contact.WorkPhone;
                tbMobilePhone.Text   = editDojoSeminarRegistration.Contact.MobilePhone;
                tbPager.Text         = editDojoSeminarRegistration.Contact.Pager;
                tbEmail1.Text        = editDojoSeminarRegistration.Contact.Email1;
                tbEmail2.Text        = editDojoSeminarRegistration.Contact.Email2;
                tbUrl.Text           = editDojoSeminarRegistration.Contact.Url;
                tbMemoText.Text      = editDojoSeminarRegistration.Contact.MemoText;

                //
                //
                // Set Children Selections
                //
                if (editDojoSeminarRegistration.ParentSeminar != null)
                {
                    foreach (ListItem item in msParentSeminar.Items)
                    {
                        item.Selected = editDojoSeminarRegistration.ParentSeminar.ID.ToString() == item.Value;
                    }
                }

                foreach (ListItem item in msStatus.Items)
                {
                    item.Selected = editDojoSeminarRegistration.Status.ToString() == item.Value;
                }

                if (editDojoSeminarRegistration.Contact != null)
                {
                    ltContact.Text = editDojoSeminarRegistration.Contact.ToString();
                }
                else
                {
                    ltContact.Text = string.Empty;
                }

                Text = "Edit  - " + editDojoSeminarRegistration.ToString();
            }
            else
            {
                if (defaultDojoSeminarID != -1)
                {
                    // Render Defaults
                    DojoSeminar s = new DojoSeminar(defaultDojoSeminarID);

                    // Select Default Seminar
                    foreach (ListItem i in msParentSeminar.Items)
                    {
                        i.Selected = defaultDojoSeminarID.ToString() == i.Value;
                    }

                    deRegistrationDate.Date = DateTime.Now;
                    dePaymentDate.Date      = DateTime.Now;

                    switch (s.ClassUnitType)
                    {
                    case DojoSeminarClassUnitType.Day:
                        TimeSpan days = s.EndDate.Date - s.StartDate.Date;
                        tbClassUnits.Text = days.TotalDays.ToString();
                        break;

                    case DojoSeminarClassUnitType.Class:
                        tbClassUnits.Text = "-1";
                        break;

                    default:
                        goto case DojoSeminarClassUnitType.Class;
                    }

                    tbTotalFee.Text = s.FullRegistrationFee.ToString("N");;

                    tbPaymentAmount.Text = "0.00";
                }

                Text = "Add ";
            }
        }
コード例 #21
0
        protected void ok_Click(object sender, EventArgs e)
        {
            if (dojoSeminarRegistrationID == 0)
            {
                editDojoSeminarRegistration         = new DojoSeminarRegistration();
                editDojoSeminarRegistration.Contact = new GreyFoxContact("kitTessen_SeminarRegistrations_Contacts");
            }
            else
            {
                editDojoSeminarRegistration = new DojoSeminarRegistration(dojoSeminarRegistrationID);
            }

            editDojoSeminarRegistration.Contact.ParseName(tbName.Text);
            editDojoSeminarRegistration.Contact.ParseAddress(tbAddress1.Text, tbAddress2.Text,
                                                             tbCity.Text, tbStateProvince.Text, tbPostalCode.Text, tbCountry.Text);
            editDojoSeminarRegistration.Contact.ParsePhones(tbHomePhone.Text, tbWorkPhone.Text,
                                                            string.Empty, tbPager.Text, tbMobilePhone.Text);
            editDojoSeminarRegistration.Contact.Email1   = tbEmail1.Text;
            editDojoSeminarRegistration.Contact.Email2   = tbEmail2.Text;
            editDojoSeminarRegistration.Contact.Url      = tbUrl.Text;
            editDojoSeminarRegistration.Contact.MemoText = tbMemoText.Text;
            editDojoSeminarRegistration.Contact.Save();

            editDojoSeminarRegistration.Status           = byte.Parse(msStatus.SelectedValue);
            editDojoSeminarRegistration.RegistrationDate = deRegistrationDate.Date;
            editDojoSeminarRegistration.ClassUnits       = int.Parse(tbClassUnits.Text);
            editDojoSeminarRegistration.TotalFee         = decimal.Parse(tbTotalFee.Text);
            editDojoSeminarRegistration.PaymentDate      = dePaymentDate.Date;
            editDojoSeminarRegistration.PaymentReference = tbPaymentReference.Text;
            editDojoSeminarRegistration.PaymentAmount    = decimal.Parse(tbPaymentAmount.Text);

            if (msParentSeminar.SelectedItem != null)
            {
                editDojoSeminarRegistration.ParentSeminar = DojoSeminar.NewPlaceHolder(
                    int.Parse(msParentSeminar.SelectedItem.Value));
            }
            else
            {
                editDojoSeminarRegistration.ParentSeminar = null;
            }

            if (editOnAdd)
            {
                dojoSeminarRegistrationID = editDojoSeminarRegistration.Save();
            }
            else
            {
                editDojoSeminarRegistration.Save();
            }

            if (resetOnAdd)
            {
                tbName.Text          = string.Empty;
                tbAddress1.Text      = string.Empty;
                tbAddress2.Text      = string.Empty;
                tbCity.Text          = string.Empty;
                tbStateProvince.Text = string.Empty;
                tbPostalCode.Text    = string.Empty;
                tbCountry.Text       = string.Empty;
                tbHomePhone.Text     = string.Empty;
                tbWorkPhone.Text     = string.Empty;
                tbMobilePhone.Text   = string.Empty;
                tbPager.Text         = string.Empty;
                tbEmail1.Text        = string.Empty;
                tbEmail2.Text        = string.Empty;
                tbUrl.Text           = string.Empty;
                tbMemoText.Text      = string.Empty;

                deRegistrationDate.Date = DateTime.Now;
                tbClassUnits.Text       = "-1";
                tbTotalFee.Text         = "0";
                dePaymentDate.Date      = DateTime.Now;
                tbPaymentReference.Text = string.Empty;
                tbPaymentAmount.Text    = "0";

                msParentSeminar.SelectedIndex = 0;
                msStatus.SelectedIndex        = 0;
            }

            OnUpdated(EventArgs.Empty);
        }
コード例 #22
0
        protected override void OnPreRender(EventArgs e)
        {
            if (loadFlag)
            {
                if (dojoSeminarRegistrationID > 0)
                {
                    obj  = new DojoSeminarRegistration(dojoSeminarRegistrationID);
                    text = "Edit  - " + obj.ToString();
                }
                else if (dojoSeminarRegistrationID <= 0)
                {
                    obj  = new DojoSeminarRegistration();
                    text = "Add ";
                }

                //
                // Set Field Entries
                //
                tbStatus.Text           = obj.Status.ToString();
                deRegistrationDate.Date = obj.RegistrationDate;
                tbClassUnits.Text       = obj.ClassUnits.ToString();
                tbTotalFee.Text         = obj.TotalFee.ToString();
                dePaymentDate.Date      = obj.PaymentDate;
                tbPaymentReference.Text = obj.PaymentReference;
                tbPaymentAmount.Text    = obj.PaymentAmount.ToString();

                //
                // Set Children Selections
                //
                if (obj.ParentSeminar != null)
                {
                    ltParentSeminar.Text = obj.ParentSeminar.ToString();
                }
                else
                {
                    ltParentSeminar.Text = string.Empty;
                }
                if (obj.Contact != null)
                {
                    foreach (ListItem item in msContact.Items)
                    {
                        item.Selected = obj.Contact.ID.ToString() == item.Value;
                    }
                }
                else
                {
                    msContact.SelectedIndex = 0;
                }

                if (obj.Customer != null)
                {
                    foreach (ListItem item in msCustomer.Items)
                    {
                        item.Selected = obj.Customer.ID.ToString() == item.Value;
                    }
                }
                else
                {
                    msCustomer.SelectedIndex = 0;
                }

                if (obj.InvoiceLine != null)
                {
                    foreach (ListItem item in msInvoiceLine.Items)
                    {
                        item.Selected = obj.InvoiceLine.ID.ToString() == item.Value;
                    }
                }
                else
                {
                    msInvoiceLine.SelectedIndex = 0;
                }

                if (obj.SalesOrderLine != null)
                {
                    foreach (ListItem item in msSalesOrderLine.Items)
                    {
                        item.Selected = obj.SalesOrderLine.ID.ToString() == item.Value;
                    }
                }
                else
                {
                    msSalesOrderLine.SelectedIndex = 0;
                }
            }
        }
コード例 #23
0
        protected void ok_Click(object sender, EventArgs e)
        {
            if (dojoSeminarRegistrationID == 0)
            {
                obj = new DojoSeminarRegistration();
            }
            else
            {
                obj = new DojoSeminarRegistration(dojoSeminarRegistrationID);
            }

            obj.Status           = byte.Parse(tbStatus.Text);
            obj.RegistrationDate = deRegistrationDate.Date;
            obj.ClassUnits       = int.Parse(tbClassUnits.Text);
            obj.TotalFee         = decimal.Parse(tbTotalFee.Text);
            obj.PaymentDate      = dePaymentDate.Date;
            obj.PaymentReference = tbPaymentReference.Text;
            obj.PaymentAmount    = decimal.Parse(tbPaymentAmount.Text);

            if (msContact.SelectedItem != null && msContact.SelectedItem.Value != "Null")
            {
                obj.Contact = GreyFoxContact.NewPlaceHolder("kitTessen_SeminarRegistrations_Contacts",
                                                            int.Parse(msContact.SelectedItem.Value));
            }
            else
            {
                obj.Contact = null;
            }

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

            if (msInvoiceLine.SelectedItem != null && msInvoiceLine.SelectedItem.Value != "Null")
            {
                obj.InvoiceLine = RHInvoiceLine.NewPlaceHolder(
                    int.Parse(msInvoiceLine.SelectedItem.Value));
            }
            else
            {
                obj.InvoiceLine = null;
            }

            if (msSalesOrderLine.SelectedItem != null && msSalesOrderLine.SelectedItem.Value != "Null")
            {
                obj.SalesOrderLine = RHSalesOrderLine.NewPlaceHolder(
                    int.Parse(msSalesOrderLine.SelectedItem.Value));
            }
            else
            {
                obj.SalesOrderLine = null;
            }

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

            if (resetOnAdd)
            {
                tbStatus.Text                  = string.Empty;
                deRegistrationDate.Date        = DateTime.Now;
                tbClassUnits.Text              = string.Empty;
                tbTotalFee.Text                = string.Empty;
                dePaymentDate.Date             = DateTime.Now;
                tbPaymentReference.Text        = string.Empty;
                tbPaymentAmount.Text           = string.Empty;
                msContact.SelectedIndex        = 0;
                msCustomer.SelectedIndex       = 0;
                msInvoiceLine.SelectedIndex    = 0;
                msSalesOrderLine.SelectedIndex = 0;
            }

            OnUpdated(EventArgs.Empty);
        }
コード例 #24
0
        protected void ok_Click(object sender, EventArgs e)
        {
            if (dojoSeminarReservationID == 0)
            {
                obj = new DojoSeminarReservation();
            }
            else
            {
                obj = new DojoSeminarReservation(dojoSeminarReservationID);
            }

            obj.IsBlockReservation      = cbIsBlockReservation.Checked;
            obj.CheckIn                 = DateTime.Parse(tbCheckIn.Text);
            obj.CheckOut                = cbCheckOut.Checked;
            obj.IsClassReservation      = cbIsClassReservation.Checked;
            obj.IsDefinitionReservation = cbIsDefinitionReservation.Checked;

            if (msRegistration.SelectedItem != null && msRegistration.SelectedItem.Value != "Null")
            {
                obj.Registration = DojoSeminarRegistration.NewPlaceHolder(
                    int.Parse(msRegistration.SelectedItem.Value));
            }
            else
            {
                obj.Registration = null;
            }

            if (msParentReservation.SelectedItem != null && msParentReservation.SelectedItem.Value != "Null")
            {
                obj.ParentReservation = DojoSeminarReservation.NewPlaceHolder(
                    int.Parse(msParentReservation.SelectedItem.Value));
            }
            else
            {
                obj.ParentReservation = null;
            }

            if (msClass1.SelectedItem != null && msClass1.SelectedItem.Value != "Null")
            {
                obj.Class1 = DojoClass.NewPlaceHolder(
                    int.Parse(msClass1.SelectedItem.Value));
            }
            else
            {
                obj.Class1 = null;
            }

            if (msClass2.SelectedItem != null && msClass2.SelectedItem.Value != "Null")
            {
                obj.Class2 = DojoClass.NewPlaceHolder(
                    int.Parse(msClass2.SelectedItem.Value));
            }
            else
            {
                obj.Class2 = null;
            }

            if (msClass3.SelectedItem != null && msClass3.SelectedItem.Value != "Null")
            {
                obj.Class3 = DojoClass.NewPlaceHolder(
                    int.Parse(msClass3.SelectedItem.Value));
            }
            else
            {
                obj.Class3 = null;
            }

            if (msClass4.SelectedItem != null && msClass4.SelectedItem.Value != "Null")
            {
                obj.Class4 = DojoClass.NewPlaceHolder(
                    int.Parse(msClass4.SelectedItem.Value));
            }
            else
            {
                obj.Class4 = null;
            }

            if (msClass5.SelectedItem != null && msClass5.SelectedItem.Value != "Null")
            {
                obj.Class5 = DojoClass.NewPlaceHolder(
                    int.Parse(msClass5.SelectedItem.Value));
            }
            else
            {
                obj.Class5 = null;
            }

            if (msClass6.SelectedItem != null && msClass6.SelectedItem.Value != "Null")
            {
                obj.Class6 = DojoClass.NewPlaceHolder(
                    int.Parse(msClass6.SelectedItem.Value));
            }
            else
            {
                obj.Class6 = null;
            }

            if (msClass7.SelectedItem != null && msClass7.SelectedItem.Value != "Null")
            {
                obj.Class7 = DojoClass.NewPlaceHolder(
                    int.Parse(msClass7.SelectedItem.Value));
            }
            else
            {
                obj.Class7 = null;
            }

            if (msClass8.SelectedItem != null && msClass8.SelectedItem.Value != "Null")
            {
                obj.Class8 = DojoClass.NewPlaceHolder(
                    int.Parse(msClass8.SelectedItem.Value));
            }
            else
            {
                obj.Class8 = null;
            }

            if (msClass9.SelectedItem != null && msClass9.SelectedItem.Value != "Null")
            {
                obj.Class9 = DojoClass.NewPlaceHolder(
                    int.Parse(msClass9.SelectedItem.Value));
            }
            else
            {
                obj.Class9 = null;
            }

            if (msClass10.SelectedItem != null && msClass10.SelectedItem.Value != "Null")
            {
                obj.Class10 = DojoClass.NewPlaceHolder(
                    int.Parse(msClass10.SelectedItem.Value));
            }
            else
            {
                obj.Class10 = null;
            }

            if (msDefinition1.SelectedItem != null && msDefinition1.SelectedItem.Value != "Null")
            {
                obj.Definition1 = DojoClassDefinition.NewPlaceHolder(
                    int.Parse(msDefinition1.SelectedItem.Value));
            }
            else
            {
                obj.Definition1 = null;
            }

            if (msDefinition2.SelectedItem != null && msDefinition2.SelectedItem.Value != "Null")
            {
                obj.Definition2 = DojoClassDefinition.NewPlaceHolder(
                    int.Parse(msDefinition2.SelectedItem.Value));
            }
            else
            {
                obj.Definition2 = null;
            }

            if (msDefinition3.SelectedItem != null && msDefinition3.SelectedItem.Value != "Null")
            {
                obj.Definition3 = DojoClassDefinition.NewPlaceHolder(
                    int.Parse(msDefinition3.SelectedItem.Value));
            }
            else
            {
                obj.Definition3 = null;
            }

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

            if (resetOnAdd)
            {
                cbIsBlockReservation.Checked = false;
                tbCheckIn.Text                    = DateTime.Now.ToString();
                cbCheckOut.Checked                = false;
                cbIsClassReservation.Checked      = false;
                cbIsDefinitionReservation.Checked = false;
                msRegistration.SelectedIndex      = 0;
                msParentReservation.SelectedIndex = 0;
                msClass1.SelectedIndex            = 0;
                msClass2.SelectedIndex            = 0;
                msClass3.SelectedIndex            = 0;
                msClass4.SelectedIndex            = 0;
                msClass5.SelectedIndex            = 0;
                msClass6.SelectedIndex            = 0;
                msClass7.SelectedIndex            = 0;
                msClass8.SelectedIndex            = 0;
                msClass9.SelectedIndex            = 0;
                msClass10.SelectedIndex           = 0;
                msDefinition1.SelectedIndex       = 0;
                msDefinition2.SelectedIndex       = 0;
                msDefinition3.SelectedIndex       = 0;
            }

            OnUpdated(EventArgs.Empty);
        }
コード例 #25
0
 public bool Contains(DojoSeminarRegistration value)
 {
     return(IndexOf(value) != -1);
 }
コード例 #26
0
        public void CreateInvoice(DojoSeminarRegistration registration,
                                  RHCustomer customer)
        {
            DojoSeminar seminar = registration.ParentSeminar;

            // Create Invoice and set the duedate according to the seminar
            // registration settings.
            RHInvoice invoice = new RHInvoice();

            invoice.Customer = customer;
            if (seminar.EarlyEndDate > DateTime.Now)
            {
                invoice.DueDate = seminar.EarlyEndDate;
            }
            else if (seminar.EndDate > DateTime.Now)
            {
                invoice.DueDate = seminar.LateStartDate;
            }
            else
            {
                invoice.DueDate = seminar.StartDate;
            }
            invoice.FOB = seminar.Location.BusinessName;
            invoice.ReceivableAccount =
                seminar.Item.SalesIncomeAccount;

            invoice.BillingContact               = new GreyFoxContact(RHInvoiceManager.BillingContactTable);
            invoice.BillingContact.Prefix        = customer.PrivateContact.Prefix;
            invoice.BillingContact.FirstName     = customer.PrivateContact.FirstName;
            invoice.BillingContact.MiddleName    = customer.PrivateContact.MiddleName;
            invoice.BillingContact.LastName      = customer.PrivateContact.LastName;
            invoice.BillingContact.Suffix        = customer.PrivateContact.Suffix;
            invoice.BillingContact.Address1      = customer.PrivateContact.Address1;
            invoice.BillingContact.Address2      = customer.PrivateContact.Address2;
            invoice.BillingContact.City          = customer.PrivateContact.City;
            invoice.BillingContact.StateProvince = customer.PrivateContact.StateProvince;
            invoice.BillingContact.PostalCode    = customer.PrivateContact.PostalCode;
            invoice.BillingContact.Country       = customer.PrivateContact.Country;

            invoice.ShipContact               = new GreyFoxContact(RHInvoiceManager.ShipContactTable);
            invoice.ShipContact.Prefix        = registration.Contact.Prefix;
            invoice.ShipContact.FirstName     = registration.Contact.FirstName;
            invoice.ShipContact.MiddleName    = registration.Contact.MiddleName;
            invoice.ShipContact.LastName      = registration.Contact.LastName;
            invoice.ShipContact.Suffix        = registration.Contact.Suffix;
            invoice.ShipContact.Address1      = registration.Contact.Address1;
            invoice.ShipContact.Address2      = registration.Contact.Address2;
            invoice.ShipContact.City          = registration.Contact.City;
            invoice.ShipContact.StateProvince = registration.Contact.StateProvince;
            invoice.ShipContact.PostalCode    = registration.Contact.PostalCode;
            invoice.ShipContact.Country       = registration.Contact.Country;

            invoice.Subtotal = registration.TotalFee;

            // TODO: Handle Taxes

            invoice.BalanceRemaining = registration.TotalFee;
            invoice.Save();

            // Create Invoice Line
            RHInvoiceLine line = new RHInvoiceLine();

            line.Invoice     = invoice;
            line.Description = "Seminar Registration - " +
                               seminar.Name + "\r\n";
            line.Item     = seminar.Item;
            line.OrderNum = 1;
            line.Quantity = 1;
            line.Amount   = registration.TotalFee;
            line.Rate     = registration.TotalFee;
            line.Save();

            registration.InvoiceLine = line;
            registration.Save();
        }
コード例 #27
0
        private void create()
        {
            setValidators(Tab.Create);

            Page.Validate();
            if (!Page.IsValid)
            {
                return;
            }

            // Create a new registration if it does not already exist. Be sure to create
            // the registration in proper order; contact, registration, options. If
            // Rappahanock is enabled, create the sales order for the item.

            SeminarRegistrationBuilder builder = null;

            if (registrationID == 0)
            {
                builder              = new SeminarRegistrationBuilder();
                registration         = builder.Registration;
                registrationOptions  = builder.Options;
                registration.Contact =
                    new GreyFoxContact(DojoSeminarRegistrationManager.ContactTable);

                // Set a SessionID for security using either the username
                // or ASP.net SessionID
                if (Page.User.Identity.Name != string.Empty)
                {
                    registration.SessionID = Page.User.Identity.Name;
                }
                else
                {
                    registration.SessionID = Page.Session.SessionID;
                }
            }
            else
            {
                // Be sure to remove the registration from the cart if
                // Rappahanock processing is activated.
                try
                {
                    builder = new SeminarRegistrationBuilder(registrationID);
                }
                catch
                {
                    selectedTab = Tab.Locked;
                    return;
                }

                registration        = builder.Registration;
                registrationOptions = builder.Options;

                // Check for SessionID for Security
                if (registration.SessionID != Page.Session.SessionID &
                    registration.SessionID != Page.User.Identity.Name)
                {
                    selectedTab = Tab.Locked;
                    return;
                }

                // If the registration has a payment amount over zero,
                // be sure to lock it to remove a vulnerability.
                if (registration.PaymentAmount > 0)
                {
                    selectedTab = Tab.Locked;
                    return;
                }

                if (paymentMode == RegistrationPaymentMode.Rappahanock)
                {
                    builder.RemoveFromCart();
                }
            }

            registration.RegistrationDate = DateTime.Now;
            registration.Status           = 0;
            registration.Contact.ParseName(tbName.Text);
            registration.Contact.ParseAddress(tbAddress1.Text, tbAddress2.Text, tbCity.Text,
                                              tbStateProvince.Text, tbPostalCode.Text, tbCountry.Text);
            registration.Contact.ParsePhones(tbHomePhone.Text, tbWorkPhone.Text, string.Empty,
                                             string.Empty, string.Empty);
            registration.Contact.Email1 = tbEmail1.Text;
            registration.Contact.Save();
            registration.ParentSeminar = seminar;
            registration.classUnits    = int.Parse(ddClassUnits.SelectedItem.Value);
            registrationID             = registration.Save();

            // Set options for the registration by first clearing the options
            // already associated with the registration then recreating them
            // from current selections.
            DojoSeminarRegistrationOptionManager.ClearOptions(registration);
            registrationOptions.Clear();

            // Loop through the form's post back data looking for the lineOption
            // and quantity keys. Setup the associated options with the
            // current registration only if selected or the quantity is not
            // zero.
            string[] allKeys = Context.Request.Form.AllKeys;
            int      optionId;
            int      quantity = 0;

            for (int x = 0; x < allKeys.Length; x++)
            {
                if (!allKeys[x].StartsWith(ClientID + "___option") &
                    !allKeys[x].StartsWith(ClientID + "___qty"))
                {
                    continue;
                }

                if (allKeys[x].StartsWith(ClientID + "___option"))
                {
                    // Parse OptionID Selected
                    optionId = int.Parse(allKeys[x].Substring(
                                             ClientID.Length + 9, allKeys[x].Length - (ClientID.Length + 9)));
                    quantity = 1;
                }
                else
                {
                    // Parse OptionID and Quantity Selected and be sure
                    // to ignore quantities less than 1, otherwise some
                    // clever registrants will get some discounts!
                    optionId = int.Parse(allKeys[x].Substring(
                                             ClientID.Length + 6, allKeys[x].Length - (ClientID.Length + 6)));
                    quantity =
                        int.Parse(Context.Request.Form[ClientID + "___qty" + optionId.ToString()]);

                    if (quantity < 1)
                    {
                        continue;
                    }
                }

                // Find the lineOption in the seminar's list of available options then
                // add the lineOption and save it.
                foreach (DojoSeminarOption seminarOption in seminar.Options)
                {
                    if (optionId == seminarOption.iD)
                    {
                        DojoSeminarRegistrationOption registrationOption =
                            new DojoSeminarRegistrationOption();
                        registrationOption.ParentRegistration = registration;
                        registrationOption.ParentOption       = seminarOption;
                        registrationOption.CostPerItem        = seminarOption.Fee;
                        registrationOption.Quantity           = quantity;
                        registrationOption.TotalFee           = seminarOption.Fee * registrationOption.Quantity;
                        registrationOption.Save();
                        registrationOptions.Add(registrationOption);
                        break;
                    }
                }
            }

            // Save the registration again to update quantities and fees.
            registration.CalculateFee(registrationOptions);
            registration.Save();

            if (paymentMode == RegistrationPaymentMode.Rappahanock)
            {
                builder.AddToCart();
            }

            selectedTab = Tab.Verify;
        }