public static IUserClaimMvoCommand ToCreateOrMergePatchUserClaimMvo <TCreateUserClaimMvo, TMergePatchUserClaimMvo>(this IUserClaimMvoState state) where TCreateUserClaimMvo : ICreateUserClaimMvo, new() where TMergePatchUserClaimMvo : IMergePatchUserClaimMvo, new() { bool bUnsaved = ((IUserClaimMvoState)state).IsUnsaved; if (bUnsaved) { return(state.ToCreateUserClaimMvo <TCreateUserClaimMvo>()); } else { return(state.ToMergePatchUserClaimMvo <TMergePatchUserClaimMvo>()); } }