示例#1
0
        public static bool DbUpdate(this TMSAlgorithmSettings entity, DbSession session, params PDMDbProperty[] fields)
        {
            var           query   = IORMProvider.GetDbQueryBuilder(session);
            UpdateBuilder builder = new UpdateBuilder();

            builder.ComponentWhere.Add(new ComponentValueOfWhere(TMSAlgorithmSettingsProperties.AlgorithmId, entity.AlgorithmId, LocateType.Equal));
            builder.ComponentWhere.Add(new ComponentValueOfWhere(TMSAlgorithmSettingsProperties.TopWeightType, entity.TopWeightType, LocateType.Equal));
            builder.ComponentWhere.Add(new ComponentValueOfWhere(TMSAlgorithmSettingsProperties.SubWeightType, entity.SubWeightType, LocateType.Equal));
            if (fields == null || fields.Length == 0)
            {
                builder.ComponentSet.Add(new ComponentValueOfSet(TMSAlgorithmSettingsProperties.AlgorithmId, entity.AlgorithmId));
                builder.ComponentSet.Add(new ComponentValueOfSet(TMSAlgorithmSettingsProperties.TopWeightType, entity.TopWeightType));
                builder.ComponentSet.Add(new ComponentValueOfSet(TMSAlgorithmSettingsProperties.SubWeightType, entity.SubWeightType));
                builder.ComponentSet.Add(new ComponentValueOfSet(TMSAlgorithmSettingsProperties.ResultType, entity.ResultType));
                builder.ComponentSet.Add(new ComponentValueOfSet(TMSAlgorithmSettingsProperties.WeightValue, entity.WeightValue));
            }
            else
            {
                if (fields.Contains(TMSAlgorithmSettingsProperties.ResultType))
                {
                    builder.ComponentSet.Add(new ComponentValueOfSet(TMSAlgorithmSettingsProperties.ResultType, entity.ResultType));
                }
                if (fields.Contains(TMSAlgorithmSettingsProperties.WeightValue))
                {
                    builder.ComponentSet.Add(new ComponentValueOfSet(TMSAlgorithmSettingsProperties.WeightValue, entity.WeightValue));
                }
            }
            query.UpdateBuilders.Add(builder);
            return(IORMProvider.GetQueryOperator(session).Update <TMSAlgorithmSettings>(session, query));
        }
示例#2
0
        public static TMSAlgorithmSettings DbSelect(this TMSAlgorithmSettings entity, DbSession session, params PDMDbProperty[] fields)
        {
            var           query   = IORMProvider.GetDbQueryBuilder(session);
            SelectBuilder builder = new SelectBuilder();

            if (fields.Count() == 0)
            {
                builder.ComponentSelect.Add(TMSAlgorithmSettingsProperties.AlgorithmId);
                builder.ComponentSelect.Add(TMSAlgorithmSettingsProperties.TopWeightType);
                builder.ComponentSelect.Add(TMSAlgorithmSettingsProperties.SubWeightType);
                builder.ComponentSelect.Add(TMSAlgorithmSettingsProperties.ResultType);
                builder.ComponentSelect.Add(TMSAlgorithmSettingsProperties.WeightValue);
            }
            else
            {
                builder.ComponentSelect.Add(TMSAlgorithmSettingsProperties.AlgorithmId);
                builder.ComponentSelect.Add(TMSAlgorithmSettingsProperties.TopWeightType);
                builder.ComponentSelect.Add(TMSAlgorithmSettingsProperties.SubWeightType);
                foreach (var field in fields)
                {
                    builder.ComponentSelect.Add(field);
                }
            }
            builder.ComponentWhere.Add(new ComponentValueOfWhere(TMSAlgorithmSettingsProperties.AlgorithmId, entity.AlgorithmId, LocateType.Equal));
            builder.ComponentWhere.Add(new ComponentValueOfWhere(TMSAlgorithmSettingsProperties.TopWeightType, entity.TopWeightType, LocateType.Equal));
            builder.ComponentWhere.Add(new ComponentValueOfWhere(TMSAlgorithmSettingsProperties.SubWeightType, entity.SubWeightType, LocateType.Equal));
            query.SelectBuilders.Add(builder);
            return(IORMProvider.GetQueryOperator(session).Select <TMSAlgorithmSettings>(session, query));
        }
        public static bool FetchTMSAlgorithm(this TMSAlgorithmSettings tMSAlgorithmSettings, DbSession session)
        {
            var           query   = IORMProvider.GetDbQueryBuilder(session);
            SelectBuilder builder = new SelectBuilder();

            if (tMSAlgorithmSettings.AlgorithmId == Guid.Empty)
            {
                var subselect = new SelectBuilder();
                subselect.TableName = nameof(TMSAlgorithmSettings);
                subselect.ComponentSelect.Add(TMSAlgorithmSettingsProperties.AlgorithmId);
                subselect.ComponentWhere.Add(new ComponentValueOfWhere(TMSAlgorithmSettingsProperties.SubWeightType, tMSAlgorithmSettings.SubWeightType, LocateType.Equal));
                builder.ComponentWhere.Add(new ComponentValueOfWhere(TMSAlgorithmProperties.AlgorithmId, subselect, LocateType.Equal));
            }
            else
            {
                builder.ComponentWhere.Add(new ComponentValueOfWhere(TMSAlgorithmProperties.AlgorithmId, tMSAlgorithmSettings.AlgorithmId, LocateType.Equal));
            }
            query.SelectBuilders.Add(builder);
            tMSAlgorithmSettings.MSAlgorithm = IORMProvider.GetQueryOperator(session).Select <TMSAlgorithm>(session, query);
            if (tMSAlgorithmSettings.MSAlgorithm == null)
            {
                throw new NotImplementedException(string.Format("1..* 关联未查询到匹配数据, Parent:{0}; Child: {1}", nameof(TMSAlgorithmSettings), nameof(TMSAlgorithm)));
            }
            return(true);
        }
