Exemple #1
0
 public JsonResult _DeleteActivity(int id)
 {
     if (ModelState.IsValid)
     {
         CompletedActivity activity = db.CompletedActivities.Find(id);
         db.CompletedActivities.Remove(activity);
         db.SaveChanges();
     }
     return(Json(true, JsonRequestBehavior.AllowGet));
 }
Exemple #2
0
 public JsonResult _CreateActivityViewModel(ActivityViewModel activitymodel)
 {
     if (ModelState.IsValid)
     {
         CompletedActivity activity = OnboardingUtilityHelper.ConvertToCompletedActivity(activitymodel);
         db.CompletedActivities.Add(activity);
         db.SaveChanges();
     }
     return(Json(true, JsonRequestBehavior.AllowGet));
 }
Exemple #3
0
        public static CompletedActivity ConvertToCompletedActivity(ActivityViewModel activitymodel)
        {
            var activity = new CompletedActivity();

            activity.OnboardingTemplateID = activitymodel.OnboardingTemplateID;
            activity.Type        = activitymodel.Type;
            activity.Name        = activitymodel.Title;
            activity.Description = activitymodel.Body;
            activity.DueDate     = activitymodel.DueDate;
            return(activity);
        }
        public void TestCompletedActivityConstructor()
        {
            Activity      testActivity = new Activity("John Doe", "Complete me", 3, 4, null);
            ActivityGrade ag           = ActivityGrade.Superb;
            string        comment      = "Was great!";

            CompletedActivity completedActivity = new CompletedActivity(testActivity, ag, comment);

            Assert.AreEqual(testActivity, completedActivity.Activity);
            Assert.AreEqual(ag, completedActivity.Grade);
            Assert.AreEqual(comment, completedActivity.Comment);
        }
        public JsonResult _CreateActivityViewModel(ActivityViewModel activitymodel)
        {
            string htmlEncoded = WebUtility.HtmlEncode(activitymodel.Body);

            activitymodel.Body = htmlEncoded;
            if (ModelState.IsValid)
            {
                CompletedActivity activity = OnboardingUtilityHelper.ConvertToCompletedActivity(activitymodel);
                activity.OnboardActivityID = activitymodel.OnboardActivityID;
                if (activity.WelcomeGuideID == 0)
                {
                    activity.WelcomeGuideID = null;
                }
                db.CompletedActivities.Add(activity);
                db.SaveChanges();
            }
            return(Json(true, JsonRequestBehavior.AllowGet));
        }
        public async Task Download(int submissionId)
        {
            CompletedActivity activity = db.CompletedActivities.FirstOrDefault(act => act.Id == submissionId);

            if (activity == null)
            {
                return;
            }

            CloudBlobContainer container = GetCloudBlobContainer();

            List <CompletedTask> tasks = db.CompletedTasks.Where(ct => ct.ParentSubmission.Id == submissionId).ToList();

            List <DownloadStruct> toDl = new List <DownloadStruct>();

            foreach (CompletedTask task in tasks)
            {
                string idName = task.EventTask.TaskType.IdName;
                if (!linkTasks.Contains(idName))
                {
                    continue;
                }

                string[] links = JsonConvert.DeserializeObject <string[]>(task.JsonData);
                if (links == null)
                {
                    continue;
                }

                for (int i = 0; i < links.Length; i++)
                {
                    toDl.Add(new DownloadStruct
                    {
                        Blob     = container.GetBlockBlobReference(links[i]),
                        Filename =
                            $"{task.Id}_{task.EventTask.TaskType.IdName}-{i:00}.{Common.ServerUtils.GetFileExtension(idName)}"
                    });
                }
            }

            await MakeLog(new Dictionary <string, string>() { { "submissionId", submissionId.ToString() } });

            ZipFilesToResponse(Response, $"OurPlace-{submissionId}", toDl);
        }
Exemple #7
0
 private void GetActivityViewModelList(List <Activity> activityList, string courseId)
 {
     foreach (var activity in activityList)
     {
         ActivityViewModel activityViewModel = new ActivityViewModel(activity);
         activityViewModel.CourseId = courseId;
         if (activity.Status == 1)
         {
             PendingActivity.Add(activityViewModel);
         }
         else if (activity.Status == 2)
         {
             OverDueActivity.Add(activityViewModel);
         }
         else if (activity.Status == 3)
         {
             CompletedActivity.Add(activityViewModel);
         }
     }
 }
Exemple #8
0
        public ParticipantCourseDetailViewModel(CourseViewModel selectedCourse)
        {
            this._SelectedCourse = selectedCourse;
            GetActivityViewModelList(this._SelectedCourse.ActivityList, selectedCourse.CourseId);

            MessagingCenter.Subscribe <AssessmentSubmitViewModel> (this, "ActivityCompleted", (sender) => {
                foreach (var activity in PendingActivity)
                {
                    if (activity.ActivityId.Equals(sender.ActivityId) && activity.CourseId.Equals(sender.CourseId))
                    {
                        activity.Status = 3;
                        PendingActivity.Remove(activity);
                        CompletedActivity.Add(activity);
                        break;
                    }
                }
                RaisePropertyChanged("CanShowPending");
                RaisePropertyChanged("CanShowCompleted");
                RaisePropertyChanged(() => CompletedActivity);
                RaisePropertyChanged(() => PendingActivity);
            });
        }
        public async Task <IHttpActionResult> Submit(int activityId, Common.Models.AppTask[] results, bool shareWithCreator = false, string enteredName = null)
        {
            LearningActivity act = await db.LearningActivities.FindAsync(activityId);

            if (act == null)
            {
                return(NotFound());
            }

            ApplicationUser thisUser = await GetUser();

            if (thisUser == null)
            {
                return(Unauthorized());
            }

            // Generate share code
            Guid   g    = Guid.NewGuid();
            string guid = Convert.ToBase64String(g.ToByteArray());

            guid = guid.Replace("=", "");
            guid = guid.Replace("+", "");
            guid = guid.Replace("/", "");
            guid = guid.Substring(0, 12);

            CompletedActivity newSubmission = new CompletedActivity
            {
                CreatedAt        = DateTime.UtcNow,
                LearningActivity = act,
                User             = thisUser,
                ShareWithCreator = shareWithCreator,
                EnteredUsername  = enteredName,
                Share            = new UploadShare
                {
                    CreatedAt = DateTime.UtcNow,
                    Active    = true,
                    ShareCode = guid
                }
            };
            CompletedActivity inData = db.CompletedActivities.Add(newSubmission);

            foreach (Common.Models.AppTask t in results)
            {
                CompletedTask newResult = new CompletedTask
                {
                    CreatedAt        = DateTime.UtcNow,
                    JsonData         = t.CompletionData.JsonData,
                    EventTask        = await db.LearningActivityTasks.FindAsync(t.Id),
                    ParentSubmission = newSubmission
                };
                db.CompletedTasks.Add(newResult);
            }

            await db.SaveChangesAsync();

            await MakeLog(new Dictionary <string, string> {
                { "id", inData.Id.ToString() }
            });

            return(Ok());
        }