public AccountInfoViewModel(IProfileProvider profileProvider, ICredentialsProvider credentialsProvider, IDataCacheService dataCacheService, IFileCacheService fileCacheService, INavigationService navigationService,
            INotificationsProvider notificationsProvider, IBookmarksProvider bookmarksProvider, ICatalogProvider catalogProvider, IBookProvider bookProvider, ICatalitClient client, ILitresPurchaseService purchaseService)
        {
			_navigationService = navigationService;
			_profileProvider = profileProvider;
			_credentialsProvider = credentialsProvider;
			_dataCacheService = dataCacheService;
			_fileCacheService = fileCacheService;
			_notificationsProvider = notificationsProvider;
			_bookmarksProvider = bookmarksProvider;
			_catalogProvider = catalogProvider;
            _bookProvider = bookProvider;
            _client = client;
            _purchaseService = purchaseService;
            RegisterAction(ClearUserInfoPart).AddPart(ClearUserInfoProceed, session => true);
            RegisterAction(AddToDepositPart).AddPart(AddToDepositProceed, session => true);
            RegisterAction(LoadUserInfoPart).AddPart(LoadUserInfoProceed, session => session.Parameters.GetValue<UserInformation>(ChangeUserInfoParameter, null) == null);

            ClearData = new RelayCommand(ClearUserInfo);

            ReloadInfo = new RelayCommand(ReloadUserInfo);

            AddToDeposit = new RelayCommand<DepositType>(dt => AddToDepositFunc(dt));


            Deposits = new List<Deposit> { 
                                       new Deposit { LitresPrice = "105 руб.", RealPrice = "149 руб." }, 
                                       new Deposit { LitresPrice = "189 руб.", RealPrice = "269 руб." }, 
                                       new Deposit { LitresPrice = "304 руб.", RealPrice = "434 руб." }};
		}
Example #2
0
 public RatesController(IRateDataWriter dataWriter, IRateProvider provider, IBookProvider bookProvider, IBookDataWriter bookDataWriter)
 {
     _dataWriter     = dataWriter;
     _provider       = provider;
     _bookProvider   = bookProvider;
     _bookDataWriter = bookDataWriter;
 }
Example #3
0
        public MainViewModel(IBookProvider bookProvider)
        {
            _bookProvider   = bookProvider;
            _resourceLoader = ResourceLoader.GetForCurrentView();

            RenameBookCommand = new RelayCommand <IBook>(async book => await RenameBookAsync(book));
            RemoveBookCommand = new RelayCommand <IBook>(async book => await RemoveBookAsync(book));
            AddBookCommand    = new RelayCommand(async() =>
            {
                var picker = new FileOpenPicker();
                picker.FileTypeFilter.Add(".djvu");
                picker.FileTypeFilter.Add(".djv");

                var files = await picker.PickMultipleFilesAsync();
                foreach (var file in files)
                {
                    await AddBookFromFileAsync(file);
                }
            });
            ShareBookCommand = new RelayCommand <IBook>(ShareBook);

            BooksCollectionView = new ListCollectionView(_bookProvider.Books);
            BooksCollectionView.SortDescriptions.Add(new SortDescription("LastOpeningTime", ListSortDirection.Descending));
            BooksCollectionView.VectorChanged += (sender, args) => UpdateHasBooks();
            UpdateHasBooks();

            MigrateAsync();
        }
