示例#1
0
        public void DeleteTaskLogTest()
        {
            Task taskrow1;

            taskrow1 = Tasks.AddTask("TaskTest1", Tasks.RootTask.Id);

            Log log1;

            log1 = Logs.AddLog(taskrow1.Id);

            Logs.DeleteLog(log1.Id);
            Log deletedLog;

            deletedLog = Logs.FindById(log1.Id);
            Task idleTaskRow;

            idleTaskRow = Tasks.FindById(deletedLog.TaskId);
            Assert.AreEqual(Tasks.IdleTask.Id, idleTaskRow.Id);

            Logs.UpdateLogTaskId(log1.Id, taskrow1.Id);
            Log updatedRow;

            updatedRow = Logs.FindById(log1.Id);
            Assert.AreEqual(taskrow1.Id, updatedRow.TaskId);

            Logs.DeleteLog(log1.Id);
            deletedLog  = Logs.FindById(log1.Id);
            idleTaskRow = Tasks.FindById(deletedLog.TaskId);
            Assert.AreEqual(Tasks.IdleTask.Id, idleTaskRow.Id);
        }
示例#2
0
        public void LoogingTest()
        {
            Logs.StartLogging();

            Log row1;

            row1 = Logs.AddLog(Tasks.RootTask.Id);

            Thread.Sleep(3000);

            Log row2;

            row2 = Logs.AddLog(Tasks.RootTask.Id);

            Thread.Sleep(2000);

            Logs.StopLogging();

            row1 = Logs.FindById(row1.Id);
            row2 = Logs.FindById(row2.Id);

            Assert.IsTrue(row1.Duration >= 3, row1.Duration.ToString());

            Assert.IsTrue(row2.Duration >= 2, row2.Duration.ToString());

            Assert.AreEqual(1, afterStartLoggingCount);
            Assert.AreEqual(1, afterStopLogging);
            Assert.IsTrue(tasksLogDurationCountElapsed >= 5);
        }
示例#3
0
        public void ChangeLogsTaskIdTest()
        {
            Task taskrow1;

            taskrow1 = Tasks.AddTask("TaskTest1", Tasks.RootTask.Id);

            Logs.AddLog(taskrow1.Id);
            Logs.AddLog(taskrow1.Id);
            Logs.AddLog(taskrow1.Id);
            Logs.AddLog(taskrow1.Id);
            Logs.AddLog(taskrow1.Id);

            Task taskrow2;

            taskrow2 = Tasks.AddTask("TaskTest2", Tasks.RootTask.Id);

            Logs.ChangeLogsTaskId(taskrow1.Id, taskrow2.Id);

            ArrayList list = Logs.GetLogsByTask(taskrow2.Id);

            Assert.AreEqual(5, list.Count);

            list = Logs.GetLogsByTask(taskrow1.Id);
            Assert.AreEqual(0, list.Count);
        }
示例#4
0
        public void DeleteCurrentTaskTest()
        {
            Task task;

            task = Tasks.AddTask("TaskTest", Tasks.RootTask.Id);
            Logs.AddLog(task.Id);
            Tasks.DeleteTask(task.Id);
        }
示例#5
0
        public void GetApplicationsLogTest()
        {
            Logs.AddLog(Tasks.RootTask.Id);
            Thread.Sleep(6);
            ArrayList apps;

            apps = ApplicationsLog.GetApplicationsLog(Tasks.RootTask.Id);
            Assert.IsNotNull(apps);
        }
示例#6
0
 public async Task AddLog(string Token, string Studio, string Header, string Description, string detail, string IsNotifaction)
 {
     if (await Logs.AddLog(Token, Studio, Header, Description, detail, IsNotifaction))
     {
         Response.StatusCode = Ok().StatusCode;
     }
     else
     {
         Response.StatusCode = BadRequest().StatusCode;
     }
 }
示例#7
0
        public void DeleteChildOfCurrentTaskTest()
        {
            Task task1;

            task1 = Tasks.AddTask("TaskTest1", Tasks.RootTask.Id);

            Task task2;

            task2 = Tasks.AddTask("TaskTest2", task1.Id);

            Logs.AddLog(task2.Id);
            Tasks.DeleteTask(task1.Id);
        }
