private static ViewLocator SetupViewLocator() { var viewLocator = new ViewLocator(); viewLocator.RegisterService(Selector <DepositResult>, obj => new DepositView((DepositResult)obj)); viewLocator.RegisterService(Selector <LoginFailed>, obj => new LoginFailedView((LoginFailed)obj)); viewLocator.RegisterService(Selector <UserLoggedIn>, obj => new UserLoggedInView((UserLoggedIn)obj)); viewLocator.RegisterService(Selector <UserLoggedOut>, obj => new UserLoggedOutView((UserLoggedOut)obj)); viewLocator.RegisterService(Selector <UserRegistered>, obj => new UserRegisteredView((UserRegistered)obj)); viewLocator.RegisterService(PurchaseSelector <FailedPurchase>, obj => new FailedPurchaseView()); viewLocator.RegisterService(PurchaseSelector <NotEnoughtMoney>, obj => new NotEnoughMoneyView(Cast <NotEnoughtMoney>(obj))); viewLocator.RegisterService(PurchaseSelector <NotSignedIn>, obj => new NotSignedInView()); viewLocator.RegisterService(PurchaseSelector <ProductNotFound>, obj => new ProductNotFoundView(Cast <ProductNotFound>(obj))); viewLocator.RegisterService(PurchaseSelector <Receipt>, obj => new ReceiptView(Cast <Receipt>(obj))); return(viewLocator); }
private static ViewLocator SetupViewLocator() { var viewLocator = new ViewLocator(); viewLocator.RegisterService( Selector <InvalidIdResult>, obj => new InvalidIdView((InvalidIdResult)obj)); viewLocator.RegisterService( Selector <InvalidDateResult>, obj => new InvalidDateView((InvalidDateResult)obj)); viewLocator.RegisterService( Selector <EmptyResult>, obj => new EmptyView()); viewLocator.RegisterService( Selector <InstrumentResult>, obj => new InstrumentView((InstrumentResult)obj)); viewLocator.RegisterService( Selector <NoResult>, obj => new NoInstrumentView()); viewLocator.RegisterService( Selector <PositionResult>, obj => new PositionView((PositionResult)obj)); return(viewLocator); }
static void Main(string[] args) { IPurchaseReportFactory reportFactory = new PurchaseReportFactory(); ViewLocator viewLocator = new ViewLocator(); viewLocator.RegisterService(Selector <DepositResult>, obj => new DepositView((DepositResult)obj)); viewLocator.RegisterService(Selector <LoginFailed>, obj => new LoginFailedView((LoginFailed)obj)); viewLocator.RegisterService(Selector <UserLoggedIn>, obj => new UserLoggedInView((UserLoggedIn)obj)); viewLocator.RegisterService(Selector <UserLoggedOut>, obj => new UserLoggedOutView((UserLoggedOut)obj)); viewLocator.RegisterService(Selector <UserRegistered>, obj => new UserRegisteredView((UserRegistered)obj)); viewLocator.RegisterService(PurchaseSelector <FailedPurchase>, obj => new FailedPurchaseView()); viewLocator.RegisterService(PurchaseSelector <NotEnoughMoney>, obj => new NotEnoughMoneyView(Cast <NotEnoughMoney>(obj))); viewLocator.RegisterService(PurchaseSelector <NotRegistered>, obj => new NotRegisteredView(Cast <NotRegistered>(obj))); viewLocator.RegisterService(PurchaseSelector <NotSignedIn>, obj => new NotSignedInView()); viewLocator.RegisterService(PurchaseSelector <ProductNotFound>, obj => new ProductNotFoundView(Cast <ProductNotFound>(obj))); viewLocator.RegisterService(PurchaseSelector <Receipt>, obj => new ReceiptView(Cast <Receipt>(obj))); UserInterface ui = new UserInterface( new ApplicationServices( new DomainServices( new UserRepository(), new ProductRepository(), reportFactory), reportFactory), viewLocator); while (ui.ReadCommand()) { ui.ExecuteCommand(); } }