Пример #1
0
        public static LedgerOffset FromProto(Com.Daml.Ledger.Api.V1.LedgerOffset ledgerOffset)
        {
            switch (ledgerOffset.ValueCase)
            {
            case Com.Daml.Ledger.Api.V1.LedgerOffset.ValueOneofCase.Absolute:
                return(new Absolute(ledgerOffset.Absolute));

            case Com.Daml.Ledger.Api.V1.LedgerOffset.ValueOneofCase.Boundary:
                switch (ledgerOffset.Boundary)
                {
                case Com.Daml.Ledger.Api.V1.LedgerOffset.Types.LedgerBoundary.LedgerBegin:
                    return(LedgerBegin.Instance);

                case Com.Daml.Ledger.Api.V1.LedgerOffset.Types.LedgerBoundary.LedgerEnd:
                    return(LedgerEnd.Instance);

                default:
                    throw new LedgerBoundaryUnrecognized(ledgerOffset.Boundary);
                }

            case Com.Daml.Ledger.Api.V1.LedgerOffset.ValueOneofCase.None:
            default:
                throw new LedgerBoundaryUnset(ledgerOffset);
            }
        }
Пример #2
0
        private void ConvertThroughProto(LedgerOffset source)
        {
            Com.Daml.Ledger.Api.V1.LedgerOffset protoValue = source.ToProto();
            LedgerOffset target = LedgerOffset.FromProto(protoValue);

            Assert.True(source == target);
        }
Пример #3
0
 public LedgerBoundaryUnset(Com.Daml.Ledger.Api.V1.LedgerOffset offset)
     : base($"Ledger Offset unset {offset}")
 {
 }