Example #4
0
 public BooksController(IBookDataWriter dataWriter, IBookProvider provider, ICommentDataWriter commentDataWriter, ICommentProvider commentProvider, IRateDataWriter rateDataWriter, IRateProvider rateProvider)
 {
     _dataWriter        = dataWriter;
     _provider          = provider;
     _commentDataWriter = commentDataWriter;
     _commentProvider   = commentProvider;
     _rateDataWriter    = rateDataWriter;
     _rateProvider      = rateProvider;
 }
        public PurchaseServiceDecorator(IExpirationGuardian expirationGuardian, INotificationsProvider notificationsProvider, ICatalogProvider catalogProvider, IBookProvider bookProvider, ICredentialsProvider credentialsProvider, INavigationService navigationService)
		{
			_catalogProvider = catalogProvider;
			_notificationsProvider = notificationsProvider;
            _bookProvider = bookProvider;
            _credentialsProvider = credentialsProvider;
            _expirationGuardian = expirationGuardian;
            _navigationService = navigationService;
			_pages = new List<Page>();
		}
        public ExpirationGuardian(IDataCacheService dataCacheService, ICatalitClient client, ICatalogProvider catalogProvider, IBookProvider bookProvider)
        {
            _expiredCallBacks = new List<IExpiredCallBack>();
            _client = client;
            _dataCacheService = dataCacheService;
            _catalogProvider = catalogProvider;
            _bookProvider = bookProvider;

            Instance = this;
        }
		public NavigationServiceContext(ICredentialsProvider credentialsProvider, IBookProvider bookProvider)
		{
			_authorizationUri = new Uri( "/Views/Authorization.xaml", UriKind.Relative );

			_credentialsProvider = credentialsProvider;
			_bookProvider = bookProvider;

			_needAnyAuthorizationViewCollection = new List<Uri>();
			_needAnyAuthorizationViewCollection.Add( new Uri( "/Views/MyBooks.xaml", UriKind.Relative ) );
			_needAnyAuthorizationViewCollection.Add( new Uri( "/Views/Bookmarks.xaml", UriKind.Relative ) );
			_needAnyAuthorizationViewCollection.Add( new Uri( "/Views/NotificationsEdit.xaml", UriKind.Relative ) );

			_needUserAuthorizationViewCollection = new List<Uri>();
			_needUserAuthorizationViewCollection.Add( new Uri( "/Views/UserInfo.xaml", UriKind.Relative ) );
		}
		public AuthorizationViewModel( ICredentialsProvider credentialsProvider, IProfileProvider profileProvider, INavigationService navigationService, INotificationsProvider notificationsProvider,
			IDataCacheService dataCacheService, IFileCacheService fileCacheService, IBookmarksProvider bookmarksProvider, ICatalogProvider catalogProvider, IBookProvider bookProvider)
		{
			_credentialsProvider = credentialsProvider;
			_navigationService = navigationService;
			_profileProvider = profileProvider;
			_notificationsProvider = notificationsProvider;
			_dataCacheService = dataCacheService;
			_fileCacheService = fileCacheService;
			_bookmarksProvider = bookmarksProvider;
			_catalogProvider = catalogProvider;
		    _bookProvider = bookProvider;

            RegisterAction(MainPart).AddPart(LoadCredential, session => true);
            RegisterAction(LoginPart).AddPart(LoginProceed, session => true);

		}
Example #9
0
 public ClientController(IBookProvider bookProvider, IClientProvider clientProvider)
 {
     _bookProvider   = bookProvider;
     _clientProvider = clientProvider;
 }
