Show / Hide Table of Contents

Class CaseValueExtensions

CaseValue extension methods

Inheritance
object
CaseValueExtensions
Inherited Members
object.GetType()
object.MemberwiseClone()
object.ToString()
object.Equals(object)
object.Equals(object, object)
object.ReferenceEquals(object, object)
object.GetHashCode()
Namespace: PayrollEngine.Client.Scripting
Assembly: PayrollEngine.Client.Scripting.dll
Syntax
public static class CaseValueExtensions

Methods

View Source

CaseValueWithin(IEnumerable<CaseValue>, DateTime)

Get first matching period containing the test date

Declaration
public static CaseValue CaseValueWithin(this IEnumerable<CaseValue> periodValues, DateTime date)
Parameters
Type Name Description
IEnumerable<CaseValue> periodValues
DateTime date

The date of the case value

Returns
Type Description
CaseValue

Accumulated total duration

View Source

GroupByValue(IEnumerable<CaseValue>)

Get case period values grouped by value

Declaration
public static IEnumerable<IGrouping<PayrollValue, CaseValue>> GroupByValue(this IEnumerable<CaseValue> periodValues)
Parameters
Type Name Description
IEnumerable<CaseValue> periodValues
Returns
Type Description
IEnumerable<IGrouping<PayrollValue, CaseValue>>

Case period values grouped by value

View Source

Intersections(IEnumerable<CaseValue>, DatePeriod)

Get all intersections of a date period with any date period

Declaration
public static List<CaseValue> Intersections(this IEnumerable<CaseValue> periodValues, DatePeriod intersectPeriod)
Parameters
Type Name Description
IEnumerable<CaseValue> periodValues
DatePeriod intersectPeriod

The period to intersect

Returns
Type Description
List<CaseValue>

List of intersecting date periods

View Source

Period(CaseValue)

Extract date periods

Declaration
public static DatePeriod Period(this CaseValue caseValue)
Parameters
Type Name Description
CaseValue caseValue
Returns
Type Description
DatePeriod

Accumulated total duration

View Source

Periods(IEnumerable<CaseValue>)

Extract date periods

Declaration
public static IEnumerable<DatePeriod> Periods(this IEnumerable<CaseValue> periodValues)
Parameters
Type Name Description
IEnumerable<CaseValue> periodValues
Returns
Type Description
IEnumerable<DatePeriod>

Accumulated total duration

View Source

ToDateTime(CaseValue)

Convert case value to date time/>

Declaration
public static DateTime ToDateTime(this CaseValue caseValue)
Parameters
Type Name Description
CaseValue caseValue
Returns
Type Description
DateTime
View Source

ToDecimal(CaseValue)

Convert case value to decimal/>

Declaration
public static decimal ToDecimal(this CaseValue caseValue)
Parameters
Type Name Description
CaseValue caseValue
Returns
Type Description
decimal
View Source

ToDecimal(CaseValue, DecimalRounding)

Convert case value to decimal

Declaration
public static decimal ToDecimal(this CaseValue caseValue, DecimalRounding rounding)
Parameters
Type Name Description
CaseValue caseValue
DecimalRounding rounding

The rounding type

Returns
Type Description
decimal
View Source

ToInt(CaseValue)

Convert case value to int/>

Declaration
public static int ToInt(this CaseValue caseValue)
Parameters
Type Name Description
CaseValue caseValue
Returns
Type Description
int
View Source

ToNullableDateTime(CaseValue)

Convert case value to nullable date time/>

Declaration
public static DateTime? ToNullableDateTime(this CaseValue caseValue)
Parameters
Type Name Description
CaseValue caseValue
Returns
Type Description
DateTime?
View Source

ToNullableDecimal(CaseValue)

Convert case value to nullable decimal/>

Declaration
public static decimal? ToNullableDecimal(this CaseValue caseValue)
Parameters
Type Name Description
CaseValue caseValue
Returns
Type Description
decimal?
View Source

ToNullableDecimal(CaseValue, DecimalRounding)

Convert case value to nullable decimal/>

