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); }
public static void CreateVersion(QpPlugin plugin) { var entities = QPContext.EFContext; var version = new QpPluginVersion { Contract = plugin.OldContract, Modified = plugin.OldModified, LastModifiedBy = plugin.OldLastModifiedBy, Created = DateTime.Now, Plugin = plugin, PluginId = plugin.Id }; var dal = MapperFacade.QpPluginVersionMapper.GetDalObject(version); entities.Entry(dal).State = EntityState.Added; entities.SaveChanges(); }