Esempio n. 1
0
        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);
        }
Esempio n. 3
0
        public EsaSummaryDto GetEsa(Guid id)
        {
            Esa           esa = this.GetSingleEsa(id);
            EsaSummaryDto dto = builder.ToDto(esa);

            return(dto);
        }
Esempio n. 4
0
        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;
        }
Esempio n. 5
0
        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);
        }
Esempio n. 6
0
        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);
        }
Esempio n. 7
0
        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);
        }
Esempio n. 8
0
        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);
        }
Esempio n. 9
0
        public bool HasEsa(Guid id)
        {
            Esa esa = this.GetSingleEsa(id);

            return(esa != null);
        }
Esempio n. 10
0
        private Esa GetSingleEsa(Guid id)
        {
            Esa esa = this.esaRepository.GetEsa(id);

            return(esa);
        }
Esempio n. 11
0
 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));
 }