Ejemplo n.º 1
0
        private void OnDrop(object sender, DragEventArgs e)
        {
            var draggedItem = DragDropPayloadManager.GetDataFromObject(e.Data, "DraggedData");
            var details = DragDropPayloadManager.GetDataFromObject(e.Data, "DropDetails") as DropIndicationDetails;

            if (details == null || draggedItem == null)
            {
                return;
            }

            if (e.Effects != DragDropEffects.None)
            {
                var destinationBasicConfig = (e.OriginalSource as FrameworkElement).ParentOfType<RadTreeViewItem>();
                var realDestinationBasicConfig = new BasicConfigDTO();
                if (destinationBasicConfig != null)
                    realDestinationBasicConfig = destinationBasicConfig.DataContext as BasicConfigDTO;
                var collection = (sender as RadTreeView).ItemsSource as ObservableCollection<BasicConfigDTO>;
                var item = draggedItem as ItemDTO;
                if (item != null && collection != null && ViewModel.SelBasicConfigGroup != null)
                {
                    var newBasicConfig = new BasicConfigDTO
                    {
                        Id = RandomHelper.Next(),
                        ItemId = item.Id,
                        ItemNo = item.ItemNo,
                        FiNumber = item.FiNumber,
                        BasicConfigGroupId = ViewModel.SelBasicConfigGroup.Id,
                    };
                    if (realDestinationBasicConfig != null && realDestinationBasicConfig.Id != 0)
                    {
                        newBasicConfig.ParentId = realDestinationBasicConfig.Id;
                        newBasicConfig.RootId = realDestinationBasicConfig.RootId;

                        realDestinationBasicConfig.SubBasicConfigs.Add(newBasicConfig);
                    }
                    else
                    {
                        newBasicConfig.RootId = newBasicConfig.Id;
                        ViewModel.ViewBasicConfigs.Add(newBasicConfig);
                    }
                    ViewModel.BasicConfigs.AddNew(newBasicConfig);
                }
            }

            e.Handled = true;
        }
Ejemplo n.º 2
0
 public void RemoveBasicConifgs(BasicConfigDTO basicConfig)
 {
     if (basicConfig != null && basicConfig.SubBasicConfigs.Count != 0)
     {
         basicConfig.SubBasicConfigs.ToList().ForEach(RemoveBasicConifgs);
         basicConfig.SubBasicConfigs.Clear();
         BasicConfigs.Remove(basicConfig);
     }
     else if (basicConfig != null && basicConfig.SubBasicConfigs.Count == 0)
         BasicConfigs.Remove(basicConfig);
 }
Ejemplo n.º 3
0
 public void GenerateBasicConfigStructure(BasicConfigDTO basicConfig)
 {
     var temp = BasicConfigs.Where(p => p.ParentId == basicConfig.Id).ToList().OrderBy(p => p.Position);
     basicConfig.SubBasicConfigs.Load(temp);
     foreach (var subItem in basicConfig.SubBasicConfigs)
     {
         GenerateBasicConfigStructure(subItem);
     }
 }