public void Update() { moveWithBCI(); //Basics for continuous paradigm /* * ball.transform.localPosition = Vector3.Lerp (ball.transform.localPosition, new Vector3 ((-BCI2000.Cursor_PosX_u), (BCI2000.Cursor_PosY_u)), 5f); */ //Scoreboard // pvcBox.GetComponent<Text> ().text = pvc.ToString(); // timeoutBox.GetComponent<Text> ().text = timeouts.ToString(); // hitBox.GetComponent<Text> ().text = hits.ToString(); //Buttons on Vive Controllers // Vector2 touchpad = (controller.GetAxis(Valve.VR.EVRButtonId.k_EButton_Axis0)); // triggerButtonDown = controller.GetPressDown(triggerButton); //Trigger button will be used to mark location positions // triggerButtonUp = controller.GetPressUp(triggerButton); //triggerButtonPressed = controller.GetPress(triggerButton); //if (touchpad.y > .20f || touchpad.y < -.20f) //{ //Player.transform.position += Player.transform.up*Time.deltaTime*touchpad.y*3.5f; // print (touchpad.y); // } //Start experiment and disable controller rendering if (Input.GetKey(KeyCode.A) || triggerButtonDown) { //Start BCI2000 and begin reading data // BCI2000.startExp (); //Disable controller renderer LController.SetActive(false); RController.SetActive(false); } // moveWithBCI (); /* * if (counter == 25) * { * overallNum = overallNum + 1; * counter = 0; * if (overallNum == 2 && BCI2000.Feedback == 0) * { * task = null; * OnDestroy (); * LRButton.transform.localScale = new Vector3 (.5f, 0.5f, 0.5f); * UDButton.transform.localScale = new Vector3 (.5f, 0.5f, 0.5f); * TwoDButton.transform.localScale = new Vector3 (.5f, 0.5f, 0.5f); * overallNum = 0; * } * } */ }
internal void ProcessJob() { using (var db = new LogistoDb()) { var lastJobDate = db.Job.Max(w => w.Date); while (lastJobDate.Date < DateTime.Today) { lastJobDate = lastJobDate.AddDays(1); var schedules = db.Schedule.Where(w => w.Weekday == (int)lastJobDate.DayOfWeek).ToList(); if (schedules.Count > 0) { foreach (var item in schedules) // создать задания на день { db.InsertWithIdentity(new Job { Date = new DateTime(lastJobDate.Year, lastJobDate.Month, lastJobDate.Day, item.Hour, item.Minute, 0), ScheduleId = item.ID }); } } else { db.InsertWithIdentity(new Job { Date = lastJobDate, IsDone = true }); // создать пустое задание } } var job = db.Job.FirstOrDefault(w => !w.IsDone && (w.Date < DateTime.Now)); if (job != null) { db.Job.Where(w => w.ID == job.ID).Set(s => s.IsDone, true).Update(); if (job.ScheduleId > 0) { var schedule = db.Schedule.First(w => w.ID == job.ScheduleId); switch (schedule.ReportName) { case "Контроль дебиторской задолженности": var r = new RController(); r.ControllerContext = this.ControllerContext; var users = db.Users.ToList(); foreach (var user in users) { r.SendAccountsReceivableReport(user.ID); } break; case "Рассылка уведомлений клиентам": new NotificationMailer().SendNotificationOf_ChangeDocument(job.Date); break; } } } } }