示例#8
0
        public void UpdateTaskLogTest()
        {
            int taskId1 = Tasks.AddTask("TaskTest1", Tasks.RootTask.Id).Id;

            int taskId2 = Tasks.AddTask("TaskTest2", Tasks.RootTask.Id).Id;

            Log logRow;

            logRow = Logs.AddLog(taskId1);

            logRow.TaskId = taskId2;
            Logs.UpdateLogTaskId(logRow.Id, logRow.TaskId);

            Assert.AreEqual(taskId2, Tasks.CurrentTask.Id);
            Assert.AreEqual(1, this.tasksLogRowChangedEvent_RowUpdatedCount);
        }
示例#9
0
        public void GetLogsByTaskTest()
        {
            Task taskrow1;

            taskrow1 = Tasks.AddTask("TaskTest1", Tasks.RootTask.Id);

            Logs.AddLog(taskrow1.Id);
            Logs.AddLog(taskrow1.Id);
            Logs.AddLog(taskrow1.Id);
            Logs.AddLog(taskrow1.Id);
            Logs.AddLog(taskrow1.Id);

            ArrayList list = Logs.GetLogsByTask(taskrow1.Id);

            Assert.AreEqual(5, list.Count);
        }
示例#10
0
        public void AddTasksLogRowTest()
        {
            int id = Tasks.AddTask("AddTaskTest", Tasks.RootTask.Id).Id;

            Log log;

            log = Logs.AddLog(id);
            Assert.AreEqual(id, Tasks.CurrentTask.Id);
            Assert.AreEqual(1, this.tasksLogRowChangedEvent_RowAddedCount);

            Log addedLog;

            addedLog = Logs.FindById(log.Id);
            Assert.AreEqual(0, addedLog.Duration);
            Assert.AreEqual(DateTime.Today, addedLog.InsertTime.Date);
            Assert.AreEqual(id, addedLog.TaskId);
        }
示例#11
0
文件: Mouse.cs 项目: Freda66/Agilus
        /// <summary>
        ///
        /// </summary>
        public void Calibrate()
        {
            #region Variables
            Vector3D Translation;
            #endregion

            #region Loop for the calibration
            while (!_calibrationEnd)
            {
                Translation = GetTranslationVector();
                //Logs.AddLog("info", string.Format("MOUSE :  X : {0} | Y : {1} | Z : {2}", Translation.X, Translation.Y, Translation.Z));

                #region Get max X for calibration
                if (Translation.X > MaxTransX)
                {
                    MaxTransX = Translation.X;
                    Logs.AddLog("info", string.Format("MOUSE :  X : {0} | Y : {1} | Z : {2}", MaxTransX, MaxTransY, MaxTransZ));
                }
                #endregion

                #region Get max Y for calibration
                if (Translation.Y > MaxTransY)
                {
                    MaxTransY = Translation.Y;
                    Logs.AddLog("info", string.Format("MOUSE :  X : {0} | Y : {1} | Z : {2}", MaxTransX, MaxTransY, MaxTransZ));
                }
                #endregion

                #region Get max Z for calibration
                if (Translation.Z > MaxTransZ)
                {
                    MaxTransZ = Translation.Z;
                    Logs.AddLog("info", string.Format("MOUSE :  X : {0} | Y : {1} | Z : {2}", MaxTransX, MaxTransY, MaxTransZ));
                }
                #endregion
            }
            Logs.AddLog("info", "End Calibration mouse");
            MouseInfos.IsCalibrated = true;
            #endregion
        }
