Пример #1
0
        public override void OnEndGroup(GroupResult groupResult)
        {
            var task = TryGetTask(groupResult);

            if (task == null)
            {
                return;
            }

            ReportResult(task, groupResult.State, groupResult.Exception, groupResult.Name);

            foreach (var group in groupResult.Groups)
            {
                var groupTask = TryGetTask(group);
                if (groupTask == null)
                {
                    groupTask = new GroupTask(group.GetAbsoluteId(), group.Id, task.AbsoluteId, group.Name);
                    _server.CreateDynamicElement(groupTask);
                    _taskDictionary.Add(groupTask.AbsoluteId, groupTask);
                    OnEndGroup(group);
                }
            }

            foreach (var test in groupResult.Tests)
            {
                var testTask = TryGetTask(test);
                if (testTask == null)
                {
                    testTask = new TestTask(test.GetAbsoluteId(), test.Id, task.AbsoluteId, test.Name);
                    _server.CreateDynamicElement(testTask);
                    _taskDictionary.Add(testTask.AbsoluteId, testTask);
                    OnEndTest(test);
                }
            }
        }
Пример #2
0
        public async Task <Guid?> PutAsync(GroupTask model)
        {
            Guid?id = null;

            var where = new Dictionary <string, object>
            {
                { nameof(model.Name), model.Name }
            };

            var param = new ExistWithKeyModel
            {
                KeyName    = nameof(model.Id),
                KeyValue   = model.Id,
                FieldName  = nameof(model.Name),
                FieldValue = model.Name,
                WhereData  = where
            };

            if (!await _repository.IsExistDataWithKeyAsync(param))
            {
                await _repository.UpdateAsync(model);

                id = model.Id;
            }

            return(id);
        }
Пример #3
0
        public ActionResult DeleteConfirmed(int id)
        {
            GroupTask groupTask = db.GroupTasks.Find(id);

            db.GroupTasks.Remove(groupTask);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Пример #4
0
        public static string getBet(int taskid)
        {
            GroupTask task = MyTask.Find((obj) => obj.taskid == taskid);

            if (task != null)
            {
                return(task.bet);
            }
            return("unknown");
        }
Пример #5
0
 public ActionResult Edit([Bind(Include = "GTID,PTaskID,EmployeeID")] GroupTask groupTask)
 {
     if (ModelState.IsValid)
     {
         db.Entry(groupTask).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.EmployeeID = new SelectList(db.Groups, "GroupID", "GName", groupTask.EmployeeID);
     ViewBag.PTaskID    = new SelectList(db.PlantedTasks, "PTaskID", "Description", groupTask.PTaskID);
     return(View(groupTask));
 }
Пример #6
0
        // GET: GroupTasks/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            GroupTask groupTask = db.GroupTasks.Find(id);

            if (groupTask == null)
            {
                return(HttpNotFound());
            }
            return(View(groupTask));
        }
Пример #7
0
        private void Button1_Click(object sender, EventArgs e)
        {
            using (AcademyEntities db = new AcademyEntities())
            {
                decimal mark = Convert.ToDecimal(textBox1.Text);

                GroupTask groupTask = db.GroupTasks.Where(g => g.TaskId == task.Id && g.StudentId == selectedStudent).FirstOrDefault();
                groupTask.Mark = mark;
                var entry = db.Entry(groupTask);
                entry.State = EntityState.Modified;
                db.SaveChanges();
            }
            textBox1.Text = "";
            FillStudent();
        }
Пример #8
0
        // GET: GroupTasks/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            GroupTask groupTask = db.GroupTasks.Find(id);

            if (groupTask == null)
            {
                return(HttpNotFound());
            }
            ViewBag.EmployeeID = new SelectList(db.Groups, "GroupID", "GName", groupTask.EmployeeID);
            ViewBag.PTaskID    = new SelectList(db.PlantedTasks, "PTaskID", "Description", groupTask.PTaskID);
            return(View(groupTask));
        }
