Ejemplo n.º 1
0
        public void CSharp8SyntaxTest()
        {
            using var application = XpoInMemoryXafApplication.CreateInstance();
            using var objectSpace = application.CreateObjectSpace();
            var extract    = objectSpace.CreateObject <DashboardDataExtract>();
            var testObject = objectSpace.CreateObject <TestClassWithNameAndNumber>();

            testObject.Name             = "Name 1";
            testObject.SequentialNumber = 1;
            extract.Script = @"
					using System;
					using System.Linq;

					public class Script
					{
						private byte[] bytes = null;
	
						private byte[] LoadBytes => bytes ??= new byte[] {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};

						public object GetData(SenDev.Xaf.Dashboards.Scripting.ScriptContext context) => LoadBytes;
					}"                    ;

            objectSpace.CommitChanges();
            var dataManager = new DataExtractDataManager(application);

            dataManager.UpdateDataExtractByKey(extract.Oid);
            extract.Reload();
            Assert.Equal(new byte[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }, extract.ExtractData);
        }
Ejemplo n.º 2
0
        public void DataExtractResultTest()
        {
            using (var application = XpoInMemoryXafApplication.CreateInstance())
                using (var objectSpace = application.CreateObjectSpace())
                {
                    var extract    = objectSpace.CreateObject <DashboardDataExtract>();
                    var testObject = objectSpace.CreateObject <TestClassWithNameAndNumber>();
                    testObject.Name             = "Name 1";
                    testObject.SequentialNumber = 1;
                    extract.Script = @"using System;
					public class Script
					{
						public object GetData(SenDev.Xaf.Dashboards.Scripting.ScriptContext context)
						{
							return new byte[] {0,1,2,3,4,5,6,7,8,9};
						}
					}"                    ;

                    objectSpace.CommitChanges();
                    var dataManager = new DataExtractDataManager(application);
                    dataManager.UpdateDataExtractByKey(extract.Oid);
                    extract.Reload();
                    Assert.Equal(new byte[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }, extract.ExtractData);
                }
        }
Ejemplo n.º 3
0
        public void CompileExceptionTest()
        {
            using (var application = XpoInMemoryXafApplication.CreateInstance())
                using (var objectSpace = application.CreateObjectSpace())
                {
                    var extract    = objectSpace.CreateObject <DashboardDataExtract>();
                    var testObject = objectSpace.CreateObject <TestClassWithNameAndNumber>();
                    testObject.Name             = "Name 1";
                    testObject.SequentialNumber = 1;
                    extract.Script = @"
					using System;
					using System.Linq;

					public class Script
					{
						private byte[] bytes = null;
	
						private byte[] LoadBytes => bytes ??= new[] {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};

						public object GetData(SenDev.Xaf.Dashboards.Scripting.ScriptContext context) => LoadBytes;
					}"                    ;

                    objectSpace.CommitChanges();
                    var dataManager = new DataExtractDataManager(application);

                    var exception = Assert.Throws <InvalidOperationException>(() => dataManager.UpdateDataExtractByKey(extract.Oid));
                    Assert.StartsWith("Compilation failed:\n", exception.Message);
                }
        }
Ejemplo n.º 4
0
 public void DataExtractCollectionDataTest()
 {
     using (var application = XpoInMemoryXafApplication.CreateInstance())
         using (var objectSpace = application.CreateObjectSpace())
         {
             var extract    = objectSpace.CreateObject <DashboardDataExtract>();
             var testObject = objectSpace.CreateObject <TestClassWithNameAndNumber>();
             testObject.Name             = "Name 1";
             testObject.SequentialNumber = 1;
             extract.Script = TemplateHelper.GetScriptTemplate(testObject.GetType(), testObject.GetType().Assembly.GetManifestResourceStream("UnitTests.ScriptTemplate.template"));
             objectSpace.CommitChanges();
             var dataManager = new DataExtractDataManager(application);
             dataManager.UpdateDataExtractByKey(extract.Oid);
         }
 }
        private void UpdateDataExtractAction_Execute(object sender, SimpleActionExecuteEventArgs e)
        {
            var scheduler = Application.GetJobScheduler();

            if (scheduler != null && UpdateBySchedulerEnabled)
            {
                scheduler.StartDataExtractUpdate(ViewCurrentObject);
            }
            else
            {
                var dm = new DataExtractDataManager(Application);
                dm.UpdateDataExtractByKey(ObjectSpace.GetKeyValue(ViewCurrentObject));
                ObjectSpace.Refresh();
            }
        }
Ejemplo n.º 6
0
        private void UpdateDataExtractAction_Execute(object sender, SimpleActionExecuteEventArgs e)
        {
            var scheduler = Frame.GetController <DataExtractJobSchedulerController>().JobScheduler;

            if (scheduler != null)
            {
                scheduler.StartDataExtractUpdate(ViewCurrentObject);
            }
            else
            {
                var dm = new DataExtractDataManager(Application);
                dm.UpdateDataExtractByKey(ObjectSpace.GetKeyValue(ViewCurrentObject));
                ObjectSpace.Refresh();
            }
        }
Ejemplo n.º 7
0
        public void QueryObjectsScriptTest()
        {
            var script = @"
using System;
using System.Linq;
using DevExpress.Xpo;	
using SenDev.Xaf.Dashboards.Scripting;
using UnitTests;		


public class Script
{
    public object GetData(ScriptContext context)
    {
        return context.Query<TestClassWithNameAndNumber>();
    }
}";


            using var application = XpoInMemoryXafApplication.CreateInstance();
            using var objectSpace = application.CreateObjectSpace();
            var extract     = objectSpace.CreateObject <DashboardDataExtract>();
            var testObject1 = objectSpace.CreateObject <TestClassWithNameAndNumber>();

            testObject1.Name             = "Name 1";
            testObject1.SequentialNumber = 1;

            var testObject2 = objectSpace.CreateObject <TestClassWithNameAndNumber>();

            testObject1.Name             = "Name 2";
            testObject2.SequentialNumber = 2;
            extract.Script = script;
            objectSpace.CommitChanges();

            var dataManager = new DataExtractDataManager(application);

            dataManager.UpdateDataExtractByKey(extract.Oid);
            extract.Reload();
            Assert.NotEmpty(extract.ExtractData);
            Assert.Equal(2, extract.RowCount);
        }
Ejemplo n.º 8
0
        public void UpdateDataExtractCore(string dataExtractId)
        {
            var dataManager = new DataExtractDataManager(ServerSideApplication.Instance);

            dataManager.UpdateDataExtractByKey(Guid.Parse(dataExtractId));
        }