Exemplo n.º 1
0
        public void UPTADE(TaskSCR task)
        {
            DateTime date = DateTime.Now;
            string   time = date.ToString("HH:mm:ss");
            var      json = Newtonsoft.Json.JsonConvert.SerializeObject(new
            {
                time        = time,
                blocked     = false,
                id          = task.id,
                specialUuid = "",
                content     = task.content,
                uuid        = task.uuid,
                a           = task.a,
                b           = task.b,
            });

            var request = WebRequest.CreateHttp("https://real-time-systems-project.firebaseio.com/Queue/" + task.uuid + ".json");

            request.Method      = "PATCH";
            request.ContentType = "application/json";
            var buffer = Encoding.UTF8.GetBytes(json);

            request.ContentLength = buffer.Length;
            request.GetRequestStream().Write(buffer, 0, buffer.Length);
            var response = request.GetResponse();

            json = (new StreamReader(response.GetResponseStream())).ReadToEnd();
        }
Exemplo n.º 2
0
        public void POST(TaskSCR task)
        {
            blockgeneralMutex();
            DateTime date = DateTime.Now;
            string   time = date.ToString("HH:mm:ss");
            var      json = Newtonsoft.Json.JsonConvert.SerializeObject(new
            {
                content     = task.content,
                id          = task.id,
                a           = task.a,
                b           = task.b,
                uuid        = task.uuid,
                time        = time,
                specialUuid = SPECIALUUID,
                blocked     = false,
            });

            var request = WebRequest.CreateHttp("https://real-time-systems-project.firebaseio.com/Queue/.json");

            request.Method = "POST";

            request.ContentType = "application/json";
            var buffer = Encoding.UTF8.GetBytes(json);

            request.ContentLength = buffer.Length;
            request.GetRequestStream().Write(buffer, 0, buffer.Length);
            var response = request.GetResponse();

            json = (new StreamReader(response.GetResponseStream())).ReadToEnd();
            UPTADEUUID(JsonName.convert(json));
            releasegeneralMutex();
        }
Exemplo n.º 3
0
        public TaskSCR createTask(int a, int b, int ID)
        {
            TaskSCR task = new TaskSCR();

            task.content = 0;
            task.a       = a;
            task.b       = b;
            task.id      = ID;
            task.uuid    = "ss";
            return(task);
        }
Exemplo n.º 4
0
 public void addCompletedList(TaskSCR myTask, bool isTemp)
 {
     if (isTemp)
     {
         blockCompletedTempMutex();
         tempListCompletedTasks.Add(myTask);
         releaseCompletedTempMutex();
     }
     else
     {
         blockCompletedMutex();
         listCompletedTasks.Add(myTask);
         releaseCompletedMutex();
     }
 }
Exemplo n.º 5
0
 public void addQueueList(TaskSCR myTask, bool isTemp)
 {
     if (isTemp)
     {
         blockQueueTempMutex();
         tempListQueueTasks.Add(myTask);
         releaseQueueTempMutex();
     }
     else
     {
         blockQueueMutex();
         listQueueTasks.Add(myTask);
         releaseQueueMutex();
     }
 }
Exemplo n.º 6
0
        public void createFromCompletedTasks()
        {
            while (true)
            {
                try
                {
                    string result = myDAO.READ2();
                    collection.convert(result, true);
                    collection.releaseCompletedMutex();

                    List <TaskSCR> list = collection.getCompletedList(false);
                    if (list.Count < 2)
                    {
                        if (again == 2)  // Sprawdza szybciej czy jest zadanie niż są one wykonywane na telefonie, więc jeśli jest 1 sprawdza po 1s. czy dalej jest jedno
                        {
                            MessageBox.Show("Suma: " + list[0].content);

                            foreach (Thread thread in threads)
                            {
                                thread.Abort();
                            }
                            //TaskSCR newTask = createTask(list[0].content, 0, list[0].id+1);
                            //ILOSC++;
                            //ILOSCWYKONANYCH++;
                            //myDAO.DELETE(list[0]);
                            //list.RemoveAt(0);
                            //again = false;

                            //collection.addQueueList(newTask, false);
                        }
                        else
                        {
                            again++;
                            Thread.Sleep(5000);
                        }
                    }
                    else
                    {
                        again = 0;
                        TaskSCR newTask = createTask(list[0].content, list[1].content, list[0].id + 1);
                        ILOSCWYKONANYCH += 2;
                        myDAO.DELETE(list[0]);
                        myDAO.DELETE(list[1]);

                        list.RemoveAt(1);
                        list.RemoveAt(0);

                        collection.addQueueList(newTask, false);
                    }
                    collection.releaseCompletedMutex();
                    Thread.Sleep(300);
                }
                catch (Exception e)
                {
                    Debug.WriteLine("my massage is : " + e.Message.ToString());
                }
            }

            //        List<TaskSCR> tempList = collection.getCompletedList(true);
            //        List<TaskSCR> list = collection.getCompletedList(false);
            //        string result = myDAO.READ2();
            //        collection.releaseCompletedMutex();
            //        collection.convert(result, true);
            //        collection.setList(list, tempList);
            //        collection.releaseCompletedMutex();

            //        if (tempList.Count < 2)
            //        {
            //            if (again)  /// Sprawdza szybciej czy jest zadanie niż są one wykonywane na telefonie, więc jeśli jest 1 sprawdza po 1s. czy dalej jest jedno
            //            {
            //                TaskSCR newTask = createTask(tempList[0].content, 0, id);


            //                myDAO.DELETE(tempList[0]);
            //                tempList.RemoveAt(0);
            //                again = false;

            //                collection.addQueueList(newTask, false);
            //            }
            //            else
            //            {
            //                again = true;
            //                Thread.Sleep(2000);

            //            }
            //        }
            //        else
            //        {
            //            again = false;
            //            TaskSCR newTask = createTask(tempList[0].content, tempList[1].content, id);


            //            myDAO.DELETE(tempList[0]);
            //            myDAO.DELETE(tempList[1]);
            //            tempList.RemoveAt(1);
            //            tempList.RemoveAt(0);

            //            collection.addQueueList(newTask, false);
            //        }
            //        collection.releaseCompletedTempMutex();
            //        Thread.Sleep(300);


            //    }
            //    catch (Exception e)
            //    {
            //        Debug.WriteLine("my massage is : " + e.Message.ToString());
            //    }

            //}
        }