Пример #9
0
        public async void OnConfirm(object sender, EventArgs e)
        {
            if (taskName.Text != null)
            {
                if (Frequency.Text == null)
                {
                    await DisplayAlert("Alert", "Please input a frequency", "OK");
                }
                else
                {
                    Object selectedItem = RepetitionList.SelectedItem;
                    if (selectedItem == null)
                    {
                        await DisplayAlert("Alert", "Please select a repetition", "OK");
                    }
                    else
                    {
                        if (Penalty.Text == null)
                        {
                            await DisplayAlert("Alert", "Please write down your penalty", "OK");
                        }
                        else
                        {
                            Repetition repetition =
                                RepetitionConverter.toCreateRepetition(selectedItem.ToString());
                            int frequency = int.Parse(Frequency.Text);
                            task = new GroupTask(taskName.Text, repetition, frequency, datepicker.Date, members, Penalty.Text, iconNum);
                            int taskid = await Communications.addGroupTask(task);

                            task.taskid = taskid;
                            Console.WriteLine("########new Taskid is" + taskid);
                            Constants.FriendTasks.Add(new FriendTask(task));
                            Constants.mainPage.SetNewTask(task);
                            await Navigation.PopAsync(true);

                            involvedFriends.pop();
                        }
                    }
                }
            }
            else
            {
                await DisplayAlert("Alert", "Task name must not be empty", "OK");
            }
        }
Пример #10
0
 public IndividualTaskPopUp(GroupTask task, bool isMyTask)
 {
     InitializeComponent();
     TaskName.Text = task.taskname;
     Deadline.Text = task.getDeadlineString();
     Penalty.Text  = task.bet;
     ID.Text       = task.taskid.ToString();
     //TaskId.Text = task.taskid.ToString();
     Repetition.Text = task.repetition.ToString();
     this.task       = task;
     GetProgresses();
     this.isMyTask = isMyTask;
     if (!isMyTask)
     {
         sendingButton.IsVisible = false;
     }
     BindingContext = this;
 }
Пример #11
0
        public async Task <Guid?> PostAsync(GroupTask model)
        {
            Guid?id = null;

            var where = new Dictionary <string, object>
            {
                { nameof(model.Name), model.Name }
            };

            if (!await _repository.IsExistDataAsync(where))
            {
                var data = await _repository.AddAsync(model);

                id = data.Id;
            }

            return(id);
        }
Пример #12
0
        public static async Task <int> addGroupTask(GroupTask task)
        {
            string baseurl = Constants.BaseAddress + "createTask?myid={0}&taskname={1}&" +
                             "repetition={2}&frequency={3}&members={4}&deadline={5}&bet={6}&taskicon={7}";
            string actualurl = string.Format(baseurl, Constants.me.userid, task.taskname,
                                             RepetitionConverter.RepToString(task.repetition), task.frequency, toSpringBootArray(task.member),
                                             task.getDeadlineString(), task.bet, task.taskicon);

            Console.WriteLine(actualurl);
            HttpClient _client  = new HttpClient();
            var        uri      = new Uri(actualurl);
            var        response = await _client.GetAsync(uri);

            if (response.IsSuccessStatusCode)
            {
                return(int.Parse(await response.Content.ReadAsStringAsync()));
            }
            return(Constants.SERVER_ERROR);
        }
Пример #13
0
        private static List <TaskAbs> MapGroupTasks(List <Task> tasks)
        {
            var taskViews = new List <TaskAbs>();

            foreach (var task in tasks)
            {
                var taskView = new GroupTask
                {
                    Id = task.Id,
                    LevelOfImportance = task.LevelOfImportance,
                    Content           = task.Content,
                    Type        = task.Type,
                    IsCompleted = task.isCompleted
                };
                taskViews.Add(taskView);
            }

            return(taskViews);
        }
Пример #14
0
            public GroupTask SetNewIDs(GroupTask gt)
            {
                gt.grouptaskid = Guid.NewGuid();
                if (gt.individualtasksets.Count > 0)
                {
                    foreach (IndividualTaskSet its in gt.individualtasksets)
                    {
                        if (its.individualtasksetid == null || its.individualtasksetid == Guid.Empty)
                        {
                            its.individualtasksetid = Guid.NewGuid();
                        }

                        foreach (IndividualTask it in its.individualtask)
                        {
                            if (it.individualtaskid == null || it.individualtaskid == Guid.Empty)
                            {
                                it.individualtaskid = Guid.NewGuid();
                            }
                        }
                    }
                }

                return(gt);
            }