Example #10
0
        public MainViewModel(
         //   IExpirationGuardian expirationGuardian, 
            IProfileProvider profileProvider, 
            IGenresProvider genresProvider, 
            ICatalogProvider catalogProvider, 
            ICredentialsProvider credentialsProvider,
            IBookProvider bookProvider,
            INavigationService navigationService, 
            INetworkAvailabilityService networkAvailability,
            IDeviceInfoService deviceInfoService, ILitresPurchaseService litresPurchaseService)
        {            
            _genresProvider = genresProvider;
			_catalogProvider = catalogProvider;
			_credentialsProvider = credentialsProvider;
			_profileProvider = profileProvider;
			_bookProvider = bookProvider;
			_navigationService = navigationService;
		//    _expirationGuardian = expirationGuardian;
		    _networkAvailability = networkAvailability;
            _deviceInfoService = deviceInfoService;
            _litresPurchaseService = litresPurchaseService;

            var deviceFamily = _deviceInfoService.DeviceFamily;
            if (!string.IsNullOrEmpty(deviceFamily) && deviceFamily.Equals("Windows.Desktop"))
            {
                _booksPerPage = 30;
            }
            ////MyBooks reload allways, may change account information
            RegisterAction(BuyBookPart).AddPart((session) => BuyBookAsync(session, Book), (session) => true);
            RegisterAction(GiftBookPart).AddPart((session) => GetGiftAsync(session, Book), (session) => true);
            RegisterAction(MyBooksPart).AddPart( LoadMyBooks, session => true);
            RegisterAction(BuyBookLitresPart).AddPart((session) => BuyBookFromLitres(session, Book), (session) => true);
            RegisterAction(CreditCardInfoPart).AddPart(session => CreditCardInfoAsync(session), (session) => true);
            RegisterAction(LoadMoreNoveltyBooksPart).AddPart(session => LoadNoveltyBooks(session), session => true);
            RegisterAction(LoadMorePopularBooksPart).AddPart(session => LoadPopularBooks(session), session => true);
            RegisterAction(LoadMoreInterestingBooksPart).AddPart(session => LoadInterestingBooks(session), session => true);
            RegisterAction(MyOffersPart).AddPart(LoadOffers, session => true);
            //RegisterPart(MyBooksPart, (session, part) => LoadMyBooks(session), (session, part) => true, false);
            ////RegisterPart(NewBooksPart, (session, part) => LoadNewBooks(session), (session, part) => true, false);

            MyBooksViewState = MyBooksViewStateEnum.Loading;

			Genres = new XCollection<Genre>();
			Banners = new XCollection<Banner>();

			_myBooks = new XCollection<Book>();
			_noveltyBooks = new XCollection<Book>();
			_popularBooks = new XCollection<Book>();
			_interestingBooks = new XCollection<Book>();

			MyBooks = new XSubRangeCollection<Book>(_myBooks, 0, 10);
            
            NoveltyBooks = new XCollection<Book>();
			PopularBooks = new XCollection<Book>();
			InterestingBooks = new XCollection<Book>();
			ShowMyBooks = new RelayCommand( ToMyBooks );
            BookSelected = new RelayCommand<Book>(book =>  _navigationService.Navigate("Book", XParameters.Create("BookEntity", book)), book => book != null);
            BuyBook = new RelayCommand<Book>(BuyBookFromLitresAsync);
            GiftBook = new RelayCommand<Book>(GiftBookFromLitresAsync);
            ShowInterestingBooks = new RelayCommand(() => _navigationService.Navigate("BooksByCategory", XParameters.Create("category", (int) BooksByCategoryViewModel.BooksViewModelTypeEnum.Interesting)));
			ShowPopularBooks = new RelayCommand(() => _navigationService.Navigate("BooksByCategory", XParameters.Create("category", (int) BooksByCategoryViewModel.BooksViewModelTypeEnum.Popular)));
			ShowNewBooks = new RelayCommand(() => _navigationService.Navigate("BooksByCategory", XParameters.Create("category", (int) BooksByCategoryViewModel.BooksViewModelTypeEnum.Novelty)));
            LoadMoreNoveltyBooks = new RelayCommand(LoadMoreNoveltyBooksProceed, () => true);
            LoadMorePopularBooks = new RelayCommand(LoadMorePopularBooksProceed, () => true);
            LoadMoreInterestingBooks = new RelayCommand(LoadMoreInterestingBooksProceed, () => true);
            GenreSelected = new RelayCommand<int>(ChooseGenre);
			ShowSearchHistory = new RelayCommand(() => _navigationService.Navigate("Search"));
            BuyBookFromMicrosoft = new RelayCommand(BuyBookFromMicrosoftAsync);
            Read = new RelayCommand<Book>(book =>
            {
                if (!book.IsExpiredBook)
                    _navigationService.Navigate("Reader", XParameters.Create("BookEntity", book), false);
                else new MessageDialog("Истёк срок выдачи.").ShowAsync();
            });

            ShowAuthorization = new RelayCommand(() => _navigationService.Navigate("Authorization"));
            ShowRegistration = new RelayCommand(() => _navigationService.Navigate("Registration"));
			ShowUserInfo = new RelayCommand( ToUserInfo );
            RunCreditCardPaymentProcess = new RelayCommand(CreditCardInfo);
           
            ShowAccountInfo = new RelayCommand(ToAccountInfo);
			ShowSettings = new RelayCommand(() => _navigationService.Navigate("Settings"));
			ShowBookmarks = new RelayCommand( () => _navigationService.Navigate( "Bookmarks" ) );
			ShowAbout = new RelayCommand( () => _navigationService.Navigate( "About" ) );
			ShowNotifications = new RelayCommand(() => _navigationService.Navigate("NotificationsEdit"));
            ShowCreditCardView = new RelayCommand<Book>(book => _navigationService.Navigate("CreditCardPurchase", XParameters.Create("BookEntity", book)), book => book != null);

            ShowAppSettings = new RelayCommand(ToAppSettings);

            //_expirationGuardian.StartGuardian();		    
        }
