コード例 #1
0
        private static void GetEntityView()
        {
            Console.WriteLine("Begin GetEntityView");

            var csrSheila = new CsrSheila();
            var container = csrSheila.Context.ShopsContainer();

            Action action = null;

            try
            {
                action = () => Proxy.GetValue(container.GetEntityView("fakeentityid", "Master", string.Empty, string.Empty));
            }
            catch (DataServiceQueryException)
            {
                action?.ShouldThrow <DataServiceQueryException>();
            }

            try
            {
                action = () => Proxy.GetValue(container.GetEntityView(null, "Master", string.Empty, string.Empty));
            }
            catch (DataServiceQueryException)
            {
                action?.ShouldThrow <DataServiceQueryException>();
            }
        }
コード例 #2
0
        private static void SetSnapshotApprovalStatus()
        {
            using (new SampleMethodScope())
            {
                var container = new CsrSheila().Context.ShopsContainer();

                var snapshotDate = DateTimeOffset.Now.AddDays(30);
                var result       = Proxy.DoCommand(container.AddPriceSnapshot(_cardFriendlyId, snapshotDate));
                result.Messages.Should().NotContainErrors();
                result.Models.OfType <PriceSnapshotAdded>().FirstOrDefault().Should().NotBeNull();
                var snapshotId = result.Models.OfType <PriceSnapshotAdded>().FirstOrDefault()?.PriceSnapshotId;

                result = Proxy.DoCommand(Container.AddPriceTier(_cardFriendlyId, snapshotId, "USD", 3, 13));
                result.Messages.Should().NotContainErrors();
                result.Models.OfType <PriceTierAdded>().FirstOrDefault().Should().NotBeNull();

                result = Proxy.DoCommand(
                    container.SetPriceSnapshotsApprovalStatus(
                        _cardFriendlyId,
                        new List <string> {
                    snapshotId
                },
                        "ReadyForApproval",
                        "my comment"));
                result.Messages.Should().NotContainErrors();
                result.Messages.Any(m => m.Code.Equals("information", StringComparison.OrdinalIgnoreCase))
                .Should()
                .BeTrue();
            }
        }
コード例 #3
0
        public static void RunScenarios()
        {
            using (new SampleScenarioScope("Composer"))
            {
                var context = new CsrSheila().Context;
                context.Environment = EnvironmentConstants.AdventureWorksAuthoring;
                _authoringContainer = context.ShopsContainer();

                var templates = GetComposerTemplates();
                GetComposerTemplate(templates.FirstOrDefault().Id);
            }
        }
