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); }
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); }