Пример #1
0
 public IOStockDataGridItem(IOStockFormat inoutStockFormat) : base(inoutStockFormat)
 {
     IsChecked = false;
 }
        private IOStockFormat CreateIOStockFormat()
        {
            var account = SelectedAccount;
            var project = SelectedProject;
            var employee = SelectedEmployee;

            IOStockFormat fmt = new IOStockFormat();
            fmt.StockType = StockType;
            fmt.Date = SelectedDate;
            fmt.Memo = Memo;
            fmt.Quantity = Quantity;
            fmt.UnitPrice = UnitPrice;

            switch (StockType)
            {
                case IOStockType.INCOMING:
                    if (account != null)
                        fmt.SupplierID = account.ID;
                    if (project != null)
                        fmt.WarehouseID = project.ID;
                    break;

                case IOStockType.OUTGOING:
                    if (account != null)
                        fmt.CustomerID = account.ID;
                    if (project != null)
                        fmt.ProjectID = project.ID;
                    break;
            }
            if (employee != null)
                fmt.EmployeeID = employee.ID;

            fmt.InventoryID = SelectedInventory.ID;
            fmt.ID = Guid.NewGuid().ToString();
            return fmt;
        }
        /// <summary>
        /// IOStockProperties 속성 초기화
        /// </summary>
        /// <param name="iosFmt"></param>
        protected override void InitializeProperties(IOStockFormat iosFmt)
        {
            var ofd = DataDirector.GetInstance();
            var oid = DataDirector.GetInstance();
            customer = ofd.SearchField<Customer>(iosFmt.CustomerID);
            supplier = ofd.SearchField<Supplier>(iosFmt.SupplierID);
            project = ofd.SearchField<Project>(iosFmt.ProjectID);
            employee = ofd.SearchField<Employee>(iosFmt.EmployeeID);
            warehouse = ofd.SearchField<Warehouse>(iosFmt.WarehouseID);

            Product = oid.SearchInventory(iosFmt.InventoryID).Product;
            Inventory = InventoryList.Where(x => x.ID == iosFmt.InventoryID).SingleOrDefault();
            CalcInventoryQuantityProperty(Quantity);
        }
 /// <summary>
 /// 체크된 입출고 데이터를 오늘날짜로 복사하여 데이터그리드에 추가하기
 /// </summary>
 private void ExecuteCheckedIOStockFormatsCopyCommand()
 {
     var items = Items.Where(x => x.IsChecked == true).ToList();
     foreach (var item in items)
     {
         var copyFmt = new IOStockFormat(item.Format) { ID = null };
         IOStockDataGridItem copy = new IOStockDataGridItem(copyFmt);
         copy.Date = DateTime.Now;
         CollectionViewModelObserverSubject.GetInstance().NotifyNewItemAdded(copy);
     }
     var invens = items.Select(x => x.Inventory).Distinct();
 }