Пример #15
0
        public async Task <IActionResult> PostAsync([FromBody] GroupTask data)
        {
            if (data == null)
            {
                _loger.LogError("Bad request parameter");

                var error = new BadRequest("Parameter is null", new { data });
                return(error.ReturnResponse());
            }

            var id = await _service.PostAsync(data);

            if (id == null)
            {
                _loger.LogError("Duplicate data for Name : " + data.Name);

                var error = new Forbidden("Duplicate data for Name : " + data.Name, new { data });
                return(error.ReturnResponse());
            }

            var result = new OK("Success add data", new { id });

            return(result.ReturnResponse());
        }
        private void Button1_Click(object sender, EventArgs e)
        {
            using (AcademyEntities db = new AcademyEntities())
            {
                if (textBox1.Text != "" && dateTimePicker1.Text != "")
                {
                    Group group = db.Groups.Where(c => c.Name == comboBox1.Text).FirstOrDefault();

                    Models.Task task = new Models.Task()
                    {
                        Name     = textBox1.Text,
                        Deadline = dateTimePicker1.Value,
                        GroupId  = group.Id,
                        Status   = true
                    };
                    db.Tasks.Add(task);
                    db.SaveChanges();

                    List <Student> students = db.Students.Where(s => s.Group.Name == comboBox1.Text).ToList();
                    foreach (var item in students)
                    {
                        GroupTask groupTask = new GroupTask()
                        {
                            TaskId    = task.Id,
                            StudentId = item.Id,
                        };
                        db.GroupTasks.Add(groupTask);
                        db.SaveChanges();
                    }
                }
                FillTasks();
                textBox1.Text        = "";
                dateTimePicker1.Text = "";
                comboBox1.Text       = "";
            }
        }
 public IDictionary <string, string> PopulateSettings(GroupTask groupTask)
 {
     return(new Dictionary <string, string> {
         { "Key1", "Value1" }, { "Key2", "Value2" }
     });
 }
Пример #18
0
 public void SetNewTask(GroupTask task)
 {
     Constants.MyTask.Add(task);
     taskStack.Children.Add(task.GetView());
 }
Пример #19
0
 public async void DisplayTaskInfo(GroupTask task)
 {
     await Rg.Plugins.Popup.Services.PopupNavigation.Instance.PushAsync(
         new IndividualTaskPopUp(task, true));
 }
Пример #20
0
 public void DisplayMyTask(GroupTask task)
 {
     taskStack.Children.Add(task.GetView());
 }
Пример #21
0
        private void TestBatchPrint(List<LabelFormatDocument> allBarcodeLabels)
        {
            // Initialize a new TaskManager object.
            using (TaskManager btTaskManager = new TaskManager())
            {
                // Start a task engine.
                btTaskManager.Start(1);

                // Create a group task.
                GroupTask groupTask = new GroupTask();

                List<BarcodeEntity> barcode = BusinessLogic.GetBarcodeDetails(txtQuoteNumber.Text);

                if (barcode == null)
                {
                    Helper.ShowErrorMessageBox("No data found for printing barcode!");
                    return;
                }
                foreach (LabelFormatDocument currentLabel in allBarcodeLabels)
                {
                    groupTask.Add(new PrintLabelFormatTask(currentLabel));
                }
                // Add two printing tasks to the group task.
                //groupTask.Add(new PrintLabelFormatTask(@"C:\Format2.btw"));
                // Execute the tasks asynchronously for performance.
                btTaskManager.TaskQueue.QueueTask(groupTask);

                // Stop the task engine. // Ten second timeout gives tasks time to finish.
                btTaskManager.Stop(10000, true);
            }
        }
Пример #22
0
 internal async void FriendTaskDetail(GroupTask friendTask)
 {
     await Rg.Plugins.Popup.Services.PopupNavigation.Instance.PushAsync(
         new IndividualTaskPopUp(friendTask, false));
 }
