Пример #1
0
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                // Get localized default address description
                _addressDefaultDescription = Localization.GetString("AddressDefaultDescription", LocalResourceFile);
                // Get the navigation settings and AddressID
                _addressNav = new AddressNavigation(Request.QueryString);
                _addressID  = _addressNav.AddressID;

                if (!IsPostBack)
                {
                    // Get an Address controler
                    AddressController controller = new AddressController();

                    // Define default address settings
                    AddressSettings addressSettings = controller.GetAddressSettings(PortalId);
                    addressEdit.Settings = addressSettings;

                    // Edit Address
                    if (_addressID > 0)
                    {
                        plhGrid.Visible        = false;
                        plhEditAddress.Visible = true;

                        AddressInfo address        = (AddressInfo)controller.GetAddress(_addressID);
                        bool        authorizedUser = (address.UserID == UserId);

                        if (authorizedUser)
                        {
                            if (string.IsNullOrEmpty(address.Email))
                            {
                                address.Email = UserInfo.Email;
                            }
                            addressEdit.Address         = address;
                            addressEdit.ShowUserSaved   = false;
                            addressEdit.ShowDescription = true;
                            // Set delete confirmation
                            cmdDelete.Attributes.Add("onClick", "javascript:return confirm('" + Localization.GetString("DeleteItem") + "');");
                            cmdDelete.Visible = true;
                        }
                        else
                        {
                            ErrorMessage = Localization.GetString("ErrorLoading", LocalResourceFile);
                            // Someone is trying to steal an address!
                            // A log entry will be added in the parent control
                            InvokeSecurityProviderError();
                        }
                    }
                    // Add Address
                    else if (_addressID == 0)
                    {
                        plhGrid.Visible        = false;
                        plhEditAddress.Visible = true;
                        addressEdit.Address    = new AddressInfo {
                            UserSaved = true
                        };
                        addressEdit.ShowUserSaved   = false;
                        addressEdit.ShowDescription = true;
                    }
                    // Display user's addresses
                    else
                    {
                        List <AddressInfo> addresses = controller.GetAddresses <AddressInfo>(PortalId, UserId, _addressDefaultDescription);

                        if (addresses.Count > 0)
                        {
                            grdAddresses.DataSource = addresses;
                            grdAddresses.DataBind();
                        }

                        plhGrid.Visible        = true;
                        plhEditAddress.Visible = false;
                    }
                }
            }
            catch (Exception ex)
            {
                Exceptions.ProcessModuleLoadException(this, ex);
            }
        }
        protected void Page_Load(object sender, System.EventArgs e)
        {
            try
            {
                // Get the navigation settings
                addressNav = new AddressNavigation(Request.QueryString);

                if (addressNav.AddressID.Length > 0)
                {
                    addressId = int.Parse(addressNav.AddressID);
                }
                else
                {
                    addressId = -1;
                }

                if (!Page.IsPostBack)
                {
                    AddressController controller = new AddressController();
                    ArrayList addresses = controller.GetAddresses(this.PortalId, this.UserId);

                    if (addresses.Count > 0)
                    {
                        grdAddresses.DataSource = addresses;
                        grdAddresses.DataBind();
                    }

                    // Set delete confirmation
                    cmdDelete.Attributes.Add("onClick", "javascript:return confirm('" + Localization.GetString("DeleteItem") + "');");

                    // Edit Address
                    if (addressId > 0)
                    {
                        plhGrid.Visible = false;
                        plhEditAddress.Visible = true;

                        lblEditTitle.Text = Localization.GetString("EditAddress", this.LocalResourceFile);

                        AddressInfo address = (AddressInfo)controller.GetAddress(addressId);

                        if (address != null)

                        {
                            //BUG: This does not work because the page_load event is called prior to the controls load event.
                            this.addressEdit.AddressInfo = address;
                            cmdDelete.Visible = true;
                            chkPrimary.Checked = address.PrimaryAddress;
                        }
                    }
                    // Add Address
                    else if (addressId == 0)
                    {
                        plhGrid.Visible = false;
                        plhEditAddress.Visible = true;

                        lblEditTitle.Text = Localization.GetString("AddAddress", this.LocalResourceFile);
                    }
                    // No Action
                    else
                    {
                        plhGrid.Visible = true;
                        plhEditAddress.Visible = false;

                        lblEditTitle.Text = Localization.GetString("Addresses", this.LocalResourceFile);
                    }
                }
            }
            catch(Exception ex)
            {
                Exceptions.ProcessModuleLoadException(this, ex);
            }
        }