コード例 #1
0
        public string SaveCartAsOrder(Guid userId, Guid cartId)
        {
            try
            {
                var context = Extensions.SiteHelper.GetOrderContext();

                var basket = context.GetBasket(userId, cartId);

                bool reorder = false;
                foreach (LineItem lineItem in basket.OrderForms[0].LineItems)
                {
                    if (lineItem["LinePosition"] == null)
                    {
                        reorder = true;
                    }
                    else
                    {
                        if (lineItem["LinePosition"].Equals("0"))
                        {
                            reorder = true;
                        }
                    }
                }
                if (reorder)
                {
                    EventLogQueueRepositoryImpl eventLog = new EventLogQueueRepositoryImpl(applicationNameForLogging);
                    eventLog.WriteInformationLog("SaveCartAsOrder : reorder");
                    int startIndex = 1; // main frame needs lineposition to not be null
                    foreach (LineItem lineItem in basket.OrderForms[0].LineItems)
                    {
                        lineItem["LinePosition"] = startIndex;
                        startIndex++;
                    }
                }

                PipelineHelper pipeLineHelper = new PipelineHelper(Extensions.SiteHelper.GetSiteName());
                pipeLineHelper.RunPipeline(og: basket,
                                           transacted: true,
                                           loggingEnabled: Configuration.EnableLoggingPipeline,
                                           pipelineName: "Checkout",
                                           pipelinePath: string.Format
                                               ("{0}\\pipelines\\checkout.pcf",
                                               HttpContext.Current.Server.MapPath(".")));

                basket.TrackingNumber         = GetNextControlNumber();
                basket["OriginalOrderNumber"] = basket.TrackingNumber;
                var purchaseOrder = basket.SaveAsOrder();

                return(purchaseOrder.TrackingNumber);
            }
            catch (Exception ex)
            {
                EventLogQueueRepositoryImpl eventLog = new EventLogQueueRepositoryImpl(applicationNameForLogging);
                eventLog.WriteErrorLog("Error in SaveCartAsOrder: ", ex);

                throw ex;
            }
        }
コード例 #2
0
            public void GoodInformationLogNoException_CallsPublishToQueue()
            {
                // arrange
                MockDependents dependents       = MakeMockDependents();
                EventLogQueueRepositoryImpl log = new EventLogQueueRepositoryImpl(dependents.QueueRepository.Object);

                // act
                log.WriteInformationLog("test");

                // assert
                dependents.QueueRepository
                .Verify(x => x.PublishLogMessage(It.IsAny <LogMessage>()), Times.Once, "Not called with expected LogMessage");
            }
コード例 #3
0
            public void GoodInformationLog_CallsPublishToQueueWithExceptionMessage()
            {
                // arrange
                MockDependents dependents       = MakeMockDependents();
                EventLogQueueRepositoryImpl log = new EventLogQueueRepositoryImpl(dependents.QueueRepository.Object);
                string expected = "Something went wrong!";

                // act
                log.WriteInformationLog(expected, MakeException());

                // assert
                dependents.QueueRepository
                .Verify(x => x.PublishLogMessage(It.Is <LogMessage>(m => m.Message.Equals(expected))),
                        Times.Once,
                        "Message did not match");
            }
コード例 #4
0
            public void GoodInformationLog_CallsPublishToQueueAndSetsStackTrace()
            {
                // arrange
                MockDependents dependents       = MakeMockDependents();
                EventLogQueueRepositoryImpl log = new EventLogQueueRepositoryImpl(dependents.QueueRepository.Object);
                Exception exception             = MakeException();

                // act
                log.WriteInformationLog("Ooops!", exception);

                // assert
                dependents.QueueRepository
                .Verify(x => x.PublishLogMessage(It.Is <LogMessage>(m => m.Exception.StackTrace.Length > 0)),
                        Times.Once,
                        "StackTrace is not being set");
            }
コード例 #5
0
            public void GoodInformationLogNoException_HasProperSeverity()
            {
                // arrange
                MockDependents dependents       = MakeMockDependents();
                EventLogQueueRepositoryImpl log = new EventLogQueueRepositoryImpl(dependents.QueueRepository.Object);
                int expected = 1;

                // act
                log.WriteInformationLog("test");

                // assert
                dependents.QueueRepository
                .Verify(x => x.PublishLogMessage(It.Is <LogMessage>(m => m.EntryType.Id.Equals(expected))),
                        Times.Once,
                        "Severity level not set properly");
            }
