protected void RadGrid_VariantSpliter_RowDrop(object sender, GridDragDropEventArgs e) { if (string.IsNullOrEmpty(e.HtmlElement) && e.DestDataItem.OwnerGridID == RadGrid_VariantSpliter.ClientID) { if (e.DraggedItems[0].OwnerGridID == RadGrid_VariantSpliter.ClientID) { #region items are Spliter if (e.DestDataItem != null) { ProductVariantMgr myProductVariantMgr = new ProductVariantMgr(); Variant_Spliter myVariant_Spliter = myProductVariantMgr.Get_Product_Variant_Spliter(e.DestDataItem.GetDataKeyValue("Variant_SpliterID").ToString()); List <Variant_Spliter> myVariant_Spliters = myProductVariantMgr.Get_Product_Variant_Spliters(myVariant_Spliter.Product_VariantID, "SortOrder"); Variant_Spliter draggedVariant_Spliter = Get_Variant_Spliter_in_List(myVariant_Spliters, e.DraggedItems[0].GetDataKeyValue("Variant_SpliterID").ToString()); Variant_Spliter destVariant_Spliter = Get_Variant_Spliter_in_List(myVariant_Spliters, e.DestDataItem.GetDataKeyValue("Variant_SpliterID").ToString()); int destIndex = myVariant_Spliters.IndexOf(destVariant_Spliter); if (e.DropPosition == GridItemDropPosition.Above && e.DestDataItem.ItemIndex > e.DraggedItems[0].ItemIndex) { destIndex -= 1; } if (e.DropPosition == GridItemDropPosition.Below && e.DestDataItem.ItemIndex < e.DraggedItems[0].ItemIndex) { destIndex += 1; } myVariant_Spliters.Remove(draggedVariant_Spliter); myVariant_Spliters.Insert(destIndex, draggedVariant_Spliter); foreach (Variant_Spliter Variant_Spliter in myVariant_Spliters) { // Product Variant e2Data[] UpdateData = { new e2Data("Variant_SpliterID", Variant_Spliter.Variant_SpliterID), new e2Data("SortOrder", (myVariant_Spliters.IndexOf(Get_Variant_Spliter_in_List(myVariant_Spliters, Variant_Spliter.Variant_SpliterID)) + 1).ToString()) }; myProductVariantMgr.Edit_Product_Variant_Spliter(UpdateData); } } #endregion Control_Init(); } } }
private void Control_Init() { string Variant_SpliterID = Request["Variant_SpliterID"]; if (!DataEval.IsEmptyQuery(Variant_SpliterID)) { ProductVariantMgr myProductVariantMgr = new ProductVariantMgr(); Variant_Spliter myVariant_Spliter = myProductVariantMgr.Get_Product_Variant_Spliter(Variant_SpliterID); _variant_spliterid = myVariant_Spliter.Variant_SpliterID; ViewState["Variant_SpliterID"] = _variant_spliterid; tbx_Spliter_Name.Text = myVariant_Spliter.Spliter_Name; } }
protected void btn_CreateProperty_Click(object sender, EventArgs e) { if (Page.IsValid) { string Variant_SpliterID = Request["Variant_SpliterID"]; if (!DataEval.IsEmptyQuery(Variant_SpliterID)) { ProductVariantMgr myProductVariantMgr = new ProductVariantMgr(); Variant_Spliter myVariant_Spliter = myProductVariantMgr.Get_Product_Variant_Spliter(Variant_SpliterID); string Variant_PropertyID = Nexus.Core.Tools.IDGenerator.Get_New_GUID(); e2Data[] UpdateData = { new e2Data("Variant_PropertyID", Variant_PropertyID), new e2Data("Product_VariantID", myVariant_Spliter.Product_VariantID), new e2Data("Variant_SpliterID", myVariant_Spliter.Variant_SpliterID), new e2Data("Property_Name", tbx_Property_Name.Text), new e2Data("Input_Option", droplist_InputOption.SelectedValue), new e2Data("Default_Value", tbx_Default_Value.Text), new e2Data("Tooltips", tbx_Tooltips.Text), new e2Data("IsRequired", chkbox_IsRequired.Checked.ToString()), new e2Data("IsFilter", chkbox_IsFilter.Checked.ToString()), new e2Data("IsSort", chkbox_IsSort.Checked.ToString()), new e2Data("SortOrder", (myProductVariantMgr.Count_Variant_Property(myVariant_Spliter.Variant_SpliterID) + 1).ToString()), new e2Data("Field_Name", tbx_Field_Name.Text) }; myProductVariantMgr.Add_Product_Variant_Property(UpdateData); Input_Option myInput_Option = (Input_Option)StringEnum.Parse(typeof(Input_Option), droplist_InputOption.SelectedValue, true); switch (myInput_Option) { case Input_Option.TextBox: break; case Input_Option.NumberBox: break; case Input_Option.DropdownList: Create_Property_Options(Variant_PropertyID); break; case Input_Option.RadioButtonList: Create_Property_Options(Variant_PropertyID); break; case Input_Option.DatePicker: break; case Input_Option.CheckBox: break; case Input_Option.CheckBoxList: Create_Property_Options(Variant_PropertyID); break; case Input_Option.ImageURL: break; } btn_Cancel_Click(sender, e); } } }
protected void RadGrid_VariantProperties_RowDrop(object sender, GridDragDropEventArgs e) { if (string.IsNullOrEmpty(e.HtmlElement) && e.DestDataItem != null) { if (e.DestDataItem.OwnerGridID == RadGrid_VariantSpliter.ClientID) { #region Dest drop is on Spliter ProductVariantMgr myProductVariantMgr = new ProductVariantMgr(); Variant_Property myVariant_Property = myProductVariantMgr.Get_Product_Variant_Property(e.DraggedItems[0].GetDataKeyValue("Variant_PropertyID").ToString()); Variant_Spliter myVariant_Spliter = myProductVariantMgr.Get_Product_Variant_Spliter(e.DestDataItem.GetDataKeyValue("Variant_SpliterID").ToString()); if (myVariant_Spliter.Variant_SpliterID != myVariant_Property.Variant_SpliterID) { List <Variant_Property> originVariant_Properties = myProductVariantMgr.Get_Product_Variant_Properties_BySpliterID(myVariant_Property.Variant_SpliterID); List <Variant_Property> destVariant_Properties = myProductVariantMgr.Get_Product_Variant_Properties_BySpliterID(myVariant_Spliter.Variant_SpliterID); Variant_Property draggedVariant_Property = Get_Variant_Property_in_List(originVariant_Properties, myVariant_Property.Variant_PropertyID); originVariant_Properties.Remove(draggedVariant_Property); destVariant_Properties.Add(draggedVariant_Property); // Update Property to new Spliter e2Data[] UpdateData_Property = { new e2Data("Variant_PropertyID", draggedVariant_Property.Variant_PropertyID), new e2Data("Variant_SpliterID", myVariant_Spliter.Variant_SpliterID) }; myProductVariantMgr.Edit_Product_Variant_Property(UpdateData_Property); // Sort Old list foreach (Variant_Property Variant_Property in originVariant_Properties) { // Variant Property e2Data[] UpdateData = { new e2Data("Variant_PropertyID", Variant_Property.Variant_PropertyID), new e2Data("SortOrder", (originVariant_Properties.IndexOf(Get_Variant_Property_in_List(originVariant_Properties, Variant_Property.Variant_PropertyID)) + 1).ToString()) }; myProductVariantMgr.Edit_Product_Variant_Property(UpdateData); } // Sort New list foreach (Variant_Property Variant_Property in destVariant_Properties) { // Variant Property e2Data[] UpdateData = { new e2Data("Variant_PropertyID", Variant_Property.Variant_PropertyID), new e2Data("SortOrder", (destVariant_Properties.IndexOf(Get_Variant_Property_in_List(destVariant_Properties, Variant_Property.Variant_PropertyID)) + 1).ToString()) }; myProductVariantMgr.Edit_Product_Variant_Property(UpdateData); } } #endregion } else { #region Dest drop is on Property ProductVariantMgr myProductVariantMgr = new ProductVariantMgr(); Variant_Property mydraggedVariant_Property = myProductVariantMgr.Get_Product_Variant_Property(e.DraggedItems[0].GetDataKeyValue("Variant_PropertyID").ToString()); Variant_Property mydestVariant_Property = myProductVariantMgr.Get_Product_Variant_Property(e.DestDataItem.GetDataKeyValue("Variant_PropertyID").ToString()); if (mydraggedVariant_Property.Variant_SpliterID == mydestVariant_Property.Variant_SpliterID) { // Under same spliter List <Variant_Property> myVariant_Properties = myProductVariantMgr.Get_Product_Variant_Properties_BySpliterID(mydestVariant_Property.Variant_SpliterID); Variant_Property draggedVariant_Property = Get_Variant_Property_in_List(myVariant_Properties, mydraggedVariant_Property.Variant_PropertyID); Variant_Property destVariant_Property = Get_Variant_Property_in_List(myVariant_Properties, mydestVariant_Property.Variant_PropertyID); int destIndex = myVariant_Properties.IndexOf(destVariant_Property); if (e.DropPosition == GridItemDropPosition.Above && e.DestDataItem.ItemIndex > e.DraggedItems[0].ItemIndex) { destIndex -= 1; } if (e.DropPosition == GridItemDropPosition.Below && e.DestDataItem.ItemIndex < e.DraggedItems[0].ItemIndex) { destIndex += 1; } myVariant_Properties.Remove(draggedVariant_Property); myVariant_Properties.Insert(destIndex, draggedVariant_Property); foreach (Variant_Property myVariant_Property in myVariant_Properties) { // Product Variant e2Data[] UpdateData = { new e2Data("Variant_PropertyID", myVariant_Property.Variant_PropertyID), new e2Data("SortOrder", (myVariant_Properties.IndexOf(Get_Variant_Property_in_List(myVariant_Properties, myVariant_Property.Variant_PropertyID)) + 1).ToString()) }; myProductVariantMgr.Edit_Product_Variant_Property(UpdateData); } } else { // Different spliter List <Variant_Property> originVariant_Properties = myProductVariantMgr.Get_Product_Variant_Properties_BySpliterID(mydraggedVariant_Property.Variant_SpliterID); List <Variant_Property> destVariant_Properties = myProductVariantMgr.Get_Product_Variant_Properties_BySpliterID(mydestVariant_Property.Variant_SpliterID); Variant_Property draggedVariant_Property = Get_Variant_Property_in_List(originVariant_Properties, mydraggedVariant_Property.Variant_PropertyID); Variant_Property destVariant_Property = Get_Variant_Property_in_List(destVariant_Properties, mydestVariant_Property.Variant_PropertyID); int destIndex = destVariant_Properties.IndexOf(destVariant_Property); if (e.DropPosition == GridItemDropPosition.Below) { destIndex += 1; } originVariant_Properties.Remove(draggedVariant_Property); destVariant_Properties.Insert(destIndex, draggedVariant_Property); // Update Property to new Spliter e2Data[] UpdateData_Property = { new e2Data("Variant_PropertyID", draggedVariant_Property.Variant_PropertyID), new e2Data("Variant_SpliterID", destVariant_Property.Variant_SpliterID) }; myProductVariantMgr.Edit_Product_Variant_Property(UpdateData_Property); // Sort Old list foreach (Variant_Property myVariant_Property in originVariant_Properties) { // Variant Property e2Data[] UpdateData = { new e2Data("Variant_PropertyID", myVariant_Property.Variant_PropertyID), new e2Data("SortOrder", (originVariant_Properties.IndexOf(Get_Variant_Property_in_List(originVariant_Properties, myVariant_Property.Variant_PropertyID)) + 1).ToString()) }; myProductVariantMgr.Edit_Product_Variant_Property(UpdateData); } // Sort New list foreach (Variant_Property myVariant_Property in destVariant_Properties) { // Variant Property e2Data[] UpdateData = { new e2Data("Variant_PropertyID", myVariant_Property.Variant_PropertyID), new e2Data("SortOrder", (destVariant_Properties.IndexOf(Get_Variant_Property_in_List(destVariant_Properties, myVariant_Property.Variant_PropertyID)) + 1).ToString()) }; myProductVariantMgr.Edit_Product_Variant_Property(UpdateData); } } #endregion } Control_Init(); } }