public async Task <IEnumerable <Wellbore> > GetWellbores(string wellUid = null) { var start = DateTime.Now; var query = string.IsNullOrEmpty(wellUid) ? WellboreQueries.QueryAll() : WellboreQueries.QueryByWell(wellUid); var result = await WitsmlClient.GetFromStoreAsync(query, OptionsIn.Requested); var wellbores = result.Wellbores .Select(witsmlWellbore => new Wellbore { Uid = witsmlWellbore.Uid, Name = witsmlWellbore.Name, WellUid = witsmlWellbore.UidWell, WellName = witsmlWellbore.NameWell, WellStatus = witsmlWellbore.StatusWellbore, WellType = witsmlWellbore.TypeWellbore, IsActive = StringHelpers.ToBooleanSafe(witsmlWellbore.IsActive), DateTimeLastChange = StringHelpers.ToDateTime(witsmlWellbore.CommonData.DTimLastChange) }) .OrderBy(wellbore => wellbore.Name).ToList(); var elapsed = DateTime.Now.Subtract(start).Milliseconds / 1000.0; Log.Debug($"Fetched {wellbores.Count} wellbores in {elapsed} seconds"); return(wellbores); }
public async Task <IEnumerable <LogObject> > GetLogs(string wellUid, string wellboreUid) { var query = LogQueries.QueryByWellbore(wellUid, wellboreUid); var result = await WitsmlClient.GetFromStoreAsync(query, OptionsIn.HeaderOnly); return(result.Logs.Select(log => new LogObject { Uid = log.Uid, Name = log.Name, IndexType = log.IndexType, WellUid = log.UidWell, WellName = log.NameWell, WellboreUid = log.UidWellbore, WellboreName = log.NameWellbore, ObjectGrowing = StringHelpers.ToBooleanSafe(log.ObjectGrowing), ServiceCompany = log.ServiceCompany, RunNumber = log.RunNumber, StartIndex = GetIndexAsString(log.IndexType, log.StartIndex, log.StartDateTimeIndex), EndIndex = GetIndexAsString(log.IndexType, log.EndIndex, log.EndDateTimeIndex), DateTimeLastChange = StringHelpers.ToDateTime(log.CommonData.DTimLastChange), IndexCurve = log.IndexCurve.Value }).OrderBy(log => log.Name)); }
public async Task <LogObject> GetLog(string wellUid, string wellboreUid, string logUid, OptionsIn queryOptions) { var query = LogQueries.GetWitsmlLogById(wellUid, wellboreUid, logUid); var result = await WitsmlClient.GetFromStoreAsync(query, queryOptions); var witsmlLog = result.Logs.FirstOrDefault(); if (witsmlLog == null) { return(null); } var logObject = new LogObject { Uid = witsmlLog.Uid, Name = witsmlLog.Name, IndexType = witsmlLog.IndexType, WellUid = witsmlLog.UidWell, WellName = witsmlLog.NameWell, WellboreUid = witsmlLog.UidWellbore, WellboreName = witsmlLog.NameWellbore, IndexCurve = witsmlLog.IndexCurve.Value, ObjectGrowing = StringHelpers.ToBooleanSafe(witsmlLog.ObjectGrowing), ServiceCompany = witsmlLog.ServiceCompany, RunNumber = witsmlLog.RunNumber }; if (string.IsNullOrEmpty(witsmlLog.IndexType)) { return(logObject); } logObject.StartIndex = witsmlLog.GetStartIndexAsString(); logObject.EndIndex = witsmlLog.GetEndIndexAsString(); return(logObject); }