public void Initialize(StockWrapperViewModel viewModel)
 {
     _viewModel = viewModel;
     var fwd = FieldWrapperDirector.GetInstance();
     StockTypeList = viewModel.StockType == IOStockType.ALL ?
         new IOStockType[] { IOStockType.INCOMING, IOStockType.OUTGOING } : new IOStockType[] { viewModel.StockType };
     ClientList = fwd.CreateCollection<Client, ClientWrapper>().Where(x => !x.IsDeleted);
     EmployeeList = fwd.CreateCollection<Employee, Observable<Employee>>().Where(x => !x.IsDeleted);
     StockType = viewModel.StockType == IOStockType.ALL ? IOStockType.INCOMING : viewModel.StockType;
 }
        /// <summary>
        /// 기존의 InOutStock 데이터를 수정할 때 쓰이는 생성자입니다.
        /// </summary>
        /// <param name="viewModel"></param>
        /// <param name="ioStockWrapper"></param>
        public StockWrapperEditorViewModel(StockWrapperViewModel viewModel, StockWrapper ioStockWrapper) : base(ioStockWrapper)
        {
            if (ioStockWrapper == null)
                throw new ArgumentNullException();
            _target = ioStockWrapper;
            Initialize(viewModel);

            //수정할 데이터를 변경할 수 없도록 고정
            ItemList = new ItemWrapper[] { _target.Item };
            SpecificationList = new SpecificationWrapper[] { _target.Specification };
            WarehouseList = new Observable<Warehouse>[] { _target.Warehouse };

            Item = ItemList.First();
            Specification = SpecificationList.First();
            Warehouse = WarehouseList.First();
        }
 /// <summary>
 /// 새로운 InOutStock 데이터를 추가하고자 할 때 쓰이는 생성자입니다.
 /// </summary>
 /// <param name="viewModel"></param>
 public StockWrapperEditorViewModel(StockWrapperViewModel viewModel) : base()
 {
     Initialize(viewModel);
 }