示例#12
0
        public void UpdateParentTaskMergeExistingTask()
        {
            Task task1;

            task1 = Tasks.AddTask("Parent Task", Tasks.RootTask.Id);

            Task task2;

            task2 = Tasks.AddTask("To Be Merged Task", Tasks.RootTask.Id);

            Task task3;

            task3 = Tasks.AddTask(task2.Description, task1.Id);

            Log log2 = Logs.AddLog(task2.Id);
            Log log3 = Logs.AddLog(task3.Id);

            Tasks.UpdateParentTask(task3.Id, Tasks.RootTask.Id);

            Assert.IsNull(Tasks.FindById(task3.Id));            //row3 is deleted

            Assert.AreEqual(task2.Id, Logs.FindById(log2.Id).TaskId);
            Assert.AreEqual(task2.Id, Logs.FindById(log3.Id).TaskId);            //log3 changes task
        }
示例#13
0
文件: Mouse.cs 项目: Freda66/Agilus
        /// <summary>
        ///
        /// </summary>
        public void Loop()
        {
            #region Variables
            Vector3D  VectorNorm = new Vector3D();
            Vector3D  Translation;
            AngleAxis Rotation;

            var Norm = Math.Sqrt(Math.Pow(MaxTransX, 2) + Math.Pow(MaxTransY, 2) + Math.Pow(MaxTransZ, 2));
            #endregion

            #region Loop which get the information from the mouse and convert to the movement of the robot
            while (!_shouldStop)
            {
                Translation = GetTranslationVector();
                Rotation    = GetRotationAxis();

                #region Normalization of the vector of the mouse
                VectorNorm.X = Translation.X / Norm;
                VectorNorm.Y = Translation.Y / Norm;
                VectorNorm.Z = Translation.Z / Norm;
                #endregion

                #region Error due to a vector's component upper than 1.0
                if (VectorNorm.X > 1.0 || VectorNorm.Y > 1.0 || VectorNorm.Z > 1.0)
                {
                    Logs.AddLog("Error", "In mouse loop: vector > 1");
                    _shouldStop = true;
                }
                #endregion

                #region Movement vector send to the robot
                // Translation alone
                if (Math.Abs(VectorNorm.X) > Treshold || Math.Abs(VectorNorm.Y) > Treshold || Math.Abs(VectorNorm.Z) > Treshold)
                {
                    MoveByVector.X   = VectorNorm.X * VitesseTranslation;
                    MoveByVector.Y   = VectorNorm.Y * VitesseTranslation;
                    MoveByVector.Z   = VectorNorm.Z * VitesseTranslation;
                    RotateByVector.X = 0.0;
                    RotateByVector.Y = 0.0;
                    RotateByVector.Z = 0.0;
                }
                // Rotation alone
                else if (Math.Abs(Rotation.X) > Treshold || Math.Abs(Rotation.Y) > Treshold || Math.Abs(Rotation.Z) > Treshold)
                {
                    MoveByVector.X = 0.0;
                    MoveByVector.Y = 0.0;
                    MoveByVector.Z = 0.0;

                    #region Rotation X first
                    if (Math.Abs(Rotation.X) > Math.Abs(Rotation.Y) && Math.Abs(Rotation.X) > Math.Abs(Rotation.Z))
                    {
                        if (Rotation.X > 0)
                        {
                            RotateByVector.X = Rotation.Angle * VitesseRotation;
                        }
                        else
                        {
                            RotateByVector.X = -Rotation.Angle * VitesseRotation;
                        }
                        RotateByVector.Y = 0.0;
                        RotateByVector.Z = 0.0;
                    }
                    #endregion

                    #region Rotation Y first
                    if (Math.Abs(Rotation.Y) > Math.Abs(Rotation.X) && Math.Abs(Rotation.Y) > Math.Abs(Rotation.Z))
                    {
                        RotateByVector.X = 0.0;

                        if (Rotation.Y > 0)
                        {
                            RotateByVector.Y = Rotation.Angle * VitesseRotation;
                        }
                        else
                        {
                            RotateByVector.Y = -Rotation.Angle * VitesseRotation;
                        }

                        RotateByVector.Z = 0.0;
                    }
                    #endregion

                    #region Rotation Z first
                    if (Math.Abs(Rotation.Z) > Math.Abs(Rotation.Y) && Math.Abs(Rotation.Z) > Math.Abs(Rotation.X))
                    {
                        RotateByVector.X = 0.0;
                        RotateByVector.Y = 0.0;

                        if (Rotation.Z > 0)
                        {
                            RotateByVector.Z = Rotation.Angle * VitesseRotation;
                        }
                        else
                        {
                            RotateByVector.Z = -Rotation.Angle * VitesseRotation;
                        }
                    }
                    #endregion
                }
                else
                {
                    MoveByVector.X   = 0.0;
                    MoveByVector.Y   = 0.0;
                    MoveByVector.Z   = 0.0;
                    RotateByVector.X = 0.0;
                    RotateByVector.Y = 0.0;
                    RotateByVector.Z = 0.0;
                }
                #endregion
                //Logs.AddLog("info", string.Format("Mouse rotation: X: {0} | Y: {1} | Z: {2}", RotateByVector.X, RotateByVector.Y, RotateByVector.Z));

                CartPosition = new CartesianPosition()
                {
                    X = -MoveByVector.Z,
                    Y = -MoveByVector.X,
                    Z = MoveByVector.Y,
                    A = -RotateByVector.Z,
                    B = -RotateByVector.X,
                    C = RotateByVector.Y
                };
            }
            #endregion
        }
        public void GetApplicationSummaryTest()
        {
            int taskId1 = Tasks.AddTask("TaskTest1", Tasks.RootTask.Id).Id;

            int taskId2 = Tasks.AddTask("TaskTest2", Tasks.RootTask.Id).Id;

            int taskId3 = Tasks.AddTask("TaskTest3", taskId1).Id;

            Logs.StartLogging();
            Logs.AddLog(taskId1);
            Thread.Sleep(9000);
            Logs.AddLog(taskId1);
            Thread.Sleep(5000);

            Logs.AddLog(taskId2);
            Thread.Sleep(8000);
            Logs.AddLog(taskId2);
            Thread.Sleep(9000);

            Logs.AddLog(taskId3);
            Thread.Sleep(9000);
            Logs.AddLog(taskId3);
            Thread.Sleep(7000);

            Logs.StopLogging();

            ArrayList result;

            result =
                ApplicationSummaries.GetApplicationsSummary(Tasks.RootTask.Id, DateTime.Today,
                                                            DateTime.Today.AddDays(1).AddSeconds(-1));
            Assert.IsTrue(result.Count > 0);
            double total = 0;

            foreach (ApplicationSummary applicationSummary in result)
            {
                total += applicationSummary.TotalActiveTime;
            }
            Assert.IsTrue(total > 0);

            result = ApplicationSummaries.GetApplicationsSummary(taskId1, DateTime.Today, DateTime.Today.AddDays(1).AddSeconds(-1));
            double totalTask1 = 0;

            foreach (ApplicationSummary applicationSummary in result)
            {
                totalTask1 += applicationSummary.TotalActiveTime;
            }
            Assert.IsTrue(totalTask1 > 0);
            Assert.IsTrue(totalTask1 < total);

            result = ApplicationSummaries.GetApplicationsSummary(taskId2, DateTime.Today, DateTime.Today.AddDays(1).AddSeconds(-1));
            double totalTask2 = 0;

            foreach (ApplicationSummary applicationSummary in result)
            {
                totalTask2 += applicationSummary.TotalActiveTime;
            }
            Assert.IsTrue(totalTask2 > 0);
            Assert.IsTrue(totalTask2 < total);

            result = ApplicationSummaries.GetApplicationsSummary(taskId3, DateTime.Today, DateTime.Today.AddDays(1).AddSeconds(-1));
            double totalTask3 = 0;

            foreach (ApplicationSummary applicationSummary in result)
            {
                totalTask3 += applicationSummary.TotalActiveTime;
            }
            Assert.IsTrue(totalTask3 > 0);
            Assert.IsTrue(totalTask3 < total);

            Assert.IsTrue(totalTask1 + totalTask2 <= total);
            Assert.IsTrue(totalTask3 < totalTask1);
        }
