コード例 #1
0
 public SetPackageItemViewModel(Pack p) //loading item
 {
     _pack = p;
     Items = new ObservableCollection <IBasePack>();
     Items.CollectionChanged += (a, b) =>
     {
         _pack.Definition.Items = Items.Select(x => x.PackItem).ToList();
     };
     foreach (var item in p.Definition.Items)
     {
         if (item is OptionsList)
         {
             Items.Add(new PackOptionsItemModel(item)
             {
                 ParentCollection = Items
             });
         }
         else if (item is Pick)
         {
             Items.Add(new PackPickItemModel(item)
             {
                 ParentCollection = Items
             });
         }
     }
     PackageDropHandler  = new PackageDropHandler();
     GeneratePackCommand = new RelayCommand(GeneratePack);
     AddOptionsCommand   = new RelayCommand(AddOptions);
     AddPickCommand      = new RelayCommand(AddPick);
 }
コード例 #2
0
 public SetPackageItemViewModel() //new item
 {
     _pack = new Pack
     {
         Name       = "Package",
         Id         = Guid.NewGuid(),
         Includes   = new List <Include>(), //todo add include support
         SetId      = (Parent as SetItemViewModel).Id,
         Definition = new PackDefinition()
     };
     Items = new ObservableCollection <IBasePack>();
     PackageDropHandler  = new PackageDropHandler();
     GeneratePackCommand = new RelayCommand(GeneratePack);
     AddOptionsCommand   = new RelayCommand(AddOptions);
     AddPickCommand      = new RelayCommand(AddPick);
 }
コード例 #3
0
 public SetPackageItemViewModel(SetPackageItemViewModel p) //copying item
 {
     _pack = new Pack
     {
         Name     = p.Name,
         Id       = Guid.NewGuid(),
         Includes = new List <Include>() //todo add include support
     };
     _pack.SetId              = p._pack.SetId;
     _pack.Definition         = new PackDefinition();
     Items                    = new ObservableCollection <IBasePack>();
     Items.CollectionChanged += (a, b) =>
     {
         _pack.Definition.Items = Items.Select(x => x.PackItem).ToList();
     };
     foreach (var packItem in p.Items)
     {
         if (packItem is PackPickItemModel)
         {
             Items.Add(new PackPickItemModel(packItem as PackPickItemModel)
             {
                 ParentCollection = Items
             });
         }
         else if (packItem is PackOptionsItemModel)
         {
             Items.Add(new PackOptionsItemModel(packItem as PackOptionsItemModel)
             {
                 ParentCollection = Items
             });
         }
     }
     ItemSource          = p.ItemSource;
     Parent              = p.Parent;
     PackageDropHandler  = new PackageDropHandler();
     GeneratePackCommand = new RelayCommand(GeneratePack);
     AddOptionsCommand   = new RelayCommand(AddOptions);
     AddPickCommand      = new RelayCommand(AddPick);
 }