public OrderProcessingService(IOrgProvider orgProvider, ICatalogProvider catalogProvider, ILocationRepository locationRepository, IOrderRepository orderRepository, IOrderCalculator caluclator) { m_catalog_provider = catalogProvider; m_order_repository = orderRepository; m_order_calculator = caluclator; m_org_provider = orgProvider; }
public ItemsListViewModel(ICatalogProvider catalogProvider, IMessenger messenger, IUserNotificationService userNotificationService) { _userNotificationService = userNotificationService; _messenger = messenger; DataProvider = catalogProvider; }
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 руб." }}; }
public void GetCatalogsByInstanceId(int id, out FetDatasetIdentify[] dsIds, out FetClassIdentify[] fetclassIds) { dsIds = null; fetclassIds = null; IServerInstance instance = GetServerInstanceById(id); if (instance == null) { throw new Exception(string.Format(HttpCommands.cstErrorInstanceIsNotExisted, id)); } try { ICatalogProvider prd = instance.CatalogProvider; if (prd == null) { throw new Exception(string.Format(HttpCommands.cstErrorCatalogProviderNotExistdOfInstance, id)); } dsIds = prd.GetFetDatasetIdentify(); fetclassIds = prd.GetFetClassIdentify(); } catch (Exception ex) { throw new Exception(string.Format(HttpCommands.cstErrorCatalogProviderNotExistdOfInstance + "," + ex.Message, id)); } }
public RegistrationViewModel(ICredentialsProvider credentialsProvider, IProfileProvider profileProvider, INavigationService navigationService, ICatalogProvider catalogProvider) { _credentialsProvider = credentialsProvider; _profileProvider = profileProvider; _catalogProvider = catalogProvider; RegisterAction(RegistrationPart).AddPart(session => RegistrationProceed(session), session => session.Parameters.GetValue<CatalitCredentials>(RegistrationParameter, null) != null); }
public ItemsGridViewModel(ICatalogProvider catalogProvider, IMessenger messenger, IUserNotificationService userNotificationService) { DataProvider = catalogProvider; _userNotificationService = userNotificationService; _messenger = messenger; _barItems = new ObservableCollection <CatalogItemModel>(); }
public void Dispose() { if (_catalogProvider != null) { _catalogProvider.Dispose(); _catalogProvider = null; } }
public CatalogViewModel(ICatalogProvider catalogProvider, ItemsGridViewModel itemsGridViewModel, ItemsListViewModel itemsListViewModel) { _catalogProvider = catalogProvider; _itemsGridViewModel = itemsGridViewModel; _itemsListViewModel = itemsListViewModel; ShowGrid(); }
public CatalogController(Section section, ICatalogProvider catalogProvider) { _filterController = new Subject <Func <EntryModel, bool> >(); _sortingController = new Subject <IComparer <EntryModel> >(); BindProvider(catalogProvider).DisposeWith(this); BindSearch(section).DisposeWith(this); }
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 LitresPurchaseService( ICatalogProvider catalogProvider, ICredentialsProvider credentialsProvider, IProfileProvider profileProvider, IInAppPurchaseService inAppPurchaseSevice, ICatalitClient client, IPurchaseServiceDecorator purchaseServiceDecorator, IDeviceInfoService deviceInfoService) { _inAppPurchaseService = inAppPurchaseSevice; _client = client; _catalogProvider = catalogProvider; _credentialsProvider = credentialsProvider; _profileProvider = profileProvider; _purchaseServiceDecorator = purchaseServiceDecorator; _deviceInfoService = deviceInfoService; }
public GeneralController( IMicroTemplateProcessor microTemplateProcessor, ICatalogProvider catalogProvider, ILogger <GeneralController> logger ) { _microTemplateProcessor = microTemplateProcessor; _catalogProvider = catalogProvider; _logger = logger; }
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>(); }
/// <summary>构造函数</summary> public CatalogService() { this.configuration = MembershipConfigurationView.Instance.Configuration; // 创建对象构建器(Spring.NET) string springObjectFile = this.configuration.Keys["SpringObjectFile"].Value; SpringObjectBuilder objectBuilder = SpringObjectBuilder.Create(MembershipConfiguration.ApplicationName, springObjectFile); // 创建数据提供器 this.provider = objectBuilder.GetObject <ICatalogProvider>(typeof(ICatalogProvider)); }
private IDisposable BindCatalog(ICatalogProvider catalogProvider, CatalogKind kind) { Entries = new ObservableCollectionExtended <EntryModel>(); return(catalogProvider.Chats.Connect() .Filter(_filterController) .Sort(_sortingController) .SubscribeOn(TaskPoolScheduler.Default) .ObserveOn(RxApp.MainThreadScheduler) .Bind(Entries) .Subscribe()); }
private IDisposable BindProvider(ICatalogProvider catalogProvider) { var entries = Model.Entries; return(catalogProvider.Chats.Connect() .Filter(_filterController) .Sort(_sortingController) .SubscribeOn(TaskPoolScheduler.Default) .ObserveOn(RxApp.MainThreadScheduler) .Bind(entries) .Subscribe()); }
public SearchHistoryViewModel( ISearchHistoryProvider searchHistoryProvider, ICatalogProvider catalogProvider, INavigationService navigationService ) { _searchHistoryProvider = searchHistoryProvider; _catalogProvider = catalogProvider; _navigationService = navigationService; RegisterAction(LoadHistoryPart).AddPart((session) => LoadHistory(session), (session) => true); RegisterAction(LoadBooksPart).AddPart((session) => SearchBooks(session), (session) => true); RegisterAction(AddToHistoryPart).AddPart((session) => AddToHistory(session), (session) => true); RegisterAction(RemoveFromHistoryPart).AddPart((session) => RemoveFromHistory(session), (session) => true); SearchQueries = new XCollection<SearchQuery>(); }
public BookmarksViewModel(IBookmarksProvider bookmarksProvider, ICatalogProvider catalogProvider, INavigationService navigationService) { _bookmarksProvider = bookmarksProvider; _catalogProvider = catalogProvider; _navigationService = navigationService; RegisterPart( MainPart, ( session, part ) => LoadBookmarks( session ), ( session, part ) => true ); //RegisterPart( DeletePart, ( session, part ) => DeleteBookmarks( session ), ( session, part ) => true, false ); Bookmarks = new XCollection<Bookmark>(); BookmarkedBooks = new XCollection<Book>(); BookSelected = new RelayCommand<Book>( book => _navigationService.Navigate( "BookBookmarks", Parameters.From( "id", book.Id )), book => book != null ); }
private async Task SendCompletionMessageForFilter(string filter) { var loadingSearchByType = string.Format( _cortanaResourceMap.GetValue("Cortana_Loading", _cortanaContext).ValueAsString, filter); await ShowProgressScreen(loadingSearchByType); var store = new CatalogItem(); // TODO: Get depending on configuration configuration _catalogProvider = new LocalCatalogProvider(); var items = await _catalogProvider?.GetItemsByVoiceCommandAsync(filter); var userMessage = new VoiceCommandUserMessage(); var ListContentTiles = new List <VoiceCommandContentTile>(); if (items == null || !items.Any()) { var foundNoSearchByType = string.Format(_cortanaResourceMap.GetValue("Cortana_foundNoSearchByType", _cortanaContext).ValueAsString, filter); userMessage.DisplayMessage = foundNoSearchByType; userMessage.SpokenMessage = foundNoSearchByType; } else { int cont = 1; foreach (CatalogItem item in items.Take(10)) { var typeTile = new VoiceCommandContentTile(); typeTile.ContentTileType = VoiceCommandContentTileType.TitleWithText; typeTile.AppLaunchArgument = item.Id.ToString(); typeTile.Title = item.Name; typeTile.TextLine1 = $"{item.Price.ToString()}$"; ListContentTiles.Add(typeTile); cont++; } } var message = WaitingForResult(filter, items.Count()); userMessage.DisplayMessage = message; userMessage.SpokenMessage = message; var response = VoiceCommandResponse.CreateResponse(userMessage, ListContentTiles); await _voiceServiceConnection.ReportSuccessAsync(response); }
public static IDisposable BindProvider( this CatalogModel model, ICatalogProvider provider) { var entries = model.Entries; var filter = model.FilterController; var sorting = model.SortingController; return(provider.Chats.Connect() .Filter(filter) .Sort(sorting) .SubscribeOn(RxApp.TaskpoolScheduler) .ObserveOn(RxApp.MainThreadScheduler) .Bind(entries) .Accept()); }
public FetClassProperty GetFetClassProperty(int instanceId, string fetclassId) { IServerInstance instance = GetServerInstanceById(instanceId); if (instance == null) { throw new Exception(string.Format(HttpCommands.cstErrorInstanceIsNotExisted, instanceId)); } ICatalogProvider prd = instance.CatalogProvider; if (prd == null) { throw new Exception(string.Format(HttpCommands.cstErrorCatalogProviderNotExistdOfInstance, fetclassId)); } return(prd.GetFetClassProperty(fetclassId)); }
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); }
//public RelayCommand LoadMoreCalled { get; private set; } #region Constructors/Disposer public FreeBooksByCategoryViewModel(ICatalogProvider catalogProvider, INavigationService navigationService) { _catalogProvider = catalogProvider; _navigationService = navigationService; PopularBooks = new XCollection<Book>(); NoveltyBooks = new XCollection<Book>(); RegisterPart(MainPart, (session, part) => LoadBooks(session), (session, part) => !_loadedPopular && !_loadedNovelty, true); //RegisterPart( LoadMorePart, ( session, part ) => LoadBooks( session ), ( session, part ) => !_isEndOfList, false ); RegisterPart(LoadMoreNoveltyBooksPart, (session, part) => LoadNoveltyBooks(session), (session, part) => !_isEndOfListNoveltyBooks, false); RegisterPart(LoadMorePopularBooksPart, (session, part) => LoadPopularBooks(session), (session, part) => !_isEndOfListPopularBooks, false); //Books = new XCollection<Book>(); BookSelected = new RelayCommand<Book>(book => _navigationService.Navigate("Book", Parameters.From("id", book.Id)), book => book != null); LoadMoreNoveltyBooks = new RelayCommand(LoadMoreNoveltyBooksProceed, () => true); LoadMorePopularBooks = new RelayCommand(LoadMorePopularBooksProceed, () => true); //LoadMoreCalled = new RelayCommand(() => LoadMore(), () => true); }
public static IServerInstance GetServerInstance(InstanceIdentify instanceIdentify, string args) { if (args == null) { return(null); } string argc = args.ToUpper(); ICatalogProvider provider = null; if (argc.Contains("$") && argc.Contains("DATA SOURCE") && argc.Contains("USER ID") && !argc.Contains(":")) { provider = new CatalogProviderSpatialDb(args); return(new ServerInstanceForDb(instanceIdentify, provider, args)); } else if (argc.Contains(":")) { provider = new CatalogProviderFile(args); return(new ServerInstanceForFile(instanceIdentify, provider, args)); } else { throw new Exception("指定的实例构造参数\"" + args + "\"非支持的有效格式。"); } }
public BooksByCategoryViewModel(ICatalogProvider catalogProvider, INavigationService navigationService, ILitresPurchaseService litresPurchaseService, IProfileProvider profileProvider, ICredentialsProvider credentialsProvider) { _catalogProvider = catalogProvider; _navigationService = navigationService; _litresPurchaseService = litresPurchaseService; _profileProvider = profileProvider; _credentialsProvider = credentialsProvider; RegisterAction(MainPart).AddPart(session => LoadBooks(session), session => !_loaded); RegisterAction(LoadMorePart).AddPart(session => LoadBooks(session), session => !_isEndOfList); 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); //RegisterPart( MainPart, ( session, part ) => LoadBooks( session ), ( session, part ) => !_loaded, true ); //RegisterPart( LoadMorePart, ( session, part ) => LoadBooks( session ), ( session, part ) => !_isEndOfList, false ); Books = new XCollection<Book>(); BookSelected = new RelayCommand<Book>(book => _navigationService.Navigate("Book", XParameters.Create("BookEntity", book)), book => book != null); LoadMoreCalled = new RelayCommand(() => LoadMore(), () => true); 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(); }); }
/// <summary> /// Created for integration testing. /// </summary> internal static void Initialize(IStoreListener listener, ConfigurationBuilder builder, ILogger logger, string persistentDatapath, IUnityAnalytics analytics, ICatalogProvider catalog) { var transactionLog = new TransactionLog(logger, persistentDatapath); var manager = new PurchasingManager(transactionLog, logger, builder.factory.service, builder.factory.storeName); var analyticsReporter = new AnalyticsReporter(analytics); // Proxy the PurchasingManager's callback interface to forward Transactions to Analytics. var proxy = new StoreListenerProxy(listener, analyticsReporter, builder.factory); FetchAndMergeProducts(builder.useCatalogProvider, builder.products, catalog, response => { manager.Initialize(proxy, response); }); }
public ItemsGridViewModel(ICatalogProvider catalogProvider) : base(catalogProvider) { }
public TaskFrequencyManager(ICatalogProvider catalogProvider) { _catalogProvider = catalogProvider; }
public CatalogController(ICatalogProvider catalogProvider) { m_catalog_provider = catalogProvider; }
public ServerInstanceForDb(InstanceIdentify instanceIdentify, ICatalogProvider catalogProvider, string args) : base(instanceIdentify, catalogProvider, args) { }
public void SetCatalogProvider(ICatalogProvider provider) { m_CatalogProvider = provider; }
public void SetCatalogProviderFunction(Action <Action <HashSet <ProductDefinition> > > func) { m_CatalogProvider = new SimpleCatalogProvider(func); }
public ServerInstanceBase(InstanceIdentify id, ICatalogProvider catalogProvider, string args) { _id = id; _catalogProvider = catalogProvider; _args = args; }
public ItemsListViewModel(ICatalogProvider catalogProvider) { DataProvider = catalogProvider; }
public SearchViewModel(ICatalogProvider catalogProvider, INavigationService navigationService, ILitresPurchaseService litresPurchaseService, ICredentialsProvider credentialsProvider, IProfileProvider profileProvider) { _catalogProvider = catalogProvider; _navigationService = navigationService; _litresPurchaseService = litresPurchaseService; _credentialsProvider = credentialsProvider; _profileProvider = profileProvider; FoundBooks = new XCollection<Book>(); FoundPersons = new XCollection<Person>(); FoundSequeses = new XCollection<Book.SequenceInfo>(); FirstBooks = new XSubRangeCollection<Book>(FoundBooks, 0, 3); FirstPersons = new XSubRangeCollection<Person>(FoundPersons, 0, 3); FirstSequeces = new XSubRangeCollection<Book.SequenceInfo>(FoundSequeses, 0, 3); //FoundCollections = new XCollection<Book.CollectionsInfo>(); //FirstCollections = new XSubRangeCollection<Book.CollectionsInfo>(FoundCollections, 0, 3); TagsAndGenresCollection = new List<object>(6); BestResult = new List<object>(); RegisterAction(LoadAllDataPart).AddPart(SearchAll, 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); 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); BookSelected = new RelayCommand<Book>(book => _navigationService.Navigate("Book", XParameters.Create("BookEntity", book)), book => book != null); PersonSelected = new RelayCommand<Person>(person => _navigationService.Navigate("Person", XParameters.Create("Id", person.Id)), person => person != null); GenreSelected = new RelayCommand<Genre>(genre => _navigationService.Navigate("BooksByCategory", XParameters.Empty.ToBuilder() .AddValue("category", 6) .AddValue("id", int.Parse(genre.id)) .AddValue("title", genre.name) .ToImmutable()), genre => genre != null); TagSelected = new RelayCommand<Tag>(tag => _navigationService.Navigate("BooksByCategory", XParameters.Empty.ToBuilder() .AddValue("category", 5) .AddValue("id", int.Parse(tag.id)) .AddValue("title", tag.name) .ToImmutable()), tag => tag != null); SequenceSelected = new RelayCommand<Book.SequenceInfo>(sequence => _navigationService.Navigate("BooksByCategory", XParameters.Empty.ToBuilder() .AddValue("category", 7) .AddValue("id", sequence.Id) .AddValue("title", sequence.Name) .ToImmutable()), sequence => sequence != null); Read = new RelayCommand<Book>(book => { if (!book.IsExpiredBook) _navigationService.Navigate("Reader", XParameters.Create("BookEntity", book), false); else new MessageDialog("Истёк срок выдачи.").ShowAsync(); }); //CollectionSelected = new RelayCommand<Book.SequenceInfo>(sequence => _navigationService.Navigate("BooksByCategory", XParameters.Empty.ToBuilder() // .AddValue("category", 8) // .AddValue("id", sequence.Id) // .AddValue("title", sequence.Name) // .ToImmutable()), sequence => sequence != null); LoadMoreFoundBooks = new RelayCommand(() => Load(new Session())); }
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(); }); }
public StatisticsViewModel(ICatalogProvider catalogProvider, IOrdersProvider ordersProvider) { _catalogProvider = catalogProvider; _ordersProvider = ordersProvider; }
public ItemDetailViewModel(ICatalogProvider catalogProvider) { _catalogProvider = catalogProvider; _systemNavigationManager = SystemNavigationManager.GetForCurrentView(); }
public ItemsListViewModel(ICatalogProvider catalogProvider) : base(catalogProvider) { LoadCatalogBrands(); LoadCatalogTypes(); }
public ShellViewModel(CatalogViewModel catalogViewModel, ICatalogProvider catalogProvider) { _catalogViewModel = catalogViewModel; _catalogProvider = catalogProvider; }
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(); }
internal static void FetchAndMergeProducts(bool useCatalog, HashSet <ProductDefinition> localProductSet, ICatalogProvider catalog, Action <HashSet <ProductDefinition> > callback) { if (useCatalog && catalog != null) { catalog.FetchProducts(cloudProducts => { var updatedProductSet = new HashSet <ProductDefinition>(localProductSet); foreach (var product in cloudProducts) { // Products are hashed by id, so this should remove the local product with the same id before adding the cloud product updatedProductSet.Remove(product); updatedProductSet.Add(product); } callback(updatedProductSet); }); } else { callback(localProductSet); } }
public FormController(ICatalogProvider catalogProvider) { _catalogProvider = catalogProvider; }