Beispiel #1
0
 public Step Load(VOYAGE_ETAPE step)
 {
     Id        = step.ID;
     Type      = Type.GetEnum <TypeStep>(step.ID_TYPE_ETAPE);
     Address   = step.ADRESSE;
     Order     = step.ORDRE;
     Latitude  = (double)step.COORD_Y;
     Longitude = (double)step.COORD_X;
     return(this);
 }
Beispiel #2
0
        public int GetKm(VOYAGE_ETAPE De, VOYAGE_ETAPE A)
        {
            var guidageDe = GetAll().Where(l => l.ID_VOYAGE_ETAPE_DE == De.ID).OrderBy(p => p.ORDRE_VOYAGE).First();
            var guidateA  = GetAll().Where(l => l.ID_VOYAGE_ETAPE_A == A.ID).OrderByDescending(p => p.ORDRE_VOYAGE).First();

            //return (GetAll().Where(l => l.ORDRE_VOYAGE >= guidageDe.ORDRE_VOYAGE && l.ORDRE_VOYAGE <= guidateA.ORDRE_VOYAGE)
            //                .Sum(l => l.DISTANCE_M)) / 1000;

            var voyage = De.VOYAGE;

            return((from guidage in _context.VOYAGE_GUIDAGE
                    join etape in _context.VOYAGE_ETAPE on guidage.ID_VOYAGE_ETAPE_DE equals etape.ID
                    where etape.ID_VOYAGE == voyage.ID && guidage.ORDRE_VOYAGE >= guidageDe.ORDRE_VOYAGE && guidage.ORDRE_VOYAGE <= guidateA.ORDRE_VOYAGE
                    select new { Guidage = guidage, Etape = etape }).Sum(g => g.Guidage.DISTANCE_M) / 1000);
        }
Beispiel #3
0
        internal SaveResult Save(Trip trip)
        {
            try
            {
                var data = new VOYAGE_ETAPE();
                data.ID_VOYAGE     = trip.Id;
                data.ID_TYPE_ETAPE = Type.GetGuid().Value;
                data.ADRESSE       = Address;
                data.ORDRE         = Order;
                data.COORD_Y       = (decimal)Latitude;
                data.COORD_X       = (decimal)Longitude;

                Container.Manager.EtapeOperation.Add(data);
                Container.Manager.Save();
                Id = data.ID;
                return(new SaveResult(true, Id));
            }
            catch (Exception ex)
            {
                Logger.Error(ex, "Passager.Save()");
                return(new SaveResult(ex));
            }
        }
        public float GetPrixVoyage(VOYAGE voyage, VOYAGE_ETAPE etapeDe, VOYAGE_ETAPE etapeA)
        {
            VoyageGuidageOperation voyageGuidageOperation = new VoyageGuidageOperation(_contextTrip);

            return(voyage.COUT_AU_KM / voyageGuidageOperation.GetKm(voyage) * voyageGuidageOperation.GetKm(etapeDe, etapeA));
        }