public OrderViewModel( Order order, IMessageBoxService messageBoxService, OrderServiceInvoker orderServiceInvoker) { this.messageBoxService = messageBoxService; this.orderServiceInvoker = orderServiceInvoker; this.Order = order; this.GotoEditModeCommand = new SimpleCommand<object, object>( x => !this.IsEnabled, ExecuteGotoEditModeCommand ); this.DeleteOrderCommand = new SimpleCommand<object, object>( x => !this.IsEnabled && !operationInFlight, ExecuteDeleteOrderCommand ); this.CancelEditModeCommand = new SimpleCommand<object, object>( x => this.IsEnabled, ExecuteCancelEditModeCommand ); this.ChangeOrderAddressCommand = new SimpleCommand<object, object>( x => this.IsEnabled && !operationInFlight, ExecuteChangeOrderAddressCommand ); }
public async Task <ActionResult> AddOrder() { var random = new Random().Next(1000); var id = Guid.NewGuid(); var orderServiceInvoker = new OrderServiceInvoker(); var orderCreated = await orderServiceInvoker.CallService(service => service.SendCommandAsync( new CreateOrderCommand() { ExpectedVersion = 1, Id = id, Address = "Address" + random, Description = "Description" + random, OrderItems = new List <SachaBarber.CQRS.Demo.Orders.DTOs.OrderItem>() { new SachaBarber.CQRS.Demo.Orders.DTOs.OrderItem() { OrderId = id, StoreItemId = Guid.NewGuid(), StoreItemDescription = "storeitem description", StoreItemUrl = "http://www.baidu.com" } } })); return(Redirect("Order")); }
public OrderViewModel( Order order, IMessageBoxService messageBoxService, OrderServiceInvoker orderServiceInvoker) { this.messageBoxService = messageBoxService; this.orderServiceInvoker = orderServiceInvoker; this.Order = order; this.GotoEditModeCommand = new SimpleCommand <object, object>( x => !this.IsEnabled, ExecuteGotoEditModeCommand ); this.DeleteOrderCommand = new SimpleCommand <object, object>( x => !this.IsEnabled && !operationInFlight, ExecuteDeleteOrderCommand ); this.CancelEditModeCommand = new SimpleCommand <object, object>( x => this.IsEnabled, ExecuteCancelEditModeCommand ); this.ChangeOrderAddressCommand = new SimpleCommand <object, object>( x => this.IsEnabled && !operationInFlight, ExecuteChangeOrderAddressCommand ); }
public async Task <ActionResult> Order() { var orderServiceInvoker = new OrderServiceInvoker(); var newOrders = orderServiceInvoker.CallService(service => service.GetAllOrdersAsync()); await Task.WhenAll(newOrders); Orders = newOrders.Result; return(View(Orders)); }
public async Task <ActionResult> Index() { try { var orderServiceInvoker = new OrderServiceInvoker(); var newItems = orderServiceInvoker.CallService(service => service.GetAllStoreItemsAsync()); await Task.WhenAll(newItems); Items = newItems.Result; return(View(Items)); } catch (Exception ex) { throw ex; } }
public OrdersViewModel( IInterProcessBusSubscriber interProcessBusSubscriber, OrderServiceInvoker orderServiceInvoker, IMessageBoxService messageBoxService) { orderEvents = new List <string>() { "OrderCreatedEvent", "OrderAddressChangedEvent", "OrderDeletedEvent" }; growlNotifications.Top = SystemParameters.WorkArea.Top + topOffset; growlNotifications.Left = SystemParameters.WorkArea.Left + SystemParameters.WorkArea.Width - leftOffset; var stream = interProcessBusSubscriber.GetEventStream(); disposables.Add(stream .Do(x => { logger.Info("{0} in Rx stream", x); }) .Where(x => orderEvents.Contains(x)) .Subscribe(async x => { logger.Info("Refreshing orders on {0}", x); var newOrders = await orderServiceInvoker.CallService(service => service.GetAllOrdersAsync()); this.Orders = new List <OrderViewModel>( newOrders.Select(ord => new OrderViewModel(ord, messageBoxService, orderServiceInvoker))); this.HasOrders = Orders.Any(); if (this.HasOrders) { growlNotifications.AddNotification(new Notification { Title = "Orders changed", ImageUrl = "pack://application:,,,/Images/metroInfo.png", Message = "New/modified orders have been obtained from the ReadModel. Click on the right hand side panel to see them" }); } }) ); }
public ShellViewModel( CreateOrderDialogViewModelFactory createOrderDialogViewModelFactory, IDialogService dialogService, OrderServiceInvoker orderServiceInvoker, IMessageBoxService messageBoxService, Func <OrdersViewModel> ordersViewModelFactory) { this.OrdersViewModel = ordersViewModelFactory(); this.createOrderDialogViewModelFactory = createOrderDialogViewModelFactory; this.dialogService = dialogService; this.orderServiceInvoker = orderServiceInvoker; this.messageBoxService = messageBoxService; StoreItems = new ObservableCollection <StoreItemViewModel>(); BindingOperations.EnableCollectionSynchronization(StoreItems, syncLock); CreateNewOrderCommand = new SimpleCommand <object, object>( CanExecuteCreateNewOrderCommand, ExecuteCreateNewOrderCommand); }
public OrdersViewModel( IInterProcessBusSubscriber interProcessBusSubscriber, OrderServiceInvoker orderServiceInvoker, IMessageBoxService messageBoxService) { orderEvents = new List<string>() { "OrderCreatedEvent","OrderAddressChangedEvent","OrderDeletedEvent" }; growlNotifications.Top = SystemParameters.WorkArea.Top + topOffset; growlNotifications.Left = SystemParameters.WorkArea.Left + SystemParameters.WorkArea.Width - leftOffset; var stream = interProcessBusSubscriber.GetEventStream(); disposables.Add(stream.Where(x => orderEvents.Contains(x)) .Subscribe(async x => { var newOrders = await orderServiceInvoker.CallService(service => service.GetAllOrdersAsync()); this.Orders = new List<OrderViewModel>( newOrders.Select(ord => new OrderViewModel(ord, messageBoxService, orderServiceInvoker))); this.HasOrders = Orders.Any(); if (this.HasOrders) { growlNotifications.AddNotification(new Notification { Title = "Orders changed", ImageUrl = "pack://application:,,,/Images/metroInfo.png", Message = "New/modified orders have been obtained from the ReadModel. Click on the right hand side panel to see them" }); } }) ); }
public ShellViewModel( CreateOrderDialogViewModelFactory createOrderDialogViewModelFactory, IDialogService dialogService, OrderServiceInvoker orderServiceInvoker, IMessageBoxService messageBoxService, Func<OrdersViewModel> ordersViewModelFactory) { this.OrdersViewModel = ordersViewModelFactory(); this.createOrderDialogViewModelFactory = createOrderDialogViewModelFactory; this.dialogService = dialogService; this.orderServiceInvoker = orderServiceInvoker; this.messageBoxService = messageBoxService; StoreItems = new ObservableCollection<StoreItemViewModel>(); BindingOperations.EnableCollectionSynchronization(StoreItems, syncLock); CreateNewOrderCommand = new SimpleCommand<object, object>( CanExecuteCreateNewOrderCommand, ExecuteCreateNewOrderCommand); }
public OrdersViewModel() { orderServiceInvoker = new OrderServiceInvoker(); var newOrders = orderServiceInvoker.CallService(service => service.GetAllOrdersAsync()); }