Declaration
public static decimal? ToNullableDecimal(this CaseValue caseValue, DecimalRounding rounding)
Parameters
Type Name Description
CaseValue caseValue
DecimalRounding rounding

The rounding type

Returns
Type Description
decimal?
View Source

ToNullableInt(CaseValue)

Convert case value to nullable int/>

Declaration
public static int? ToNullableInt(this CaseValue caseValue)
Parameters
Type Name Description
CaseValue caseValue
Returns
Type Description
int?
View Source

ToString(CaseValue)

Convert case value to string/>

Declaration
public static string ToString(this CaseValue caseValue)
Parameters
Type Name Description
CaseValue caseValue
Returns
Type Description
string
View Source

TotalDuration(IEnumerable<CaseValue>)

Total duration of all time periods

Declaration
public static TimeSpan TotalDuration(this IEnumerable<CaseValue> periodValues)
Parameters
Type Name Description
IEnumerable<CaseValue> periodValues
Returns
Type Description
TimeSpan

Accumulated total duration

View Source

ValueAs(CaseValue, Type)

Convert the case value to custom type

Declaration
public static object ValueAs(this CaseValue caseValue, Type type)
Parameters
Type Name Description
CaseValue caseValue
Type type

Target type

Returns
Type Description
object

Accumulated total duration

View Source

ValueAs<T>(CaseValue, T)

Convert the case value to custom type

Declaration
public static T ValueAs<T>(this CaseValue caseValue, T defaultValue = default)
Parameters
Type Name Description
CaseValue caseValue
T defaultValue

The default value

Returns
Type Description
T

Accumulated total duration

Type Parameters
Name Description
T
View Source

WhereEnd(IEnumerable<CaseValue>, params DayOfWeek[])

Get date periods with end on specific weekdays

Declaration
public static IEnumerable<CaseValue> WhereEnd(this IEnumerable<CaseValue> periodValues, params DayOfWeek[] weekdays)
Parameters
Type Name Description
IEnumerable<CaseValue> periodValues
DayOfWeek[] weekdays

The week days

Returns
Type Description
IEnumerable<CaseValue>

List of intersecting date periods

View Source

WhereEndNot(IEnumerable<CaseValue>, params DayOfWeek[])

Get date periods with end is not on specific weekdays

Declaration
public static IEnumerable<CaseValue> WhereEndNot(this IEnumerable<CaseValue> periodValues, params DayOfWeek[] weekdays)
Parameters
Type Name Description
IEnumerable<CaseValue> periodValues
DayOfWeek[] weekdays

The week days

Returns
Type Description
IEnumerable<CaseValue>

List of intersecting date periods

View Source

WherePeriod(IEnumerable<CaseValue>, Func<DatePeriod, bool>)

Get case period values matching a period predicate

Declaration
public static IEnumerable<CaseValue> WherePeriod(this IEnumerable<CaseValue> periodValues, Func<DatePeriod, bool> predicate)
Parameters
Type Name Description
IEnumerable<CaseValue> periodValues
Func<DatePeriod, bool> predicate

The predicate.

Returns
Type Description
IEnumerable<CaseValue>

List of case period value matching the predicate

View Source

WhereStart(IEnumerable<CaseValue>, params DayOfWeek[])

Get date periods with start on specific weekdays

Declaration
public static IEnumerable<CaseValue> WhereStart(this IEnumerable<CaseValue> periodValues, params DayOfWeek[] weekdays)
Parameters
Type Name Description
IEnumerable<CaseValue> periodValues
DayOfWeek[] weekdays

The week days

Returns
Type Description
IEnumerable<CaseValue>

List of intersecting date periods

View Source

WhereStartNot(IEnumerable<CaseValue>, params DayOfWeek[])

Get date periods with start is not on specific weekdays

Declaration
public static IEnumerable<CaseValue> WhereStartNot(this IEnumerable<CaseValue> periodValues, params DayOfWeek[] weekdays)
Parameters
Type Name Description
IEnumerable<CaseValue> periodValues
DayOfWeek[] weekdays

The week days

Returns
Type Description
IEnumerable<CaseValue>

List of intersecting date periods

  • View Source
☀
☾
Back to top Generated by DocFX