示例#15
0
 private void AddTaskLog(int taskId, int defaultMins)
 {
     Logs.AddLog(taskId);
     ResetNotifyTimer(defaultMins);
 }
示例#16
0
        public async Task VerifiePay(string Token, string Studio, string Detail)
        {
            if (await CheackToken(Token))
            {
                var DeserilseDetail = BsonDocument.Parse(Detail);

                var client = new RestClient("https://api.idpay.ir/v1.1/payment/verify");
                client.Timeout = -1;
                client.ClearHandlers();
                var request = new RestRequest(Method.POST);
                request.AddHeader("Content-Type", "application/json");
                request.AddHeader("X-API-KEY", "a14190c5-c321-4a93-bdcc-e9f753608e00");
                //request.AddHeader("X-SANDBOX", "1");
                request.AddHeader("Cookie", "SSESS39ff69be91203b0b4d2039dd7a713620=7epaMgKagAqyX9SlMEc4j3MKve3PrWsPwYQQ5J0re20");
                request.AddParameter("application/json", DeserilseDetail.ToString(), ParameterType.RequestBody);
                var response = await client.ExecuteAsync(request);

                if (response.StatusCode == System.Net.HttpStatusCode.OK)
                {
                    var Paymentlog = await Client.GetDatabase("Users").GetCollection <BsonDocument>("Payments").FindAsync(new BsonDocument {
                        { "DetailPay.id", DeserilseDetail["id"] }
                    }).Result.SingleAsync();

                    var Update = new UpdateDefinitionBuilder <BsonDocument>().Inc("Monetiz.Cash", Paymentlog["Request"]["amount"]);

                    await Client.GetDatabase(Studio).GetCollection <BsonDocument>("Setting").UpdateOneAsync(new BsonDocument {
                        { "_id", "Setting" }
                    }, Update);

                    var Update1 = new UpdateDefinitionBuilder <BsonDocument>().Set("Status", 200);

                    await Client.GetDatabase("Users").GetCollection <BsonDocument>("Payments").UpdateOneAsync(new BsonDocument {
                        { "DetailPay.id", DeserilseDetail["id"] }
                    }, Update1);


                    //add payment
                    try
                    {
                        var Update2 = new UpdateDefinitionBuilder <BsonDocument>().Push <BsonDocument>("Monetiz.PaymentList", Paymentlog);

                        await Client.GetDatabase(Studio).GetCollection <BsonDocument>("Setting").UpdateOneAsync(new BsonDocument {
                            { "_id", "Setting" }
                        }, Update2);
                    }
                    catch (Exception)
                    {
                        throw;
                    }

                    //add log
                    try
                    {
                        await log.AddLog(Token, Studio, "Payments", $"The amount \" { Paymentlog["Request"]["amount"] } \" was credited to your account", Paymentlog.ToString(), "true");
                    }
                    catch (Exception)
                    {
                    }

                    //send email
                    try
                    {
                        var BodyMessage = new MailMessage(
                            "*****@*****.**",
                            Paymentlog["Request"]["mail"].ToString(),
                            "Payment was successful",
                            body: "Hi" +
                            "\n" +
                            $"Your payment for \" {Paymentlog["Detail"]["Studio"]} \" Studio was successful." +
                            "\n\n" +
                            $"Payment tracking number:{Paymentlog["Request"]["order_id"]}" +
                            $"\n\n" +
                            "Tanks" +
                            "\n" +
                            "Backendi.ir"
                            );

                        BasicAPIs.SendMail_Pay(BodyMessage);
                    }
                    catch (Exception)
                    {
                    }

                    Response.StatusCode = Ok().StatusCode;
                }
                else
                {
                    Response.StatusCode = BadRequest().StatusCode;
                }
            }
            else
            {
                Response.StatusCode = BadRequest().StatusCode;
            }
        }
