/// <summary> /// Convert account to a model, supposed to be used for snapshot serialization /// </summary> /// <param name="account">Account domain model</param> /// <param name="status">Snapshot status</param> /// <returns></returns> public static object ConvertToSnapshotContract(this IMarginTradingAccount account, SnapshotStatus status = SnapshotStatus.Final) { return(status == SnapshotStatus.Draft ? (object)account : account.ConvertToContract()); }