private YieldCurveDefinitionDocument PostDefinition(YieldCurveDefinitionDocument document, string path)
        {
            var created = _restTarget.Resolve("definitions").Resolve("save").Post<YieldCurveDefinitionDocument>(document);
            if (created.UniqueId == null)
            {
                throw new ArgumentException("No UID returned");
            }

            document.UniqueId = created.UniqueId;

            return document;
        }
        public YieldCurveDefinitionDocument Add(YieldCurveDefinitionDocument document)
        {
            var created = _restTarget.Resolve("definitions").Post<YieldCurveDefinitionDocument>(document);
            if (created.UniqueId == null)
            {
                throw new ArgumentException("No UID returned");
            }

            document.UniqueId = created.UniqueId;

            return document;
        }
        private static void AssertRoundTrip(InterpolatedYieldCurveDefinitionMaster interpolatedYieldCurveDefinitionMaster, YieldCurveDefinitionDocument yieldCurveDefinitionDocument)
        {
            interpolatedYieldCurveDefinitionMaster.Add(yieldCurveDefinitionDocument);

            YieldCurveDefinitionDocument roundtrippedDoc = interpolatedYieldCurveDefinitionMaster.Get(yieldCurveDefinitionDocument.UniqueId);

            YieldCurveDefinition roundTripped = roundtrippedDoc.YieldCurveDefinition;

            var yieldCurveDefinition = yieldCurveDefinitionDocument.YieldCurveDefinition;
            Assert.Equal(yieldCurveDefinition.Name, roundTripped.Name);
            Assert.Equal(yieldCurveDefinition.InterpolatorName, roundTripped.InterpolatorName);
            Assert.Equal(yieldCurveDefinition.Currency, roundTripped.Currency);
            Assert.Equal(roundTripped.Region, roundTripped.Region);

            Assert.True(roundTripped.Strips.SequenceEqual(roundTripped.Strips));
        }
 public YieldCurveDefinitionDocument AddOrUpdate(YieldCurveDefinitionDocument document)
 {
     return PostDefinition(document, "save");
 }