Example #1
0
 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;
 }
Example #2
0
        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);
		}
Example #6
0
        public ItemsGridViewModel(ICatalogProvider catalogProvider, IMessenger messenger, IUserNotificationService userNotificationService)
        {
            DataProvider             = catalogProvider;
            _userNotificationService = userNotificationService;
            _messenger = messenger;

            _barItems = new ObservableCollection <CatalogItemModel>();
        }
Example #7
0
 public void Dispose()
 {
     if (_catalogProvider != null)
     {
         _catalogProvider.Dispose();
         _catalogProvider = null;
     }
 }
Example #8
0
        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;
		}
Example #12
0
 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>();
		}
Example #14
0
        /// <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));
        }
Example #15
0
        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());
        }
Example #16
0
        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 );
		}
Example #19
0
        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);
        }
Example #20
0
        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();
            });

        }
Example #26
0
        /// <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);
            });
        }
Example #27
0
 public ItemsGridViewModel(ICatalogProvider catalogProvider) : base(catalogProvider)
 {
 }
Example #28
0
 public TaskFrequencyManager(ICatalogProvider catalogProvider)
 {
     _catalogProvider = catalogProvider;
 }
 public CatalogController(ICatalogProvider catalogProvider)
 {
     m_catalog_provider = catalogProvider;
 }
Example #30
0
 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);
 }
Example #33
0
 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();
 }
Example #39
0
 public ItemsListViewModel(ICatalogProvider catalogProvider) : base(catalogProvider)
 {
     LoadCatalogBrands();
     LoadCatalogTypes();
 }
Example #40
0
 public ShellViewModel(CatalogViewModel catalogViewModel, ICatalogProvider catalogProvider)
 {
     _catalogViewModel = catalogViewModel;
     _catalogProvider  = catalogProvider;
 }
Example #41
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 #42
0
        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);
            }
        }
Example #43
0
 public FormController(ICatalogProvider catalogProvider)
 {
     _catalogProvider = catalogProvider;
 }