private void OnDataInserted(object obj, SQLInsertEventArgs e) { IID iID = e.IID; Console.WriteLine("{0}(TYPE: {1}, ID: {2})", nameof(OnDataInserted), typeof(IID).Name, iID.ID); switch (iID.GetType().Name) { case nameof(InventoryFormat): InventoryFormat invf = iID as InventoryFormat; ObservableInventory oinv = new ObservableInventory(invf); _inventory.Add(oinv); _subject.NotifyNewItemAdded(oinv); break; case nameof(IOStockFormat): IOStockFormat stof = iID as IOStockFormat; IOStockDataGridItem osto = new IOStockDataGridItem(stof); _subject.NotifyNewItemAdded(osto); break; case nameof(Product): Product prod = iID as Product; Observable<Product> oprod = new Observable<Product>(prod); _field.Add<Product>(oprod); _subject.NotifyNewItemAdded(oprod); break; case nameof(Maker): Maker maker = iID as Maker; Observable<Maker> omaker = new Observable<Maker>(maker); _field.Add<Maker>(omaker); _subject.NotifyNewItemAdded(omaker); break; case nameof(Measure): Measure meas = iID as Measure; Observable<Measure> omeas = new Observable<Measure>(meas); _field.Add<Measure>(omeas); _subject.NotifyNewItemAdded(omeas); break; case nameof(Customer): Customer cust = iID as Customer; Observable<Customer> ocust = new Observable<Customer>(cust); _field.Add<Customer>(ocust); _subject.NotifyNewItemAdded(ocust); break; case nameof(Supplier): Supplier supp = iID as Supplier; Observable<Supplier> osupp = new Observable<Supplier>(supp); _field.Add<Supplier>(osupp); _subject.NotifyNewItemAdded(osupp); break; case nameof(Project): Project proj = iID as Project; Observable<Project> oproj = new Observable<Project>(proj); _field.Add<Project>(oproj); _subject.NotifyNewItemAdded(oproj); break; case nameof(Warehouse): Warehouse ware = iID as Warehouse; Observable<Warehouse> oware = new Observable<Warehouse>(ware); _field.Add<Warehouse>(oware); _subject.NotifyNewItemAdded(oware); break; case nameof(Employee): Employee emp = iID as Employee; Observable<Employee> oemp = new Observable<Employee>(emp); _field.Add<Employee>(oemp); _subject.NotifyNewItemAdded(oemp); break; default: throw new NotSupportedException(); } }
/// <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(); }