/// <summary> /// Get evaluation of link /// </summary> /// <param name="idLink"></param> /// <param name="idUser"></param> /// <param name="moduleUserLong"></param> /// <param name="moduleUserString"></param> /// <returns></returns> public dtoEvaluation EvaluateModuleLinkForExternal(long idLink, int idUser, Dictionary <String, long> moduleUserLong, Dictionary <String, String> moduleUserString) { dtoEvaluation evaluation = null; using (ISession session = NHSessionHelper.GetComolSession()) { DataContext dc = new DataContext(session); ModuleLink link = dc.GetById <ModuleLink>(idLink); using (ISession icodeon = NHSessionHelper.GetIcodeonSession()) { DataContext ic = new DataContext(icodeon); evaluation = EvaluateModule(dc, ic, link, idUser, moduleUserLong, moduleUserString); } } return(evaluation); }
private List <dtoItemEvaluation <long> > EvaluateModuleLinks( ISession session, List <long> idLinks, int idUser, Dictionary <String, long> moduleUserLong, Dictionary <String, String> moduleUserString) { List <dtoItemEvaluation <long> > evaluations = new List <dtoItemEvaluation <long> >(); DataContext dc = new DataContext(session); List <ModuleLink> links = (from l in session.Linq <ModuleLink>() where idLinks.Contains(l.Id) select l) .ToList(); var query = from l in links group l by l.DestinationItem.ServiceCode into linksGroup orderby linksGroup.Key select linksGroup; using (ISession icodeon = NHSessionHelper.GetIcodeonSession()) { DataContext ic = new DataContext(icodeon); foreach (var groupOfLinks in query) { evaluations.AddRange( EvaluateModuleLinks(dc, ic, groupOfLinks.Key, groupOfLinks.ToList(), idUser, moduleUserLong, moduleUserString) ); } } return(evaluations); }