Пример #23
0
        public static async Task <IActionResult> RunCreateGroupTaskSetAsync(
            [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req,
            ILogger log)
        {
            //create the post request to create the Case Tasks

            //get send group task workflow  JSON from body
            string  requestBody = new StreamReader(req.Body).ReadToEnd();
            dynamic data        = JsonConvert.DeserializeObject <GroupTaskSet>(requestBody);

            //get input variables for query variable or header to say the tenant and the
            string tenant = req.Query["tenant"];

            tenant = tenant ?? data?.tenantid;

            string caseid = req.Query["caseid"];

            caseid = caseid ?? data.caseid;

            Document retDoc;

            if ((tenant != null) && (caseid != null))
            {
                try
                {
                    using (var client = new HttpClient())
                    {
                        //extract the new GT from the JSON
                        GroupTaskSet newGTS = new GroupTaskSet();
                        newGTS = data;
                        GroupTask newGT = new GroupTask();
                        newGT = newGTS.grouptask[0];

                        //set new IDs for Group Task, Invidivudal Task Set (if any), and Individual Tasks (if any)
                        SvcUtil util = new SvcUtil();
                        newGT = util.SetNewIDs(newGT);

                        //add new GTS with new IDS to DB
                        DBUtil dbRepo = new DBUtil();
                        retDoc = await dbRepo.CreateGroupTaskSet(newGTS);

                        //return results
                        if (retDoc.Id != null)
                        {
                            //If the passed Case ID DOES NOT exist then create a new Group Task Set with its first Group Task
                            //create a test if tenant and customer are provided and JSON formated as GTS
                            return(new OkObjectResult(retDoc));
                        }
                        else
                        {
                            //create a test if tenant and customer are provided and JSON provided is not GTS
                            return((ActionResult) new BadRequestResult());
                        }
                    }
                }
                catch (Exception)
                {
                    //create a test if something goes wrong with the request to Cosmos
                    return((ActionResult) new BadRequestResult());
                }
            }
            else
            {
                //create a test if eiter tenant and customer are not provided
                return((ActionResult) new BadRequestResult());
            }
        }
Пример #24
0
        public static async Task <IActionResult> RunCreateGroupTaskAsync(
            [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req,
            ILogger log)
        {   //create the post request to create the Case Tasks.  So send in new Case Task.
            //get send group task workflow  JSON from body
            string  requestBody = new StreamReader(req.Body).ReadToEnd();
            dynamic data        = JsonConvert.DeserializeObject <GroupTask>(requestBody);

            //get input variables for query variable or header to say the tenant and the
            string id = req.Query["id"];

            id = id ?? data?.id;

            //Document retDoc;

            if ((id != null))
            {
                try
                {
                    using (var client = new HttpClient())
                    {
                        //get the group task set where you will be inserting your new GT
                        DBUtil       dbRepo = new DBUtil();
                        GroupTaskSet gts    = dbRepo.GetGroupTaskSetByID(id);

                        //extract the new GT from the JSON
                        //GroupTaskSet newGTS = new GroupTaskSet();
                        //newGTS = data;


                        GroupTask newGT = new GroupTask();
                        newGT = data;
                        //newGT = newGTS.grouptask[0];

                        //set new IDs for Group Task, Invidivudal Task Set (if any), and Individual Tasks (if any)
                        SvcUtil util = new SvcUtil();
                        newGT = util.SetNewIDs(newGT);
                        //add new GT to host GTS

                        gts.grouptask.Add(newGT);

                        try
                        {
                            //update the GTS in DB with new GT
                            Boolean result = await dbRepo.UpdateGTSById(gts);

                            if (result == true)
                            {
                                return(new OkObjectResult(gts));
                            }
                        }
                        catch (Exception)
                        {
                            return((ActionResult) new BadRequestResult());
                        }

                        return((ActionResult) new BadRequestResult());
                    }
                }
                catch (Exception)


                {
                    //create a test if something goes wrong with the request to Cosmos
                    return((ActionResult) new BadRequestResult());
                }
            }
            else
            {
                //create a test if eiter tenant and customer are not provided
                return((ActionResult) new BadRequestResult());
            }
        }