Example #11
0
 public BooksController(IBookProvider bookProvider, IGenreProvider genreProvider)
 {
     _bookProvider  = bookProvider;
     _genreProvider = genreProvider;
 }
Example #12
0
 public BookController(IBookProvider bookProvider)
 {
     this.bookProvider = bookProvider;
 }
Example #13
0
 public BooksController(IBookProvider bookProvider, IBookViewModelMapper bookMapper, ITokenProvider tokenProvider)
     : base(tokenProvider)
 {
     _bookProvider        = bookProvider;
     _bookViewModelMapper = bookMapper;
 }
 public BookProviderExceptionDecorator(IBookProvider bookService)
 {
     this.bookProvider = bookService;
 }
Example #15
0
 public BookTicketController(IBookProvider provider)
 {
     _provider = provider;
 }
Example #16
0
 public BookService(IBookProvider bookProvider)
 {
     _bookProvider = bookProvider;
 }
Example #17
0
 public ReservationService(IReservationProvider reservationProvider, IBookProvider bookProvider)
 {
     _reservationProvider = reservationProvider;
     _bookProvider        = bookProvider;
 }
        public CatalogProvider(ICatalitClient client, IFileDownloadService fileDownloadService, IProfileProvider profileProvider, IBookProvider bookProvider, IDataCacheService dataCacheService, INetworkAvailabilityService networkAvailabilityService, IDeviceInfoService deviceInfoService)
		{
			_client = client;
			_dataCacheService = dataCacheService;
			_fileDownloadService = fileDownloadService;
			_bookProvider = bookProvider;
            _networkAvailabilityService = networkAvailabilityService;
			_myBooksIds = new List<int>();
			_myHistoryBooksIds = new List<int>();
            _profileProvider = profileProvider;
            _deviceInfoService = deviceInfoService;
            //_expirationGuardian = expirationGuardian;
		}
Example #19
0
 public BookProviderCacheDecorator(IBookProvider bookProvider, IDistributedCache distributedCache, IConfiguration configuration)
 {
     this.bookProvider     = bookProvider;
     this.distributedCache = distributedCache;
     this.configuration    = configuration;
 }
 public BooksController(IBookProvider bookService, IMediator mediator)
 {
     this.bookService = bookService;
     this.mediator    = mediator;
 }
 public BookController(IBookProvider bookProvider)
 {
     _bookProvider = bookProvider;
 }
Example #22
0
 public LibrarianController(IBookProvider booksProvider)
 {
     _booksProvider = booksProvider;
 }