Beispiel #1
0
        public List <dtoItemEvaluation <long> > EvaluateModuleLinks(List <ModuleLink> links, Int32 idUser, Dictionary <String, long> moduleUserLong = null, Dictionary <String, String> moduleUserString = null)
        {
            //if (Link.SourceItem.ObjectTypeID == ??)


            IList <Int64> FilesIds = new List <Int64>();

            foreach (ModuleLink link in links)
            {
                FilesIds.Add(link.SourceItem.ObjectLongID);
            }

            IList <int> UsersIds = new List <int>();

            UsersIds.Add(idUser);

            IList <ColFile> ColFiles = this.ColScormManager.GetStatFileUser(FilesIds, UsersIds);

            List <dtoItemEvaluation <long> > EvalMLs = new List <dtoItemEvaluation <long> >();

            if (ColFiles.Count > 0)
            {
                foreach (ColFile File in ColFiles)
                {
                    dtoItemEvaluation <long> EvalML = new dtoItemEvaluation <long>();

                    switch (File.UserStats[0].Status)
                    {
                    case lm.Comol.Modules.ScormStat.Icodeon.StatusCode.Completed:
                        EvalML.isStarted   = true;
                        EvalML.isCompleted = true;
                        EvalML.isPassed    = true;
                        break;

                    case lm.Comol.Modules.ScormStat.Icodeon.StatusCode.Started:
                        EvalML.isStarted   = true;
                        EvalML.isCompleted = false;
                        EvalML.isPassed    = false;
                        break;

                    default:
                        EvalML.isStarted   = false;
                        EvalML.isCompleted = false;
                        EvalML.isPassed    = false;
                        break;
                    }

                    EvalML.Completion = (short)((File.UserStats[0].NumActivity / File.Package.ActivityCount) * 100);
                    EvalMLs.Add(EvalML);
                }
            }
            return(EvalMLs);
        }
Beispiel #2
0
        public List <dtoItemEvaluation <long> > EvaluateRepositoryItem(
            Int64 ItemId,
            Guid ItemUniqueId,
            Guid ItemUniqueIdVersion,
            int idUser
            )
        {
            List <dtoItemEvaluation <long> > results = new List <dtoItemEvaluation <long> >();


            //dtoEvaluation result = new dtoEvaluation();
            DateTime date = DateTime.Now;

            dtoPackageEvaluation eval = ScormService.GetPackageEvaluation_NewTMP(
                idUser,
                ItemId,
                ItemUniqueId,
                ItemUniqueIdVersion,
                Modules.ScormStat.Domain.UserStatisticsFrom.Last,
                Modules.ScormStat.Domain.PlayCompletionStatus.Ignore,
                date);


            Boolean isStarted        = (eval != null && eval.Status != PackageStatus.notstarted);
            Boolean isCompleted      = (eval != null && eval.IsCompleted);
            Boolean isPassed         = (eval != null && eval.IsPassed);
            int     completion       = (eval == null ? 0 : eval.Completion);
            double  mark             = (eval == null ? 0 : eval.UserScore);
            bool    alreadyCompleted = (eval != null && eval.AlreadyCompleted);


            dtoItemEvaluation <long> temEval = new dtoItemEvaluation <long>()
            {
                Mark             = (short)mark,
                Completion       = (short)completion,
                isCompleted      = isCompleted,
                isPassed         = isPassed,
                isStarted        = isStarted,
                Item             = ItemId,
                AlreadyCompleted = alreadyCompleted
            }



            results.AddRange(
                (from i in items
                 where i.IdItem == item.Id
                 select new dtoItemEvaluation <long>()
            {
                Mark = (short)mark,
                Completion = (short)completion,
                isCompleted = isCompleted,
                isPassed = isPassed,
                isStarted = isStarted,
                Item = i.Idlink,
                IdLink = i.Idlink,
                AlreadyCompleted = alreadyCompleted
            }
                ).ToList());

            return(result);
        }