public void GetChillinDataForSierraPatron_OneArticleOrderedAndReadyThreeDaysAgoSv_ArticleDelivered()
        {
            var bulkDataManager = new BulkDataManager(CreateFakeSearcher(
                                                          new List <OrderItemModel>()
            {
                new OrderItemModel()
                {
                    DueDate       = DateTime.Now.AddDays(-3),
                    DeliveryDate  = new DateTime(1970, 1, 1),
                    Type          = "Artikel",
                    Status        = "05:Levererad",
                    OriginalOrder = "Mio min Mio."
                }
            }
                                                          ));

            using (ShimsContext.Create())
            {
                var res = bulkDataManager.GetChillinDataForSierraPatron(42, "sv");
                Assert.IsTrue(IsAsExpected(res[0], "Artikel", "Mio min Mio.", "Levererad"));
            }
        }
        public void GetChillinDataForSierraPatron_OneBookOrderedSv_BookNotAvailableYet()
        {
            var bulkDataManager = new BulkDataManager(CreateFakeSearcher(
                                                          new List <OrderItemModel>()
            {
                new OrderItemModel()
                {
                    DueDate       = DateTime.Now.AddDays(-1),
                    DeliveryDate  = new DateTime(1970, 1, 1),
                    Type          = "Bok",
                    Status        = "01:Ny",
                    OriginalOrder = "Mio min Mio."
                }
            }
                                                          ));

            using (ShimsContext.Create())
            {
                var res = bulkDataManager.GetChillinDataForSierraPatron(42, "sv");
                Assert.IsTrue(IsAsExpected(res[0], "Bok", "Mio min Mio.", "Ej tillgänglig än"));
            }
        }
        public void GetChillinDataForSierraPatron_OneBookLateMailContactEn_Late()
        {
            var bulkDataManager = new BulkDataManager(CreateFakeSearcher(
                                                          new List <OrderItemModel>()
            {
                new OrderItemModel()
                {
                    DueDate       = DateTime.Now.AddDays(-1),
                    DeliveryDate  = DateTime.Now.AddDays(-32),
                    Type          = "Bok",
                    Status        = "02:Åtgärda",
                    OriginalOrder = "Mio min Mio."
                }
            }
                                                          ));

            using (ShimsContext.Create())
            {
                var res = bulkDataManager.GetChillinDataForSierraPatron(42, "en");
                Assert.IsTrue(IsAsExpected(res[0], "Book", "Mio min Mio.", "Late **"));
            }
        }
        public void GetChillinDataForSierraPatron_OneBookRecalledEn_Recalled()
        {
            var bulkDataManager = new BulkDataManager(CreateFakeSearcher(
                                                          new List <OrderItemModel>()
            {
                new OrderItemModel()
                {
                    DueDate       = DateTime.Now.AddDays(12),
                    DeliveryDate  = DateTime.Now.AddDays(-6),
                    Type          = "Bok",
                    Status        = "12:Krävd",
                    OriginalOrder = "Mio min Mio."
                }
            }
                                                          ));

            using (ShimsContext.Create())
            {
                var res = bulkDataManager.GetChillinDataForSierraPatron(42, "en");
                Assert.IsTrue(IsAsExpected(res[0], "Book", "Mio min Mio.", "Recalled *"));
            }
        }
        public void GetChillinDataForSierraPatron_OneBookRetrievedEn_DuePlusDate()
        {
            var bulkDataManager = new BulkDataManager(CreateFakeSearcher(
                                                          new List <OrderItemModel>()
            {
                new OrderItemModel()
                {
                    DueDate       = DateTime.Now.AddDays(30),
                    DeliveryDate  = DateTime.Now.AddDays(-1),
                    Type          = "Bok",
                    Status        = "11:Utlånad",
                    OriginalOrder = "Mio min Mio."
                }
            }
                                                          ));

            using (ShimsContext.Create())
            {
                var res = bulkDataManager.GetChillinDataForSierraPatron(42, "en");
                Assert.IsTrue(IsAsExpected(res[0], "Book", "Mio min Mio.", "DUE " + DateTime.Now.AddDays(30).ToString("yyyy-MM-dd")));
            }
        }
        public void GetChillinDataForSierraPatron_OneArticleOrderedEn_ArticleNotAvailableYet()
        {
            var bulkDataManager = new BulkDataManager(CreateFakeSearcher(
                                                          new List <OrderItemModel>()
            {
                new OrderItemModel()
                {
                    DueDate       = DateTime.Now.AddDays(-3),
                    DeliveryDate  = new DateTime(1970, 1, 1),
                    Type          = "Artikel",
                    Status        = "03:Beställd",
                    OriginalOrder = "Mio min Mio."
                }
            }
                                                          ));

            using (ShimsContext.Create())
            {
                var res = bulkDataManager.GetChillinDataForSierraPatron(42, "en");
                Assert.IsTrue(IsAsExpected(res[0], "Article", "Mio min Mio.", "Not available yet"));
            }
        }
