示例#1
0
        public void TestTextProcessor_ToLocalDateTimeFunctionSingleQuotes()
        {
            using (ShimsContext.Create())
            {
                DateTime     createdOnAttributeESTServer = new DateTime(2015, 04, 27, 11, 01, 00);
                string       easternZoneId = "Eastern Standard Time";
                TimeZoneInfo easternZone   = TimeZoneInfo.FindSystemTimeZoneById(easternZoneId);

                //In UTC that EST Time = 15:01
                DateTime createdOnAttribute = TimeZoneInfo.ConvertTimeToUtc(createdOnAttributeESTServer, easternZone);


                Entity recordContext = new Entity("dxtools_payment");
                recordContext["createdon"] = createdOnAttribute;
                recordContext.Id           = Guid.NewGuid();

                IOrganizationService stubOrganisationService = StubOrganizationServiceFactory.SetupIOrganisationService(recordContext, "createdon", AttributeTypeCode.DateTime);

                ITextProcessor dynTextProcessor = new DXTools.CRM.Solutions.CustomEmails.Common.TextProcessing.TextProcessor(stubOrganisationService);

                string inputText = "Your payment was created on {ToString(ToLocalDateTime(createdon,'GMT Standard Time'),'dd/MM/yyyy HH:mm')} or {createdon}, thanks. ";
                string expected  = "Your payment was created on " + "27/04/2015 16:01" + " or " + createdOnAttribute + ", thanks. ";

                string resultOuput = dynTextProcessor.Process(inputText, recordContext.ToEntityReference());

                Assert.AreEqual(expected, resultOuput);
            }
        }
示例#2
0
        public void TestTextProcessor_ToStringFunction_Currency()
        {
            using (ShimsContext.Create())
            {
                Entity parentPayment = new Entity("dxtools_payment");
                parentPayment["dxtools_amount"] = new Money(150);
                parentPayment.Id = Guid.NewGuid();
                StubData parentRecord = new StubData();
                parentRecord.Record             = parentPayment;
                parentRecord.AttributesMetadata = new AttributeMetadata[] {
                    new StubAttributeMetadata(AttributeTypeCode.Money)
                    {
                        LogicalName = "dxtools_amount"
                    }
                };

                Entity childPayment = new Entity("dxtools_payment");
                childPayment["dxtools_parentpaymentid"] = parentPayment.ToEntityReference();
                childPayment["dxtools_amount"]          = new Decimal(85);
                childPayment.Id = Guid.NewGuid();
                StubData childRecord = new StubData();
                childRecord.Record             = childPayment;
                childRecord.AttributesMetadata = new AttributeMetadata[] {
                    new StubAttributeMetadata(AttributeTypeCode.Money)
                    {
                        LogicalName = "dxtools_amount"
                    },
                    new StubAttributeMetadata(AttributeTypeCode.Lookup)
                    {
                        LogicalName = "dxtools_parentpaymentid"
                    }
                };

                List <StubData> stubData = new List <StubData>();
                stubData.Add(parentRecord);
                stubData.Add(childRecord);

                IOrganizationService stubOrganisationService = StubOrganizationServiceFactory.SetupIOrganisationService(stubData);

                ITextProcessor dynTextProcessor = new DXTools.CRM.Solutions.CustomEmails.Common.TextProcessing.TextProcessor(stubOrganisationService);

                string inputText = "Parent Payment amount: {ToString(dxtools_parentpaymentid.dxtools_amount,'0.00')}";
                string expected  = "Parent Payment amount: " + ((Money)parentPayment["dxtools_amount"]).Value.ToString("0.00");

                string resultOuput = dynTextProcessor.Process(inputText, childPayment.ToEntityReference());

                Assert.AreEqual(expected, resultOuput);
            }
        }
示例#3
0
        public void TestTextProcessor_ToStringFunctionSingleQuotes()
        {
            using (ShimsContext.Create())
            {
                DateTime createdOnAttribute = DateTime.Now;

                Entity recordContext = new Entity("dxtools_payment");
                recordContext["createdon"] = createdOnAttribute;
                recordContext.Id           = Guid.NewGuid();

                IOrganizationService stubOrganisationService = StubOrganizationServiceFactory.SetupIOrganisationService(recordContext, "createdon", AttributeTypeCode.DateTime);

                ITextProcessor dynTextProcessor = new DXTools.CRM.Solutions.CustomEmails.Common.TextProcessing.TextProcessor(stubOrganisationService);

                string inputText = "Your payment was created on {ToString(createdon,'dd/MM/yyyy')} or {createdon}, thanks. ";
                string expected  = "Your payment was created on " + DateTime.Now.ToString("dd/MM/yyyy") + " or " + createdOnAttribute + ", thanks. ";

                string resultOuput = dynTextProcessor.Process(inputText, recordContext.ToEntityReference());

                Assert.AreEqual(expected, resultOuput);
            }
        }