public void SaveEsa(Esa esa) { if (esa == null) { throw new ArgumentNullException("esa"); } NHEsaDto dto = new NHEsaDto(); dto.Altitude = esa.Altitude.Value; dto.CenterLatitude = esa.Location.Latitude.Value; dto.CenterLongitude = esa.Location.Longitude.Value; dto.Id = esa.Id; dto.Radius = esa.Radius.Value; dto.Wkt = esa.Construct.Value.AsText(); using (ISession session = this.sessionFactory.OpenSession()) { using (ITransaction transaction = session.BeginTransaction()) { session.SaveOrUpdate(dto); transaction.Commit(); } } }
public IList <Approach> GetApproaches() { IList <NHApproachDto> approaches = new List <NHApproachDto>(); using (ISession session = this.sessionFactory.OpenSession()) { using (ITransaction transaction = session.BeginTransaction()) { approaches = session.QueryOver <NHApproachDto>().List(); transaction.Commit(); } } IList <Approach> results = new List <Approach>(); foreach (NHApproachDto approach in approaches) { Approach model = this.approachFactory.CreateApproach(approach.Id, approach.Name, approach.Criteria); if (approach.EsaId.HasValue) { IEsaRepository repository = this.esaRepositoryFactory.Invoke(this.sessionFactory); Esa esa = repository.GetEsa(approach.EsaId.Value); if (esa != null) { model.AddEsa(esa); } } results.Add(model); } return(results); }
public EsaSummaryDto GetEsa(Guid id) { Esa esa = this.GetSingleEsa(id); EsaSummaryDto dto = builder.ToDto(esa); return(dto); }
public void AddEsa(Esa esa) { Contract.Assert(esa.Id == this.Id, "The identifier for the ESA must be the same as the approach."); Contract.Assert(this.Criteria.Value == CriteriaType.NATO, "ESA's may only be added to NATO approaches."); ApproachEsa esaValue = new ApproachEsa(esa.Id); this.Esa = esaValue; }
public void CreateEsa(EsaSummaryDto dto) { Esa model = this.factory.CreateEsa(dto.Id, dto.Altitude, dto.Radius, dto.CenterLatitude, dto.CenterLongitude); Approach approach = this.GetSingleApproach(model.ApproachId); approach.AddEsa(model); this.CreateApproach(approach); this.CreateEsa(model); }
public IList <Tuple <double, double> > GetConstruct(Guid id) { Esa esa = this.GetSingleEsa(id); Coordinate[] coords = esa.Construct.Value.Coordinates; IList <Tuple <double, double> > points = new List <Tuple <double, double> >(); foreach (Coordinate coord in coords) { points.Add(new Tuple <double, double>(coord.Y, coord.X)); } return(points); }
public Esa BuildEsa( Altitude altitude, Radius radius, Location location, Construct construct) { Esa esa = new Esa(this.Id, altitude, radius, location, construct, this.Id); DomainEventPublisher.Instance().Publish( new ApproachEsaBuilt( this.Id, esa.Id, this.Criteria.Value)); return(esa); }
public Esa GetEsa(Guid id) { NHEsaDto dto = null; using (ISession session = this.sessionFactory.OpenSession()) { using (ITransaction transaction = session.BeginTransaction()) { dto = session.QueryOver <NHEsaDto>().Where(x => x.Id == id).SingleOrDefault(); transaction.Commit(); } } if (dto == null) { return(null); } Esa model = this.esaFactory.CreateEsa(dto.Id, dto.Altitude, dto.Radius, dto.CenterLatitude, dto.CenterLongitude); return(model); }
public bool HasEsa(Guid id) { Esa esa = this.GetSingleEsa(id); return(esa != null); }
private Esa GetSingleEsa(Guid id) { Esa esa = this.esaRepository.GetEsa(id); return(esa); }
private void CreateEsa(Esa esa) { this.esaRepository.SaveEsa(esa); }
public EsaSummaryDto ToDto(Esa model) { return(new EsaSummaryDto(model.Id, model.Altitude.Value, model.Radius.Value, model.Location.Latitude.Value, model.Location.Longitude.Value)); }