Пример #1
0
        public async Task <IActionResult> GenerateTest([FromBody] TestGeneration testGeneration)
        {
            var questions = await _context.Set <Question>().Include(x => x.Chapter)
                            .Where(x => testGeneration.SelectedChapters.Contains(x.ChapterId.Value))
                            .GroupBy(x => x.Chapter.Title).Select(x => new Test()
            {
                Theme     = x.Key,
                Questions = x.Select(y => new TestQuestion()
                {
                    Text = y.Text, Content = y.Content
                }).ToArray()
            }).ToArrayAsync();

            var tests = new List <Test>();

            foreach (var question in questions)
            {
                tests.Add(Generate(question, testGeneration.Percentage));
            }

            var serialized = JsonConvert.SerializeObject(tests, Formatting.Indented);

            using (var f = System.IO.File.CreateText("test.json"))
            {
                await f.WriteAsync(serialized);
            }
            return(Ok(tests));
        }
    public override void OnInspectorGUI()
    {
        TestGeneration testGeneration = (TestGeneration)target;

        if (DrawDefaultInspector())
        {
            if (testGeneration.autoUpdate)
            {
                testGeneration.TestRenderer();
            }
        }

        if (GUILayout.Button("Recurse"))
        {
            testGeneration.TestRecurse();
        }

        if (GUILayout.Button("Render"))
        {
            testGeneration.TestRenderer();
        }

        if (GUILayout.Button("Recurse & Render"))
        {
            testGeneration.RecurseAndRender();
        }

        if (GUILayout.Button("Clear All"))
        {
            testGeneration.ClearPlants();
        }
    }
Пример #3
0
        private void FastRecenterOnLock(IAsyncCallResult ar)
        {
            var asyncState = ar.AsyncState as PrinterObject;

            if (asyncState == null)
            {
                throw new Exception("Big bad C# exception");
            }

            if (ar.CallResult == CommandResult.Success_LockAcquired)
            {
                if (asyncState.Info.extruder.ishomed == Trilean.True)
                {
                    List <string> stringList = TestGeneration.FastRecenter(asyncState.MyPrinterProfile);
                    var           num        = (int)asyncState.SendManualGCode(new M3D.Spooling.Client.AsyncCallback(ReleaseAfterCommand), asyncState, stringList.ToArray());
                }
                else
                {
                    var num1 = (int)asyncState.SendManualGCode(new M3D.Spooling.Client.AsyncCallback(ReleaseAfterCommand), asyncState, "G28");
                }
            }
            else
            {
                asyncState.ShowLockError(ar);
            }
        }
Пример #4
0
        public void diagnosticsFrameButtonCallback(ButtonWidget button)
        {
            PrinterObject selectedPrinter = spooler_connection.SelectedPrinter;

            if (selectedPrinter == null || !selectedPrinter.IsConnected())
            {
                return;
            }

            switch (button.ID)
            {
            case 1000:
                var num1 = (int)selectedPrinter.SendEmergencyStop(null, null);
                break;

            case 1020:
                var num2 = (int)selectedPrinter.DoFirmwareUpdate();
                break;

            case 1021:
                selectedPrinter.SendCommandAutoLockRelease(new M3D.Spooling.Client.AsyncCallback(selectedPrinter.ShowLockError), selectedPrinter, "G28");
                break;

            case 1022:
                var num3 = (int)selectedPrinter.AcquireLock(new M3D.Spooling.Client.AsyncCallback(FastRecenterOnLock), selectedPrinter);
                break;

            case 1023:
                List <string> xspeedTest = TestGeneration.CreateXSpeedTest(selectedPrinter.MyPrinterProfile);
                selectedPrinter.SendCommandAutoLockRelease(new M3D.Spooling.Client.AsyncCallback(selectedPrinter.ShowLockError), selectedPrinter, xspeedTest.ToArray());
                break;

            case 1024:
                List <string> yspeedTest = TestGeneration.CreateYSpeedTest(selectedPrinter.MyPrinterProfile);
                selectedPrinter.SendCommandAutoLockRelease(new M3D.Spooling.Client.AsyncCallback(selectedPrinter.ShowLockError), selectedPrinter, yspeedTest.ToArray());
                break;

            case 1025:
                var num4 = (int)selectedPrinter.AcquireLock(new M3D.Spooling.Client.AsyncCallback(DoBacklashPrintOnLock), selectedPrinter);
                break;

            case 1026:
                List <string> xskipTestMinus = TestGeneration.CreateXSkipTestMinus(selectedPrinter.MyPrinterProfile);
                selectedPrinter.SendCommandAutoLockRelease(new M3D.Spooling.Client.AsyncCallback(selectedPrinter.ShowLockError), selectedPrinter, xskipTestMinus.ToArray());
                break;

            case 1027:
                List <string> xskipTestPlus = TestGeneration.CreateXSkipTestPlus(selectedPrinter.MyPrinterProfile);
                selectedPrinter.SendCommandAutoLockRelease(new M3D.Spooling.Client.AsyncCallback(selectedPrinter.ShowLockError), selectedPrinter, xskipTestPlus.ToArray());
                break;

            case 1028:
                List <string> yskipTestMinus = TestGeneration.CreateYSkipTestMinus(selectedPrinter.MyPrinterProfile);
                selectedPrinter.SendCommandAutoLockRelease(new M3D.Spooling.Client.AsyncCallback(selectedPrinter.ShowLockError), selectedPrinter, yskipTestMinus.ToArray());
                break;

            case 1029:
                List <string> yskipTestPlus = TestGeneration.CreateYSkipTestPlus(selectedPrinter.MyPrinterProfile);
                selectedPrinter.SendCommandAutoLockRelease(new M3D.Spooling.Client.AsyncCallback(selectedPrinter.ShowLockError), selectedPrinter, yskipTestPlus.ToArray());
                break;
            }
        }
Пример #5
0
 // partial void Awake();
 private void Start()
 {
     _ = new TestGeneration();
 }