// the separate services implementation is more flexible because each of the separate objects // can have their own decorator(s)... static OrderController CreateSeparateServices() { var reader = new OrderReader(); var readCachingReader = new ReadCaching <Order>(reader); var saver = new OrderSaver(); var auditInfoSaver = new AuditInfoSaver(); var auditingSaver = new SaveAuditing <Order>(saver, auditInfoSaver); var deleter = new OrderDeleter(); var deleteConfirmation = new DeleteConfirmation <Order>(deleter); var eventPublisher = new EventPublisher <Order>(); var deleteEventPublishing = new DeleteEventPublishing <Order>(deleteConfirmation, eventPublisher); var genericController = new GenericController <Order>(readCachingReader, auditingSaver, deleteEventPublishing); var orderController = new OrderController(reader, saver, deleter); return(orderController); }
private void MenuItemExport_OnClick(object sender, RoutedEventArgs e) { SaveFileDialog saveFileDialog = new SaveFileDialog { FileName = "Resoconto", Filter = "Excel File |*.xlsx" }; if (saveFileDialog.ShowDialog() == true) { OrderSaver orderSaver = new OrderSaver(ListViewOrders.ItemsSource.Cast <Order>(), saveFileDialog.FileName); try { orderSaver.Save(); } catch (Exception ex) { MessageBox.Show("Errore durante il salvataggio del File: " + ex.Message); } } }