public void Delete(SerializableTest wrapper) { DeleteTest test = wrapper.Test.Delete; Check(test.IsError, test.Request, batch => { DocumentReference doc = GetDocumentReference(test.DocRefPath); var precondition = Precondition.FromProto(test.Precondition); batch.Delete(doc, precondition); }); }
public void Update(SerializableTest wrapper) { UpdateTest test = wrapper.Test.Update; Check(test.IsError, test.Request, batch => { DocumentReference doc = GetDocumentReference(test.DocRefPath); var documentData = (Dictionary<string, object>) DeserializeJson(test.JsonData); var precondition = Precondition.FromProto(test.Precondition); var updates = documentData.ToDictionary(pair => Firestore.FieldPath.FromDotSeparatedString(pair.Key), pair => pair.Value); batch.Update(doc, updates, precondition); }); }
public void UpdatePaths(SerializableTest wrapper) { UpdatePathsTest test = wrapper.Test.UpdatePaths; Check(test.IsError, test.Request, batch => { DocumentReference doc = GetDocumentReference(test.DocRefPath); Dictionary<Firestore.FieldPath, object> updates = test.FieldPaths .Zip(test.JsonValues, (path, value) => (path, value)) .ToDictionary(tuple => ConvertFieldPath(tuple.path), tuple => (object) DeserializeJson(tuple.value)); var precondition = Precondition.FromProto(test.Precondition); batch.Update(doc, updates, precondition); }); }