/// <summary> /// Puts a data object into the data store. /// </summary> /// <param name="parser">The input template parser.</param> public virtual void Put(WitsmlQueryParser parser) { var uri = parser.GetUri <TObject>(); Logger.Debug($"Putting {typeof(TObject).Name} with URI '{uri}'"); if (!string.IsNullOrWhiteSpace(uri.ObjectId) && Exists(uri)) { Replace(parser); } else { Add(parser); } }
/// <summary> /// Deletes or partially updates the specified object by uid. /// </summary> /// <param name="parser">The query parser that specifies the object.</param> public override void Delete(WitsmlQueryParser parser) { var uri = parser.GetUri <T>(); if (parser.HasElements()) { // TODO: PartialDeleteEntity(parser, uri); //ValidateUpdatedEntity(Functions.DeleteFromStore, uri); throw new NotImplementedException(); } else { Delete(uri); } }
/// <summary> /// Deletes or partially updates the specified object by uid. /// </summary> /// <param name="parser">The query parser that specifies the object.</param> public override void Delete(WitsmlQueryParser parser) { var uri = parser.GetUri <T>(); if (parser.HasElements()) { using (var transaction = GetTransaction()) { transaction.SetContext(uri); PartialDeleteEntity(parser, uri); transaction.Commit(); } } else { Delete(uri); } }