示例#17
0
        public void GetTaskSummaryTest()
        {
            Task task1;

            task1 = Tasks.AddTask("TaskTest1", Tasks.RootTask.Id, true);

            Task task2;

            task2 = Tasks.AddTask("TaskTest2", Tasks.RootTask.Id, true);

            Task task3;

            task3 = Tasks.AddTask("TaskTest3", task1.Id, true);

            Task task4;

            task4 = Tasks.AddTask("TaskTest4", task1.Id, false);

//			Task row4;
//			row4 = new Task();
//			row4.IsDefaultTask = true;
//			row4.Description = DefaultTasks.GetDefaultTask(3).Description;
//			row4.DefaultTaskId = DefaultTasks.GetDefaultTask(3).DefaultTaskId;
//			row4.ParentId = row1.Id;
//			row4.Id = Tasks.AddTasksRow(row4);

            Logs.StartLogging();
            Logs.AddLog(task1.Id);
            Thread.Sleep(3000);
            Logs.AddLog(task1.Id);
            Thread.Sleep(2000);

            Logs.AddLog(task2.Id);
            Thread.Sleep(1000);
            Logs.AddLog(task2.Id);
            Thread.Sleep(1000);

            Logs.AddLog(task3.Id);
            Thread.Sleep(1000);
            Logs.AddLog(task3.Id);
            Thread.Sleep(2000);

            Logs.AddLog(task4.Id);
            Thread.Sleep(1000);
            Logs.AddLog(task4.Id);
            Thread.Sleep(2000);

            Logs.StopLogging();

            //row1 ->5 + 3
            ////row3->3
            ////row4->3
            //row2 ->2

            ArrayList result;

            result = TasksSummaries.GetTaskSummary(Tasks.RootTask, DateTime.Today, DateTime.Today.AddDays(1).AddSeconds(-1));
            Assert.AreEqual(2, result.Count);
            TaskSummary sum1 = FindTaskSummaryByTaskId(result, task1.Id);

            Assert.IsTrue(sum1.TotalActiveTime >= 8);
            Assert.IsTrue(sum1.TotalInactiveTime >= 3);
            TaskSummary sum2 = FindTaskSummaryByTaskId(result, task2.Id);

            Assert.IsTrue(sum2.TotalActiveTime >= 2);
            Assert.IsTrue(sum2.TotalInactiveTime == 0);

            result = TasksSummaries.GetTaskSummary(task1, DateTime.Today, DateTime.Today.AddDays(1).AddSeconds(-1));
            Assert.AreEqual(3, result.Count);
            sum1 = FindTaskSummaryByTaskId(result, task1.Id);
            Assert.IsTrue(sum1.TotalActiveTime >= 5);
            Assert.IsTrue(sum1.TotalInactiveTime == 0);
            sum2 = FindTaskSummaryByTaskId(result, task3.Id);
            Assert.IsTrue(sum2.TotalActiveTime >= 3);
            Assert.IsTrue(sum2.TotalInactiveTime == 0);
            sum1 = FindTaskSummaryByTaskId(result, task4.Id);
            Assert.IsTrue(sum1.TotalActiveTime == 0);
            Assert.IsTrue(sum1.TotalInactiveTime >= 3);

            result = TasksSummaries.GetTaskSummary(task3, DateTime.Today, DateTime.Today.AddDays(1).AddSeconds(-1));
            Assert.AreEqual(1, result.Count);
            sum1 = FindTaskSummaryByTaskId(result, task3.Id);
            Assert.IsTrue(sum1.TotalActiveTime >= 3);
            Assert.IsTrue(sum1.TotalInactiveTime == 0);

            result = TasksSummaries.GetTaskSummary(task4, DateTime.Today, DateTime.Today.AddDays(1).AddSeconds(-1));
            Assert.AreEqual(1, result.Count);
            sum1 = FindTaskSummaryByTaskId(result, task4.Id);
            Assert.IsTrue(sum1.TotalActiveTime == 0);
            Assert.IsTrue(sum1.TotalInactiveTime >= 3);

            result = TasksSummaries.GetTaskSummary(task2, DateTime.Today, DateTime.Today.AddDays(1).AddSeconds(-1));
            Assert.AreEqual(1, result.Count);
            sum1 = FindTaskSummaryByTaskId(result, task2.Id);
            Assert.IsTrue(sum1.TotalActiveTime >= 2);
        }
示例#18
0
 // (0.3.0)
 public void AddLog(string code, decimal value)
 {
     Logs.AddLog(null, code, value);
 }