internal static QpPluginVersion GetById(int id, int pluginId = 0)
        {
            QpPluginVersion qpPluginVersion;

            if (id == QpPluginVersion.CurrentVersionId)
            {
                if (pluginId == 0)
                {
                    throw new Exception("Plugin id is not specified!");
                }

                var plugin = QpPluginRepository.GetById(pluginId);
                qpPluginVersion = new QpPluginVersion
                {
                    PluginId           = pluginId,
                    Id                 = id,
                    Modified           = plugin.Modified,
                    LastModifiedBy     = plugin.LastModifiedBy,
                    LastModifiedByUser = plugin.LastModifiedByUser,
                    Plugin             = plugin
                };
            }
            else
            {
                var dal = QPContext.EFContext.PluginVersionSet.Include(n => n.LastModifiedByUser).SingleOrDefault(n => n.Id == id);
                qpPluginVersion = MapperFacade.QpPluginVersionMapper.GetBizObject(dal);
                if (qpPluginVersion != null)
                {
                    qpPluginVersion.Plugin = QpPluginRepository.GetById(qpPluginVersion.PluginId);
                }
            }

            return(qpPluginVersion);
        }
示例#2
0
        public static List <QpPluginFieldValue> GetPluginValues(int siteId)
        {
            var actualValues = QPContext.EFContext.PluginFieldValueSet
                               .Where(n => n.SiteId == siteId)
                               .ToDictionary(k => (int)k.PluginFieldId, n => n.Value);

            var pluginDict = QpPluginRepository.GetQpFieldPluginDict();

            var pluginFieldValues = QpPluginRepository.GetPluginFields(QpPluginRelationType.Site)
                                    .Select(n => new QpPluginFieldValue()
            {
                Field  = n,
                Plugin = pluginDict[n.Id],
                Value  = actualValues.TryGetValue(n.Id, out var result) ? result : String.Empty
            }).ToList();