using System.Threading.Tasks;
using System.Collections.Generic;
public class IFooRepository
Task<FooId> NextIdentity(ClientCode clientCode, ClientSubCode clientSubCode)
Task<FooId[]> NextIdentity(ClientCode clientCode, ClientSubCode clientSubCode, int count)
Task<Foo?> Find(ClientCode clientCode, ClientSubCode clientSubCode, FooId fooId)
Task<Foo[]> FindAll(ClientCode clientCode, ClientSubCode clientSubCode)
Task<Foo[]> FindAll(ClientCode clientCode, ClientSubCode clientSubCode, string name)
return Task.CompletedTask;
Task SaveAll(IEnumerable<Foo> entity)
return Task.CompletedTask;
return Task.CompletedTask;
Task UpdateAll(IEnumerable<Foo> entities)
return Task.CompletedTask;
Task Delete(ClientCode clientCode, ClientSubCode clientSubCode, FooId fooId)
return Task.CompletedTask;
Task DeleteAll(IEnumerable<(ClientCode clientCode, ClientSubCode clientSubCode, FooId fooId)> ids)
return Task.CompletedTask;
Task<int> Count(ClientCode clientCode, ClientSubCode clientSubCode)
return Task.FromResult(0);
public record ClientCode(string Value);
public record ClientSubCode(string Value);
public record FooId(string Value);
public Foo(ClientCode clientCode, ClientSubCode clientSubCode, FooId fooId)
ClientSubCode = clientSubCode;
public ClientCode ClientCode {get;}
public ClientSubCode ClientSubCode {get;}
public FooId FooId {get;}