コード例 #1
0
        public void FormControlAddress_StateReferenceCompleted(Object sender, Server.Application.StateReferenceCompletedEventArgs e)
        {
            // FINISH LINKING REFERENCE CONTROLS

            foreach (Client.Core.Forms.Control currentControl in form.GetAllControls())
            {
                if (currentControl.ControlType == Mercury.Server.Application.FormControlType.Address)
                {
                    Client.Core.Forms.Controls.Address addressControl = (Client.Core.Forms.Controls.Address)currentControl;

                    Telerik.Windows.Controls.RadComboBox stateComboBox = (Telerik.Windows.Controls.RadComboBox)FindName(addressControl.ControlId.ToString() + "_State");

                    if (stateComboBox != null)
                    {
                        stateComboBox.ItemsSource = e.Result.ResultList;

                        // stateComboBox.SelectedValue = addressControl.State;

                        stateComboBox.SetBinding(Telerik.Windows.Controls.RadComboBox.SelectedValueProperty, renderEngine.PropertyDataBinding("State", addressControl, System.Windows.Data.BindingMode.OneWay));
                    }
                }
            }

            return;
        }
コード例 #2
0
        public void FormControlAddress_CityStateReferenceByZipCodeCompleted(Object sender, Server.Application.CityStateReferenceByZipCodeCompletedEventArgs e)
        {
            // RELINK CITY REFERENCES

            foreach (Client.Core.Forms.Control currentControl in form.GetAllControls())
            {
                if (currentControl.ControlType == Mercury.Server.Application.FormControlType.Address)
                {
                    Client.Core.Forms.Controls.Address addressControl = (Client.Core.Forms.Controls.Address)currentControl;

                    if (e.Result.ZipCode == addressControl.ZipCode)
                    {
                        Telerik.Windows.Controls.RadComboBox cityComboBox = (Telerik.Windows.Controls.RadComboBox)FindName(addressControl.ControlId.ToString() + "_City");

                        Telerik.Windows.Controls.RadComboBox stateComboBox = (Telerik.Windows.Controls.RadComboBox)FindName(addressControl.ControlId.ToString() + "_State");

                        if ((stateComboBox != null) && (cityComboBox != null) && (e.Result != null))
                        {
                            addressControl.State = e.Result.State;

                            addressControl.City = e.Result.City;
                        }
                    }
                }
            }

            return;
        }
コード例 #3
0
        public void FormControlAddress_CityReferenceByStateCompleted(Object sender, Server.Application.CityReferenceByStateCompletedEventArgs e)
        {
            // RELINK CITY REFERENCES

            foreach (Client.Core.Forms.Control currentControl in form.GetAllControls())
            {
                if (currentControl.ControlType == Mercury.Server.Application.FormControlType.Address)
                {
                    Client.Core.Forms.Controls.Address addressControl = (Client.Core.Forms.Controls.Address)currentControl;

                    Telerik.Windows.Controls.RadComboBox cityComboBox = (Telerik.Windows.Controls.RadComboBox)FindName(addressControl.ControlId.ToString() + "_City");

                    Telerik.Windows.Controls.RadComboBox stateComboBox = (Telerik.Windows.Controls.RadComboBox)FindName(addressControl.ControlId.ToString() + "_State");

                    if ((stateComboBox != null) && (cityComboBox != null))
                    {
                        cityComboBox.ItemsSource = e.Result.Collection;

                        cityComboBox.DisplayMemberPath = "City";

                        cityComboBox.SelectedValuePath = "City";

                        cityComboBox.SetBinding(Telerik.Windows.Controls.RadComboBox.SelectedValueProperty, renderEngine.PropertyDataBinding("City", addressControl, System.Windows.Data.BindingMode.OneWay));
                    }
                }
            }

            return;
        }
コード例 #4
0
        public void FormControlAddress_StateSelectionChanged(object sender, Telerik.Windows.Controls.SelectionChangedEventArgs e)
        {
            Telerik.Windows.Controls.RadComboBox stateComboBox = (Telerik.Windows.Controls.RadComboBox)sender;

            if (stateComboBox == null)
            {
                return;
            }

            if (stateComboBox.SelectedValue == null)
            {
                return;
            }

            Client.Core.Forms.Controls.Address addressControl = (Client.Core.Forms.Controls.Address)stateComboBox.Tag;

            if (addressControl == null)
            {
                return;
            }


            Boolean valueChanged = (stateComboBox.SelectedValue.ToString() != addressControl.State);

            valueChanged = ((valueChanged) && (addressControl.EnabledAndNotReadOnly));


            if (valueChanged)
            {
                addressControl.State = stateComboBox.SelectedValue.ToString();

                addressControl.AddressId = 0;

                stateComboBox.SetBinding(Telerik.Windows.Controls.RadComboBox.SelectedValueProperty, renderEngine.PropertyDataBinding("State", addressControl, System.Windows.Data.BindingMode.OneWay));

                if ((addressControl.HasEventHandler("AddressChanged")) || (addressControl.HasDependencyDataBinding))
                {
                    FormServerProcessing_ControlPanelDisable(addressControl, Mercury.Client.Core.Forms.ServerProcessRequestType.ValueChanged);

                    form.ValueChanged(addressControl, FormServerProcessCompleted);
                }
            }

            // MAKE SURE TO UPDATE CITY REFERENCE (INDEPENDENT OF CHANGE)

            // THIS COULD BE FROM A POSTBACK/SERVER-UPDATE THAT NEEDS TO RESET THE STATE TO MAINTAIN THE CITY INFORMATION

            MercuryApplication.CityReferenceByState(addressControl.State, true, FormControlAddress_CityReferenceByStateCompleted);

            return;
        }
