public AddRecenseViewModel(IRecensesProvider recensesProvider, INavigationService navigationService) { _navigationService = navigationService; _recensesProvider = recensesProvider; RegisterAction(AddPersonRecensePart).AddPart((session) => AddPersonRecense(session), (session) => true); RegisterAction(AddBookRecensePart).AddPart((session) => AddBookRecense(session), (session) => true); }
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(); }); }