194 lines
4.8 KiB
C#
194 lines
4.8 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
|
|
using BS.Shared;
|
|
|
|
namespace BeWo.Data.Entities
|
|
{
|
|
public class CostRatePeriod : BeWoEntityBase
|
|
{
|
|
public static string PropertyName_CostRateType = "CostRateType";
|
|
|
|
public static string PropertyName_CostRateValue = "CostRateValue";
|
|
|
|
public static string PropertyName_EndDate = "EndDate";
|
|
|
|
public static string PropertyName_ObjectOid = "ObjectOid";
|
|
|
|
public static string PropertyName_ObjectTid = "ObjectTid";
|
|
|
|
public static string PropertyName_StartDate = "StartDate";
|
|
|
|
public static string PropertyName_UnitName = "UnitName";
|
|
|
|
public static string PropertyName_ValueListEntry = "ValueListEntry";
|
|
|
|
private CostRatePeriodType _CostRateType;
|
|
|
|
private decimal? _CostRateValue;
|
|
|
|
private DateTime? _EndDate;
|
|
|
|
private long? _ObjectOid;
|
|
|
|
private TableID _ObjectTid;
|
|
|
|
private DateTime? _StartDate;
|
|
|
|
private string _UnitName;
|
|
|
|
private ValueListEntry _ValueListEntry;
|
|
|
|
public virtual CostRatePeriodType CostRateType
|
|
{
|
|
get
|
|
{
|
|
return this._CostRateType;
|
|
}
|
|
|
|
set
|
|
{
|
|
if (this.AreDifferent(this._CostRateType, value))
|
|
{
|
|
this._CostRateType = value;
|
|
}
|
|
}
|
|
}
|
|
|
|
public virtual decimal? CostRateValue
|
|
{
|
|
get
|
|
{
|
|
return this._CostRateValue;
|
|
}
|
|
|
|
set
|
|
{
|
|
if (this.AreDifferent(this._CostRateValue, value))
|
|
{
|
|
this._CostRateValue = value;
|
|
}
|
|
}
|
|
}
|
|
|
|
public virtual DateTime? EndDate
|
|
{
|
|
get
|
|
{
|
|
return this._EndDate;
|
|
}
|
|
|
|
set
|
|
{
|
|
if (this.AreDifferent(this._EndDate, value))
|
|
{
|
|
this._EndDate = value;
|
|
}
|
|
}
|
|
}
|
|
|
|
public virtual long? ObjectOid
|
|
{
|
|
get
|
|
{
|
|
return this._ObjectOid;
|
|
}
|
|
|
|
set
|
|
{
|
|
if (this.AreDifferent(this._ObjectOid, value))
|
|
{
|
|
this._ObjectOid = value;
|
|
}
|
|
}
|
|
}
|
|
|
|
public virtual TableID ObjectTid
|
|
{
|
|
get
|
|
{
|
|
return this._ObjectTid;
|
|
}
|
|
|
|
set
|
|
{
|
|
if (this._ObjectTid != value)
|
|
{
|
|
this._ObjectTid = value;
|
|
}
|
|
}
|
|
}
|
|
|
|
public virtual DateTime? StartDate
|
|
{
|
|
get
|
|
{
|
|
return this._StartDate;
|
|
}
|
|
|
|
set
|
|
{
|
|
if (this.AreDifferent(this._StartDate, value))
|
|
{
|
|
this._StartDate = value;
|
|
}
|
|
}
|
|
}
|
|
|
|
public virtual string UnitName
|
|
{
|
|
get
|
|
{
|
|
return this._UnitName;
|
|
}
|
|
|
|
set
|
|
{
|
|
if (this.AreDifferent(this._UnitName, value))
|
|
{
|
|
this._UnitName = value;
|
|
}
|
|
}
|
|
}
|
|
|
|
public virtual ValueListEntry ValueListEntry
|
|
{
|
|
get
|
|
{
|
|
return this._ValueListEntry;
|
|
}
|
|
|
|
set
|
|
{
|
|
if (this.AreDifferent(this._ValueListEntry, value))
|
|
{
|
|
this._ValueListEntry = value;
|
|
}
|
|
}
|
|
}
|
|
|
|
//public static CostRatePeriod GetValidServiceUnitForDate(IList<CostRatePeriod> costRates, DateTime date)
|
|
//{
|
|
// if (costRates == null)
|
|
// {
|
|
// return null;
|
|
// }
|
|
|
|
// var serviceUnits = costRates.Where(i => i.CostRateType == CostRatePeriodType.MinutesPerServiceUnit && i.CostRateValue.HasValue && !string.IsNullOrEmpty(i.UnitName));
|
|
|
|
// return serviceUnits.Where(i => i.EndDate.HasValue).OrderBy(i => i.EndDate).FirstOrDefault(i => i.EndDate >= date) ?? serviceUnits.SingleOrDefault(i => !i.EndDate.HasValue);
|
|
//}
|
|
|
|
//public virtual decimal GetMinutesInBE(decimal minutes)
|
|
//{
|
|
// return minutes / this.CostRateValue.Value;
|
|
//}
|
|
|
|
//public virtual decimal GetBEInMinutes(decimal be)
|
|
//{
|
|
|
|
// return be * CostRateValue.Value;
|
|
//}
|
|
}
|
|
} |