internal IfcResourceTime(DatabaseIfc m, string name, IfcDataOriginEnum orig, string userOrigin, IfcDuration schedWork, double schedUsage, DateTime schedStart,
DateTime schedFinish, string schedContour, IfcDuration levelingDelay, bool isOverAllocated, DateTime statusTime, IfcDuration actualWork, double actualUsage,
DateTime actualStart, DateTime actualFinish, IfcDuration remainingWork, double remainingUsage, double fractionComplete)
: base(m, name, orig, userOrigin)
{
if (schedWork != null)
mScheduleWork = schedWork.ToString();
mScheduleUsage = schedUsage;
if (schedStart != DateTime.MinValue)
mScheduleStart = IfcDateTime.Convert(schedStart);
if (schedFinish != DateTime.MinValue)
mScheduleFinish = IfcDateTime.Convert(schedFinish);
if (!string.IsNullOrEmpty(schedContour))
mScheduleContour = schedContour.Replace("'", "");
if (levelingDelay != null)
mLevelingDelay = levelingDelay.ToString();
mIsOverAllocated = isOverAllocated;
if (statusTime != DateTime.MinValue)
mStatusTime = IfcDateTime.Convert(statusTime);
if (actualWork != null)
mActualWork = actualWork.ToString();
mActualUsage = actualUsage;
if (actualStart != DateTime.MinValue)
mActualStart = IfcDateTime.Convert(actualStart);
if (actualFinish != DateTime.MinValue)
mActualFinish = IfcDateTime.Convert(actualFinish);
if (remainingWork != null)
mRemainingWork = remainingWork.ToString();
mRemainingUsage = remainingUsage;
mCompletion = fractionComplete;
}