コード例 #4
0
        private static void GetEntityView()
        {
            using (new SampleMethodScope())
            {
                var csrSheila = new CsrSheila();
                var container = csrSheila.Context.ShopsContainer();

                Proxy.GetValue(container.GetEntityView("fakeentityid", "Master", string.Empty, string.Empty));

                Proxy.GetValue(container.GetEntityView(null, "Master", string.Empty, string.Empty));
            }
        }
        public static void RunScenarios()
        {
            using (new SampleScenarioScope("Composer UX"))
            {
                var partial = $"{Guid.NewGuid():N}".Substring(0, 5);
                _templateId              = $"Entity-ComposerTemplate-MyConsoleTemplate{partial}";
                _composerViewName        = $"MyConsoleView{partial}";
                _composerViewDisplayName = $"My Console View {partial}";
                _templateName            = $"MyConsoleTemplate{partial}";

                _entityId = $"ConsoleComposerProduct{partial}".ToEntityId <Plugin.Catalog.SellableItem>();
                EngineExtensions.AddSellableItem(_entityId, CatalogName.ToEntityId <Sitecore.Commerce.Plugin.Catalog.Catalog>(), CatalogName, CatalogName);

                var context = new CsrSheila().Context;
                context.Environment = EnvironmentConstants.AdventureWorksAuthoring;
                _authoringContainer = context.ShopsContainer();

                var composerEntityViewItemId = AddChildView();
                AddProperties(composerEntityViewItemId, _entityId);
                EditView(composerEntityViewItemId, _entityId);
                AddMinMaxPropertyConstraint(composerEntityViewItemId, _entityId);
                AddSelectionOptionPropertyConstraint(composerEntityViewItemId, _entityId);
                RemoveProperty(composerEntityViewItemId, _entityId);
                RemoveView(composerEntityViewItemId, _entityId);

                composerEntityViewItemId = AddChildView();
                MakeTemplate(composerEntityViewItemId);
                RemoveView(composerEntityViewItemId, _entityId);

                composerEntityViewItemId = AddChildViewFromTemplate();
                RemoveView(composerEntityViewItemId, _entityId);

                var composerTemplateViewItemId = GetTemplateViews();
                ManageTemplateTags();
                LinkTemplateToEntities();
                AddProperties(composerTemplateViewItemId, _templateId);
                EditView(composerTemplateViewItemId, _templateId);
                AddMinMaxPropertyConstraint(composerTemplateViewItemId, _templateId);
                AddSelectionOptionPropertyConstraint(composerTemplateViewItemId, _templateId);
                RemoveProperty(composerTemplateViewItemId, _templateId);
                RemoveTemplate();

                CreateTemplate();
            }
        }
        public static void RunScenarios()
        {
            var watch = new Stopwatch();

            watch.Start();

            System.Console.WriteLine("Begin Composer");

            var context = new CsrSheila().Context;

            context.Environment = "AdventureWorksAuthoring";
            _authoringContainer = context.ShopsContainer();

            var composerEntityViewItemId = AddChildView();

            AddProperties(composerEntityViewItemId, EntityId);
            EditView(composerEntityViewItemId, EntityId);
            AddMinMaxPropertyConstraint(composerEntityViewItemId, EntityId);
            AddSelectionOptionPropertyConstraint(composerEntityViewItemId, EntityId);
            RemoveProperty(composerEntityViewItemId, EntityId);
            RemoveView(composerEntityViewItemId, EntityId);

            composerEntityViewItemId = AddChildView();
            MakeTemplate(composerEntityViewItemId);
            RemoveView(composerEntityViewItemId, EntityId);

            composerEntityViewItemId = AddChildViewFromTemplate();
            RemoveView(composerEntityViewItemId, EntityId);

            var composerTemplateViewItemId = GetTemplateViews();

            ManageTemplateTags();
            LinkTemplateToEntities();
            AddProperties(composerTemplateViewItemId, TemplateId);
            EditView(composerTemplateViewItemId, TemplateId);
            AddMinMaxPropertyConstraint(composerTemplateViewItemId, TemplateId);
            AddSelectionOptionPropertyConstraint(composerTemplateViewItemId, TemplateId);
            RemoveProperty(composerTemplateViewItemId, TemplateId);
            RemoveTemplate();

            watch.Stop();

            System.Console.WriteLine($"End Composer :{watch.ElapsedMilliseconds} ms");
        }
        public static void RunScenarios()
        {
            var watch = new Stopwatch();

            watch.Start();

            Console.WriteLine("Begin Composer");

            var context = new CsrSheila().Context;

            context.Environment = "AdventureWorksAuthoring";
            _authoringContainer = context.ShopsContainer();

            GetComposerTemplate("MyConsoleTemplate");
            GetComposerTemplates();

            watch.Stop();

            Console.WriteLine($"End PricingBooksAndCards :{watch.ElapsedMilliseconds} ms");
        }
