예제 #1
0
        public async Task <IEnumerable <Trajectory> > GetTrajectories(string wellUid, string wellboreUid)
        {
            var witsmlTrajectory = TrajectoryQueries.GetWitsmlTrajectoryByWellbore(wellUid, wellboreUid);
            var result           = await WitsmlClient.GetFromStoreAsync(witsmlTrajectory, new OptionsIn(ReturnElements.Requested));

            return(result.Trajectories.Select(trajectory =>
                                              new Trajectory
            {
                Uid = trajectory.Uid,
                WellUid = trajectory.UidWell,
                WellboreUid = trajectory.UidWellbore,
                Name = trajectory.Name,
                MdMin = StringHelpers.ToDecimal(trajectory.MdMin?.Value),
                MdMax = StringHelpers.ToDecimal(trajectory.MdMax?.Value),
                AziRef = trajectory.AziRef,
                DTimTrajStart = StringHelpers.ToDateTime(trajectory.DTimTrajStart),
                DTimTrajEnd = StringHelpers.ToDateTime(trajectory.DTimTrajEnd),
                DateTimeCreation = StringHelpers.ToDateTime(trajectory.CommonData?.DTimCreation),
                DateTimeLastChange = StringHelpers.ToDateTime(trajectory.CommonData?.DTimLastChange)
            }).OrderBy(trajectory => trajectory.Name));
        }
예제 #2
0
        public async Task <List <TrajectoryStation> > GetTrajectoryStations(string wellUid, string wellboreUid, string trajectoryUid)
        {
            var trajectoryToQuery = TrajectoryQueries.GetWitsmlTrajectoryById(wellUid, wellboreUid, trajectoryUid);
            var result            = await WitsmlClient.GetFromStoreAsync(trajectoryToQuery, new OptionsIn(ReturnElements.All));

            var witsmlTrajectory = result.Trajectories.FirstOrDefault();

            if (witsmlTrajectory == null)
            {
                return(null);
            }
            return(witsmlTrajectory.TrajectoryStations.Select(tStation => new TrajectoryStation
            {
                Uid = tStation.Uid,
                DTimStn = StringHelpers.ToDateTime(tStation.DTimStn),
                TypeTrajStation = tStation.TypeTrajStation,
                Md = StringHelpers.ToDecimal(tStation.Md?.Value),
                Tvd = StringHelpers.ToDecimal(tStation.Tvd?.Value),
                Incl = StringHelpers.ToDecimal(tStation.Incl?.Value),
                Azi = StringHelpers.ToDecimal(tStation.Azi?.Value)
            })
                   .OrderBy(tStation => tStation.Md)
                   .ToList());
        }