本文整理汇总了C#中Query.Select方法的典型用法代码示例。如果您正苦于以下问题:C# Query.Select方法的具体用法?C# Query.Select怎么用?C# Query.Select使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Query
的用法示例。
在下文中一共展示了Query.Select方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetTimePhaseData
/// <summary>
/// Gets the time phase data.
/// </summary>
/// <param name="assignment">The assignment.</param>
/// <param name="type">The type.</param>
/// <returns></returns>
public static IEnumerable<TimePhasedDataType> GetTimePhaseData(Assignment.Assignment assignment, TimePhasedDataType.TimePhaseType type)
{
if(assignment == null)
throw new ArgumentException("assignment");
//определяем величину дискретизации для генератора интервалов.
//Если ее определить слишком маленькую то будет много TimePhases елементов
//Для плоского распределения трудозатрат использовать ДЕНЬ для нелинейных функций использовать ЧАС
long groupIntervalValue = assignment.CurrentContour.ContourType == ContourTypes.Flat ? CalendarHelper.MilisPerDay() : CalendarHelper.MilisPerHour();
long start = type == TimePhasedDataType.TimePhaseType.AssignmentActualWork ? assignment.Start : assignment.Stop;
long stop = type == TimePhasedDataType.TimePhaseType.AssignmentActualWork ? assignment.Stop : assignment.End;
Query<Interval> query = new Query<Interval>();
AssignmentBaseFunctor<double> workFunctor = assignment.GetWorkFunctor();
GroupingIntervalGenerator groupGen = new GroupingIntervalGenerator(start, stop, groupIntervalValue,
workFunctor.CountourGenerator);
TimePhaseDataGetter timePhaseGetter = new TimePhaseDataGetter(type, TimePhasedDataType.TimePhaseUnit.Day,
TimePhasedDataType.TimePhaseUnit.Minute, workFunctor);
WhereInRangePredicate whereInRange = new WhereInRangePredicate(start, stop);
query.Select(timePhaseGetter).From(groupGen).Where(whereInRange.Evaluate).Execute();
return timePhaseGetter.Value;
}
示例2: GetCategoriasPregunta
public static CategoriaPreguntaModelCollection GetCategoriasPregunta(int idFormulario)
{
//Consultas las categorias de preguntas filtradas por actividad
Query supQuery = new Query();
supQuery.Distinct = true;
supQuery.Select("pr.idCategoriaPregunta");
supQuery.From("Pregunta", "pr");
supQuery.Join("PreguntaFormulario", "pf", "pf.idPregunta", "pr.idPregunta");
supQuery.Where(new AttributeTest("pf.idFormulario", idFormulario, AttributeTest.EQUAL));
/* ************* */
Query filterQuery = new Query();
AttributeTest test = new AttributeTest();
test.Attribute = "idCategoriaPregunta";
test.Value = supQuery;
test.Operator = AttributeTest.IN;
filterQuery.Where(test);
return new CategoriaPreguntaModelCollection(CategoriaPregunta.FindWithQuery(filterQuery));
}
示例3: MakeQuery
protected Connector.Query MakeQuery(Query query)
{
var args = query.Select( p =>
{
var elm = m_Store.Converter.ConvertCLRtoBSON(p.Name, p.Value, m_Store.TargetName);
return new TemplateArg(p.Name, elm.ElementType, elm.ObjectValue);
}).ToArray();
return new Connector.Query(m_Source.StatementSource, true, args);
}
示例4: SetActualWork
/// <summary>
/// Sets the actual work.
/// </summary>
/// <param name="actualWork">The actual work.</param>
public void SetActualWork(double actualWork)
{
if (actualWork == 0)
{
PercentComplete = 0;
return;
}
//find stop date by work value
Query<Interval> query = new Query<Interval>();
AssignmentBaseFunctor<double> workFunctor = GetWorkFunctor();
TrueFalsePredicate<Interval> alwaysTrue = new TrueFalsePredicate<Interval>(true);
DateAtWorkFunctor dateAtWork = new DateAtWorkFunctor(workFunctor, actualWork);
query.Select(dateAtWork).From(workFunctor.CountourGenerator).Where(alwaysTrue.Evaluate).Execute();
this.Stop = dateAtWork.Value;
}
示例5: GetWork
/// <summary>
/// Gets the work.
/// </summary>
/// <param name="start">The start.</param>
/// <param name="end">The end.</param>
/// <returns></returns>
public long GetWork(long start, long end)
{
long retVal = 0;
if(IsInRange(start, end))
{
Query<Interval> query = new Query<Interval>();
AssignmentBaseFunctor<double> workFunctor = GetWorkFunctor();
WhereInRangePredicate whereInRange = new WhereInRangePredicate(start, end);
GroupingIntervalGenerator groupGen = new GroupingIntervalGenerator(start, end, CalendarHelper.MilisPerHour(),
workFunctor.CountourGenerator);
query.Select(workFunctor).From(groupGen).Where(whereInRange.Evaluate).Execute();
retVal = (long)workFunctor.Value;
// XmlDocument debugDoc = ((WorkFunctor)workFunctor).DebugDocument;
}
return retVal;
}