Convert DSL Query to NEST.net

You're close. the Bool() Must() takes a params Func<QueryContainerDescriptor<T>, QueryContainer>[] so can accept multiple lambda expressions

client.Search<StageCapacity>(s => s
    .Index("consolidated-capacity")
    .Type("StageCapacity")
    .Query(q => q
        .ConstantScore(cs => cs
            .Filter(f => f
                .Bool(b => b
                    .Must(
                        m => m.Term("Week.keyword", "1712"),
                        m => m.Term("CountAsFailure.keyword", "TRUE"),
                        m => m.Term("Week.keyword", "1")
                    )
                )
            )
        )
    )
);

or the shorthand

client.Search<StageCapacity>(s => s
    .Index("consolidated-capacity")
    .Type("StageCapacity")
    .Query(q => q
        .ConstantScore(cs => cs
            .Filter(f => f
                .Term("Week.keyword", "1712") && f
                .Term("CountAsFailure.keyword", "TRUE") && f
                .Term("Week.keyword", "1")
            )
        )
    )
);