Ejemplo n.º 1
0
 internal static bool CodeExists(QpPlugin plugin)
 {
     return(QPContext.EFContext.PluginSet.Any(
                n => n.Code == plugin.Code && n.Id != plugin.Id &&
                (!plugin.AllowMultipleInstances || !n.AllowMultipleInstances || n.InstanceKey == plugin.InstanceKey)
                ));
 }
Ejemplo n.º 2
0
 public QpPlugin Update(QpPlugin plugin)
 {
     if (plugin.OldContract != plugin.Contract)
     {
         QpPluginRepository.CreateVersion(plugin);
     }
     return(QpPluginRepository.UpdateProperties(plugin));
 }
Ejemplo n.º 3
0
 public static QpPluginVersion CreateVersionFromPlugin(QpPlugin parent) =>
 new QpPluginVersion
 {
     Plugin             = parent,
     PluginId           = parent.Id,
     Contract           = parent.Contract,
     Modified           = parent.Modified,
     LastModifiedBy     = parent.LastModifiedBy,
     LastModifiedByUser = parent.LastModifiedByUser
 };
Ejemplo n.º 4
0
        internal static QpPlugin SaveProperties(QpPlugin plugin)
        {
            var      entities = QPContext.EFContext;
            DateTime timeStamp;

            using (var scope = new QPConnectionScope())
            {
                timeStamp = Common.GetSqlDate(scope.DbConnection);

                var dal = MapperFacade.QpPluginMapper.GetDalObject(plugin);
                dal.LastModifiedBy = QPContext.CurrentUserId;
                dal.Modified       = timeStamp;
                dal.Created        = timeStamp;

                entities.Entry(dal).State = EntityState.Added;

                DefaultRepository.TurnIdentityInsertOn(EntityTypeCode.QpPlugin, plugin);
                if (plugin.ForceId != 0)
                {
                    dal.Id = plugin.ForceId;
                }

                entities.SaveChanges();
                DefaultRepository.TurnIdentityInsertOff(EntityTypeCode.QpPlugin);

                Common.CreatePluginTables(scope.DbConnection, (int)dal.Id);

                var forceIds = plugin.ForceFieldIds == null ? null : new Queue <int>(plugin.ForceFieldIds);
                var fields   = new List <PluginFieldDAL>();
                foreach (var field in plugin.Fields)
                {
                    var dalField = MapperFacade.QpPluginFieldMapper.GetDalObject(field);
                    dalField.PluginId = dal.Id;
                    if (forceIds != null)
                    {
                        dalField.Id = forceIds.Dequeue();
                    }

                    entities.Entry(dalField).State = EntityState.Added;
                    fields.Add(dalField);
                }

                DefaultRepository.TurnIdentityInsertOn(EntityTypeCode.QpPluginField);
                entities.SaveChanges();
                DefaultRepository.TurnIdentityInsertOff(EntityTypeCode.QpPluginField);

                foreach (var field in fields)
                {
                    Common.AddPluginColumn(scope.DbConnection, field);
                }

                return(MapperFacade.QpPluginMapper.GetBizObject(dal));
            }
        }
Ejemplo n.º 5
0
        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();
        }
Ejemplo n.º 6
0
 public QpPlugin Save(QpPlugin plugin) => QpPluginRepository.SaveProperties(plugin);
Ejemplo n.º 7
0
 public QpPlugin New(int parentId) => QpPlugin.Create();