using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.ComponentModel.DataAnnotations; using Sleis.Validation.Attribute; namespace Sleis.Models { public abstract class ReleasePoint : SimpleReleasePointModel { public virtual int? MasterReleasePointId { get; set; } //public virtual int FacilityId { get; set; } //public virtual string Identifier { get; set; } //public virtual string Description { get; set; } public virtual string Comment { get; set; } public virtual FacilityModel Facility { get; set; } //Facility associated with the RP //public virtual string TypeCode { get; set; } //public virtual string StatusCode {get;set;} //public virtual DateTime? StatusAsOfDate { get; set; } public virtual Double? StackHeightMeasurement { get; set; } public virtual string StackHeightUomCode { get; set; } public virtual Double? StackDiameterMeasurement { get; set; } public virtual string StackDiameterUomCode { get; set; } public virtual Double? GasTemp { get; set; } public virtual Double? GasFlowRate { get; set; } public virtual string GasFlowRateUomCode { get; set; } public virtual Double? GasVel { get; set; } public virtual string GasVelUomCode { get; set; } public virtual GeographicLocation Location { get; set; } public virtual Double? FugitiveHeight { get; set; } public virtual string FugitiveHeightUom { get; set; } public virtual Double? FugitiveWidth { get; set; } public virtual string FugitiveWidthUom { get; set; } public virtual Double? FugitiveLength { get; set; } public virtual string FugitiveLengthUom { get; set; } public virtual Double? FugitiveAngle { get; set; } public virtual Double? FenceLineDistance { get; set; } public virtual string FenceLineDistanceUomCode { get; set; } public virtual List RelatedUnitProcesses { get; set; } public virtual bool UsesFacilitySiteLocation { get; set; } public ReleasePoint() { Location = new GeographicLocation(); //prevent null lists RelatedUnitProcesses = new List(); } public override void SetContext(string parentContext) { ValidationContxt = String.Format("{0} Release Point:{1}", parentContext, Identifier); if (RelatedUnitProcesses != null) RelatedUnitProcesses.ForEach(x => x.SetContext(ValidationContxt)); if (Location != null) Location.SetContext(ValidationContxt); } } }