using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.ComponentModel.DataAnnotations; namespace Sleis.Models { public abstract class ProcessEmission : ListItemModel { public virtual UnitProcess UnitProcess { get; set; } public virtual EmissionUnit EmissionUnit { get; set; } public virtual string PeriodTypeCode { get; set; } public virtual string OperatingTypeCode { get; set; } public virtual bool? IsReported { get; set;} public virtual bool? IsCbi { get; set; } public virtual SimpleTimeSpan Duration { get; set; } public virtual string ValueUomCode { get; set; } public virtual string ValueTypeCode { get; set; } public virtual decimal? Value { get; set; } public virtual string MaterialTypeCode { get; set; } public virtual int UnitProcessId { get; set; } public virtual SimpleLookupItem OperatingType { get; set; } public virtual SimpleLookupItem ParameterUom { get; set; } public virtual SimpleLookupItem ParameterType { get; set; } public virtual SimpleLookupItem MaterialType { get; set; } //monthly values public virtual Decimal? JanuaryVal { get; set; } public virtual Decimal? FebruaryVal { get; set; } public virtual Decimal? MarchVal { get; set; } public virtual Decimal? AprilVal { get; set; } public virtual Decimal? MayVal { get; set; } public virtual Decimal? JuneVal { get; set; } public virtual Decimal? JulyVal { get; set; } public virtual Decimal? AugustVal { get; set; } public virtual Decimal? SeptemberVal { get; set; } public virtual Decimal? OctoberVal { get; set; } public virtual Decimal? NovemberVal { get; set; } public virtual Decimal? DecemberVal { get; set; } //[DisplayFormat(DataFormatString="0:0.0")] public virtual Decimal? ActualHoursPerPeriod { get; set; } public virtual Decimal? AvgDaysPerWeek { get; set; } public virtual Decimal? AvgHoursPerDay { get; set; } public virtual Decimal? AvgWeeksPerPeriod { get; set; } //[DisplayFormat(DataFormatString = "{0:n1}", ApplyFormatInEditMode=true)] public virtual Decimal? SpringActivityPercent { get; set; } //[DisplayFormat(DataFormatString = "{0:n1}", ApplyFormatInEditMode=true)] public virtual Decimal? SummerActivityPercent { get; set; } //[DisplayFormat(DataFormatString = "{0:n1}", ApplyFormatInEditMode=true)] public virtual Decimal? FallActivityPercent { get; set; } //[DisplayFormat(DataFormatString = "{0:n1}", ApplyFormatInEditMode=true)] public virtual Decimal? WinterActivityPercent { get; set; } public virtual Decimal? ActualSummerSeasonDays { get; set; } public virtual Decimal? TotalOzoneSeasonDays { get; set; } public virtual Decimal? TotalCoSeasonDays { get; set; } public virtual Decimal? AshContentPercent { get; set; } public virtual Decimal? SulfurContentPercent { get; set; } public virtual Decimal? HeatContent { get; set; } public virtual string Comment { get; set; } public virtual IList Emissions { get; set; } public override string Identifier { get { if (UnitProcess != null) { return UnitProcess.Identifier; } return base.Identifier; } set { base.Identifier = value; } } public override string Description { get { if (UnitProcess != null) { return UnitProcess.Description; } return base.Description; } set { base.Description = value; } } public ProcessEmission() { UnitProcess = new PublicUnitProcess(); Duration = new SimpleTimeSpan(); Emissions = new List(); SetValuesAsNull(); } public override void SetContext(string parentContext) { //Emission Unit: [identifier], Process: [unit-process-identifier]" ValidationContxt = String.Format("{0} Emission Unit: {1}, Process: {2}", parentContext,UnitProcess.EmissionIdentifier, UnitProcess.Identifier); if (UnitProcess != null) UnitProcess.SetContext(ValidationContxt); if (Emissions != null) { foreach (Emission emission in Emissions) { emission.SetContext(ValidationContxt); } } base.SetContext(ValidationContxt); } public virtual void SetValuesAsNull() { JanuaryVal = null; FebruaryVal = null; MarchVal = null; AprilVal = null; MayVal = null; JuneVal = null; JulyVal = null; AugustVal = null; SeptemberVal = null; OctoberVal = null; NovemberVal = null; DecemberVal = null; ActualHoursPerPeriod = null; AvgDaysPerWeek = null; AvgHoursPerDay = null; AvgWeeksPerPeriod = null; SpringActivityPercent = null; SummerActivityPercent = null; FallActivityPercent = null; WinterActivityPercent = null; TotalOzoneSeasonDays = null; TotalCoSeasonDays = null; AshContentPercent = null; SulfurContentPercent = null; HeatContent = null; } } }