Esempio n. 7
0
        public static void RegisterTypes(IUnityContainer container)
        {
            container.RegisterType <IConfiguration, DefaultChillinConfiguration>();
            var config = container.Resolve <IConfiguration>();

            var elasticClientSettings = new ConnectionSettings(new System.Uri(config.ElasticSearchUrl));

            elasticClientSettings.DefaultIndex(config.ElasticSearchIndex);
            var elasticClient = new ElasticClient(elasticClientSettings);

            container.RegisterInstance(typeof(IContentService), ApplicationContext.Current.Services.ContentService);
            container.RegisterInstance(typeof(IMediaService), ApplicationContext.Current.Services.MediaService);
            container.RegisterInstance <IElasticClient>(elasticClient);

            container.RegisterType <IExchangeMailWebApi, ExchangeMailWebApi>();
            container.RegisterType <ISourceFactory, ChalmersSourceFactory>();
            container.RegisterType <IMediaItemManager, BlobStorageMediaItemManager>();
            container.RegisterType <IMediaItemManager, UmbracoMediaItemManager>("Legacy");
            container.RegisterType <IOrderItemSearcher, ElasticSearchOrderItemSearcher>();
            container.RegisterType <ITemplateService, ElasticsearchTemplateService>();
            container.RegisterType <IAffiliationDataProvider, SolrLibcdksAffiliationDataProvider>();

            container.RegisterType <IJsonService, JsonService>();
            container.RegisterType <IFolioItemService, FolioItemService>();
            container.RegisterType <IFolioRepository, FolioRepository>();
            container.RegisterType <IFolioService, FolioService>();
            container.RegisterType <IFolioInstanceService, FolioInstanceService>();
            container.RegisterType <IFolioHoldingService, FolioHoldingService>();
            container.RegisterType <IFolioCirculationService, FolioCirculationService>();
            container.RegisterType <IChillinTextRepository, ChillinTextRepository>();
            container.RegisterType <IFolioUserService, FolioUserService>();

            var templateService         = container.Resolve <ITemplateService>();
            var affiliationDataProvider = container.Resolve <IAffiliationDataProvider>();

            // Create all our singleton type instances.
            var mailService            = new MailService(container.Resolve <IMediaItemManager>(), container.Resolve <IExchangeMailWebApi>());
            var notifier               = new Notifier();
            var umbraco                = new UmbracoWrapper();
            var orderItemManager       = new EntityFrameworkOrderItemManager(umbraco, container.Resolve <IOrderItemSearcher>());
            var legacyOrderItemManager = new OrderItemManager(umbraco);
            var providerService        = new ProviderService(container.Resolve <IOrderItemSearcher>());
            var bulkDataManager        = new BulkDataManager(container.Resolve <IOrderItemSearcher>());

            // Connect instances that depend on eachother.
            notifier.SetOrderItemManager(orderItemManager, umbraco);
            orderItemManager.SetNotifier(notifier);

            // Hook up everything that is needed for us to function.
            container.RegisterInstance(typeof(UmbracoContext), UmbracoContext.Current);
            container.RegisterInstance(typeof(IMemberInfoManager), new MemberInfoManager());
            container.RegisterInstance(typeof(IUmbracoWrapper), umbraco);
            container.RegisterInstance(typeof(INotifier), notifier);
            container.RegisterInstance(typeof(IOrderItemManager), orderItemManager);
            container.RegisterInstance <IOrderItemManager>("Legacy", legacyOrderItemManager);
            container.RegisterInstance(typeof(IAutomaticMailSendingEngine), new AutomaticMailSendingEngine(container.Resolve <IOrderItemSearcher>(), templateService, orderItemManager, mailService));
            container.RegisterInstance(typeof(IMailService), mailService);
            container.RegisterInstance(typeof(IProviderService), providerService);
            container.RegisterInstance(typeof(IBulkDataManager), bulkDataManager);
            container.RegisterInstance <IPatronDataProvider>(new FolioPatronDataProvider(templateService, affiliationDataProvider).Connect());
        }