コード例 #1
0
        /// <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);
        }
コード例 #2
0
        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);
        }