Пример #1
0
        // 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);
                }
            }
        }