예제 #1
0
 /// <summary>
 /// Convert from <see cref="Runtime.Grpc.Interaction.OriginalContext"/> to <see cref="OriginalContext"/>
 /// </summary>
 /// <param name="protobuf"><see cref="Runtime.Grpc.Interaction.OriginalContext"/> to convert from</param>
 /// <returns>Converted <see cref="OriginalContext"/></returns>
 public static OriginalContext ToOriginalContext(this Runtime.Grpc.Interaction.OriginalContext protobuf)
 {
     return(new OriginalContext(
                protobuf.Application.ToConcept <Application>(),
                protobuf.BoundedContext.ToConcept <BoundedContext>(),
                protobuf.Tenant.ToConcept <TenantId>(),
                protobuf.Environment,
                protobuf.Claims.ToClaims(),
                protobuf.CommitInOrigin
                ));
 }
예제 #2
0
        /// <summary>
        /// Convert from <see cref="OriginalContext"/> to <see cref="Runtime.Grpc.Interaction.OriginalContext"/>
        /// </summary>
        /// <param name="originalContext"></param>
        /// <returns></returns>
        public static Runtime.Grpc.Interaction.OriginalContext ToProtobuf(this OriginalContext originalContext)
        {
            var protobuf = new Runtime.Grpc.Interaction.OriginalContext
            {
                Application    = originalContext.Application.ToProtobuf(),
                Tenant         = originalContext.Tenant.ToProtobuf(),
                BoundedContext = originalContext.BoundedContext.ToProtobuf(),
                Environment    = originalContext.Environment.Value,
                CommitInOrigin = originalContext.CommitInOrigin.Value
            };

            protobuf.Claims.AddRange(originalContext.Claims.Select(c => c.ToProtobuf()));
            return(protobuf);
        }