Definition
Assembly: CloudNimble.EasyAF.Core.dll
Namespace: CloudNimble.EasyAF.Core
Inheritance: CloudNimble.EasyAF.Core.Interval<T>
Syntax
CloudNimble . EasyAF . Core . MoneyInterval < T >
Summary
Represents a sum of money to be exchanged during a given interval.
This has been broken up to allow for conversions (for example, converting / m o n t h i n t o /month into / m o n t hin t o /day) to be self-contained. This should reduce duplication.
Constructors
.ctor
Syntax
.ctor
Initializes a new instance of the MoneyInterval1` class with the specified interval value and type.
Syntax
public MoneyInterval ( T value , CloudNimble . EasyAF . Core . IntervalType type )
Parameters
Name Type Description valueTThe duration of the interval. typeCloudNimble.EasyAF.Core.IntervalTypeThe base unit that describes what the quantity of this interval references.
.ctor
Initializes a new instance of the MoneyInterval1` class with the specified money amount, interval value, and type.
Syntax
public MoneyInterval ( System . Decimal money , T value , CloudNimble . EasyAF . Core . IntervalType type )
Parameters
Name Type Description moneySystem.DecimalThe amount of money represented by the given interval. valueTThe duration of the interval. typeCloudNimble.EasyAF.Core.IntervalTypeThe base unit that describes what the quantity of this interval references.
.ctor Inherited
Inherited from CloudNimble.EasyAF.Core.Interval<T>
Creates a new instance of the Interval1` class.
Syntax
.ctor Inherited
Inherited from CloudNimble.EasyAF.Core.Interval<T>
Creates a new instance of the Interval1` class.
Syntax
public Interval ( T value , CloudNimble . EasyAF . Core . IntervalType type )
Parameters
Name Type Description valueTThe duration of the interval. typeCloudNimble.EasyAF.Core.IntervalTypeThe base unit that describes what the quantity of this Interval references.
.ctor Inherited
Syntax
Properties
Money
The amount of money represented by the given IntervalType
Syntax
public System . Decimal Money { get ; set ; }
Property Value
Type: System.Decimal
Type Inherited
Inherited from CloudNimble.EasyAF.Core.Interval<T>
The base unit that describes what the quantity of this Interval references.
Syntax
public CloudNimble . EasyAF . Core . IntervalType Type { get ; set ; }
Property Value
Type: CloudNimble.EasyAF.Core.IntervalType
Value Inherited
Inherited from CloudNimble.EasyAF.Core.Interval<T>
The duration of the Interval.
Syntax
public T Value { get ; set ; }
Property Value
Type: T
Methods
Equals Inherited Virtual
Syntax
public virtual bool Equals ( object obj )
Parameters
Name Type Description objobject?-
Returns
Type: bool
Equals Inherited
Syntax
public static bool Equals ( object objA , object objB )
Parameters
Name Type Description objAobject?- objBobject?-
Returns
Type: bool
GetHashCode Inherited Virtual
Syntax
public virtual int GetHashCode ()
Returns
Type: int
GetType Inherited
Syntax
public System . Type GetType ()
Returns
Type: System.Type
MemberwiseClone Inherited
Syntax
protected internal object MemberwiseClone ()
Returns
Type: object
PerDay Override
Calculates the monetary amount per day based on this money interval.
Syntax
public override System . Decimal PerDay ()
Returns
Type: System.Decimal
The amount of money per day as a decimal value.
PerDay Override
Calculates the total monetary amount per day based on this money interval and a quantity multiplier.
Syntax
public override System . Decimal PerDay ( System . Decimal quantity )
Parameters
Name Type Description quantitySystem.DecimalThe quantity multiplier (e.g., hours worked, units sold).
Returns
Type: System.Decimal
The total amount of money per day as a decimal value.
Examples
// $25 per hour wage, calculate earnings for 8 hours of work per day
var wage = new MoneyInterval & lt ; double & gt ;( 25m , 1 , IntervalType . Hours );
decimal totalPerDay = wage . PerDay ( 8 ); // $4800 per day (25 * 24 * 8)
PerDay Inherited Virtual
Inherited from CloudNimble.EasyAF.Core.Interval<T>
Given this Interval1` instance, calculates how many occurrences will happen per day.
Syntax
public virtual System . Decimal PerDay ()
Returns
Type: System.Decimal
The number of occurrences per day as a decimal value.
Exceptions
Exception Description InvalidCastExceptionThrown if T is not convertible to a Decimal .
PerDay Inherited Virtual
Inherited from CloudNimble.EasyAF.Core.Interval<T>
Given this Interval1` instance and a quantity, calculates the total output per day.
Syntax
public virtual System . Decimal PerDay ( System . Decimal quantity )
Parameters
Name Type Description quantitySystem.DecimalThe quantity to multiply by the interval frequency.
Returns
Type: System.Decimal
The total output per day as a decimal value.
Exceptions
Exception Description InvalidCastExceptionThrown if T is not convertible to a Decimal .
Examples
// Widget production: 1 widget every 1.5 hours, total from 100 units of material per day
var production = new Interval & lt ; double & gt ;( 1.5 , IntervalType . Hours );
decimal totalPerDay = production . PerDay ( 100 ); // 1600 widgets per day (16 * 100)
PerHour Override
Calculates the monetary amount per hour based on this money interval.
Syntax
public override System . Decimal PerHour ()
Returns
Type: System.Decimal
The amount of money per hour as a decimal value.
PerHour Override
Calculates the total monetary amount per hour based on this money interval and a quantity multiplier.
Syntax
public override System . Decimal PerHour ( System . Decimal quantity )
Parameters
Name Type Description quantitySystem.DecimalThe quantity multiplier (e.g., hours worked, units sold).
Returns
Type: System.Decimal
The total amount of money per hour as a decimal value.
Examples
// $25 per hour wage, calculate earnings for 8 hours of work per hour
var wage = new MoneyInterval & lt ; double & gt ;( 25m , 1 , IntervalType . Hours );
decimal totalPerHour = wage . PerHour ( 8 ); // $200 per hour (25 * 8)
PerHour Inherited Virtual
Inherited from CloudNimble.EasyAF.Core.Interval<T>
Given this Interval1` instance, calculates how many occurrences will happen per hour.
Syntax
public virtual System . Decimal PerHour ()
Returns
Type: System.Decimal
The number of occurrences per hour as a decimal value.
Exceptions
Exception Description InvalidCastExceptionThrown if T is not convertible to a Decimal .
PerHour Inherited Virtual
Inherited from CloudNimble.EasyAF.Core.Interval<T>
Given this Interval1` instance and a quantity, calculates the total output per hour.
Syntax
public virtual System . Decimal PerHour ( System . Decimal quantity )
Parameters
Name Type Description quantitySystem.DecimalThe quantity to multiply by the interval frequency.
Returns
Type: System.Decimal
The total output per hour as a decimal value.
Exceptions
Exception Description InvalidCastExceptionThrown if T is not convertible to a Decimal .
Examples
// Widget production: 1 widget every 1.5 hours, total from 100 units of material per hour
var production = new Interval & lt ; double & gt ;( 1.5 , IntervalType . Hours );
decimal totalPerHour = production . PerHour ( 100 ); // 66.67 widgets per hour (1/1.5 * 100)
PerMinute Override
Calculates the monetary amount per minute based on this money interval.
Syntax
public override System . Decimal PerMinute ()
Returns
Type: System.Decimal
The amount of money per minute as a decimal value.
PerMinute Override
Calculates the total monetary amount per minute based on this money interval and a quantity multiplier.
Syntax
public override System . Decimal PerMinute ( System . Decimal quantity )
Parameters
Name Type Description quantitySystem.DecimalThe quantity multiplier (e.g., hours worked, units sold).
Returns
Type: System.Decimal
The total amount of money per minute as a decimal value.
Examples
// $25 per hour wage, calculate earnings for 8 hours of work per minute
var wage = new MoneyInterval & lt ; double & gt ;( 25m , 1 , IntervalType . Hours );
decimal totalPerMinute = wage . PerMinute ( 8 ); // $3.33 per minute (25 * 8 / 60)
PerMinute Inherited Virtual
Inherited from CloudNimble.EasyAF.Core.Interval<T>
Given this Interval1` instance, calculates how many occurrences will happen per minute.
Syntax
public virtual System . Decimal PerMinute ()
Returns
Type: System.Decimal
The number of occurrences per minute as a decimal value.
Exceptions
Exception Description InvalidCastExceptionThrown if T is not convertible to a Decimal .
If you need this as a whole number, wrap the result in Decimal) .
PerMinute Inherited Virtual
Inherited from CloudNimble.EasyAF.Core.Interval<T>
Given this Interval1` instance and a quantity, calculates the total output per minute.
Syntax
public virtual System . Decimal PerMinute ( System . Decimal quantity )
Parameters
Name Type Description quantitySystem.DecimalThe quantity to multiply by the interval frequency.
Returns
Type: System.Decimal
The total output per minute as a decimal value.
Exceptions
Exception Description InvalidCastExceptionThrown if T is not convertible to a Decimal .
Examples
// Widget production: 1 widget every 90 minutes, total from 100 units of material per minute
var production = new Interval & lt ; int & gt ;( 90 , IntervalType . Minutes );
decimal totalPerMinute = production . PerMinute ( 100 ); // 1.11 widgets per minute (1/90 * 100)
PerMonth Override
Calculates the monetary amount per month based on this money interval.
Syntax
public override System . Decimal PerMonth ()
Returns
Type: System.Decimal
The amount of money per month as a decimal value.
PerMonth Override
Calculates the total monetary amount per month based on this money interval and a quantity multiplier.
Syntax
public override System . Decimal PerMonth ( System . Decimal quantity )
Parameters
Name Type Description quantitySystem.DecimalThe quantity multiplier (e.g., hours worked, units sold).
Returns
Type: System.Decimal
The total amount of money per month as a decimal value.
Examples
// $50 per day, calculate earnings for 20 working days per month
var dailyRate = new MoneyInterval & lt ; double & gt ;( 50m , 1 , IntervalType . Days );
decimal totalPerMonth = dailyRate . PerMonth ( 20 ); // $30,000 per month (50 * 30 * 20)
PerMonth Inherited Virtual
Inherited from CloudNimble.EasyAF.Core.Interval<T>
Given this Interval1` instance, calculates how many occurrences will happen per month.
Syntax
public virtual System . Decimal PerMonth ()
Returns
Type: System.Decimal
The number of occurrences per month as a decimal value.
Exceptions
Exception Description InvalidCastExceptionThrown if T is not convertible to a Decimal .
PerMonth Inherited Virtual
Inherited from CloudNimble.EasyAF.Core.Interval<T>
Given this Interval1` instance and a quantity, calculates the total output per month.
Syntax
public virtual System . Decimal PerMonth ( System . Decimal quantity )
Parameters
Name Type Description quantitySystem.DecimalThe quantity to multiply by the interval frequency.
Returns
Type: System.Decimal
The total output per month as a decimal value.
Exceptions
Exception Description InvalidCastExceptionThrown if T is not convertible to a Decimal .
Examples
// Widget production: 1 widget every 3 days, total from 200 units of material per month
var production = new Interval & lt ; int & gt ;( 3 , IntervalType . Days );
decimal totalPerMonth = production . PerMonth ( 200 ); // 2000 widgets per month (10 * 200)
PerWeek Override
Calculates the monetary amount per week based on this money interval.
Syntax
public override System . Decimal PerWeek ()
Returns
Type: System.Decimal
The amount of money per week as a decimal value.
PerWeek Override
Calculates the total monetary amount per week based on this money interval and a quantity multiplier.
Syntax
public override System . Decimal PerWeek ( System . Decimal quantity )
Parameters
Name Type Description quantitySystem.DecimalThe quantity multiplier (e.g., hours worked, units sold).
Returns
Type: System.Decimal
The total amount of money per week as a decimal value.
Examples
// $150 every 2.5 hours, calculate earnings for 40 hours of work per week
var freelance = new MoneyInterval & lt ; double & gt ;( 150m , 2.5 , IntervalType . Hours );
decimal totalPerWeek = freelance . PerWeek ( 40 ); // $40,320 per week
PerWeek Inherited Virtual
Inherited from CloudNimble.EasyAF.Core.Interval<T>
Given this Interval1` instance, calculates how many occurrences will happen per week.
Syntax
public virtual System . Decimal PerWeek ()
Returns
Type: System.Decimal
The number of occurrences per week as a decimal value.
Exceptions
Exception Description InvalidCastExceptionThrown if T is not convertible to a Decimal .
PerWeek Inherited Virtual
Inherited from CloudNimble.EasyAF.Core.Interval<T>
Given this Interval1` instance and a quantity, calculates the total output per week.
Syntax
public virtual System . Decimal PerWeek ( System . Decimal quantity )
Parameters
Name Type Description quantitySystem.DecimalThe quantity to multiply by the interval frequency.
Returns
Type: System.Decimal
The total output per week as a decimal value.
Exceptions
Exception Description InvalidCastExceptionThrown if T is not convertible to a Decimal .
Examples
// Widget production: 1 widget every 2 days, total from 50 units of material per week
var production = new Interval & lt ; int & gt ;( 2 , IntervalType . Days );
decimal totalPerWeek = production . PerWeek ( 50 ); // 175 widgets per week (3.5 * 50)
PerYear Override
Calculates the monetary amount per year based on this money interval.
Syntax
public override System . Decimal PerYear ()
Returns
Type: System.Decimal
The amount of money per year as a decimal value.
PerYear Override
Calculates the total monetary amount per year based on this money interval and a quantity multiplier.
Syntax
public override System . Decimal PerYear ( System . Decimal quantity )
Parameters
Name Type Description quantitySystem.DecimalThe quantity multiplier (e.g., hours worked, units sold).
Returns
Type: System.Decimal
The total amount of money per year as a decimal value.
Examples
// $75,000 annual salary, calculate total compensation with 1.2x multiplier
var salary = new MoneyInterval & lt ; double & gt ;( 75000m , 1 , IntervalType . Years );
decimal totalPerYear = salary . PerYear ( 1.2m ); // $90,000 per year (75000 * 1.2)
PerYear Inherited Virtual
Inherited from CloudNimble.EasyAF.Core.Interval<T>
Given this Interval1` instance, calculates how many occurrences will happen per year.
Syntax
public virtual System . Decimal PerYear ()
Returns
Type: System.Decimal
The number of occurrences per year as a decimal value.
Exceptions
Exception Description InvalidCastExceptionThrown if T is not convertible to a Decimal .
PerYear Inherited Virtual
Inherited from CloudNimble.EasyAF.Core.Interval<T>
Given this Interval1` instance and a quantity, calculates the total output per year.
Syntax
public virtual System . Decimal PerYear ( System . Decimal quantity )
Parameters
Name Type Description quantitySystem.DecimalThe quantity to multiply by the interval frequency.
Returns
Type: System.Decimal
The total output per year as a decimal value.
Exceptions
Exception Description InvalidCastExceptionThrown if T is not convertible to a Decimal .
Examples
// Widget production: 1 widget every 1 week, total from 500 units of material per year
var production = new Interval & lt ; int & gt ;( 1 , IntervalType . Weeks );
decimal totalPerYear = production . PerYear ( 500 ); // 26071 widgets per year (52.14 * 500)
ReferenceEquals Inherited
Syntax
public static bool ReferenceEquals ( object objA , object objB )
Parameters
Name Type Description objAobject?- objBobject?-
Returns
Type: bool
ToString Override
Syntax
public override string ToString ()
Returns
Type: string
ToString
Returns a string representation of the money interval with the specified number of decimal places for the currency value.
Syntax
public string ToString ( int decimals )
Parameters
Name Type Description decimalsintThe number of decimal places to display for the currency value.
Returns
Type: string
A formatted string showing the money amount per interval period.
ToString Override
Inherited from CloudNimble.EasyAF.Core.Interval<T>
Syntax
public override string ToString ()
Returns
Type: string
ToString Inherited Virtual
Syntax
public virtual string ToString ()
Returns
Type: string?