public PersonsManager(IPersonsProvider personsProvider, ILogger logger, IMessageBus messageBus) { this.provider = personsProvider; this.logger = logger; this.messageBus = messageBus; this.personsById = new ConcurrentDictionary <int, Person>(); this.personsByName = new ConcurrentDictionary <string, Person>(StringComparer.OrdinalIgnoreCase); this.messageBus.Attach(typeof(Person), this.HandleMessage); }
public SiteHelper(string url, ICountriesWriter countriesWriter, IPersonAdditionalInfoManager personAdditionalManager, ILogger logger, IPersonsProvider personsProvider, IPersonsManager personsManager, IPersonsWriter personsWriter) { this.url = url; this.personAdditionalManager = personAdditionalManager; this.countriesWriter = countriesWriter; this.logger = logger; this.personsProvider = personsProvider; this.personsManager = personsManager; this.personsWriter = personsWriter; }
public PersonViewModel(ICredentialsProvider credentialsProvider, IPersonsProvider personsProvider, ICatalogProvider catalogProvider, INavigationService navigationService, IRecensesProvider recensesProvider, INotificationsProvider notificationsProvider, ILitresPurchaseService litresPurchaseService, IProfileProvider profileProvider) { _credentialsProvider = credentialsProvider; _personsProvider = personsProvider; _catalogProvider = catalogProvider; _navigationService = navigationService; _recensesProvider = recensesProvider; _notificationsProvider = notificationsProvider; _litresPurchaseService = litresPurchaseService; _profileProvider = profileProvider; PersonBooks = new XCollection<Book>(); PersonRecenses = new XCollection<Recense>(); RegisterAction(LoadMorePart).AddPart(session => LoadPersonBooks(session, Entity), session => true); RegisterAction(ChangeNotificationStatusPart).AddPart(session => ChangeNotificationStatus(session), session => true); RegisterAction(LoadMainPart).AddPart(session => LoadPerson(session), session => true); RegisterAction(AddPersonRecensePart).AddPart((session) => AddPersonRecense(session), (session) => true); RegisterAction(BuyBookLitresPart).AddPart((session) => BuyBookFromLitres(session, Book), (session) => true); RegisterAction(CreditCardInfoPart).AddPart(session => CreditCardInfoAsync(session), (session) => true); RegisterAction(BuyBookPart).AddPart((session) => BuyBookAsync(session, Book), (session) => true); LoadMoreCalled = new RelayCommand( () => LoadMore(), () => true ); BookSelected = new RelayCommand<Book>( NavigateToBook, book => book != null ); WriteRecenseSelected = new RelayCommand( () => _navigationService.Navigate( "AddRecense", XParameters.Create( "personId", Entity.Id ) ), () => Entity != null ); BuyBook = new RelayCommand<Book>(book => BuyBookFromLitresAsync(book)); RunCreditCardPaymentProcess = new RelayCommand(CreditCardInfo); ShowCreditCardView = new RelayCommand<Book>(book => _navigationService.Navigate("CreditCardPurchase", XParameters.Create("BookEntity", book)), book => book != null); BuyBookFromMicrosoft = new RelayCommand(BuyBookFromMicrosoftAsync); Read = new RelayCommand<Book>(book => { if (!book.IsExpiredBook) _navigationService.Navigate("Reader", XParameters.Create("BookEntity", book), false); else new MessageDialog("Истёк срок выдачи.").ShowAsync(); }); }