97 lines
3.7 KiB
C#
97 lines
3.7 KiB
C#
using EnVisage.Code;
|
|
using EnVisage.Code.DAL.Mongo;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
|
|
namespace EnVisage.Models
|
|
{
|
|
public class ScenarioCalendarMixModel : ScenarioCalendarModelBase
|
|
{
|
|
public Guid Id { get; set; }
|
|
public Guid? ParentId { get; set; }
|
|
public long StartDate { get; set; }
|
|
public long EndDate { get; set; }
|
|
public Guid TemplateId { get; set; }
|
|
public bool GrowthScenario { get; set; }
|
|
public ScenarioType Type { get; set; }
|
|
public int Duration { get; set; }
|
|
public bool IsNew { get; set; }
|
|
public string Name { get; set; }
|
|
public bool Pinned { get; set; }
|
|
public ItemVersionInfo VersionInfo { get; set; }
|
|
public List<ScenarioCalendarRateModel> Rates { get; set; }
|
|
public ScenarioCalendarMixFinInfoModel FinInfo { get; set; }
|
|
public bool IsBottomUp { get; set; }
|
|
|
|
public ScenarioCalendarMixModel() : base()
|
|
{
|
|
Rates = new List<ScenarioCalendarRateModel>();
|
|
VersionInfo = new ItemVersionInfo();
|
|
}
|
|
|
|
public ScenarioCalendarMixModel(MixScenario scenario)
|
|
: this()
|
|
{
|
|
if (scenario == null)
|
|
return;
|
|
|
|
Id = scenario.Id;
|
|
StartDate = scenario.StartDate;
|
|
EndDate = scenario.EndDate;
|
|
TemplateId = scenario.TemplateId;
|
|
ParentId = scenario.ParentId;
|
|
GrowthScenario = scenario.GrowthScenario;
|
|
Type = scenario.Type;
|
|
Duration = scenario.Duration;
|
|
Rates = scenario.Rates;
|
|
IsNew = scenario.IsNew;
|
|
IsBottomUp = scenario.IsBottomUp;
|
|
VersionInfo = new ItemVersionInfo()
|
|
{
|
|
SourceVersion = (scenario.VersionInfo != null) ? scenario.VersionInfo.SourceVersion : null,
|
|
RmoVersion = (scenario.VersionInfo != null) ? scenario.VersionInfo.RmoVersion : 1
|
|
};
|
|
FinInfo = scenario.FinInfo != null ? scenario.FinInfo.Clone() : null;
|
|
}
|
|
}
|
|
|
|
public class ScenarioCalendarMixFinInfoModel
|
|
{
|
|
public bool IsRevenueGenerating { get; set; }
|
|
public decimal ProjectedRevenue { get; set; }
|
|
public decimal RevenueAfterCost { get; set; }
|
|
public decimal? ActualRevenueAfterCost { get; set; }
|
|
public int? GrossMargin { get; set; }
|
|
public int? LMMargin { get; set; }
|
|
public bool UseLMMargin { get; set; }
|
|
public int CalculatedGrossMargin { get; set; }
|
|
public int CalculatedGrossMarginLM { get; set; }
|
|
public int? CalculatedGrossMarginActuals { get; set; }
|
|
public int? CalculatedGrossMarginLMActuals { get; set; }
|
|
public decimal TDDirectCosts { get; set; }
|
|
public decimal BUDirectCosts { get; set; }
|
|
public decimal? ActualLabor { get; set; }
|
|
public string LaborMaterialsSplit { get; set; }
|
|
public string ActualLaborMaterialsSplit { get; set; }
|
|
public decimal? ActualMaterials { get; set; }
|
|
public decimal ActualsTotal { get; set; }
|
|
public decimal EFXSplit { get; set; }
|
|
public short LaborSplitPercentage { get; set; }
|
|
public CostSavingSnapshotModel CostSaving { get; set; }
|
|
}
|
|
|
|
public class MixScenarioDetailsFormLoadModel
|
|
{
|
|
public ScenarioCalendarMixModel Scenario { get; set; }
|
|
public List<Guid> TeamsInScenario { get; set; }
|
|
public List<MixScenarioDates> MixScenarioDependencyData { get; set; }
|
|
}
|
|
public class MixScenarioDates
|
|
{
|
|
public Guid? ProjectId { get; set; }
|
|
public Guid? ScenaroId { get; set; }
|
|
public long? StartDate { get; set; }
|
|
public long? EndDate { get; set; }
|
|
|
|
}
|
|
} |