コード例 #6
0
            public void GoodInformationLogNoException_HasProperEnvironment()
            {
                // arrange
                MockDependents dependents       = MakeMockDependents();
                EventLogQueueRepositoryImpl log = new EventLogQueueRepositoryImpl(dependents.QueueRepository.Object);
                string expected = ConfigurationHelper.GetActiveConfiguration();

                // act
                log.WriteInformationLog("test");

                // assert
                dependents.QueueRepository
                .Verify(x => x.PublishLogMessage(It.Is <LogMessage>(m => m.Application.Environment.Equals(expected))),
                        Times.Once,
                        "Application Environment not set properly");
            }
コード例 #7
0
            public void GoodInformationLog_CallsPublishToQueueAndSetsMachineName()
            {
                // arrange
                MockDependents dependents       = MakeMockDependents();
                EventLogQueueRepositoryImpl log = new EventLogQueueRepositoryImpl(dependents.QueueRepository.Object);
                Exception exception             = MakeException();

                // act
                log.WriteInformationLog("Oops!", exception);

                // assert
                dependents.QueueRepository
                .Verify(x => x.PublishLogMessage(It.Is <LogMessage>(m => m.Machine.Name.Length > 0)),
                        Times.Once(),
                        "Machine name did not get set");
            }
コード例 #8
0
            public void GoodInformationLogNoException_HasMessage()
            {
                // arrange
                MockDependents dependents       = MakeMockDependents();
                EventLogQueueRepositoryImpl log = new EventLogQueueRepositoryImpl(dependents.QueueRepository.Object);
                string expected = "test";

                // act
                log.WriteInformationLog("test");

                // assert
                dependents.QueueRepository
                .Verify(x => x.PublishLogMessage(It.Is <LogMessage>(m => m.Message.Equals(expected))),
                        Times.Once,
                        "Message was not set properly");
            }
コード例 #9
0
            public void GoodInformationLogNoException_HasApplicationName()
            {
                // arrange
                MockDependents dependents       = MakeMockDependents();
                EventLogQueueRepositoryImpl log = new EventLogQueueRepositoryImpl(dependents.QueueRepository.Object);
                string expected = ConfigurationManager.AppSettings["AppName"];

                // act
                log.WriteInformationLog("test");

                // assert
                dependents.QueueRepository
                .Verify(x => x.PublishLogMessage(It.Is <LogMessage>(m => m.Application.Name.Equals(expected))),
                        Times.Once,
                        "Application Name not set properly");
            }
コード例 #10
0
            public void GoodInformationLog_HasTheProperSeverity()
            {
                // arrange
                MockDependents dependents       = MakeMockDependents();
                EventLogQueueRepositoryImpl log = new EventLogQueueRepositoryImpl(dependents.QueueRepository.Object);
                Exception exception             = MakeException();
                int       expectedSeverity      = 1;

                // act
                log.WriteInformationLog("Oops!", exception);

                // assert
                dependents.QueueRepository
                .Verify(x => x.PublishLogMessage(It.Is <LogMessage>(m => m.EntryType.Id.Equals(expectedSeverity))),
                        Times.Once(),
                        "Severity level not set to information");
            }
コード例 #11
0
ファイル: Global.asax.cs プロジェクト: tlwilliams88/Entree
        protected void Application_Start()
        {
            try
            {
                EventLogQueueRepositoryImpl eventLog = new EventLogQueueRepositoryImpl("KeithLink.FoundationSvc");
                eventLog.WriteInformationLog("Foundation Service Starting Up");
            }
            catch (Exception ex)
            {
                string sSource = "KeithLink.FoundationSvc";
                string sLog    = "Application";
                string sEvent  = "Error trying to log in startup: " + ex.ToString();

                if (!EventLog.SourceExists(sSource))
                {
                    EventLog.CreateEventSource(sSource, sLog);
                }

                EventLog.WriteEntry(sSource, sEvent, EventLogEntryType.Error, 234);
            }
        }