コード例 #5
0
        public void FormControlAddress_CitySelectionChanged(object sender, Telerik.Windows.Controls.SelectionChangedEventArgs e)
        {
            Telerik.Windows.Controls.RadComboBox cityComboBox = (Telerik.Windows.Controls.RadComboBox)sender;

            if (cityComboBox == null)
            {
                return;
            }

            if (cityComboBox.SelectedValue == null)
            {
                return;
            }

            Client.Core.Forms.Controls.Address addressControl = (Client.Core.Forms.Controls.Address)cityComboBox.Tag;

            if (addressControl == null)
            {
                return;
            }


            Boolean valueChanged = (cityComboBox.SelectedValue.ToString() != addressControl.City);

            valueChanged = ((valueChanged) && (addressControl.EnabledAndNotReadOnly));


            if (valueChanged)
            {
                addressControl.City = cityComboBox.SelectedValue.ToString();

                addressControl.AddressId = 0;

                cityComboBox.SetBinding(Telerik.Windows.Controls.RadComboBox.SelectedValueProperty, renderEngine.PropertyDataBinding("City", addressControl, System.Windows.Data.BindingMode.OneWay));

                if ((addressControl.HasEventHandler("AddressChanged")) || (addressControl.HasDependencyDataBinding))
                {
                    FormServerProcessing_ControlPanelDisable(addressControl, Mercury.Client.Core.Forms.ServerProcessRequestType.ValueChanged);

                    form.ValueChanged(addressControl, FormServerProcessCompleted);
                }
            }

            return;
        }
コード例 #6
0
        public void FormControlAddress_LostFocus(Object sender, RoutedEventArgs e)
        {
            Client.Core.Forms.Controls.Address addressControl = (Client.Core.Forms.Controls.Address)((FrameworkElement)sender).Tag;

            if (addressControl == null)
            {
                return;
            }


            Boolean valueChanged = false;


            #region Address Lines 1/2

            if (sender is TextBox)   // ADDRESS LINE 1/2

            {
                TextBox addressLine = (TextBox)sender;

                if (addressLine.Name.Contains("_Line1"))
                {
                    if (addressControl.Line1 != addressLine.Text)
                    {
                        addressControl.Line1 = addressLine.Text;

                        addressControl.AddressId = 0;

                        valueChanged = true;
                    }
                }

                else if (addressLine.Name.Contains("_Line2"))
                {
                    if (addressControl.Line2 != addressLine.Text)
                    {
                        addressControl.Line2 = addressLine.Text;

                        addressControl.AddressId = 0;

                        valueChanged = true;
                    }
                }
            }

            #endregion


            #region Zip Code Change

            else if (sender is Telerik.Windows.Controls.RadMaskedTextBox)   // ZIP CODE

            {
                Telerik.Windows.Controls.RadMaskedTextBox addressZipCode = (Telerik.Windows.Controls.RadMaskedTextBox)sender;

                if (addressZipCode.Value.ToString() != addressControl.ZipCode)
                {
                    addressControl.ZipCode = addressZipCode.Value.ToString();

                    addressControl.AddressId = 0;

                    if (addressControl.ZipCode.Length == 5)
                    {
                        MercuryApplication.CityStateReferenceByZipCode(addressControl.ZipCode, true, FormControlAddress_CityStateReferenceByZipCodeCompleted);
                    }

                    addressZipCode.SetBinding(Telerik.Windows.Controls.RadMaskedTextBox.ValueProperty, renderEngine.PropertyDataBinding("ZipCode", addressControl, System.Windows.Data.BindingMode.OneWay));

                    valueChanged = true;
                }
            }

            #endregion

            if (valueChanged)
            {
                if ((addressControl.HasEventHandler("AddressChanged")) || (addressControl.HasDependencyDataBinding))
                {
                    FormServerProcessing_ControlPanelDisable(addressControl, Mercury.Client.Core.Forms.ServerProcessRequestType.ValueChanged);

                    form.ValueChanged(addressControl, FormServerProcessCompleted);
                }
            }

            return;
        }