コード例 #8
0
        private static void SetSnapshotApprovalStatus()
        {
            Console.WriteLine("Begin SetSnapshotApprovalStatusUX");

            var container = new CsrSheila().Context.ShopsContainer();

            var result = Proxy.DoCommand(container.AddPriceCard(BookId, "consoleapprovalpricecard", "displayname", "description"));

            result.Messages.Any(m => m.Code.Equals("error", StringComparison.OrdinalIgnoreCase)).Should().BeFalse();
            var cardFriendlyId = result.Models.OfType <PriceCardAdded>().FirstOrDefault()?.PriceCardFriendlyId;

            cardFriendlyId.Should().NotBeNullOrEmpty();
            var cardId = $"Entity-PriceCard-{cardFriendlyId}";

            var snapshotDate = DateTimeOffset.Now.AddDays(3);

            result = Proxy.DoCommand(container.AddPriceSnapshot(cardId, snapshotDate));
            result.Messages.Any(m => m.Code.Equals("error", StringComparison.OrdinalIgnoreCase)).Should().BeFalse();
            var snapshotId = result.Models.OfType <PriceSnapshotAdded>().FirstOrDefault()?.PriceSnapshotId;

            result = Proxy.DoCommand(ShopsContainer.AddPriceTier(cardId, snapshotId, "USD", 3, 13));
            result.Messages.Any(m => m.Code.Equals("error", StringComparison.OrdinalIgnoreCase)).Should().BeFalse();
            result.Models.OfType <PriceTierAdded>().FirstOrDefault().Should().NotBeNull();

            // REQUEST APPROVAL
            var view = Proxy.GetValue(container.GetEntityView(cardId, "SetSnapshotApprovalStatus", "RequestSnapshotApproval", snapshotId));

            view.Should().NotBeNull();
            view.Policies.Should().BeEmpty();
            view.Properties.Should().NotBeEmpty();
            view.ChildViews.Should().BeEmpty();
            view.Properties.FirstOrDefault(p => p.Name.Equals("Comment")).Value = "request approval comment";
            result = Proxy.DoCommand(container.DoAction(view));
            result.Messages.Any(m => m.Code.Equals("error", StringComparison.OrdinalIgnoreCase)).Should().BeFalse();
            result.Messages.Any(m => m.Code.Equals("information", StringComparison.OrdinalIgnoreCase)).Should().BeTrue();

            var card     = Pricing.GetPriceCard(cardFriendlyId);
            var snapshot = card.Snapshots.FirstOrDefault(s => s.Id.Equals(snapshotId, StringComparison.OrdinalIgnoreCase));

            snapshot.Should().NotBeNull();
            snapshot?.SnapshotComponents.OfType <ApprovalComponent>().FirstOrDefault().Should().NotBeNull();
            snapshot?.SnapshotComponents.OfType <ApprovalComponent>().FirstOrDefault()?.Status.Should().Be("ReadyForApproval");

            // REJECT
            view = Proxy.GetValue(container.GetEntityView(cardId, "SetSnapshotApprovalStatus", "RejectSnapshot", snapshotId));
            view.Should().NotBeNull();
            view.Policies.Should().BeEmpty();
            view.Properties.Should().NotBeEmpty();
            view.ChildViews.Should().BeEmpty();
            view.Properties.FirstOrDefault(p => p.Name.Equals("Comment")).Value = "reject comment";
            result = Proxy.DoCommand(container.DoAction(view));
            result.Messages.Any(m => m.Code.Equals("error", StringComparison.OrdinalIgnoreCase)).Should().BeFalse();
            result.Messages.Any(m => m.Code.Equals("information", StringComparison.OrdinalIgnoreCase)).Should().BeTrue();

            card     = Pricing.GetPriceCard(cardFriendlyId);
            snapshot = card.Snapshots.FirstOrDefault(s => s.Id.Equals(snapshotId, StringComparison.OrdinalIgnoreCase));
            snapshot.Should().NotBeNull();
            snapshot?.SnapshotComponents.OfType <ApprovalComponent>().FirstOrDefault().Should().NotBeNull();
            snapshot?.SnapshotComponents.OfType <ApprovalComponent>().FirstOrDefault()?.Status.Should().Be("Draft");

            view = Proxy.GetValue(ShopsContainer.GetEntityView(cardId, "SetSnapshotApprovalStatus", "RequestSnapshotApproval", snapshotId));
            view.Properties.FirstOrDefault(p => p.Name.Equals("Comment")).Value = "request approval second time comment";
            result = Proxy.DoCommand(container.DoAction(view));
            result.Messages.Any(m => m.Code.Equals("error", StringComparison.OrdinalIgnoreCase)).Should().BeFalse();
            result.Messages.Any(m => m.Code.Equals("information", StringComparison.OrdinalIgnoreCase)).Should().BeTrue();

            // APPROVE
            view = Proxy.GetValue(container.GetEntityView(cardId, "SetSnapshotApprovalStatus", "ApproveSnapshot", snapshotId));
            view.Should().NotBeNull();
            view.Policies.Should().BeEmpty();
            view.Properties.Should().NotBeEmpty();
            view.ChildViews.Should().BeEmpty();
            view.Properties.FirstOrDefault(p => p.Name.Equals("Comment")).Value = "approve comment";
            result = Proxy.DoCommand(container.DoAction(view));
            result.Messages.Any(m => m.Code.Equals("error", StringComparison.OrdinalIgnoreCase)).Should().BeFalse();
            result.Messages.Any(m => m.Code.Equals("information", StringComparison.OrdinalIgnoreCase)).Should().BeTrue();

            card     = Pricing.GetPriceCard(cardFriendlyId);
            snapshot = card.Snapshots.FirstOrDefault(s => s.Id.Equals(snapshotId, StringComparison.OrdinalIgnoreCase));
            snapshot.Should().NotBeNull();
            snapshot?.SnapshotComponents.OfType <ApprovalComponent>().FirstOrDefault().Should().NotBeNull();
            snapshot?.SnapshotComponents.OfType <ApprovalComponent>().FirstOrDefault()?.Status.Should().Be("Approved");

            // RETRACT
            view = Proxy.GetValue(container.GetEntityView(cardId, "SetSnapshotApprovalStatus", "RetractSnapshot", snapshotId));
            view.Should().NotBeNull();
            view.Policies.Should().BeEmpty();
            view.Properties.Should().NotBeEmpty();
            view.ChildViews.Should().BeEmpty();
            view.Properties.FirstOrDefault(p => p.Name.Equals("Comment")).Value = "retract comment";
            result = Proxy.DoCommand(container.DoAction(view));
            result.Messages.Any(m => m.Code.Equals("error", StringComparison.OrdinalIgnoreCase)).Should().BeFalse();
            result.Messages.Any(m => m.Code.Equals("information", StringComparison.OrdinalIgnoreCase)).Should().BeTrue();

            card     = Pricing.GetPriceCard(cardFriendlyId);
            snapshot = card.Snapshots.FirstOrDefault(s => s.Id.Equals(snapshotId, StringComparison.OrdinalIgnoreCase));
            snapshot.Should().NotBeNull();
            snapshot?.SnapshotComponents.OfType <ApprovalComponent>().FirstOrDefault().Should().NotBeNull();
            snapshot?.SnapshotComponents.OfType <ApprovalComponent>().FirstOrDefault()?.Status.Should().Be("Draft");
        }