private async Task <Option <Domain.Entities.Restaurant, Error> > RestaurantWithCurrentNameAndTownShouldNotExist( string name, string townId) { var result = await RestaurantRepository .GetByNameAndTownIdAsync(name, townId); return(result .SomeWhen(r => r == null, Error.Conflict($"Restaurant `{name}` already exists.")) .Map(_ => new Domain.Entities.Restaurant())); }