示例#4
0
        public static bool DbDelete(this TMSAlgorithmSettings entity, DbSession session)
        {
            var query = IORMProvider.GetDbQueryBuilder(session);

            query.DeleteBuilder.ComponentWhere.Add(new ComponentValueOfWhere(TMSAlgorithmSettingsProperties.AlgorithmId, entity.AlgorithmId, LocateType.Equal));
            query.DeleteBuilder.ComponentWhere.Add(new ComponentValueOfWhere(TMSAlgorithmSettingsProperties.TopWeightType, entity.TopWeightType, LocateType.Equal));
            query.DeleteBuilder.ComponentWhere.Add(new ComponentValueOfWhere(TMSAlgorithmSettingsProperties.SubWeightType, entity.SubWeightType, LocateType.Equal));
            return(IORMProvider.GetQueryOperator(session).Delete <TMSAlgorithmSettings>(session, query));
        }
示例#5
0
        public static bool DbInsert(this TMSAlgorithmSettings entity, DbSession session)
        {
            var           query   = IORMProvider.GetDbQueryBuilder(session);
            InsertBuilder builder = new InsertBuilder();

            builder.ComponentInsert.Add(new ComponentValueOfInsert(TMSAlgorithmSettingsProperties.AlgorithmId, entity.AlgorithmId));
            builder.ComponentInsert.Add(new ComponentValueOfInsert(TMSAlgorithmSettingsProperties.TopWeightType, entity.TopWeightType));
            builder.ComponentInsert.Add(new ComponentValueOfInsert(TMSAlgorithmSettingsProperties.SubWeightType, entity.SubWeightType));
            builder.ComponentInsert.Add(new ComponentValueOfInsert(TMSAlgorithmSettingsProperties.ResultType, entity.ResultType));
            builder.ComponentInsert.Add(new ComponentValueOfInsert(TMSAlgorithmSettingsProperties.WeightValue, entity.WeightValue));
            query.InsertBuilders.Add(builder);
            return(IORMProvider.GetQueryOperator(session).Insert <TMSAlgorithmSettings>(session, query));
        }
示例#6
0
        public static void DbLoad(this TMSAlgorithmSettings entity, DbSession session, params PDMDbProperty[] fields)
        {
            var result = entity.DbSelect(session, fields);

            if (fields.Contains(TMSAlgorithmSettingsProperties.ResultType))
            {
                entity.ResultType = result.ResultType;
            }
            if (fields.Contains(TMSAlgorithmSettingsProperties.WeightValue))
            {
                entity.WeightValue = result.WeightValue;
            }
        }