示例#1
0
 /// <summary>
 /// Handles the ItemReorder event of the Items control.
 /// </summary>
 /// <param name="sender">The source of the event.</param>
 /// <param name="e">The <see cref="T:System.EventArgs"/> instance containing the event data.</param>
 protected void Items_ItemReorder(object sender, EventArgs e)
 {
     try {
         ImageButton theButton = sender as ImageButton;
         Query       query     = new Query(Descriptor.Schema).
                                 WHERE(Descriptor.Columns.ProductId, Comparison.Equals, productId).
                                 ORDER_BY(Descriptor.Columns.SortOrder);
         DescriptorCollection descriptorCollection = new DescriptorController().FetchByQuery(query);
         if (descriptorCollection != null)
         {
             int descriptorId = 0;
             int.TryParse(theButton.CommandArgument.ToString(), out descriptorId);
             if (descriptorId > 0)
             {
                 Descriptor descriptorMoved = descriptorCollection.Find(delegate(Descriptor descriptor) {
                     return(descriptor.DescriptorId == descriptorId);
                 });
                 int index = descriptorCollection.IndexOf(descriptorMoved);
                 descriptorCollection.RemoveAt(index);
                 if (theButton.CommandName.ToLower() == "up")
                 {
                     descriptorCollection.Insert(index - 1, descriptorMoved);
                 }
                 else if (theButton.CommandName.ToLower() == "down")
                 {
                     descriptorCollection.Insert(index + 1, descriptorMoved);
                 }
                 int i = 1;
                 foreach (Descriptor descriptor in descriptorCollection)
                 {
                     descriptor.SortOrder = i++;
                 }
                 descriptorCollection.SaveAll(WebUtility.GetUserName());
                 LoadDescriptors();
             }
         }
     }
     catch (Exception ex) {
         Logger.Error(typeof(descriptors).Name + ".Items_ItemReorder", ex);
         base.MasterPage.MessageCenter.DisplayCriticalMessage(ex.Message);
     }
 }
示例#2
0
        /// <summary>
        /// Loads the descriptors.
        /// </summary>
        private void LoadDescriptors()
        {
            Query query = new Query(Descriptor.Schema).
                          WHERE(Descriptor.Columns.ProductId, Comparison.Equals, productId).
                          ORDER_BY(Descriptor.Columns.SortOrder);
            DescriptorCollection descriptorCollection = new DescriptorController().FetchByQuery(query);

            if (descriptorCollection.Count > 0)
            {
                base.MasterPage.MessageCenter.ResetPanelsVisibility();
                pnlGrid.Visible                     = true;
                dgDescriptors.DataSource            = descriptorCollection;
                dgDescriptors.ItemDataBound        += new DataGridItemEventHandler(dgDescriptors_ItemDataBound);
                dgDescriptors.Columns[0].HeaderText = LocalizationUtility.GetText("hdrEdit");
                dgDescriptors.Columns[1].HeaderText = LocalizationUtility.GetText("hdrMove");
                dgDescriptors.Columns[2].HeaderText = LocalizationUtility.GetText("hdrTitle");
                dgDescriptors.Columns[3].HeaderText = LocalizationUtility.GetText("hdrSortOrder");
                dgDescriptors.Columns[4].HeaderText = LocalizationUtility.GetText("hdrDescriptor");
                dgDescriptors.Columns[5].HeaderText = LocalizationUtility.GetText("hdrDelete");
                dgDescriptors.DataBind();
                ImageButton lbUp = dgDescriptors.Items[0].Cells[1].FindControl("lbUp") as ImageButton;
                if (lbUp != null)
                {
                    lbUp.Visible = false;
                }
                ImageButton lbDown = dgDescriptors.Items[dgDescriptors.Items.Count - 1].Cells[1].FindControl("lbDown") as ImageButton;
                if (lbDown != null)
                {
                    lbDown.Visible = false;
                }
            }
            else
            {
                pnlGrid.Visible = false;
                base.MasterPage.MessageCenter.DisplayInformationMessage(LocalizationUtility.GetText("lblNoDescriptors"));
            }
        }