eee09c0e5e3141cd0eba10ebe9e98bff97c8ed9e a85a02f52c3ffa778aef77eb1bf5d0fb6a97ada9 Mark Seemann <mark@ploeh.dk> 1592997300 +0200	rebase -i (pick): Return IDs from database in range query
a85a02f52c3ffa778aef77eb1bf5d0fb6a97ada9 cbeb8a97560dd0b04fa13a5ec4bd23252009a628 Mark Seemann <mark@ploeh.dk> 1592997305 +0200	rebase -i (pick): Make /reservations URL segment lowercase
cbeb8a97560dd0b04fa13a5ec4bd23252009a628 fa3778564e807983ba0ce35f797212c76d313e7b Mark Seemann <mark@ploeh.dk> 1592997310 +0200	rebase -i (pick): Update FxCop NuGet package
fa3778564e807983ba0ce35f797212c76d313e7b b5e5ae786623bd7fd7ec387520a7ef5668b720d3 Mark Seemann <mark@ploeh.dk> 1592997320 +0200	rebase -i (pick): Update Microsoft.AspNetCore.Mvc.Testing NuGet pkg
b5e5ae786623bd7fd7ec387520a7ef5668b720d3 56ae48bc8708abced43985a0ad33dcea8e78b2ad Mark Seemann <mark@ploeh.dk> 1592997329 +0200	rebase -i (pick): Update Microsoft.NET.Test.Sdk NuGet package
56ae48bc8708abced43985a0ad33dcea8e78b2ad 760ba9b975de1859724f76017775499328623e7a Mark Seemann <mark@ploeh.dk> 1592997338 +0200	rebase -i (pick): Update coverlet.collector NuGet package
760ba9b975de1859724f76017775499328623e7a 760ba9b975de1859724f76017775499328623e7a Mark Seemann <mark@ploeh.dk> 1592997338 +0200	rebase -i (finish): returning to refs/heads/master
760ba9b975de1859724f76017775499328623e7a 129c165635f45ac30b6169e701ef163769fb3c45 Mark Seemann <mark@ploeh.dk> 1593001805 +0200	commit: Return error message on insufficient capacity
129c165635f45ac30b6169e701ef163769fb3c45 1d897938064dc72ecd22bdc1120a92446c3725f8 Mark Seemann <mark@ploeh.dk> 1593002218 +0200	commit: Extract method to return error message
5941f0eca8f497820edaead3975d8ce8826bf3e7 eb263b422221a0e4a656e0dea9b53719307f3b86 Mark Seemann <mark@ploeh.dk> 1593012966 +0200	rebase -i (continue): Gracefully handle non-GUID for DELETE
eb263b422221a0e4a656e0dea9b53719307f3b86 eb263b422221a0e4a656e0dea9b53719307f3b86 Mark Seemann <mark@ploeh.dk> 1593012974 +0200	rebase -i (finish): returning to refs/heads/master
eb263b422221a0e4a656e0dea9b53719307f3b86 62b785d2746cc4f9a9867578d978887ee18e53d5 Mark Seemann <mark@ploeh.dk> 1593067695 +0200	commit: Add PUT capability to reservations resource
62b785d2746cc4f9a9867578d978887ee18e53d5 7bf7476e885693799b4dbe078c61cb1e1b77b02e Mark Seemann <mark@ploeh.dk> 1593071472 +0200	commit: Validate DTO for PUT operation
7bf7476e885693799b4dbe078c61cb1e1b77b02e 7bf7476e885693799b4dbe078c61cb1e1b77b02e Mark Seemann <mark@ploeh.dk> 1593071926 +0200	reset: moving to HEAD
7bf7476e885693799b4dbe078c61cb1e1b77b02e bc833a7d391e0b4951c12a9aa235159e69f34c31 Mark Seemann <mark@ploeh.dk> 1593072771 +0200	commit: Parse reservation ID on PUT
075002804fd798be37139723cc565cfbb0bfa4d2 0e0be4670a120a0cf4c5d24c8b341d481eba070d Mark Seemann <mark@ploeh.dk> 1593079216 +0200	commit: Improve Validate API on DTO class
0e0be4670a120a0cf4c5d24c8b341d481eba070d b79ea53f725a9078b8041602209ae4d4d86827fe Mark Seemann <mark@ploeh.dk> 1593079958 +0200	commit: Don't allow PUT on absent resource
b79ea53f725a9078b8041602209ae4d4d86827fe 619534049fa9ab558e0503b6d45306ff90a69f6c Mark Seemann <mark@ploeh.dk> 1593083321 +0200	commit: Ask MaitreD if PUT is legal
84d33386861e72f5f20d3660ff1c00c142a788c2 113bec2aff7af977446240d822f437b5167e1191 Mark Seemann <mark@ploeh.dk> 1593089835 +0200	commit: Pretend to send an email when reservation accepted
113bec2aff7af977446240d822f437b5167e1191 381a5b63a0ac4c25775d56b26ae7b582dff9553d Mark Seemann <mark@ploeh.dk> 1593114169 +0200	commit: Add SMTP Post Office
381a5b63a0ac4c25775d56b26ae7b582dff9553d 381a5b63a0ac4c25775d56b26ae7b582dff9553d Mark Seemann <mark@ploeh.dk> 1593153956 +0200	reset: moving to HEAD
4f9a86966c88896ad8c7fcff04c2f53747afd2cf ad6227dd011655dfa813dd3defedbcb9edc0c1fc Mark Seemann <mark@ploeh.dk> 1593157826 +0200	rebase -i (pick): Send email on deletion
ad6227dd011655dfa813dd3defedbcb9edc0c1fc ad6227dd011655dfa813dd3defedbcb9edc0c1fc Mark Seemann <mark@ploeh.dk> 1593157826 +0200	rebase -i (finish): returning to refs/heads/master
ad6227dd011655dfa813dd3defedbcb9edc0c1fc 72970a1af37e8a964c074cd43cae90cd1ae822bb Mark Seemann <mark@ploeh.dk> 1593157951 +0200	commit: Don't send email on deletion of absent reservation
d84ea7a575aa3d214a462dae46b04e2348bc672a d94167ff638a3b34a8ab9587652067195b55134f Mark Seemann <mark@ploeh.dk> 1593343364 +0200	commit: Send email before reservation updates
d94167ff638a3b34a8ab9587652067195b55134f 5c421c7c64f17f6f6e265325c37377b85fc162d3 Mark Seemann <mark@ploeh.dk> 1593343704 +0200	commit: Only send email before update on changed address
5c421c7c64f17f6f6e265325c37377b85fc162d3 291784448624824a5984a957c023a357b1879c01 Mark Seemann <mark@ploeh.dk> 1593345824 +0200	commit: Refactor SmtpPostOffice
291784448624824a5984a957c023a357b1879c01 291784448624824a5984a957c023a357b1879c01 Mark Seemann <mark@ploeh.dk> 1593346225 +0200	reset: moving to HEAD
291784448624824a5984a957c023a357b1879c01 8fa732132c2bb14962a323d235b31d5f2a90e156 Mark Seemann <mark@ploeh.dk> 1593414551 +0200	commit: Introduce Email and Name wrappers
5a740eefc6a042413ce1fac6f8d9b340e3a4cd96 57f216d7592334273c26696386dc94c0e3182faf Mark Seemann <mark@ploeh.dk> 1593416754 +0200	commit: Introduce Build solution
57f216d7592334273c26696386dc94c0e3182faf 1c858a518f580f1961632f8b53958300a0fd6a8b Mark Seemann <mark@ploeh.dk> 1593427109 +0200	commit: Add integration test project to Build solution
1c858a518f580f1961632f8b53958300a0fd6a8b 97d4a4aba2a2f7fa4289968585372705c79d6f72 Mark Seemann <mark@ploeh.dk> 1593427262 +0200	commit: Treat warnings as errors in integration tests
97d4a4aba2a2f7fa4289968585372705c79d6f72 adb1e3cbbf22e5c9ad2a930c984903cafa4757b7 Mark Seemann <mark@ploeh.dk> 1593427700 +0200	commit: Turn on FxCop for integration tests
adb1e3cbbf22e5c9ad2a930c984903cafa4757b7 0d61d083a2b4bae264d2806b81c4500c120d8212 Mark Seemann <mark@ploeh.dk> 1593427824 +0200	commit: Turn on nullable reference types
0d61d083a2b4bae264d2806b81c4500c120d8212 ee9987d934f0a93b2051e0034b1aaeee7e962aa8 Mark Seemann <mark@ploeh.dk> 1593436013 +0200	commit: Verify create-and-read round-trip to SQL Server
ee9987d934f0a93b2051e0034b1aaeee7e962aa8 ee9987d934f0a93b2051e0034b1aaeee7e962aa8 Mark Seemann <mark@ploeh.dk> 1593436282 +0200	reset: moving to HEAD
ee9987d934f0a93b2051e0034b1aaeee7e962aa8 a82b6062cc0358e5ba7fba85207acf657d16ba37 Mark Seemann <mark@ploeh.dk> 1593437152 +0200	commit: Fix defect in SQL Update method
a82b6062cc0358e5ba7fba85207acf657d16ba37 a82b6062cc0358e5ba7fba85207acf657d16ba37 Mark Seemann <mark@ploeh.dk> 1593438011 +0200	reset: moving to HEAD
a82b6062cc0358e5ba7fba85207acf657d16ba37 b8e64bf18de186cdea7666f9d361201a03ef1c1b Mark Seemann <mark@ploeh.dk> 1593443775 +0200	commit: Change master database name to lower case
b8e64bf18de186cdea7666f9d361201a03ef1c1b 41292e924e4e3ed56581a3551ab47d486435bac2 Mark Seemann <mark@ploeh.dk> 1593445003 +0200	commit: Use AddWithValue method
41292e924e4e3ed56581a3551ab47d486435bac2 de134902f5ae3d568157529fc6e8655730579deb Mark Seemann <mark@ploeh.dk> 1593445918 +0200	commit: Add README file
de134902f5ae3d568157529fc6e8655730579deb 083888187690ade6cbbdd5aa0ce57d0da472007d Mark Seemann <mark@ploeh.dk> 1593499207 +0200	commit: Add conversion to Reservation DTO
083888187690ade6cbbdd5aa0ce57d0da472007d 0638239343dc32d991f85dcf093b758eede87500 Mark Seemann <mark@ploeh.dk> 1593500295 +0200	commit: Add ToDto extension method
0638239343dc32d991f85dcf093b758eede87500 65ea338edad7a11fc3616e2fff1770fc52d84a5b Mark Seemann <mark@ploeh.dk> 1593502080 +0200	commit: Return representation after POST
bf5727bc9aae090996481a220ce206704c3a7f72 bf5727bc9aae090996481a220ce206704c3a7f72 Mark Seemann <mark@ploeh.dk> 1593518374 +0200	reset: moving to HEAD
bf5727bc9aae090996481a220ce206704c3a7f72 a43f200fed63c9a72b2b129c70c72e1ec5d33d27 Mark Seemann <mark@ploeh.dk> 1593519216 +0200	commit: Delete database before setting it up
a43f200fed63c9a72b2b129c70c72e1ec5d33d27 baf138caff9155d35c3eabd398434c90b9386647 Mark Seemann <mark@ploeh.dk> 1593519820 +0200	commit: Enable connection pooling in integration tests
baf138caff9155d35c3eabd398434c90b9386647 f140b7f393cef76e6bfec055f594a00d828b3781 Mark Seemann <mark@ploeh.dk> 1593521175 +0200	commit: Enlist Post in lightweight transaction
f140b7f393cef76e6bfec055f594a00d828b3781 f140b7f393cef76e6bfec055f594a00d828b3781 Mark Seemann <mark@ploeh.dk> 1593524340 +0200	reset: moving to HEAD
f140b7f393cef76e6bfec055f594a00d828b3781 093449fe0cfa64b15d87da62c25ac51319dc50e3 Mark Seemann <mark@ploeh.dk> 1593524781 +0200	commit: Introduce helper method to POST reservation
093449fe0cfa64b15d87da62c25ac51319dc50e3 4f3e1b846b21c0b3f441eda986f527dbe40c9bc4 Mark Seemann <mark@ploeh.dk> 1593525911 +0200	commit: Enlist Put in a lightweight transaction
4f3e1b846b21c0b3f441eda986f527dbe40c9bc4 f8cce53df0fb1b8c32931aa0560e51d7ead6187b Mark Seemann <mark@ploeh.dk> 1593529069 +0200	commit: Use RestaurantApiFactory for HomeTests
43f53eb38d16d07597740cc33510e3b3a9af841e b404a6707cff82fa244239227dcdbca63ea50454 Mark Seemann <mark@ploeh.dk> 1594119426 +0200	rebase -i (pick): Use Url.ActionContext in CreateReservationsLink
b404a6707cff82fa244239227dcdbca63ea50454 8b739aa283ab19d33df47d96db825f131a58afed Mark Seemann <mark@ploeh.dk> 1594119511 +0200	rebase -i (pick): Extract assertion to helper method
8b739aa283ab19d33df47d96db825f131a58afed 7b68d61be2c92d6bd296d1f4133917d8e9ffb294 Mark Seemann <mark@ploeh.dk> 1594119595 +0200	rebase -i (pick): Introduce local variable
7b68d61be2c92d6bd296d1f4133917d8e9ffb294 b8c7a4469285f67f4244038a82f0190c83b8cb13 Mark Seemann <mark@ploeh.dk> 1594119679 +0200	rebase -i (pick): Move line of code closer to related code
bc2c3a0e17e4f263b8e6e7b934dbed09439d79dd 91e9ac944fbd4de10167ad443ebeb459b98c5dad Mark Seemann <mark@ploeh.dk> 1594120015 +0200	rebase -i (continue): Introduce Calendar resource
91e9ac944fbd4de10167ad443ebeb459b98c5dad e802bb2fcaf50ecce749e44c3c485ff12bed2b42 Mark Seemann <mark@ploeh.dk> 1594120102 +0200	rebase -i (pick): Return current year from calendar resource
e802bb2fcaf50ecce749e44c3c485ff12bed2b42 96fe517fbbedf2f94a2d5e210ce6e6143617fc82 Mark Seemann <mark@ploeh.dk> 1594120188 +0200	rebase -i (pick): Return year from resource
96fe517fbbedf2f94a2d5e210ce6e6143617fc82 291d8f75e100537616c43c18fa56e6fb1e738c34 Mark Seemann <mark@ploeh.dk> 1594120274 +0200	rebase -i (pick): Return array of days
291d8f75e100537616c43c18fa56e6fb1e738c34 8a1cd7d041c3a043ce3195fe0be67e98a1d0d360 Mark Seemann <mark@ploeh.dk> 1594120360 +0200	rebase -i (pick): Return correct number of days in year
8a1cd7d041c3a043ce3195fe0be67e98a1d0d360 59ad16f87cb266d205608fc1213a9b7a2cf78fb1 Mark Seemann <mark@ploeh.dk> 1594120448 +0200	rebase -i (pick): Enumerate days in year
59ad16f87cb266d205608fc1213a9b7a2cf78fb1 6b5a4d543b06bd9a273c46073c019e7936c033cb Mark Seemann <mark@ploeh.dk> 1594120534 +0200	rebase -i (pick): Include maximum party size for each day
6b5a4d543b06bd9a273c46073c019e7936c033cb d410865a4d1462518adc3d56d4fc010d5c37e222 Mark Seemann <mark@ploeh.dk> 1594120619 +0200	rebase -i (pick): Add feature flag for the calendar feature
d410865a4d1462518adc3d56d4fc010d5c37e222 da508bdc3fd971dfe38317d5f6413dfeb91a7807 Mark Seemann <mark@ploeh.dk> 1594120760 +0200	rebase -i (continue): Add a month link to home
da508bdc3fd971dfe38317d5f6413dfeb91a7807 9e395ceca4a17ac0f64da02a7e36b87bd93e8a25 Mark Seemann <mark@ploeh.dk> 1594120849 +0200	rebase -i (pick): Introduce /year/month calendar
9e395ceca4a17ac0f64da02a7e36b87bd93e8a25 54d0d4773091b9606a41d39625cde2c889b768fe Mark Seemann <mark@ploeh.dk> 1594120934 +0200	rebase -i (pick): Refactor test to use class data
54d0d4773091b9606a41d39625cde2c889b768fe 142a049976f99c1a1d008a7e36533b0d449cd9d7 Mark Seemann <mark@ploeh.dk> 1594121019 +0200	rebase -i (pick): Parametrise act function
142a049976f99c1a1d008a7e36533b0d449cd9d7 ff39aec808ea079d9dfffa49c23b44fc1cfebe3f Mark Seemann <mark@ploeh.dk> 1594121102 +0200	rebase -i (pick): Check month on calendar representation
ff39aec808ea079d9dfffa49c23b44fc1cfebe3f 793b9631b15c4a7f0b50f9b6af8a2fa4e13d47ed Mark Seemann <mark@ploeh.dk> 1594121187 +0200	rebase -i (pick): Return data from month calendar
6f830dc67ad3dd6863f205ee8d740aadeca0a53a 9eb1eec10f2c6aaa8683d7dae20860b66806e476 Mark Seemann <mark@ploeh.dk> 1594121411 +0200	rebase -i (pick): Introduce /year/month/day calendar
9eb1eec10f2c6aaa8683d7dae20860b66806e476 f011dcf41f133f901e92fab7db504963415889e8 Mark Seemann <mark@ploeh.dk> 1594121497 +0200	rebase -i (pick): Add expected day to test cases
f011dcf41f133f901e92fab7db504963415889e8 f36cc8ee716bdc2e32fe5c55bed85243741c5187 Mark Seemann <mark@ploeh.dk> 1594121581 +0200	rebase -i (pick): Inline variable
f36cc8ee716bdc2e32fe5c55bed85243741c5187 313f520763a349189422b5089340cb1ad10df28b Mark Seemann <mark@ploeh.dk> 1594121665 +0200	rebase -i (pick): Return data from day calendar
313f520763a349189422b5089340cb1ad10df28b b0ab33141200bae39888b17fb3692a026fddcc7e Mark Seemann <mark@ploeh.dk> 1594121751 +0200	rebase -i (pick): Rename parameter
b0ab33141200bae39888b17fb3692a026fddcc7e 6cbb9aac8dd996bcf61927b1434e4a88a9e7bceb Mark Seemann <mark@ploeh.dk> 1594121836 +0200	rebase -i (pick): Remove duplication of JSON parsing
6cbb9aac8dd996bcf61927b1434e4a88a9e7bceb 283435ec46836ade0c10e156c6c75cb4d97d8f27 Mark Seemann <mark@ploeh.dk> 1594121921 +0200	rebase -i (pick): Format only date for date strings
283435ec46836ade0c10e156c6c75cb4d97d8f27 cdd9b9bfc0e2a7925bf89be5fceb29cb23b9d75e Mark Seemann <mark@ploeh.dk> 1594122006 +0200	rebase -i (pick): Extract function to produce ISO 8601 string
cdd9b9bfc0e2a7925bf89be5fceb29cb23b9d75e 3d2652b1144da4d8330f263d6f4bd453f3a96972 Mark Seemann <mark@ploeh.dk> 1594122139 +0200	rebase -i (continue): Refactor to UrlBuilder
3d2652b1144da4d8330f263d6f4bd453f3a96972 73ce934f197aa496c6b979c74a477faf284b0002 Mark Seemann <mark@ploeh.dk> 1594122227 +0200	rebase -i (pick): Handle controller name without Controller suffix
73ce934f197aa496c6b979c74a477faf284b0002 90c01b5a116527d8f70bd591c8fbef9e57622d1f Mark Seemann <mark@ploeh.dk> 1594122315 +0200	rebase -i (pick): Use UrlBuilder for reservations link
90c01b5a116527d8f70bd591c8fbef9e57622d1f e1cea5664d7631cee796f88a1c91766b200be0fa Mark Seemann <mark@ploeh.dk> 1594122468 +0200	rebase -i (continue): Return Uri from UrlBuilder.BuildAbsolute
e1cea5664d7631cee796f88a1c91766b200be0fa 5d1bb15ad3dcf29e5c5b7e6d5305a59fda53c2a8 Mark Seemann <mark@ploeh.dk> 1594122648 +0200	rebase -i (continue): Use Link extension method
5d1bb15ad3dcf29e5c5b7e6d5305a59fda53c2a8 615178c1cb5dd7b0e3300b798a11c4ef49829bf5 Mark Seemann <mark@ploeh.dk> 1594122735 +0200	rebase -i (pick): Use named methods to define links
615178c1cb5dd7b0e3300b798a11c4ef49829bf5 4057cd9f1d41018bd6fa90a880f5121d81064ab8 Mark Seemann <mark@ploeh.dk> 1594122821 +0200	rebase -i (pick): Use single value for current date
4057cd9f1d41018bd6fa90a880f5121d81064ab8 d0c82b9234fb4fd6616063c62ff1770c3329e15b Mark Seemann <mark@ploeh.dk> 1594122909 +0200	rebase -i (pick): Extract common builders
d0c82b9234fb4fd6616063c62ff1770c3329e15b 2de5e20e04690989eede2f7f67c7a91da2e7bfb2 Mark Seemann <mark@ploeh.dk> 1594122997 +0200	rebase -i (pick): Rename to SelfHostedService
2de5e20e04690989eede2f7f67c7a91da2e7bfb2 b09f65fac51971b758d0d9435f97b3d1f5669787 Mark Seemann <mark@ploeh.dk> 1594123084 +0200	rebase -i (pick): Extract FindAddress helper method
b09f65fac51971b758d0d9435f97b3d1f5669787 b09f65fac51971b758d0d9435f97b3d1f5669787 Mark Seemann <mark@ploeh.dk> 1594123084 +0200	rebase -i (finish): returning to refs/heads/master
b09f65fac51971b758d0d9435f97b3d1f5669787 313f520763a349189422b5089340cb1ad10df28b Mark Seemann <mark@ploeh.dk> 1594123786 +0200	checkout: moving from master to 313f520763a349189422b5089340cb1ad10df28b
313f520763a349189422b5089340cb1ad10df28b b09f65fac51971b758d0d9435f97b3d1f5669787 Mark Seemann <mark@ploeh.dk> 1594124336 +0200	checkout: moving from 313f520763a349189422b5089340cb1ad10df28b to master
b09f65fac51971b758d0d9435f97b3d1f5669787 5d1bb15ad3dcf29e5c5b7e6d5305a59fda53c2a8 Mark Seemann <mark@ploeh.dk> 1594124455 +0200	checkout: moving from master to 5d1bb15ad3dcf29e5c5b7e6d5305a59fda53c2a8
5d1bb15ad3dcf29e5c5b7e6d5305a59fda53c2a8 b09f65fac51971b758d0d9435f97b3d1f5669787 Mark Seemann <mark@ploeh.dk> 1594124838 +0200	checkout: moving from 5d1bb15ad3dcf29e5c5b7e6d5305a59fda53c2a8 to master
b09f65fac51971b758d0d9435f97b3d1f5669787 b09f65fac51971b758d0d9435f97b3d1f5669787 Mark Seemann <mark@ploeh.dk> 1594127773 +0200	reset: moving to HEAD
b09f65fac51971b758d0d9435f97b3d1f5669787 203b4ea72fba62bf7088f754081e223d3cecd6b6 Mark Seemann <mark@ploeh.dk> 1594189244 +0200	commit: Add links to calendar representations
203b4ea72fba62bf7088f754081e223d3cecd6b6 d8f5a9d27fed3e9edf34a907d0a10811ef34d060 Mark Seemann <mark@ploeh.dk> 1594189804 +0200	commit: Add navigation links to calendars
d8f5a9d27fed3e9edf34a907d0a10811ef34d060 d8f5a9d27fed3e9edf34a907d0a10811ef34d060 Mark Seemann <mark@ploeh.dk> 1594192962 +0200	reset: moving to HEAD
d8f5a9d27fed3e9edf34a907d0a10811ef34d060 29018aef4cd8d6bcf341be81b6a1313b3045d681 Mark Seemann <mark@ploeh.dk> 1594306240 +0200	commit: Populate previous and next calendar links
0403abd3c406e7a1a35332916c7f8d4bef0d30e3 9994c96a4b63ccc748ef139859d2a874e448036e Mark Seemann <mark@ploeh.dk> 1594363476 +0200	commit: Add next link to year calendar
5e0cff8926c9d7e030c8082546d472af3e12040a 37cefe08e60df50b4ce785f836480ea4317d6bb1 Mark Seemann <mark@ploeh.dk> 1594364711 +0200	commit: Add previous link to month calendar
37cefe08e60df50b4ce785f836480ea4317d6bb1 8513f5670bd91250a655f0dd77b7e2c497060f78 Mark Seemann <mark@ploeh.dk> 1594365090 +0200	commit: Link to next month
8513f5670bd91250a655f0dd77b7e2c497060f78 ccd226e55f868e4e93f604077f2f24053bddd567 Mark Seemann <mark@ploeh.dk> 1594365733 +0200	commit: Link to previous day
b6a0c7659b82862dd211a4ea290aa8b84a23042d 712ea552129e03d90b604422a56e141b530ae944 Mark Seemann <mark@ploeh.dk> 1594367847 +0200	commit: Navigate to specific years
712ea552129e03d90b604422a56e141b530ae944 06b7286cb103c2771a0139c3bcc863c87201d61b Mark Seemann <mark@ploeh.dk> 1594382279 +0200	commit: Navigate to specific months
06b7286cb103c2771a0139c3bcc863c87201d61b 1a7dc6a0272598e0a13820318a2831c89b435cfa Mark Seemann <mark@ploeh.dk> 1594384060 +0200	commit: Navigate to specific dates
1a7dc6a0272598e0a13820318a2831c89b435cfa 267f930a2415150e959496df3a0273fd789f13bd Mark Seemann <mark@ploeh.dk> 1594385670 +0200	commit: Use Link overloads that take a relationship type
267f930a2415150e959496df3a0273fd789f13bd ab64379e5c505076e5ad7ca337b326eb00a11328 Mark Seemann <mark@ploeh.dk> 1594385957 +0200	commit: Calculate year navigation via DateTime API
ab64379e5c505076e5ad7ca337b326eb00a11328 be78730a6ab77da47d6ae1e18763333899a853eb Mark Seemann <mark@ploeh.dk> 1594392285 +0200	commit: Refactor AddLinks method
be78730a6ab77da47d6ae1e18763333899a853eb be78730a6ab77da47d6ae1e18763333899a853eb Mark Seemann <mark@ploeh.dk> 1594400808 +0200	reset: moving to HEAD
be78730a6ab77da47d6ae1e18763333899a853eb be78730a6ab77da47d6ae1e18763333899a853eb Mark Seemann <mark@ploeh.dk> 1594401415 +0200	reset: moving to HEAD
be78730a6ab77da47d6ae1e18763333899a853eb 9869fa42e4a7e374f95ba5b37a7e8acc2832f81e Mark Seemann <mark@ploeh.dk> 1594627793 +0200	commit: Add link to each day
9869fa42e4a7e374f95ba5b37a7e8acc2832f81e 9869fa42e4a7e374f95ba5b37a7e8acc2832f81e Mark Seemann <mark@ploeh.dk> 1594627884 +0200	reset: moving to HEAD
24e7fd6a66c18bda79f80b73ab28d9a667a91933 34890887f75bd6a9447c2258295178f69d48b666 Mark Seemann <mark@ploeh.dk> 1597216981 +0200	commit: Add month link to all days
34890887f75bd6a9447c2258295178f69d48b666 ec602177272b8507f1cff7db0ce3721ad11f0e45 Mark Seemann <mark@ploeh.dk> 1597217380 +0200	commit: Optimise month navigation
ec602177272b8507f1cff7db0ce3721ad11f0e45 dd5726603c3a126b584aeaefef0c67ee2139b842 Mark Seemann <mark@ploeh.dk> 1597219145 +0200	commit: Add year link to all days
d045b3841263ac0c18316654ea179a324fb88efe d045b3841263ac0c18316654ea179a324fb88efe Mark Seemann <mark@ploeh.dk> 1597232644 +0200	reset: moving to HEAD
d045b3841263ac0c18316654ea179a324fb88efe 3731df148ca7854fc3689855bbc5988a2f9392c9 Mark Seemann <mark@ploeh.dk> 1597233389 +0200	commit: Simplify finding a year
3731df148ca7854fc3689855bbc5988a2f9392c9 8d2e9afd51e1e790bbfeca690e1e4454053339ee Mark Seemann <mark@ploeh.dk> 1597233901 +0200	commit: Inline client in SelfHostedService
8d2e9afd51e1e790bbfeca690e1e4454053339ee cf0fba7346ac03af79a3186c713998f090ed41c8 Mark Seemann <mark@ploeh.dk> 1597235427 +0200	commit: Rename test
cf0fba7346ac03af79a3186c713998f090ed41c8 71a7d202ae25ed9d5fe92c3ba4ec0055c770934f Mark Seemann <mark@ploeh.dk> 1597236837 +0200	commit: Move home link generation to filter
71a7d202ae25ed9d5fe92c3ba4ec0055c770934f 85ec17ea6f86c4d92235b6a61321f3aad0aee953 Mark Seemann <mark@ploeh.dk> 1597239391 +0200	commit: Remove [ApiController] attribute
92ad64224fb389b11d4174fa966aa848fd6fdc7c cf0fba7346ac03af79a3186c713998f090ed41c8 Mark Seemann <mark@ploeh.dk> 1597338818 +0200	checkout: moving from master to cf0fba
cf0fba7346ac03af79a3186c713998f090ed41c8 92ad64224fb389b11d4174fa966aa848fd6fdc7c Mark Seemann <mark@ploeh.dk> 1597342098 +0200	checkout: moving from cf0fba7346ac03af79a3186c713998f090ed41c8 to master
92ad64224fb389b11d4174fa966aa848fd6fdc7c 92ad64224fb389b11d4174fa966aa848fd6fdc7c Mark Seemann <mark@ploeh.dk> 1597342826 +0200	reset: moving to HEAD
92ad64224fb389b11d4174fa966aa848fd6fdc7c 17ba7030997ae89f003ca94b1b7e7a4e07eb53e9 Mark Seemann <mark@ploeh.dk> 1597392470 +0200	commit: Refactor Table to use Visitor
17ba7030997ae89f003ca94b1b7e7a4e07eb53e9 c06566107d48fc60ee787af8355ba9f192605c28 Mark Seemann <mark@ploeh.dk> 1597403880 +0200	commit: Change Reserve method to take a Reservation
c06566107d48fc60ee787af8355ba9f192605c28 7017cd12eca5bba8c150d5a8aca692df1ac284c4 Mark Seemann <mark@ploeh.dk> 1597404384 +0200	commit: Add reservations to communal table
7017cd12eca5bba8c150d5a8aca692df1ac284c4 228bc5f80dfc5ba605c3ac1ef784afaf3aebcdc7 Mark Seemann <mark@ploeh.dk> 1597405077 +0200	commit: Associate reservation with communal table
228bc5f80dfc5ba605c3ac1ef784afaf3aebcdc7 0fe6b341124184d731f4c7081b440d07d45ed932 Mark Seemann <mark@ploeh.dk> 1597406037 +0200	commit: Associate reservation with standard table
0fe6b341124184d731f4c7081b440d07d45ed932 28e99b6f23b6557398f74057cf66cd7bd9afc1d7 Mark Seemann <mark@ploeh.dk> 1597406425 +0200	commit: Remove WithSeats method
193e4f95b13bb9a377edf18579494ccbcc10f6c7 f158790194b9a601481ee521dfe10aabc9c855fa Mark Seemann <mark@ploeh.dk> 1597408713 +0200	commit: Remove Table.Seats property
f158790194b9a601481ee521dfe10aabc9c855fa 736b96f9d7cb0be04afac94f3236b0fc20ca9260 Mark Seemann <mark@ploeh.dk> 1597408778 +0200	commit: Remove check for table type from MaitreD
736b96f9d7cb0be04afac94f3236b0fc20ca9260 d22d2cb5c9221bd32e5cc8df64bdaae77675e1c9 Mark Seemann <mark@ploeh.dk> 1597408923 +0200	commit: Rename variable
d22d2cb5c9221bd32e5cc8df64bdaae77675e1c9 f08421b2e72ff5ba1f713c5d3c373ac0c3735004 Mark Seemann <mark@ploeh.dk> 1597409706 +0200	commit: Remove IsStandard and IsCommunal flags
f08421b2e72ff5ba1f713c5d3c373ac0c3735004 f08421b2e72ff5ba1f713c5d3c373ac0c3735004 Mark Seemann <mark@ploeh.dk> 1597409867 +0200	reset: moving to HEAD
f08421b2e72ff5ba1f713c5d3c373ac0c3735004 88d17f67b7d8b87b3ac46642bbbe40d67742f8b6 Mark Seemann <mark@ploeh.dk> 1597410905 +0200	commit: Remove Seats property from ITable
d0dafe4c38e7fda56f0d9493e0a6914285a9b8cd b6b2f76d190b1323065a75c71c3fa3337cf244ee Mark Seemann <mark@ploeh.dk> 1597670703 +0200	commit: Return single occurrence from Schedule
b6b2f76d190b1323065a75c71c3fa3337cf244ee b6b2f76d190b1323065a75c71c3fa3337cf244ee Mark Seemann <mark@ploeh.dk> 1597762502 +0200	reset: moving to HEAD
b6b2f76d190b1323065a75c71c3fa3337cf244ee b6b2f76d190b1323065a75c71c3fa3337cf244ee Mark Seemann <mark@ploeh.dk> 1597821533 +0200	reset: moving to HEAD
b6b2f76d190b1323065a75c71c3fa3337cf244ee a7d1f5baa64699f65ab944306575846a91f8eb70 Mark Seemann <mark@ploeh.dk> 1597824382 +0200	commit: Schedule occurrence for each distinct date
a7d1f5baa64699f65ab944306575846a91f8eb70 1b9231c8faa686333ad843d8c55399540488ebbb Mark Seemann <mark@ploeh.dk> 1597836217 +0200	commit: Order occurrences
1b9231c8faa686333ad843d8c55399540488ebbb e2a4847735230748be288e68e56d2b113c759474 Mark Seemann <mark@ploeh.dk> 1597837560 +0200	commit: Count the number of tables at each occurrence
e2a4847735230748be288e68e56d2b113c759474 6705c97a68fa6898f78ac571361893cf1a5c7886 Mark Seemann <mark@ploeh.dk> 1597841583 +0200	commit: Use configured tables when scheduling
6705c97a68fa6898f78ac571361893cf1a5c7886 460c1486b5c0897d87320a156d4d1f41a7869764 Mark Seemann <mark@ploeh.dk> 1597843646 +0200	commit: Generate MaitreD randomly
8e67bb43dae4084a0fbc211ff8e72a9f34a2d3f1 9664163e0d34ab6d23f0cb9be4cf3687a764f4dc Mark Seemann <mark@ploeh.dk> 1597903039 +0200	commit: Make Seating class public
9664163e0d34ab6d23f0cb9be4cf3687a764f4dc 43532f49ac2ddf638f934c3fdb70ed299e482533 Mark Seemann <mark@ploeh.dk> 1597920921 +0200	commit: Add Accept method to Table
43532f49ac2ddf638f934c3fdb70ed299e482533 43532f49ac2ddf638f934c3fdb70ed299e482533 Mark Seemann <mark@ploeh.dk> 1597922056 +0200	reset: moving to HEAD
43532f49ac2ddf638f934c3fdb70ed299e482533 a2adb1b25b9d6851a3b0d18bc9308918b0237fe5 Mark Seemann <mark@ploeh.dk> 1597923065 +0200	commit: Relax Seating
a2adb1b25b9d6851a3b0d18bc9308918b0237fe5 9a11d5596e06e094d970e2a882d8fc62e3f4039f Mark Seemann <mark@ploeh.dk> 1597952582 +0200	commit: Include overlapping reservations in each occurrenc
9a11d5596e06e094d970e2a882d8fc62e3f4039f 6a5c987dcf81e338a67b6674be03bb616059dbd0 Mark Seemann <mark@ploeh.dk> 1597997848 +0200	commit: Add time slot entries to DayDto
6a5c987dcf81e338a67b6674be03bb616059dbd0 0adda0b4e72803559bbf38e19598029cdb770c64 Mark Seemann <mark@ploeh.dk> 1598010801 +0200	commit: Return MaximumPartySize
0adda0b4e72803559bbf38e19598029cdb770c64 4333959d0c365e04739e5c68e86ddb6e34b9a1ae Mark Seemann <mark@ploeh.dk> 1598012699 +0200	commit: Add time of day to calendar time entries
4333959d0c365e04739e5c68e86ddb6e34b9a1ae 4333959d0c365e04739e5c68e86ddb6e34b9a1ae Mark Seemann <mark@ploeh.dk> 1598014088 +0200	reset: moving to HEAD
4333959d0c365e04739e5c68e86ddb6e34b9a1ae 74a8259ad917620dae82619278bc82278d6ef7a4 Mark Seemann <mark@ploeh.dk> 1598014332 +0200	commit: Make CalendarController actions asynchronous
74a8259ad917620dae82619278bc82278d6ef7a4 74a8259ad917620dae82619278bc82278d6ef7a4 Mark Seemann <mark@ploeh.dk> 1598014960 +0200	reset: moving to HEAD
74a8259ad917620dae82619278bc82278d6ef7a4 5ba6207d6e30cbe09c0f0b972728d363b51f7b2a Mark Seemann <mark@ploeh.dk> 1598018447 +0200	commit: Add ReadReservations overload to repository
5ba6207d6e30cbe09c0f0b972728d363b51f7b2a b67c71a3eb41b6f8eeab2d9be0435a2ecd5d4763 Mark Seemann <mark@ploeh.dk> 1598018857 +0200	commit: Call new method instead of old
b67c71a3eb41b6f8eeab2d9be0435a2ecd5d4763 8419393cc9148762fe13b4eabb7fe9d5c478e985 Mark Seemann <mark@ploeh.dk> 1598019102 +0200	commit: Move other call site over to new method
8419393cc9148762fe13b4eabb7fe9d5c478e985 7e7a450cf8783339d78c6c3cd57b59e03a959810 Mark Seemann <mark@ploeh.dk> 1598019352 +0200	commit: Extract helper method
4e24146adbbf5c09c76de9bf7e255bf80e33f100 4e24146adbbf5c09c76de9bf7e255bf80e33f100 Mark Seemann <mark@ploeh.dk> 1598022195 +0200	reset: moving to HEAD
4e24146adbbf5c09c76de9bf7e255bf80e33f100 a4278cf8bd5907dc3a2287cd9a9c5eebfe508276 Mark Seemann <mark@ploeh.dk> 1598022268 +0200	commit: Add RemainingSeats to Table class
a4278cf8bd5907dc3a2287cd9a9c5eebfe508276 31d7b159c17b96ad35cd010b2e9721fb120e22b4 Mark Seemann <mark@ploeh.dk> 1598022781 +0200	commit: Return schedule in day view
31d7b159c17b96ad35cd010b2e9721fb120e22b4 752046ce8fa21e6c78e1956f1e741b46a57ec805 Mark Seemann <mark@ploeh.dk> 1598034821 +0200	commit: Extract ReadReservations extension method
752046ce8fa21e6c78e1956f1e741b46a57ec805 752046ce8fa21e6c78e1956f1e741b46a57ec805 Mark Seemann <mark@ploeh.dk> 1598035659 +0200	reset: moving to HEAD
752046ce8fa21e6c78e1956f1e741b46a57ec805 752046ce8fa21e6c78e1956f1e741b46a57ec805 Mark Seemann <mark@ploeh.dk> 1598089631 +0200	reset: moving to HEAD
228e426dc3c57bb2f1708fb04ef2d3e86c1ed529 228e426dc3c57bb2f1708fb04ef2d3e86c1ed529 Mark Seemann <mark@ploeh.dk> 1598090882 +0200	reset: moving to HEAD
228e426dc3c57bb2f1708fb04ef2d3e86c1ed529 ca99d0366518b39318d3f13580df572d1ff975b7 Mark Seemann <mark@ploeh.dk> 1598090971 +0200	commit: Rewrite Gen composition using query syntax
ca99d0366518b39318d3f13580df572d1ff975b7 533f55ae2581be58c1287c5e56c516b94a34d5d7 Mark Seemann <mark@ploeh.dk> 1598092386 +0200	commit: Introduce MaitreD.Segment
533f55ae2581be58c1287c5e56c516b94a34d5d7 a6051b5c4dfa5d8a6fcbe4d4a068c2387dedcac5 Mark Seemann <mark@ploeh.dk> 1598092784 +0200	commit: Return segment at opening hour
a6051b5c4dfa5d8a6fcbe4d4a068c2387dedcac5 25ac67a3cba29feb14588b45d26e93f369691ade Mark Seemann <mark@ploeh.dk> 1598093233 +0200	commit: Return segment at last seating time
25ac67a3cba29feb14588b45d26e93f369691ade d7c42cdb4a1a5d18ed6e1d646ffae00e9e169554 Mark Seemann <mark@ploeh.dk> 1598093962 +0200	commit: Rerturn all 15-minute segments
d7c42cdb4a1a5d18ed6e1d646ffae00e9e169554 31e8c6b0c6822dd4ddedff70faa6404880353f79 Mark Seemann <mark@ploeh.dk> 1598094209 +0200	commit: Return tables in each segment
31e8c6b0c6822dd4ddedff70faa6404880353f79 2aeb8c1365c60452e7a890adf0a6419a4ea9a3eb Mark Seemann <mark@ploeh.dk> 1598094779 +0200	commit: Allocate tables to each segment
2aeb8c1365c60452e7a890adf0a6419a4ea9a3eb 2c1d1e51ec0146582396048537f61d65637f136e Mark Seemann <mark@ploeh.dk> 1598103541 +0200	commit: Display segments in day calendar
2c1d1e51ec0146582396048537f61d65637f136e af1397a424ab926eee36f89da968704d12f9d77c Mark Seemann <mark@ploeh.dk> 1598120484 +0200	commit: Return segments for all calendars
af1397a424ab926eee36f89da968704d12f9d77c 360d62d8f96ea28dc18b7c1f72b1b336a0b1c355 Mark Seemann <mark@ploeh.dk> 1598124871 +0200	commit: Load all reservations for a month and segment them
360d62d8f96ea28dc18b7c1f72b1b336a0b1c355 27595e4ab41a97525a61bb6259a6f787aa88988a Mark Seemann <mark@ploeh.dk> 1598125315 +0200	commit: Load all reservations for a year and segment them
27595e4ab41a97525a61bb6259a6f787aa88988a 3524b206d9e72985414913ea27223b857035f9d6 Mark Seemann <mark@ploeh.dk> 1598125581 +0200	commit (amend): Load all reservations for a year and segment them
3524b206d9e72985414913ea27223b857035f9d6 3afbdf8774b6ae164750e26442b32f90c5f01900 Mark Seemann <mark@ploeh.dk> 1598172053 +0200	commit: Refactor calendars to work on period values
3afbdf8774b6ae164750e26442b32f90c5f01900 51d39c33a36016e7ef01e665721574a3989e132a Mark Seemann <mark@ploeh.dk> 1598172300 +0200	commit: Extract helper method to make days
51d39c33a36016e7ef01e665721574a3989e132a 51d39c33a36016e7ef01e665721574a3989e132a Mark Seemann <mark@ploeh.dk> 1598184636 +0200	reset: moving to HEAD
51d39c33a36016e7ef01e665721574a3989e132a 51d39c33a36016e7ef01e665721574a3989e132a Mark Seemann <mark@ploeh.dk> 1598272415 +0200	reset: moving to HEAD
51d39c33a36016e7ef01e665721574a3989e132a 94488aeaa32ebe3538b39a6e85904ac6cff07f1c Mark Seemann <mark@ploeh.dk> 1598272779 +0200	commit: Delete calendar flag
94488aeaa32ebe3538b39a6e85904ac6cff07f1c 42f7e51db69631e3f3d8429480ac6f80728ab7e3 Mark Seemann <mark@ploeh.dk> 1598275036 +0200	commit: Add cache header on year calendar
42f7e51db69631e3f3d8429480ac6f80728ab7e3 0f67f22f8d8564debe907cd77952513ac9b47551 Mark Seemann <mark@ploeh.dk> 1598275420 +0200	commit: Update xunit.runner.visualstudio NuGet package
0f67f22f8d8564debe907cd77952513ac9b47551 5018b94f33d7e95d38a7f01ee73846546ba633a9 Mark Seemann <mark@ploeh.dk> 1598275634 +0200	commit: Update xunit.runner.visualstudio NuGet package
5018b94f33d7e95d38a7f01ee73846546ba633a9 98541f3be58152720340b4694343846161648dc0 Mark Seemann <mark@ploeh.dk> 1598276141 +0200	commit (amend): Update System.Data.SqlClient NuGet package
98541f3be58152720340b4694343846161648dc0 e697186130010a97cfb268e0b3b05ef8b3a600aa Mark Seemann <mark@ploeh.dk> 1598276223 +0200	commit: Update Microsoft.NET.Test.Sdk NuGet package
e697186130010a97cfb268e0b3b05ef8b3a600aa cea383a96008454143a0fded00532693e49d8941 Mark Seemann <mark@ploeh.dk> 1598276309 +0200	commit: Update coverlet.collector NuGet package
cea383a96008454143a0fded00532693e49d8941 24a345397c733d197d4c14a5ec813b0fb91e9f5a Mark Seemann <mark@ploeh.dk> 1598276354 +0200	commit: Update Microsoft.AspNetCore.Mvc.Testing NuGet pkg
24a345397c733d197d4c14a5ec813b0fb91e9f5a e00326388c0f2c041f61aa238871e037047ef470 Mark Seemann <mark@ploeh.dk> 1598277930 +0200	commit: Update Microsoft.CodeAnalysis.FxCopAnalyzers NuGet
e00326388c0f2c041f61aa238871e037047ef470 e00326388c0f2c041f61aa238871e037047ef470 Mark Seemann <mark@ploeh.dk> 1598363971 +0200	reset: moving to HEAD
e00326388c0f2c041f61aa238871e037047ef470 8d0888df81173b53c7a37ae7862fbbc338658e24 Mark Seemann <mark@ploeh.dk> 1598364799 +0200	commit: Rename test classes
8d0888df81173b53c7a37ae7862fbbc338658e24 2ea1c96979aeaa19ae18ed78d477e1fc2379c9ad Mark Seemann <mark@ploeh.dk> 1598365599 +0200	commit: Add a schedule link to each day
2ea1c96979aeaa19ae18ed78d477e1fc2379c9ad 04d7120d78d56d1ebbfdf7f5251ab13795376aac Mark Seemann <mark@ploeh.dk> 1598369834 +0200	commit: Link to schedule resource
04d7120d78d56d1ebbfdf7f5251ab13795376aac 94488aeaa32ebe3538b39a6e85904ac6cff07f1c Mark Seemann <mark@ploeh.dk> 1598369960 +0200	rebase -i (start): checkout 94488aeaa32ebe3538b39a6e85904ac6cff07f1c
94488aeaa32ebe3538b39a6e85904ac6cff07f1c 42f7e51db69631e3f3d8429480ac6f80728ab7e3 Mark Seemann <mark@ploeh.dk> 1598369960 +0200	rebase -i: fast-forward
42f7e51db69631e3f3d8429480ac6f80728ab7e3 3333f63cad458f9e5f582bd75773d66ccc1733df Mark Seemann <mark@ploeh.dk> 1598369997 +0200	commit (amend): Add cache header on year calendar
3333f63cad458f9e5f582bd75773d66ccc1733df ccd72e41ecfeb486e3d0d8f1da0cbd5652151845 Mark Seemann <mark@ploeh.dk> 1598370109 +0200	rebase -i (pick): Update xunit.runner.visualstudio NuGet package
ccd72e41ecfeb486e3d0d8f1da0cbd5652151845 f775367d95e460204d20e0c36f1347b7fa759726 Mark Seemann <mark@ploeh.dk> 1598370198 +0200	rebase -i (pick): Update System.Data.SqlClient NuGet package
f775367d95e460204d20e0c36f1347b7fa759726 ce5957b56e5a5569db47fc4fb9536f71ea48f84a Mark Seemann <mark@ploeh.dk> 1598370290 +0200	rebase -i (pick): Update Microsoft.NET.Test.Sdk NuGet package
ce5957b56e5a5569db47fc4fb9536f71ea48f84a fc5811e3e60f8e4d4712ac2a576ab324c84a0286 Mark Seemann <mark@ploeh.dk> 1598370380 +0200	rebase -i (pick): Update coverlet.collector NuGet package
fc5811e3e60f8e4d4712ac2a576ab324c84a0286 57c5788d293cb8849ee9f4fd822d4d5ff4f318a5 Mark Seemann <mark@ploeh.dk> 1598370475 +0200	rebase -i (pick): Update Microsoft.AspNetCore.Mvc.Testing NuGet pkg
57c5788d293cb8849ee9f4fd822d4d5ff4f318a5 5f2ab66ce47eac9c3fc23fc34db5e20d9201313c Mark Seemann <mark@ploeh.dk> 1598370567 +0200	rebase -i (pick): Update Microsoft.CodeAnalysis.FxCopAnalyzers NuGet
5f2ab66ce47eac9c3fc23fc34db5e20d9201313c 1f0b1dd1e6d20b660a640493fb40d9b882b31412 Mark Seemann <mark@ploeh.dk> 1598370664 +0200	rebase -i (pick): Rename test classes
1f0b1dd1e6d20b660a640493fb40d9b882b31412 32b40b04327157afa46933da95f84b75e334d22f Mark Seemann <mark@ploeh.dk> 1598370754 +0200	rebase -i (pick): Add a schedule link to each day
32b40b04327157afa46933da95f84b75e334d22f 0dc50ad55d50aa2563023b1597a42111466eb8a9 Mark Seemann <mark@ploeh.dk> 1598370845 +0200	rebase -i (pick): Link to schedule resource
0dc50ad55d50aa2563023b1597a42111466eb8a9 0dc50ad55d50aa2563023b1597a42111466eb8a9 Mark Seemann <mark@ploeh.dk> 1598370845 +0200	rebase -i (finish): returning to refs/heads/master
0dc50ad55d50aa2563023b1597a42111466eb8a9 78c89e772b37523138b0b55aec8c827d7f8155b1 Mark Seemann <mark@ploeh.dk> 1598372011 +0200	commit: Change URL format for schedule resource
78c89e772b37523138b0b55aec8c827d7f8155b1 837344fe727e8d46961fba6e057fb7b05a7ea644 Mark Seemann <mark@ploeh.dk> 1598425122 +0200	commit: Enable JWT-based authorization of schedule
837344fe727e8d46961fba6e057fb7b05a7ea644 d5b88625acfb4ef03acd5ae5f6807089a5e1593b Mark Seemann <mark@ploeh.dk> 1598427397 +0200	commit: Extract ConfigureAuthorization helper method
d5b88625acfb4ef03acd5ae5f6807089a5e1593b a8791133f5659640577264c4de54db762533ed08 Mark Seemann <mark@ploeh.dk> 1598428213 +0200	commit: Read secret from appsettings.json
a8791133f5659640577264c4de54db762533ed08 a8791133f5659640577264c4de54db762533ed08 Mark Seemann <mark@ploeh.dk> 1598430161 +0200	reset: moving to HEAD
a8791133f5659640577264c4de54db762533ed08 d5027e56a790b3b286754886395fae787c8c59fc Mark Seemann <mark@ploeh.dk> 1598438033 +0200	commit: Return calendar from schedule resource
d5027e56a790b3b286754886395fae787c8c59fc fb5dd6dedf332939ca261c3f40f36e3250fec761 Mark Seemann <mark@ploeh.dk> 1598438246 +0200	commit: Populate schedule date
fb5dd6dedf332939ca261c3f40f36e3250fec761 7e804c2f874884833be037a5d2ca429f6342d572 Mark Seemann <mark@ploeh.dk> 1598443624 +0200	commit: Return entries in schedule
7e804c2f874884833be037a5d2ca429f6342d572 d9eed7e4b2fff53bc73e23bd7124ea0104817fa4 Mark Seemann <mark@ploeh.dk> 1598443639 +0200	commit (amend): Return schedule entries
d9eed7e4b2fff53bc73e23bd7124ea0104817fa4 a21793fc0d0a62aeae3a418c25c4dcb526d3f930 Mark Seemann <mark@ploeh.dk> 1598445275 +0200	commit: Return entries from schedule resource
a21793fc0d0a62aeae3a418c25c4dcb526d3f930 a21793fc0d0a62aeae3a418c25c4dcb526d3f930 Mark Seemann <mark@ploeh.dk> 1598445639 +0200	reset: moving to HEAD
a21793fc0d0a62aeae3a418c25c4dcb526d3f930 51aab44e72374c33f6724fa60bec73ffbf85869e Mark Seemann <mark@ploeh.dk> 1598445814 +0200	commit: Make MaximumPartySize an optional property
51aab44e72374c33f6724fa60bec73ffbf85869e cbb67433bb569240e2409a55750ee022a537e1b9 Mark Seemann <mark@ploeh.dk> 1598446620 +0200	commit: Returt reservations in schedule resource
cbb67433bb569240e2409a55750ee022a537e1b9 cbb67433bb569240e2409a55750ee022a537e1b9 Mark Seemann <mark@ploeh.dk> 1598446733 +0200	reset: moving to HEAD
cbb67433bb569240e2409a55750ee022a537e1b9 8ff4e721e10b9dbaeca61b579a694ea3db12d55a Mark Seemann <mark@ploeh.dk> 1598446738 +0200	commit (amend): Return reservations in schedule resource
8ff4e721e10b9dbaeca61b579a694ea3db12d55a 01dfbbba2243d3a0c407511abd69482b32089a4e Mark Seemann <mark@ploeh.dk> 1598447445 +0200	commit: Made ReservationsVisitor a public class
01dfbbba2243d3a0c407511abd69482b32089a4e c5c150ea0a022214346f75692db07c5ddf2f4a11 Mark Seemann <mark@ploeh.dk> 1598447801 +0200	commit: Make ReservationsVisitor a Singleton
c5c150ea0a022214346f75692db07c5ddf2f4a11 e4809b1cd770bf83d5ed0845c7d3b16f6ee30cb8 Mark Seemann <mark@ploeh.dk> 1598448209 +0200	commit: Extract MakeEntry helper method
e4809b1cd770bf83d5ed0845c7d3b16f6ee30cb8 71d2e159ed29d35724461350f131b6e8f60428a0 Mark Seemann <mark@ploeh.dk> 1598448688 +0200	commit: Extract MakeCalendar helper method
71d2e159ed29d35724461350f131b6e8f60428a0 71d2e159ed29d35724461350f131b6e8f60428a0 Mark Seemann <mark@ploeh.dk> 1598537090 +0200	reset: moving to HEAD
71d2e159ed29d35724461350f131b6e8f60428a0 cd8d2e789ac6af232d94e4794f0182e30b3c6e68 Mark Seemann <mark@ploeh.dk> 1598537422 +0200	commit: Move outlier dates a bit closer
cd8d2e789ac6af232d94e4794f0182e30b3c6e68 70ff7752397db83f55a2adea5353d4eb363a664f Mark Seemann <mark@ploeh.dk> 1598538146 +0200	commit: Introduce SigningUrlHelper
70ff7752397db83f55a2adea5353d4eb363a664f 753e24c146a3ee7de5ce40677e72cca89473d2d5 Mark Seemann <mark@ploeh.dk> 1598538436 +0200	commit: Add signature query parameter to generated URLs
753e24c146a3ee7de5ce40677e72cca89473d2d5 8021cf4408ecc3cc3b0acd6bc94e9e7800d6ee44 Mark Seemann <mark@ploeh.dk> 1598542449 +0200	commit: Sign links
8021cf4408ecc3cc3b0acd6bc94e9e7800d6ee44 8021cf4408ecc3cc3b0acd6bc94e9e7800d6ee44 Mark Seemann <mark@ploeh.dk> 1598878691 +0200	reset: moving to HEAD
8021cf4408ecc3cc3b0acd6bc94e9e7800d6ee44 07fe2ef8f6232c8f478eeee46e79aa78f0cc24fe Mark Seemann <mark@ploeh.dk> 1598880864 +0200	commit: Force clients to follow links
07fe2ef8f6232c8f478eeee46e79aa78f0cc24fe 26ce1544e660dae24480a57e54bf0545b633a37e Mark Seemann <mark@ploeh.dk> 1598883456 +0200	commit: Extract IsGetHomeRequest helper method
26ce1544e660dae24480a57e54bf0545b633a37e bc6c03da643b1646c71fe94d45150c22d0d47b29 Mark Seemann <mark@ploeh.dk> 1598883990 +0200	commit: Extract GetUrlWithoutSignature helper method
bc6c03da643b1646c71fe94d45150c22d0d47b29 56b7f680eb10487facf5d96ffa7cde8a668ef8a2 Mark Seemann <mark@ploeh.dk> 1598885530 +0200	commit: Add URL signing key as a dependency to filter
56b7f680eb10487facf5d96ffa7cde8a668ef8a2 7d7a312728c2a3262ba1f3f65e82e5bf2caff6f5 Mark Seemann <mark@ploeh.dk> 1598885646 +0200	commit (amend): Add URL signing key as a dependency to filter
7d7a312728c2a3262ba1f3f65e82e5bf2caff6f5 f2fce67ed1c2c5cea46a4037c0dcf0538676501f Mark Seemann <mark@ploeh.dk> 1598885812 +0200	commit: Add URL signing key as dependency to URL helper
f2fce67ed1c2c5cea46a4037c0dcf0538676501f 8dbdfb30c6dccaeb83ded9b612eb1c96a328b5f4 Mark Seemann <mark@ploeh.dk> 1598886012 +0200	commit: Add URL signing key as dependency to URL factory
8dbdfb30c6dccaeb83ded9b612eb1c96a328b5f4 5bf5dc48fe3b1568c87beef368e846d84b72cf97 Mark Seemann <mark@ploeh.dk> 1598886374 +0200	commit: Move URL signing key to config file
5bf5dc48fe3b1568c87beef368e846d84b72cf97 976ae9bfc2f8c507b0e288ff7db6c3a3fb34ea1d Mark Seemann <mark@ploeh.dk> 1598887001 +0200	commit: Extract SignatureIsValid helper method
976ae9bfc2f8c507b0e288ff7db6c3a3fb34ea1d 6cfc64aba1e4bdea2870e3eceed4b21a7e629aaf Mark Seemann <mark@ploeh.dk> 1598887385 +0200	commit (amend): Extract SignatureIsValid helper method
6cfc64aba1e4bdea2870e3eceed4b21a7e629aaf 8ecb91ca64c0aa297e9b921e158a0d5aad0f5643 Mark Seemann <mark@ploeh.dk> 1598887529 +0200	commit: Turn validity check around
8ecb91ca64c0aa297e9b921e158a0d5aad0f5643 8ecb91ca64c0aa297e9b921e158a0d5aad0f5643 Mark Seemann <mark@ploeh.dk> 1598888284 +0200	reset: moving to HEAD
8ecb91ca64c0aa297e9b921e158a0d5aad0f5643 8ecb91ca64c0aa297e9b921e158a0d5aad0f5643 Mark Seemann <mark@ploeh.dk> 1598888526 +0200	reset: moving to HEAD
8ecb91ca64c0aa297e9b921e158a0d5aad0f5643 0055822492ba80432d3d763b024b5cb822679e23 Mark Seemann <mark@ploeh.dk> 1598888815 +0200	commit: Refactor Startup a bit
0055822492ba80432d3d763b024b5cb822679e23 bc6c03da643b1646c71fe94d45150c22d0d47b29 Mark Seemann <mark@ploeh.dk> 1598891890 +0200	checkout: moving from master to bc6c03da643b1646c71fe94d45150c22d0d47b29
bc6c03da643b1646c71fe94d45150c22d0d47b29 0055822492ba80432d3d763b024b5cb822679e23 Mark Seemann <mark@ploeh.dk> 1598891913 +0200	checkout: moving from bc6c03da643b1646c71fe94d45150c22d0d47b29 to master
0055822492ba80432d3d763b024b5cb822679e23 bc6c03da643b1646c71fe94d45150c22d0d47b29 Mark Seemann <mark@ploeh.dk> 1598891998 +0200	checkout: moving from master to bc6c03da643b1646c71fe94d45150c22d0d47b29
bc6c03da643b1646c71fe94d45150c22d0d47b29 753e24c146a3ee7de5ce40677e72cca89473d2d5 Mark Seemann <mark@ploeh.dk> 1598892034 +0200	checkout: moving from bc6c03da643b1646c71fe94d45150c22d0d47b29 to 753e24c146a3ee7de5ce40677e72cca89473d2d5
753e24c146a3ee7de5ce40677e72cca89473d2d5 07fe2ef8f6232c8f478eeee46e79aa78f0cc24fe Mark Seemann <mark@ploeh.dk> 1598892123 +0200	checkout: moving from 753e24c146a3ee7de5ce40677e72cca89473d2d5 to 07fe2ef8f6232c8f478eeee46e79aa78f0cc24fe
07fe2ef8f6232c8f478eeee46e79aa78f0cc24fe 8021cf4408ecc3cc3b0acd6bc94e9e7800d6ee44 Mark Seemann <mark@ploeh.dk> 1598892148 +0200	checkout: moving from 07fe2ef8f6232c8f478eeee46e79aa78f0cc24fe to 8021cf4408ecc3cc3b0acd6bc94e9e7800d6ee44
8021cf4408ecc3cc3b0acd6bc94e9e7800d6ee44 0055822492ba80432d3d763b024b5cb822679e23 Mark Seemann <mark@ploeh.dk> 1598892706 +0200	checkout: moving from 8021cf4408ecc3cc3b0acd6bc94e9e7800d6ee44 to master
0055822492ba80432d3d763b024b5cb822679e23 8021cf4408ecc3cc3b0acd6bc94e9e7800d6ee44 Mark Seemann <mark@ploeh.dk> 1598892756 +0200	rebase -i (start): checkout 8021cf4
8021cf4408ecc3cc3b0acd6bc94e9e7800d6ee44 07fe2ef8f6232c8f478eeee46e79aa78f0cc24fe Mark Seemann <mark@ploeh.dk> 1598892756 +0200	rebase -i: fast-forward
07fe2ef8f6232c8f478eeee46e79aa78f0cc24fe 66aab15c49557c34b2955b46db66ffece628ec54 Mark Seemann <mark@ploeh.dk> 1598894615 +0200	commit (amend): Force clients to follow links
66aab15c49557c34b2955b46db66ffece628ec54 e4bb9de56a01808f8f0d88cea01d07beaefa9ba8 Mark Seemann <mark@ploeh.dk> 1598894808 +0200	rebase -i (pick): Extract IsGetHomeRequest helper method
e4bb9de56a01808f8f0d88cea01d07beaefa9ba8 6ccc82f721dd01b167fb68fc170e3751f7897263 Mark Seemann <mark@ploeh.dk> 1598894897 +0200	rebase -i (pick): Extract GetUrlWithoutSignature helper method
6ccc82f721dd01b167fb68fc170e3751f7897263 92a1cfdc400090b9a7a9fb871e095d385df29234 Mark Seemann <mark@ploeh.dk> 1598894987 +0200	rebase -i (pick): Add URL signing key as a dependency to filter
92a1cfdc400090b9a7a9fb871e095d385df29234 e44253c95f4ff491826dcad3de3b3e50bddbd07d Mark Seemann <mark@ploeh.dk> 1598895074 +0200	rebase -i (pick): Add URL signing key as dependency to URL helper
e44253c95f4ff491826dcad3de3b3e50bddbd07d a0b872b67f780f993f4df1cebfaab918145fdd86 Mark Seemann <mark@ploeh.dk> 1598895161 +0200	rebase -i (pick): Add URL signing key as dependency to URL factory
a0b872b67f780f993f4df1cebfaab918145fdd86 80a9be0fe51286d92628f21abece7d6e7c0cfcfd Mark Seemann <mark@ploeh.dk> 1598895248 +0200	rebase -i (pick): Move URL signing key to config file
80a9be0fe51286d92628f21abece7d6e7c0cfcfd 00591a746836200e91e21619ce8fd95bdd5f2655 Mark Seemann <mark@ploeh.dk> 1598895335 +0200	rebase -i (pick): Extract SignatureIsValid helper method
00591a746836200e91e21619ce8fd95bdd5f2655 e77771a5f9149326b7965b4682ecc3aa27378197 Mark Seemann <mark@ploeh.dk> 1598895421 +0200	rebase -i (pick): Turn validity check around
e77771a5f9149326b7965b4682ecc3aa27378197 e4ded39a0efabb8bb12c92ce020916a5d463cc1d Mark Seemann <mark@ploeh.dk> 1598895507 +0200	rebase -i (pick): Refactor Startup a bit
e4ded39a0efabb8bb12c92ce020916a5d463cc1d e4ded39a0efabb8bb12c92ce020916a5d463cc1d Mark Seemann <mark@ploeh.dk> 1598895507 +0200	rebase -i (finish): returning to refs/heads/master
e4ded39a0efabb8bb12c92ce020916a5d463cc1d e4ded39a0efabb8bb12c92ce020916a5d463cc1d Mark Seemann <mark@ploeh.dk> 1598948176 +0200	reset: moving to HEAD
e4ded39a0efabb8bb12c92ce020916a5d463cc1d 90b2dad182de63ce5f328e27d1a8e47d3e789985 Mark Seemann <mark@ploeh.dk> 1598957952 +0200	commit: Add restaurants array to home resource
90b2dad182de63ce5f328e27d1a8e47d3e789985 3f158c0ed5ed2852c4d07a5dc57584dc4a86a109 Mark Seemann <mark@ploeh.dk> 1598958383 +0200	commit: Give restaurants names
3f158c0ed5ed2852c4d07a5dc57584dc4a86a109 a2085e2be99f654b7860144b1af44e92251022d4 Mark Seemann <mark@ploeh.dk> 1598969400 +0200	commit: Add restaurant link
a2085e2be99f654b7860144b1af44e92251022d4 ed7eb021da722a97629b98805a4da263449af1f7 Mark Seemann <mark@ploeh.dk> 1598969576 +0200	commit: Add URL to restaurant link
ed7eb021da722a97629b98805a4da263449af1f7 b13de90f27a3cd5d3efb428656daf72d49dbae95 Mark Seemann <mark@ploeh.dk> 1598970372 +0200	commit: Rename Settings to Options
b13de90f27a3cd5d3efb428656daf72d49dbae95 169302f3542f9e59511def8fb4fe6ca1888b8e7f Mark Seemann <mark@ploeh.dk> 1598970454 +0200	commit (amend): Rename Settings to Options
169302f3542f9e59511def8fb4fe6ca1888b8e7f 8d7cf1857da57064471e9a07496092305a2f8d96 Mark Seemann <mark@ploeh.dk> 1598972489 +0200	commit: Enumerate restaurants
8d7cf1857da57064471e9a07496092305a2f8d96 92e9826950842a56ebcecb3ffc917d875c7a18a9 Mark Seemann <mark@ploeh.dk> 1598973594 +0200	commit: Introduce RestaurantsController
92e9826950842a56ebcecb3ffc917d875c7a18a9 08e9f71c506ed2a0fe9dd3e6cbb3408d7570d69c Mark Seemann <mark@ploeh.dk> 1598978297 +0200	commit: Add links to restaurant representation
08e9f71c506ed2a0fe9dd3e6cbb3408d7570d69c 08e9f71c506ed2a0fe9dd3e6cbb3408d7570d69c Mark Seemann <mark@ploeh.dk> 1599032462 +0200	reset: moving to HEAD
08e9f71c506ed2a0fe9dd3e6cbb3408d7570d69c de2af03913a141a95102fa5073ddcdcb6f5d0257 Mark Seemann <mark@ploeh.dk> 1599033985 +0200	commit: Rename namespaces
de2af03913a141a95102fa5073ddcdcb6f5d0257 08e9f71c506ed2a0fe9dd3e6cbb3408d7570d69c Mark Seemann <mark@ploeh.dk> 1599044858 +0200	reset: moving to HEAD~1
08e9f71c506ed2a0fe9dd3e6cbb3408d7570d69c b23724be93cd519cea11599b8ee6f7271fd20bd6 Mark Seemann <mark@ploeh.dk> 1599046997 +0200	commit: Inject a database into RestaurantsController
b23724be93cd519cea11599b8ee6f7271fd20bd6 ca690b0565ba9b023c4a4fb3bfe1ea6793c70190 Mark Seemann <mark@ploeh.dk> 1599049794 +0200	commit: Enumerate all restaurants
ca690b0565ba9b023c4a4fb3bfe1ea6793c70190 56e77900ab6f697f6fd933a0c78f4a92eb593b35 Mark Seemann <mark@ploeh.dk> 1599050475 +0200	commit: Add lookup of ID based on restaurant name
56e77900ab6f697f6fd933a0c78f4a92eb593b35 9aca0f6d94e23cf0d34a478ccac62a752cac751d Mark Seemann <mark@ploeh.dk> 1599055515 +0200	commit: Read restaurant configurations from appsettings
9aca0f6d94e23cf0d34a478ccac62a752cac751d 3425173c1ec9abce60b144dd98213c18711db336 Mark Seemann <mark@ploeh.dk> 1599055653 +0200	commit (amend): Read restaurant configurations from appsettings
3425173c1ec9abce60b144dd98213c18711db336 e1e3d896b1669ea888fbac4599031f651a7a4cd8 Mark Seemann <mark@ploeh.dk> 1599070112 +0200	commit: Add tenant column to database schema
e1e3d896b1669ea888fbac4599031f651a7a4cd8 e1e3d896b1669ea888fbac4599031f651a7a4cd8 Mark Seemann <mark@ploeh.dk> 1599070973 +0200	reset: moving to HEAD
e1e3d896b1669ea888fbac4599031f651a7a4cd8 1dc250f739fc693cf280069e3262974e7685f80a Mark Seemann <mark@ploeh.dk> 1599133284 +0200	commit: Add Create overload taking restaurant ID to repo
1dc250f739fc693cf280069e3262974e7685f80a 1dc250f739fc693cf280069e3262974e7685f80a Mark Seemann <mark@ploeh.dk> 1599133328 +0200	reset: moving to HEAD
1dc250f739fc693cf280069e3262974e7685f80a fc15badf6d101d5924e005e3f4e6c7ed1cb15634 Mark Seemann <mark@ploeh.dk> 1599133456 +0200	commit (amend): Add Create overload taking restaurant ID to repo
fc15badf6d101d5924e005e3f4e6c7ed1cb15634 124e4068a5c5faf2ba4228a53be910191f3ca083 Mark Seemann <mark@ploeh.dk> 1599138337 +0200	commit (amend): Add Create overload taking restaurant ID to repo
124e4068a5c5faf2ba4228a53be910191f3ca083 51402ebe5f585f4382c950db65834068ed87f35c Mark Seemann <mark@ploeh.dk> 1599138707 +0200	commit: Remove Create method without restaurant ID
51402ebe5f585f4382c950db65834068ed87f35c 51402ebe5f585f4382c950db65834068ed87f35c Mark Seemann <mark@ploeh.dk> 1599138778 +0200	reset: moving to HEAD
51402ebe5f585f4382c950db65834068ed87f35c 51402ebe5f585f4382c950db65834068ed87f35c Mark Seemann <mark@ploeh.dk> 1599138992 +0200	reset: moving to HEAD
51402ebe5f585f4382c950db65834068ed87f35c e90257ddab11dc711aa9ec0510ca9f3a66534eb7 Mark Seemann <mark@ploeh.dk> 1599139059 +0200	commit: Remove legacy overload of Create
e90257ddab11dc711aa9ec0510ca9f3a66534eb7 a8ac9c3af62b6f58bd6d791c63cd9442deceead7 Mark Seemann <mark@ploeh.dk> 1599139673 +0200	commit: Remove legacy overload of Create
a8ac9c3af62b6f58bd6d791c63cd9442deceead7 ab1f508cb06815d9cc9ac5544c74499b73ce4c89 Mark Seemann <mark@ploeh.dk> 1599141024 +0200	commit: Add restaurant ID to reservations POST method
ab1f508cb06815d9cc9ac5544c74499b73ce4c89 ab1f508cb06815d9cc9ac5544c74499b73ce4c89 Mark Seemann <mark@ploeh.dk> 1599141098 +0200	reset: moving to HEAD
ab1f508cb06815d9cc9ac5544c74499b73ce4c89 f29e2d12957c7e3f8afe6983dea40febfdbd73f1 Mark Seemann <mark@ploeh.dk> 1599143338 +0200	commit: Add overload taking restaurant ID to Repository
f29e2d12957c7e3f8afe6983dea40febfdbd73f1 f29e2d12957c7e3f8afe6983dea40febfdbd73f1 Mark Seemann <mark@ploeh.dk> 1599143368 +0200	reset: moving to HEAD
f29e2d12957c7e3f8afe6983dea40febfdbd73f1 386ccee286f8be2be28b69bafc912f8022c7e059 Mark Seemann <mark@ploeh.dk> 1599144749 +0200	commit: Add test cases to integration tests
386ccee286f8be2be28b69bafc912f8022c7e059 386ccee286f8be2be28b69bafc912f8022c7e059 Mark Seemann <mark@ploeh.dk> 1599144763 +0200	reset: moving to HEAD
386ccee286f8be2be28b69bafc912f8022c7e059 a1ee6bda98be8f32eee8d2aaf10267d4ff650b72 Mark Seemann <mark@ploeh.dk> 1599145778 +0200	commit: Remove method without restaurant ID from Repo
a1ee6bda98be8f32eee8d2aaf10267d4ff650b72 a1ee6bda98be8f32eee8d2aaf10267d4ff650b72 Mark Seemann <mark@ploeh.dk> 1599145834 +0200	reset: moving to HEAD
a1ee6bda98be8f32eee8d2aaf10267d4ff650b72 a1ee6bda98be8f32eee8d2aaf10267d4ff650b72 Mark Seemann <mark@ploeh.dk> 1599148329 +0200	reset: moving to HEAD
a1ee6bda98be8f32eee8d2aaf10267d4ff650b72 f835712ca7d0d32b322f2b09e78ccdc57e48a25a Mark Seemann <mark@ploeh.dk> 1599148397 +0200	commit: Remove legacy overload of ReadReservations
f835712ca7d0d32b322f2b09e78ccdc57e48a25a a9f3c1226a527d64f90780304d0d4783b1190efd Mark Seemann <mark@ploeh.dk> 1599148936 +0200	commit: Remove legacy overload of ReadReservations
a9f3c1226a527d64f90780304d0d4783b1190efd e4787a305161babe3e264fc2b9c0b1b408c816c9 Mark Seemann <mark@ploeh.dk> 1599149207 +0200	commit: Add restaurant ID parameter to helper method
e4787a305161babe3e264fc2b9c0b1b408c816c9 41d2d3426a54918d63b20ff9af88352a6ff89167 Mark Seemann <mark@ploeh.dk> 1599196410 +0200	commit: Accept reservation to new restaurant
41d2d3426a54918d63b20ff9af88352a6ff89167 41d2d3426a54918d63b20ff9af88352a6ff89167 Mark Seemann <mark@ploeh.dk> 1599197897 +0200	reset: moving to HEAD
41d2d3426a54918d63b20ff9af88352a6ff89167 d3a240313e1dd76fd8c93a27349467e5368ba746 Mark Seemann <mark@ploeh.dk> 1599199564 +0200	commit: Rename SelfHostedService to SelfHostedApi
d3a240313e1dd76fd8c93a27349467e5368ba746 be8af299fb484e3e8928ba53ee35ce1221af593b Mark Seemann <mark@ploeh.dk> 1599205046 +0200	commit: Separate legacy behaviour in its own class
be8af299fb484e3e8928ba53ee35ce1221af593b f1df49779201a07c49383d8b408ebca492d7539f Mark Seemann <mark@ploeh.dk> 1599206720 +0200	commit (amend): Separate legacy behaviour in its own class
f1df49779201a07c49383d8b408ebca492d7539f b39931782a55fc235eac1acdd64b97393a1eebdc Mark Seemann <mark@ploeh.dk> 1599207122 +0200	commit: Rename `service` variable to `api`
b39931782a55fc235eac1acdd64b97393a1eebdc b39931782a55fc235eac1acdd64b97393a1eebdc Mark Seemann <mark@ploeh.dk> 1599216745 +0200	reset: moving to HEAD
b39931782a55fc235eac1acdd64b97393a1eebdc 89399b2b9239ee3ede1fdc6268c72c954da75c05 Mark Seemann <mark@ploeh.dk> 1599216786 +0200	commit: Move test
89399b2b9239ee3ede1fdc6268c72c954da75c05 08911f845ea66ca56be834a5f243961dc11aa5e8 Mark Seemann <mark@ploeh.dk> 1599222730 +0200	commit: Use maitre d' for restaurant on new reservation
08911f845ea66ca56be834a5f243961dc11aa5e8 17901ec7d7d8f0b2c966691b52285655349dfb12 Mark Seemann <mark@ploeh.dk> 1599224835 +0200	commit: Handle absent restaurant
17901ec7d7d8f0b2c966691b52285655349dfb12 627881cc9480cf838cba6645d7839833174b7f47 Mark Seemann <mark@ploeh.dk> 1599228971 +0200	commit: Look up maitre d' for restaurant on PUT
627881cc9480cf838cba6645d7839833174b7f47 a1688ef794c005cbe8d2baae92af1a31f4461115 Mark Seemann <mark@ploeh.dk> 1599229744 +0200	commit: Check whether maitreD is null
a1688ef794c005cbe8d2baae92af1a31f4461115 6438b7e5466d7ea04b32e02c211b97e293c8b36e Mark Seemann <mark@ploeh.dk> 1599229910 +0200	commit: Remove MaitreD depfrom ReservationsController
6438b7e5466d7ea04b32e02c211b97e293c8b36e 6438b7e5466d7ea04b32e02c211b97e293c8b36e Mark Seemann <mark@ploeh.dk> 1599297029 +0200	reset: moving to HEAD
6438b7e5466d7ea04b32e02c211b97e293c8b36e b22df8c6e1df7d35d9030d2405ac14d5014d2b32 Mark Seemann <mark@ploeh.dk> 1599297503 +0200	commit: Refactor restaurant options to Test Data Builder
b22df8c6e1df7d35d9030d2405ac14d5014d2b32 61bea5a7bf5fc706a3ebc876c8cbcec48b5183d5 Mark Seemann <mark@ploeh.dk> 1599298896 +0200	commit: Introduce explicit Grandfather Test Data Builder
61bea5a7bf5fc706a3ebc876c8cbcec48b5183d5 61bea5a7bf5fc706a3ebc876c8cbcec48b5183d5 Mark Seemann <mark@ploeh.dk> 1599309063 +0200	reset: moving to HEAD
61bea5a7bf5fc706a3ebc876c8cbcec48b5183d5 54f2e9092d43c4c894a4ab64f66be9254128ee9c Mark Seemann <mark@ploeh.dk> 1599325280 +0200	commit: Use appropriate maitre d' per restaurant
54f2e9092d43c4c894a4ab64f66be9254128ee9c bc297d637206491c155047953b202cbad69a98f5 Mark Seemann <mark@ploeh.dk> 1599326573 +0200	commit: Return 404 Not Found on absent restaurant
bc297d637206491c155047953b202cbad69a98f5 e11dfae3792afa71ea867470f63ce37ac47cb7e9 Mark Seemann <mark@ploeh.dk> 1599326593 +0200	commit (amend): Return 404 Not Found on absent restaurant
e11dfae3792afa71ea867470f63ce37ac47cb7e9 9450322f71f9385ca828c2b127a321f1d7145b45 Mark Seemann <mark@ploeh.dk> 1599327284 +0200	commit: Remove MaitreD dependency from CalendarController
9450322f71f9385ca828c2b127a321f1d7145b45 9450322f71f9385ca828c2b127a321f1d7145b45 Mark Seemann <mark@ploeh.dk> 1599460880 +0200	reset: moving to HEAD
9450322f71f9385ca828c2b127a321f1d7145b45 9450322f71f9385ca828c2b127a321f1d7145b45 Mark Seemann <mark@ploeh.dk> 1599486809 +0200	reset: moving to HEAD
9450322f71f9385ca828c2b127a321f1d7145b45 8322b07144eae7cb220eb37e479b644bb6695501 Mark Seemann <mark@ploeh.dk> 1599497958 +0200	commit: Return name in schedule representation
8322b07144eae7cb220eb37e479b644bb6695501 783ebe1daead3e623df4d8cb64879e0aac52e286 Mark Seemann <mark@ploeh.dk> 1599503076 +0200	commit: Read reservations for correct restaurant
783ebe1daead3e623df4d8cb64879e0aac52e286 783ebe1daead3e623df4d8cb64879e0aac52e286 Mark Seemann <mark@ploeh.dk> 1599504666 +0200	reset: moving to HEAD
783ebe1daead3e623df4d8cb64879e0aac52e286 502b9afde27d4e9591dc5ac9de39af1473526ed0 Mark Seemann <mark@ploeh.dk> 1599505278 +0200	commit: Use maitre d' for correct restaurant in schedule
502b9afde27d4e9591dc5ac9de39af1473526ed0 76b12330a376746808e7020f42eca20616485894 Mark Seemann <mark@ploeh.dk> 1599505305 +0200	commit (amend): Use maitre d' for correct restaurant in schedule
76b12330a376746808e7020f42eca20616485894 76b12330a376746808e7020f42eca20616485894 Mark Seemann <mark@ploeh.dk> 1599505472 +0200	reset: moving to HEAD
76b12330a376746808e7020f42eca20616485894 259cbb9f4c426ca4fab0a1ae4145c5416f922a91 Mark Seemann <mark@ploeh.dk> 1599505483 +0200	commit (amend): Use maitre d' for correct restaurant in schedule
259cbb9f4c426ca4fab0a1ae4145c5416f922a91 9379c89c92fe51ab07f9b82e1df27339d9fa03d8 Mark Seemann <mark@ploeh.dk> 1599505611 +0200	commit: Return 404 Not Found on absent restaurant
9379c89c92fe51ab07f9b82e1df27339d9fa03d8 fbb1e068b961d8615f686d6212dc22468fcafc15 Mark Seemann <mark@ploeh.dk> 1599550686 +0200	commit: Remove maitreD dependency from ScheduleController
fbb1e068b961d8615f686d6212dc22468fcafc15 bd63cd9ba010f1776ed8ab3eb08d31b357946624 Mark Seemann <mark@ploeh.dk> 1599567333 +0200	commit: Check authorisation for particular restaurant
bd63cd9ba010f1776ed8ab3eb08d31b357946624 42b30d2366214b5873f58a1ebbfc76f5e5119c90 Mark Seemann <mark@ploeh.dk> 1599571037 +0200	commit: Clean up URL templates
42b30d2366214b5873f58a1ebbfc76f5e5119c90 e4ded39a0efabb8bb12c92ce020916a5d463cc1d Mark Seemann <mark@ploeh.dk> 1599571767 +0200	checkout: moving from master to e4ded39a0efabb8bb12c92ce020916a5d463cc1d
e4ded39a0efabb8bb12c92ce020916a5d463cc1d 42b30d2366214b5873f58a1ebbfc76f5e5119c90 Mark Seemann <mark@ploeh.dk> 1599572086 +0200	checkout: moving from e4ded39a0efabb8bb12c92ce020916a5d463cc1d to master
42b30d2366214b5873f58a1ebbfc76f5e5119c90 a9b2943bb01ab00a2f7d53ced557839125f62113 Mark Seemann <mark@ploeh.dk> 1599572954 +0200	commit: Add tests of bookmarks
a9b2943bb01ab00a2f7d53ced557839125f62113 61627b96116e3a4efde12d383d3bffa8c99a88eb Mark Seemann <mark@ploeh.dk> 1599583291 +0200	commit: Redirect clients from legacy URLs
61627b96116e3a4efde12d383d3bffa8c99a88eb 61627b96116e3a4efde12d383d3bffa8c99a88eb Mark Seemann <mark@ploeh.dk> 1599584160 +0200	reset: moving to HEAD
61627b96116e3a4efde12d383d3bffa8c99a88eb 61627b96116e3a4efde12d383d3bffa8c99a88eb Mark Seemann <mark@ploeh.dk> 1599584763 +0200	reset: moving to HEAD
61627b96116e3a4efde12d383d3bffa8c99a88eb 5aad54ea5d8e2b586ab6046e3e0249c2af1d89a6 Mark Seemann <mark@ploeh.dk> 1599592243 +0200	commit: Decouple API client behaviour from self-host
5aad54ea5d8e2b586ab6046e3e0249c2af1d89a6 1e3d38ef0dbcda083bcaa4a4312a464312d207dd Mark Seemann <mark@ploeh.dk> 1599637139 +0200	commit: Add Authorize extension method
1e3d38ef0dbcda083bcaa4a4312a464312d207dd 85781a2d61abe94824a7c5ee816c0bb0c2d8508b Mark Seemann <mark@ploeh.dk> 1599637515 +0200	commit: Introduce JwtTokenGenerator
85781a2d61abe94824a7c5ee816c0bb0c2d8508b 2fa9cef420544355165755d34f510d6b4b505611 Mark Seemann <mark@ploeh.dk> 1599661197 +0200	commit: Remove AuthorizeClient mutating helper method
2fa9cef420544355165755d34f510d6b4b505611 2fa9cef420544355165755d34f510d6b4b505611 Mark Seemann <mark@ploeh.dk> 1599661479 +0200	reset: moving to HEAD
2fa9cef420544355165755d34f510d6b4b505611 61408d852a8a530608c232382324983145ba765e Mark Seemann <mark@ploeh.dk> 1599661995 +0200	commit: Add test for requesting schedule with bogus roles
61408d852a8a530608c232382324983145ba765e 03bf1cf0f22152bf51b9fcaf663a895673ec60e3 Mark Seemann <mark@ploeh.dk> 1599662267 +0200	commit: Move [Authorize] attribute to class declaration
03bf1cf0f22152bf51b9fcaf663a895673ec60e3 681f1c37d0943d979a9acdc515a814bc6c7ec958 Mark Seemann <mark@ploeh.dk> 1599663036 +0200	commit: Add [Obsolete] attributes on legacy methods
681f1c37d0943d979a9acdc515a814bc6c7ec958 681f1c37d0943d979a9acdc515a814bc6c7ec958 Mark Seemann <mark@ploeh.dk> 1599663354 +0200	reset: moving to HEAD
681f1c37d0943d979a9acdc515a814bc6c7ec958 9cf3409f02637edc951871487ed92348f8f1cc44 Mark Seemann <mark@ploeh.dk> 1599665892 +0200	commit: Renamed legacy Get methods
9cf3409f02637edc951871487ed92348f8f1cc44 dd2d48957f343be60706bd546633df31a95a45cb Mark Seemann <mark@ploeh.dk> 1599666217 +0200	commit (amend): Renamed legacy Get methods
dd2d48957f343be60706bd546633df31a95a45cb 47955158ae0c651ed4eba2872b303b26cb691d91 Mark Seemann <mark@ploeh.dk> 1599669844 +0200	commit: Renamed GetYear/Month/Day to Get
47955158ae0c651ed4eba2872b303b26cb691d91 993a7d9a8c1be75afaeafabfea2accb99eb7d554 Mark Seemann <mark@ploeh.dk> 1599670295 +0200	commit: Change failed ACL check to 403 Forbidden
993a7d9a8c1be75afaeafabfea2accb99eb7d554 1801dc351dbf88d8bf2545f07d86d654c76c5d94 Mark Seemann <mark@ploeh.dk> 1599740429 +0200	commit: Add LoggingReservationsRepository
1801dc351dbf88d8bf2545f07d86d654c76c5d94 eb78aa3a1fa3069296c159cd12e37df821087bd6 Mark Seemann <mark@ploeh.dk> 1599742719 +0200	commit: Flesh out LoggingReservationsRepository
eb78aa3a1fa3069296c159cd12e37df821087bd6 d74a4b05092ce99c31aa3c9f555c1ab40aa2644d Mark Seemann <mark@ploeh.dk> 1599743371 +0200	commit: Add LoggingPostOffice
d74a4b05092ce99c31aa3c9f555c1ab40aa2644d 28b7299f5fc133a6e447b21f7445942d60ad4bec Mark Seemann <mark@ploeh.dk> 1599743419 +0200	commit (amend): Add LoggingPostOffice
28b7299f5fc133a6e447b21f7445942d60ad4bec 97c78bd472b3324159257ff6ec0878f9f8149340 Mark Seemann <mark@ploeh.dk> 1599743615 +0200	commit (amend): Add LoggingPostOffice
97c78bd472b3324159257ff6ec0878f9f8149340 da36b83076348eee539e8d81ef2f8e862ccb4e60 Mark Seemann <mark@ploeh.dk> 1599745676 +0200	commit: Add IClock and implementations
da36b83076348eee539e8d81ef2f8e862ccb4e60 e3182072d96286a6b68080c53f4f9d08008db80d Mark Seemann <mark@ploeh.dk> 1599747507 +0200	commit: Correct some bugs in the loggers
e3182072d96286a6b68080c53f4f9d08008db80d cff68e22aa72dc9ed56d148ee43c86ef59048473 Mark Seemann <mark@ploeh.dk> 1599748669 +0200	commit: Serialise objects to log
cff68e22aa72dc9ed56d148ee43c86ef59048473 13b07b55eb3cc22c3767249d64225c2b84fb9dfd Mark Seemann <mark@ploeh.dk> 1599761456 +0200	commit: Add restaurant ID to IPostOffice methods
13b07b55eb3cc22c3767249d64225c2b84fb9dfd 13b07b55eb3cc22c3767249d64225c2b84fb9dfd Mark Seemann <mark@ploeh.dk> 1599762840 +0200	reset: moving to HEAD
13b07b55eb3cc22c3767249d64225c2b84fb9dfd 13b07b55eb3cc22c3767249d64225c2b84fb9dfd Mark Seemann <mark@ploeh.dk> 1599821436 +0200	reset: moving to HEAD
13b07b55eb3cc22c3767249d64225c2b84fb9dfd 13b07b55eb3cc22c3767249d64225c2b84fb9dfd Mark Seemann <mark@ploeh.dk> 1599821654 +0200	reset: moving to HEAD
13b07b55eb3cc22c3767249d64225c2b84fb9dfd df5056ef14fdaed0983204a0fa647c0fec4fd07f Mark Seemann <mark@ploeh.dk> 1599821878 +0200	commit: Consolidate xunit.runner.visualstudio versions
df5056ef14fdaed0983204a0fa647c0fec4fd07f 3027dad020242e531b07949e3cd7e9a529932a5b Mark Seemann <mark@ploeh.dk> 1599822092 +0200	commit: Consolidate Microsoft.NET.Test.Sdk NuGet versions
3027dad020242e531b07949e3cd7e9a529932a5b cfba5a1f659c045a23efad19dc34102436a14b94 Mark Seemann <mark@ploeh.dk> 1599822283 +0200	commit: Consolidate coverlet.collector NuGet versions
cfba5a1f659c045a23efad19dc34102436a14b94 8efc03be42dfdb5073eda3615bf6d3bbc3f2c666 Mark Seemann <mark@ploeh.dk> 1599822484 +0200	commit: Consolidate Microsoft.CodeAnalysis.FxCopAnalyzers
8efc03be42dfdb5073eda3615bf6d3bbc3f2c666 b1f9e505c2f468095c97f5ce0fb799503dd7fd67 Mark Seemann <mark@ploeh.dk> 1599822685 +0200	commit: Update Microsoft.AspNetCore.Mvc.Testing NuGet pkg
b1f9e505c2f468095c97f5ce0fb799503dd7fd67 b69b64f5854ee31f1452681529f7de721ed5e26e Mark Seemann <mark@ploeh.dk> 1599822828 +0200	commit: Upd Microsoft.AspNetCore.Authentication.JwtBearer
b69b64f5854ee31f1452681529f7de721ed5e26e a9b27f392009da75d6dba131e36a74112f781f0c Mark Seemann <mark@ploeh.dk> 1599828173 +0200	commit: Move const string out of method body
a9b27f392009da75d6dba131e36a74112f781f0c 88a1048376de868e73cff96c4a0de2a435a5f235 Mark Seemann <mark@ploeh.dk> 1599829123 +0200	commit: Read PublicId from reader
88a1048376de868e73cff96c4a0de2a435a5f235 94c301842112a1a6cf7d216acc3c1e78d0e4549b Mark Seemann <mark@ploeh.dk> 1599829533 +0200	commit: Extract ReadReservationRow helper method
94c301842112a1a6cf7d216acc3c1e78d0e4549b de2af03913a141a95102fa5073ddcdcb6f5d0257 Mark Seemann <mark@ploeh.dk> 1599832145 +0200	rebase: checkout rename-namespaces
de2af03913a141a95102fa5073ddcdcb6f5d0257 aa475d977dfdb42d335bd71008683dd3b018d853 Mark Seemann <mark@ploeh.dk> 1599832145 +0200	rebase: Inject a database into RestaurantsController
aa475d977dfdb42d335bd71008683dd3b018d853 1caac9cacf20158502ec08a872aac60a4527d1b9 Mark Seemann <mark@ploeh.dk> 1599832145 +0200	rebase: Enumerate all restaurants
1caac9cacf20158502ec08a872aac60a4527d1b9 b40049e8ee0f353278e451c1ee499bf3a6dae3c4 Mark Seemann <mark@ploeh.dk> 1599832145 +0200	rebase: Add lookup of ID based on restaurant name
b40049e8ee0f353278e451c1ee499bf3a6dae3c4 82965b09303d4cb0136e3ae712e99f411948b515 Mark Seemann <mark@ploeh.dk> 1599832145 +0200	rebase: Read restaurant configurations from appsettings
82965b09303d4cb0136e3ae712e99f411948b515 f4b36507ebe59da07dd185fabb0cdf435f116755 Mark Seemann <mark@ploeh.dk> 1599832145 +0200	rebase: Add tenant column to database schema
f4b36507ebe59da07dd185fabb0cdf435f116755 5d5116f02c57d8726b5cf08f81239a38052ae84f Mark Seemann <mark@ploeh.dk> 1599832145 +0200	rebase: Add Create overload taking restaurant ID to repo
5d5116f02c57d8726b5cf08f81239a38052ae84f 1e4f8092efb985558ca0887dd30e5c5c00d49711 Mark Seemann <mark@ploeh.dk> 1599832145 +0200	rebase: Remove Create method without restaurant ID
1e4f8092efb985558ca0887dd30e5c5c00d49711 0ef5b7356b55e831e97439d532f194c794ee9fb9 Mark Seemann <mark@ploeh.dk> 1599832145 +0200	rebase: Remove legacy overload of Create
0ef5b7356b55e831e97439d532f194c794ee9fb9 22c016b2386e274e003be91747b1f0eea0daa56f Mark Seemann <mark@ploeh.dk> 1599832145 +0200	rebase: Remove legacy overload of Create
22c016b2386e274e003be91747b1f0eea0daa56f b148e54d730b8dd39d5d9042f39e730c5209ec2b Mark Seemann <mark@ploeh.dk> 1599832145 +0200	rebase: Add restaurant ID to reservations POST method
b148e54d730b8dd39d5d9042f39e730c5209ec2b 24e47c7dbee2447df6212c786ca6826931037a3d Mark Seemann <mark@ploeh.dk> 1599832146 +0200	rebase: Add overload taking restaurant ID to Repository
24e47c7dbee2447df6212c786ca6826931037a3d 998988778ffae7abed85b6117739f32e30781b5d Mark Seemann <mark@ploeh.dk> 1599832146 +0200	rebase: Add test cases to integration tests
998988778ffae7abed85b6117739f32e30781b5d 3a6ceef919092ca86ab967e936cb81ea0533e61f Mark Seemann <mark@ploeh.dk> 1599832146 +0200	rebase: Remove method without restaurant ID from Repo
3a6ceef919092ca86ab967e936cb81ea0533e61f c295a213cc8f41159393821ad4ac76172be8b7ed Mark Seemann <mark@ploeh.dk> 1599832146 +0200	rebase: Remove legacy overload of ReadReservations
c295a213cc8f41159393821ad4ac76172be8b7ed 27e5e19856e05731a2e82eacbb00178353fd7c3a Mark Seemann <mark@ploeh.dk> 1599832146 +0200	rebase: Remove legacy overload of ReadReservations
27e5e19856e05731a2e82eacbb00178353fd7c3a e00c9d27298600d33abab3af327d176d09c25f89 Mark Seemann <mark@ploeh.dk> 1599832146 +0200	rebase: Add restaurant ID parameter to helper method
e00c9d27298600d33abab3af327d176d09c25f89 d307084c5747ae621be72dae66ad52065530dbbb Mark Seemann <mark@ploeh.dk> 1599832146 +0200	rebase: Accept reservation to new restaurant
d307084c5747ae621be72dae66ad52065530dbbb ce3a5ee84a8d3be2e299d22ab00e18e61d1df692 Mark Seemann <mark@ploeh.dk> 1599832146 +0200	rebase: Rename SelfHostedService to SelfHostedApi
ce3a5ee84a8d3be2e299d22ab00e18e61d1df692 1fc139072fb49013e3103478797634f70fda37e4 Mark Seemann <mark@ploeh.dk> 1599832146 +0200	rebase: Separate legacy behaviour in its own class
1fc139072fb49013e3103478797634f70fda37e4 e6dead4854e8740c298a18a54b5543136de3e101 Mark Seemann <mark@ploeh.dk> 1599832146 +0200	rebase: Rename `service` variable to `api`
e6dead4854e8740c298a18a54b5543136de3e101 790aa00eb9655f76222489d922efd8d26e52fcde Mark Seemann <mark@ploeh.dk> 1599832146 +0200	rebase: Move test
790aa00eb9655f76222489d922efd8d26e52fcde 997e84c189f331f4f7e61c4b7f20d95d569b3c0e Mark Seemann <mark@ploeh.dk> 1599832146 +0200	rebase: Use maitre d' for restaurant on new reservation
997e84c189f331f4f7e61c4b7f20d95d569b3c0e bf8fc559e65638070911edc3c4fa80a1baf01d12 Mark Seemann <mark@ploeh.dk> 1599832146 +0200	rebase: Handle absent restaurant
bf8fc559e65638070911edc3c4fa80a1baf01d12 2e4c6b8cef13c3de31a34b660996efc43e0ba50d Mark Seemann <mark@ploeh.dk> 1599832146 +0200	rebase: Look up maitre d' for restaurant on PUT
2e4c6b8cef13c3de31a34b660996efc43e0ba50d 4088b7b04e560f48e38a42cde0dff32e1a546c1c Mark Seemann <mark@ploeh.dk> 1599832146 +0200	rebase: Check whether maitreD is null
4088b7b04e560f48e38a42cde0dff32e1a546c1c 5295bbd394248666133734f8bd9a8fe2a0fca030 Mark Seemann <mark@ploeh.dk> 1599832146 +0200	rebase: Remove MaitreD depfrom ReservationsController
5295bbd394248666133734f8bd9a8fe2a0fca030 a88c774fb6fac5c1388918f1966f887979d5d8d0 Mark Seemann <mark@ploeh.dk> 1599832146 +0200	rebase: Refactor restaurant options to Test Data Builder
a88c774fb6fac5c1388918f1966f887979d5d8d0 29103d1115a1a309b3e7ad38a32c92f27f7a3446 Mark Seemann <mark@ploeh.dk> 1599832146 +0200	rebase: Introduce explicit Grandfather Test Data Builder
29103d1115a1a309b3e7ad38a32c92f27f7a3446 d7468e4cac521a200cc8451871b081d5e0ffe2c0 Mark Seemann <mark@ploeh.dk> 1599832146 +0200	rebase: Use appropriate maitre d' per restaurant
d7468e4cac521a200cc8451871b081d5e0ffe2c0 cb443a249ef5291c350c9461110a2a38b4e13ae6 Mark Seemann <mark@ploeh.dk> 1599832146 +0200	rebase: Return 404 Not Found on absent restaurant
cb443a249ef5291c350c9461110a2a38b4e13ae6 8024c1b4bfc7b169995b19f57b953a53be00ec1a Mark Seemann <mark@ploeh.dk> 1599832146 +0200	rebase: Remove MaitreD dependency from CalendarController
8024c1b4bfc7b169995b19f57b953a53be00ec1a 90973ea54eeb26af26f3518a5f6d74b79834b4ad Mark Seemann <mark@ploeh.dk> 1599832146 +0200	rebase: Return name in schedule representation
90973ea54eeb26af26f3518a5f6d74b79834b4ad ccc967cfcf8f86cffe2d6b7bffe8dc94dcf18c4f Mark Seemann <mark@ploeh.dk> 1599832146 +0200	rebase: Read reservations for correct restaurant
ccc967cfcf8f86cffe2d6b7bffe8dc94dcf18c4f e6ce9d134565e27a5eb770113e02c945de543d33 Mark Seemann <mark@ploeh.dk> 1599832147 +0200	rebase: Use maitre d' for correct restaurant in schedule
e6ce9d134565e27a5eb770113e02c945de543d33 17cb17ced0f385b5dd0da060e87740b51e1e6a52 Mark Seemann <mark@ploeh.dk> 1599832147 +0200	rebase: Return 404 Not Found on absent restaurant
17cb17ced0f385b5dd0da060e87740b51e1e6a52 35ac073f69cd43ef6853508b490e58de11899e4d Mark Seemann <mark@ploeh.dk> 1599832147 +0200	rebase: Remove maitreD dependency from ScheduleController
35ac073f69cd43ef6853508b490e58de11899e4d af0d51d9ab488ada3b001c57fd47a4b1eaa7c6a8 Mark Seemann <mark@ploeh.dk> 1599832147 +0200	rebase: Check authorisation for particular restaurant
af0d51d9ab488ada3b001c57fd47a4b1eaa7c6a8 c62106052052fee8992196d63c551a73daeca8b3 Mark Seemann <mark@ploeh.dk> 1599832147 +0200	rebase: Clean up URL templates
c62106052052fee8992196d63c551a73daeca8b3 0f6ed9a4afed695f7dd927ddc279e3a266346156 Mark Seemann <mark@ploeh.dk> 1599832147 +0200	rebase: Add tests of bookmarks
0f6ed9a4afed695f7dd927ddc279e3a266346156 f1bf185ad38430a96888a427cb09c31b5ec16ef2 Mark Seemann <mark@ploeh.dk> 1599832147 +0200	rebase: Redirect clients from legacy URLs
f1bf185ad38430a96888a427cb09c31b5ec16ef2 967abf86be26729475f7eb5f2b31ad7aaf185992 Mark Seemann <mark@ploeh.dk> 1599832147 +0200	rebase: Decouple API client behaviour from self-host
967abf86be26729475f7eb5f2b31ad7aaf185992 a830b6814d1996a1d2d41f26d64d8e83fac1807c Mark Seemann <mark@ploeh.dk> 1599832147 +0200	rebase: Add Authorize extension method
a830b6814d1996a1d2d41f26d64d8e83fac1807c bdf1f8162bc5b17249b7a7af74da7f50302ad23d Mark Seemann <mark@ploeh.dk> 1599832147 +0200	rebase: Introduce JwtTokenGenerator
bdf1f8162bc5b17249b7a7af74da7f50302ad23d 8b12b995acdc6285965506ae6f2c8c102b6237ff Mark Seemann <mark@ploeh.dk> 1599832147 +0200	rebase: Remove AuthorizeClient mutating helper method
8b12b995acdc6285965506ae6f2c8c102b6237ff d45861d5402b1dab16ff51f8a9bafe6e4a0f32c1 Mark Seemann <mark@ploeh.dk> 1599832147 +0200	rebase: Add test for requesting schedule with bogus roles
d45861d5402b1dab16ff51f8a9bafe6e4a0f32c1 09be77b0835db6e11a6cdfa86f20c0ea69159c7d Mark Seemann <mark@ploeh.dk> 1599832147 +0200	rebase: Move [Authorize] attribute to class declaration
09be77b0835db6e11a6cdfa86f20c0ea69159c7d b3f88e7a8d4fe22a385563eca09aba71e62f325f Mark Seemann <mark@ploeh.dk> 1599832147 +0200	rebase: Add [Obsolete] attributes on legacy methods
b3f88e7a8d4fe22a385563eca09aba71e62f325f 9288e4811be35feb7267065608043bc4f51f667e Mark Seemann <mark@ploeh.dk> 1599832147 +0200	rebase: Renamed legacy Get methods
9288e4811be35feb7267065608043bc4f51f667e c54347154e5fd96ec0cfd4df26ae9c0d8db3140d Mark Seemann <mark@ploeh.dk> 1599832147 +0200	rebase: Renamed GetYear/Month/Day to Get
c54347154e5fd96ec0cfd4df26ae9c0d8db3140d b86ded6e425f86659a188b768fca3ffce3bd5e4b Mark Seemann <mark@ploeh.dk> 1599832147 +0200	rebase: Change failed ACL check to 403 Forbidden
b86ded6e425f86659a188b768fca3ffce3bd5e4b dbea8f65b161396a54616e68dca0a8fceee82ce9 Mark Seemann <mark@ploeh.dk> 1599832147 +0200	rebase: Add LoggingReservationsRepository
dbea8f65b161396a54616e68dca0a8fceee82ce9 701c65cdacd2dfe83c0a53a06ef72adbde111916 Mark Seemann <mark@ploeh.dk> 1599832147 +0200	rebase: Flesh out LoggingReservationsRepository
701c65cdacd2dfe83c0a53a06ef72adbde111916 9a6346fbf10c013889461726f502e354f15c744c Mark Seemann <mark@ploeh.dk> 1599832147 +0200	rebase: Add LoggingPostOffice
9a6346fbf10c013889461726f502e354f15c744c 590a20839272c44cafbdc23aacc2b4eb0795a793 Mark Seemann <mark@ploeh.dk> 1599832147 +0200	rebase: Add IClock and implementations
590a20839272c44cafbdc23aacc2b4eb0795a793 4f55d2b8b2667a96ffea8ace915c9ab7864a34ce Mark Seemann <mark@ploeh.dk> 1599832147 +0200	rebase: Correct some bugs in the loggers
4f55d2b8b2667a96ffea8ace915c9ab7864a34ce 77778f90c31256771686fb8b615e7c433493880f Mark Seemann <mark@ploeh.dk> 1599832147 +0200	rebase: Serialise objects to log
77778f90c31256771686fb8b615e7c433493880f 96430024acba2333c4883a913ae0d58ad4a5c9d7 Mark Seemann <mark@ploeh.dk> 1599832147 +0200	rebase: Add restaurant ID to IPostOffice methods
96430024acba2333c4883a913ae0d58ad4a5c9d7 b0c8a8f49a1669695923379c53696852e0f1b5ce Mark Seemann <mark@ploeh.dk> 1599832147 +0200	rebase: Consolidate xunit.runner.visualstudio versions
b0c8a8f49a1669695923379c53696852e0f1b5ce d654cbe31d9d548135085e10ff4be9ede4398ed2 Mark Seemann <mark@ploeh.dk> 1599832147 +0200	rebase: Consolidate Microsoft.NET.Test.Sdk NuGet versions
d654cbe31d9d548135085e10ff4be9ede4398ed2 b7e191d839b800823124e5825cadc6366b46cd88 Mark Seemann <mark@ploeh.dk> 1599832148 +0200	rebase: Consolidate coverlet.collector NuGet versions
b7e191d839b800823124e5825cadc6366b46cd88 94dc010ffb096bdfa59fd0b174517462decedc48 Mark Seemann <mark@ploeh.dk> 1599832148 +0200	rebase: Consolidate Microsoft.CodeAnalysis.FxCopAnalyzers
94dc010ffb096bdfa59fd0b174517462decedc48 984683473d52b083a8e01b4e2632ee7dc9c66a04 Mark Seemann <mark@ploeh.dk> 1599832148 +0200	rebase: Update Microsoft.AspNetCore.Mvc.Testing NuGet pkg
984683473d52b083a8e01b4e2632ee7dc9c66a04 102aaaf9b6442007ce98faec5adf71d4c64ec61e Mark Seemann <mark@ploeh.dk> 1599832148 +0200	rebase: Upd Microsoft.AspNetCore.Authentication.JwtBearer
102aaaf9b6442007ce98faec5adf71d4c64ec61e c63fac738797d3304dd44eeec2397be9df1eae54 Mark Seemann <mark@ploeh.dk> 1599832148 +0200	rebase: Move const string out of method body
c63fac738797d3304dd44eeec2397be9df1eae54 5fe3165169ae9a2706b21bb2a8cc58abe3d2392b Mark Seemann <mark@ploeh.dk> 1599832148 +0200	rebase: Read PublicId from reader
5fe3165169ae9a2706b21bb2a8cc58abe3d2392b a910cdccd0f8096aaa93c31e084ff21ed2240af3 Mark Seemann <mark@ploeh.dk> 1599832148 +0200	rebase: Extract ReadReservationRow helper method
a910cdccd0f8096aaa93c31e084ff21ed2240af3 a910cdccd0f8096aaa93c31e084ff21ed2240af3 Mark Seemann <mark@ploeh.dk> 1599832145 +0200	rebase finished: returning to refs/heads/master
a910cdccd0f8096aaa93c31e084ff21ed2240af3 13b07b55eb3cc22c3767249d64225c2b84fb9dfd Mark Seemann <mark@ploeh.dk> 1599832827 +0200	reset: moving to origin/master
13b07b55eb3cc22c3767249d64225c2b84fb9dfd a910cdccd0f8096aaa93c31e084ff21ed2240af3 Mark Seemann <mark@ploeh.dk> 1599833013 +0200	checkout: moving from master to recent
a910cdccd0f8096aaa93c31e084ff21ed2240af3 13b07b55eb3cc22c3767249d64225c2b84fb9dfd Mark Seemann <mark@ploeh.dk> 1599833276 +0200	rebase -i (start): checkout master
13b07b55eb3cc22c3767249d64225c2b84fb9dfd 2a3a841cff7c40b2af617db12653ee10c2b17d50 Mark Seemann <mark@ploeh.dk> 1599833276 +0200	rebase -i (pick): Consolidate xunit.runner.visualstudio versions
2a3a841cff7c40b2af617db12653ee10c2b17d50 eca0bd9e58905397e0eae4c1b69b9ddde099cbb3 Mark Seemann <mark@ploeh.dk> 1599833374 +0200	rebase -i (pick): Consolidate Microsoft.NET.Test.Sdk NuGet versions
eca0bd9e58905397e0eae4c1b69b9ddde099cbb3 963c05957ccb56e619eeec5459d93760792a0c09 Mark Seemann <mark@ploeh.dk> 1599833467 +0200	rebase -i (pick): Consolidate coverlet.collector NuGet versions
963c05957ccb56e619eeec5459d93760792a0c09 998e7fc7cef3724edcea5b6d081afe97626505c6 Mark Seemann <mark@ploeh.dk> 1599833560 +0200	rebase -i (pick): Consolidate Microsoft.CodeAnalysis.FxCopAnalyzers
998e7fc7cef3724edcea5b6d081afe97626505c6 2c069a765f183386e17e735b82a5d6137f3eeb16 Mark Seemann <mark@ploeh.dk> 1599833651 +0200	rebase -i (pick): Update Microsoft.AspNetCore.Mvc.Testing NuGet pkg
2c069a765f183386e17e735b82a5d6137f3eeb16 ed9df63f17cb31da099f7b344749c122544b3dd8 Mark Seemann <mark@ploeh.dk> 1599833742 +0200	rebase -i (pick): Upd Microsoft.AspNetCore.Authentication.JwtBearer
ed9df63f17cb31da099f7b344749c122544b3dd8 ae2e4c0711253568ad02140a8f17cfea6bf86411 Mark Seemann <mark@ploeh.dk> 1599833834 +0200	rebase -i (pick): Move const string out of method body
ae2e4c0711253568ad02140a8f17cfea6bf86411 67b96bd2b3f4c84e3883e710b339d83ac9a72a60 Mark Seemann <mark@ploeh.dk> 1599833926 +0200	rebase -i (pick): Read PublicId from reader
67b96bd2b3f4c84e3883e710b339d83ac9a72a60 827a62e1557af4a7e7065565f5506ec3cbdcf366 Mark Seemann <mark@ploeh.dk> 1599834018 +0200	rebase -i (pick): Extract ReadReservationRow helper method
827a62e1557af4a7e7065565f5506ec3cbdcf366 827a62e1557af4a7e7065565f5506ec3cbdcf366 Mark Seemann <mark@ploeh.dk> 1599834018 +0200	rebase -i (finish): returning to refs/heads/recent
827a62e1557af4a7e7065565f5506ec3cbdcf366 13b07b55eb3cc22c3767249d64225c2b84fb9dfd Mark Seemann <mark@ploeh.dk> 1599834184 +0200	checkout: moving from recent to master
13b07b55eb3cc22c3767249d64225c2b84fb9dfd 827a62e1557af4a7e7065565f5506ec3cbdcf366 Mark Seemann <mark@ploeh.dk> 1599834188 +0200	merge recent: Fast-forward
827a62e1557af4a7e7065565f5506ec3cbdcf366 de2af03913a141a95102fa5073ddcdcb6f5d0257 Mark Seemann <mark@ploeh.dk> 1599834339 +0200	checkout: moving from master to rename-namespaces
de2af03913a141a95102fa5073ddcdcb6f5d0257 827a62e1557af4a7e7065565f5506ec3cbdcf366 Mark Seemann <mark@ploeh.dk> 1599834381 +0200	rebase -i (start): checkout master
827a62e1557af4a7e7065565f5506ec3cbdcf366 244a94ba8cdb3cc0fddd478681a64150f8d2aa04 Mark Seemann <mark@ploeh.dk> 1599834381 +0200	rebase -i (edit): Rename namespaces
244a94ba8cdb3cc0fddd478681a64150f8d2aa04 d2a6ad679841c7e447a1fd62f4ded143ebb3abf8 Mark Seemann <mark@ploeh.dk> 1599834896 +0200	commit (amend): Rename namespaces
d2a6ad679841c7e447a1fd62f4ded143ebb3abf8 d2a6ad679841c7e447a1fd62f4ded143ebb3abf8 Mark Seemann <mark@ploeh.dk> 1599834996 +0200	rebase -i (finish): returning to refs/heads/rename-namespaces
d2a6ad679841c7e447a1fd62f4ded143ebb3abf8 827a62e1557af4a7e7065565f5506ec3cbdcf366 Mark Seemann <mark@ploeh.dk> 1599835111 +0200	checkout: moving from rename-namespaces to master
827a62e1557af4a7e7065565f5506ec3cbdcf366 d2a6ad679841c7e447a1fd62f4ded143ebb3abf8 Mark Seemann <mark@ploeh.dk> 1599835114 +0200	merge rename-namespaces: Fast-forward
d2a6ad679841c7e447a1fd62f4ded143ebb3abf8 d2a6ad679841c7e447a1fd62f4ded143ebb3abf8 Mark Seemann <mark@ploeh.dk> 1599836542 +0200	reset: moving to HEAD
d2a6ad679841c7e447a1fd62f4ded143ebb3abf8 033d3b439ad63b739c7d85cd7889d7cb0f05f9e6 Mark Seemann <mark@ploeh.dk> 1599836562 +0200	commit: Introduce Restaurant class
033d3b439ad63b739c7d85cd7889d7cb0f05f9e6 033d3b439ad63b739c7d85cd7889d7cb0f05f9e6 Mark Seemann <mark@ploeh.dk> 1599836688 +0200	reset: moving to HEAD
033d3b439ad63b739c7d85cd7889d7cb0f05f9e6 20f5119690c94054d6d6cbb23fc872654049f685 Mark Seemann <mark@ploeh.dk> 1599836835 +0200	commit: Add GetRestaurant method to restaurant database
20f5119690c94054d6d6cbb23fc872654049f685 80313aab0d23e308faf4ab8b91e257a2e93f71d8 Mark Seemann <mark@ploeh.dk> 1599837124 +0200	commit: Call GetRestaurant from Controller
80313aab0d23e308faf4ab8b91e257a2e93f71d8 41957546da9512f4087451ffe8b3d85100f4e048 Mark Seemann <mark@ploeh.dk> 1599837641 +0200	commit (amend): Call GetRestaurant from Controller
41957546da9512f4087451ffe8b3d85100f4e048 da5977173a1d06c95c822563447e22af78177a60 Mark Seemann <mark@ploeh.dk> 1599837703 +0200	commit: Call GetRestaurant from Controller
da5977173a1d06c95c822563447e22af78177a60 c7318ea3688a9c995b33a0267559a47a07500a21 Mark Seemann <mark@ploeh.dk> 1599837743 +0200	commit: Call GetRestaurant from Controller
c7318ea3688a9c995b33a0267559a47a07500a21 8c9279960da7ff2b46270270b9e8678472ef3094 Mark Seemann <mark@ploeh.dk> 1599837879 +0200	commit: Replace restaurntId parameter with restaurant
8c9279960da7ff2b46270270b9e8678472ef3094 20b5cc5bce03da8d40028f17b18f2f0c077251ee Mark Seemann <mark@ploeh.dk> 1599838020 +0200	commit: Remove redundant method parameter
20b5cc5bce03da8d40028f17b18f2f0c077251ee de4171e9505eca4c5f7993c6785a73ace38a13ac Mark Seemann <mark@ploeh.dk> 1599838172 +0200	commit: Call GetRestaurant from Controller
de4171e9505eca4c5f7993c6785a73ace38a13ac c96704d00226cf088323ec4abb93525ec0ed77d9 Mark Seemann <mark@ploeh.dk> 1599838255 +0200	commit: Replace restaurntId parameter with restaurant
c96704d00226cf088323ec4abb93525ec0ed77d9 3d5d9cf2641214d620dc39ad12577716c7487302 Mark Seemann <mark@ploeh.dk> 1599838288 +0200	commit (amend): Call GetRestaurant from Controller
3d5d9cf2641214d620dc39ad12577716c7487302 7f984e3dde3cc62438f11171c5782eface48e076 Mark Seemann <mark@ploeh.dk> 1599838510 +0200	commit: Call GetRestaurant from Controller
7f984e3dde3cc62438f11171c5782eface48e076 c31cbb5ab8c8c1aabdf0075e168ca847a96d0647 Mark Seemann <mark@ploeh.dk> 1599838530 +0200	commit: Remove a null-analysis repression operator (!)
c31cbb5ab8c8c1aabdf0075e168ca847a96d0647 b55ec92dec0339d774b105469dec1b4c0c56911b Mark Seemann <mark@ploeh.dk> 1599838591 +0200	commit (amend): Remove a null-analysis repression operator (!)
b55ec92dec0339d774b105469dec1b4c0c56911b 95d195d5ddeac4e3644a4c1698e917024973a8b4 Mark Seemann <mark@ploeh.dk> 1599838809 +0200	commit: Unwrapped some arguments
95d195d5ddeac4e3644a4c1698e917024973a8b4 6aaccec44b175365f4d3eb0a8ce8f6cf1dc76acd Mark Seemann <mark@ploeh.dk> 1599844069 +0200	commit: Use GetRestaurant in tests instead of GetMaitreD
6aaccec44b175365f4d3eb0a8ce8f6cf1dc76acd 84f9fb9a7e1ad8e04b3df80145a58cb8e28f8071 Mark Seemann <mark@ploeh.dk> 1599844121 +0200	commit: Delete GetMaitreD method
84f9fb9a7e1ad8e04b3df80145a58cb8e28f8071 8e600ae346aea3e50c707639ee33763cc9bc3319 Mark Seemann <mark@ploeh.dk> 1599844314 +0200	commit: Use GetRestaurant instead of GetName
8e600ae346aea3e50c707639ee33763cc9bc3319 71e42479e78060743d5c018bf5ea84e613d72964 Mark Seemann <mark@ploeh.dk> 1599844466 +0200	commit: Use GetRestaurant instead of GetName
71e42479e78060743d5c018bf5ea84e613d72964 718fa4af3edda952e35db9b85ae3467df3c1a581 Mark Seemann <mark@ploeh.dk> 1599844513 +0200	commit: Use GetRestaurant instead of GetName
718fa4af3edda952e35db9b85ae3467df3c1a581 130062053961fe8219a00bd8bf22273c68eb508f Mark Seemann <mark@ploeh.dk> 1599844551 +0200	commit: Use GetRestaurant instead of GetName
130062053961fe8219a00bd8bf22273c68eb508f 9915f04f8ee3d566d9bfa2f19247e7da11c925b1 Mark Seemann <mark@ploeh.dk> 1599844610 +0200	commit: Use GetRestaurant instead of GetName
9915f04f8ee3d566d9bfa2f19247e7da11c925b1 c50647a663a0bbcc816d4a3f39500e51c18835df Mark Seemann <mark@ploeh.dk> 1599844644 +0200	commit: Delete GetName method from interface
c50647a663a0bbcc816d4a3f39500e51c18835df 0dcbd0354a0c7523190eb5bdf8fbed3e76749f8e Mark Seemann <mark@ploeh.dk> 1599844905 +0200	commit: Add GetRestaurant overload to interface
0dcbd0354a0c7523190eb5bdf8fbed3e76749f8e 72655641495452fe23b4f85d9535ffacdc0edce3 Mark Seemann <mark@ploeh.dk> 1599845091 +0200	commit: Replace call to GetId with GetRestaurant
72655641495452fe23b4f85d9535ffacdc0edce3 63e19b3fb4e83eb8d3ffe547c82ca091129663c2 Mark Seemann <mark@ploeh.dk> 1599845219 +0200	commit: Replace call to GetId with GetRestaurant
63e19b3fb4e83eb8d3ffe547c82ca091129663c2 4c5d1da3fd364b4937f6a7d9e7b2766f365c1319 Mark Seemann <mark@ploeh.dk> 1599845251 +0200	commit: Delete GetId method from interface
4c5d1da3fd364b4937f6a7d9e7b2766f365c1319 af08e1e78a394e3a745a19e402666d1bc5ce9759 Mark Seemann <mark@ploeh.dk> 1599845738 +0200	commit: Introduce GetAll method on interface
af08e1e78a394e3a745a19e402666d1bc5ce9759 33d3472cefc935708ec5999a2088a6b037fe2c12 Mark Seemann <mark@ploeh.dk> 1599846102 +0200	commit: Use GetAll instead of GetAllNames
33d3472cefc935708ec5999a2088a6b037fe2c12 7ee51cf01383122767b3adff93cad9f7f8ed38b9 Mark Seemann <mark@ploeh.dk> 1599846169 +0200	commit: Delete GetAllNames method from interface
7ee51cf01383122767b3adff93cad9f7f8ed38b9 6e15d26452d4edbe2be63d28d1aeddf2bfe86197 Mark Seemann <mark@ploeh.dk> 1599846507 +0200	commit: Make ToMaitreD method private
6e15d26452d4edbe2be63d28d1aeddf2bfe86197 5189b452d372dcdb0e51d9c11b46409ee42c5697 Mark Seemann <mark@ploeh.dk> 1599846548 +0200	commit: Move ToMaitreD method
5189b452d372dcdb0e51d9c11b46409ee42c5697 e53256fa5005464de4da0420a1b88d375e56eea3 Mark Seemann <mark@ploeh.dk> 1599847711 +0200	commit: Add InMemoryRestaurantDatabase
e53256fa5005464de4da0420a1b88d375e56eea3 be6797729c5ce6c5fafd122f006e97a73c233e18 Mark Seemann <mark@ploeh.dk> 1599848144 +0200	commit: Configure services to use InMemoryRestaurantDB
be6797729c5ce6c5fafd122f006e97a73c233e18 c99890cd26cb09b8f19be366f86ab6563b6e808a Mark Seemann <mark@ploeh.dk> 1599850361 +0200	commit: Use InMemoryRestaurantDatabase in a test
c99890cd26cb09b8f19be366f86ab6563b6e808a 0607968211b11fb377098712a0c30d96a4b42736 Mark Seemann <mark@ploeh.dk> 1599851359 +0200	commit: Use InMemoryRestaurantDatabase in a test
0607968211b11fb377098712a0c30d96a4b42736 29859b15e68faa989175801370bcc75dfc8aaa43 Mark Seemann <mark@ploeh.dk> 1599851581 +0200	commit: Use InMemoryRestaurantDatabase in a test
29859b15e68faa989175801370bcc75dfc8aaa43 eb82611e215d8795e6da114d6941efc867af71ac Mark Seemann <mark@ploeh.dk> 1599851770 +0200	commit: Use InMemoryRestaurantDatabase in a test
eb82611e215d8795e6da114d6941efc867af71ac 90eeaba9b8815b0d791f0fce43ca1e4913f184a4 Mark Seemann <mark@ploeh.dk> 1599851871 +0200	commit: Use more compact restaurant configuration code
90eeaba9b8815b0d791f0fce43ca1e4913f184a4 3d6f315f590cf8f01992d87a1f355968754ec6a3 Mark Seemann <mark@ploeh.dk> 1599852113 +0200	commit: Use InMemoryRestaurantDatabase in a test
3d6f315f590cf8f01992d87a1f355968754ec6a3 464e0eea1f12a1df1c1b5fe9acf8ec6852923675 Mark Seemann <mark@ploeh.dk> 1599852236 +0200	commit: Use InMemoryRestaurantDatabase in a test
464e0eea1f12a1df1c1b5fe9acf8ec6852923675 da39f96fbf06d1b3d55877954a0c5de8798b8517 Mark Seemann <mark@ploeh.dk> 1599852290 +0200	commit: Use InMemoryRestaurantDatabase in a test
da39f96fbf06d1b3d55877954a0c5de8798b8517 bcf1062e480f451160ee992b3a9354cce5325e40 Mark Seemann <mark@ploeh.dk> 1599852368 +0200	commit: Use InMemoryRestaurantDatabase in a test
bcf1062e480f451160ee992b3a9354cce5325e40 18c9bd29c2637c115e5f8526ed32e50fe8cc797e Mark Seemann <mark@ploeh.dk> 1599852590 +0200	commit: Use InMemoryRestaurantDatabase in a test
18c9bd29c2637c115e5f8526ed32e50fe8cc797e 327faa5d2427b1de80a9ef4ba98404ac7b10e677 Mark Seemann <mark@ploeh.dk> 1599852661 +0200	commit: Use InMemoryRestaurantDatabase in a test
327faa5d2427b1de80a9ef4ba98404ac7b10e677 28f2bc4cc360cce41677d94c943ca33a13a46589 Mark Seemann <mark@ploeh.dk> 1599852737 +0200	commit: Use InMemoryRestaurantDatabase in a test
28f2bc4cc360cce41677d94c943ca33a13a46589 571ba1a046fe4349a57e1bf450604d1031bc9099 Mark Seemann <mark@ploeh.dk> 1599852831 +0200	commit: Use InMemoryRestaurantDatabase in a test
571ba1a046fe4349a57e1bf450604d1031bc9099 3a81e981f850d4889a2614a0c1965daad685917f Mark Seemann <mark@ploeh.dk> 1599852886 +0200	commit: Use InMemoryRestaurantDatabase in a test
3a81e981f850d4889a2614a0c1965daad685917f 8cc335747cc0ac30e78c71cc10ac53dceb4cd963 Mark Seemann <mark@ploeh.dk> 1599852974 +0200	commit: Use InMemoryRestaurantDatabase in a test
8cc335747cc0ac30e78c71cc10ac53dceb4cd963 d180186bed6ecc66d469a065ea3575b67462dee8 Mark Seemann <mark@ploeh.dk> 1599853098 +0200	commit: Use InMemoryRestaurantDatabase in a test
d180186bed6ecc66d469a065ea3575b67462dee8 5082763617723dc798243b3cdab55aef06f8ea73 Mark Seemann <mark@ploeh.dk> 1599853189 +0200	commit: Use InMemoryRestaurantDatabase in a test
5082763617723dc798243b3cdab55aef06f8ea73 87321b49370755b86202782d5a5963f3b049d232 Mark Seemann <mark@ploeh.dk> 1599853237 +0200	commit: Use InMemoryRestaurantDatabase in a test
87321b49370755b86202782d5a5963f3b049d232 b58d0362fe40854c7bf895ef0145db2891f6ce09 Mark Seemann <mark@ploeh.dk> 1599853317 +0200	commit: Use InMemoryRestaurantDatabase in a test
b58d0362fe40854c7bf895ef0145db2891f6ce09 6b2e7d1e76a634acd7ac95ffa139fa281a3c34ec Mark Seemann <mark@ploeh.dk> 1599854225 +0200	commit: Use InMemoryRestaurantDatabase in a test
6b2e7d1e76a634acd7ac95ffa139fa281a3c34ec ca76902bb24b0a7136d5bde14faacc5e308fc032 Mark Seemann <mark@ploeh.dk> 1599854291 +0200	commit: Use InMemoryRestaurantDatabase in a test
ca76902bb24b0a7136d5bde14faacc5e308fc032 73d1774b0c35f1070e3ca09b78c9b202d96118c9 Mark Seemann <mark@ploeh.dk> 1599854340 +0200	commit: Use InMemoryRestaurantDatabase in a test
73d1774b0c35f1070e3ca09b78c9b202d96118c9 b519014ebf22aed79e253718fee14d7380d716b2 Mark Seemann <mark@ploeh.dk> 1599854434 +0200	commit: Use InMemoryRestaurantDatabase in a test
b519014ebf22aed79e253718fee14d7380d716b2 bd1e11130145d0eab90b1cc68e60f51126ccd4f6 Mark Seemann <mark@ploeh.dk> 1599854555 +0200	commit: Use InMemoryRestaurantDatabase in a test
bd1e11130145d0eab90b1cc68e60f51126ccd4f6 a118364fcf14a19ccfd82d6e3182381cb245a8d9 Mark Seemann <mark@ploeh.dk> 1599854628 +0200	commit: Use InMemoryRestaurantDatabase in a test
a118364fcf14a19ccfd82d6e3182381cb245a8d9 6fb78c215253efad94098451c8e82ae9b9667490 Mark Seemann <mark@ploeh.dk> 1599854910 +0200	commit: Use InMemoryRestaurantDatabase in a test
6fb78c215253efad94098451c8e82ae9b9667490 ff4579550ec1b9c29bbc3bb4759b0dabf2998145 Mark Seemann <mark@ploeh.dk> 1599854985 +0200	commit: Use InMemoryRestaurantDatabase in a test
ff4579550ec1b9c29bbc3bb4759b0dabf2998145 e515bb32681ba9d8a52ec587775d4aa9de9dc194 Mark Seemann <mark@ploeh.dk> 1599855019 +0200	commit: Delete OptionsRestaurantDatabase
e515bb32681ba9d8a52ec587775d4aa9de9dc194 823bf25e34dcf6714f636a7791dc6167cd27d97e Mark Seemann <mark@ploeh.dk> 1599855304 +0200	commit: Delete redundant Test Data Builders
823bf25e34dcf6714f636a7791dc6167cd27d97e 4c6fdaa134b637535164b87a709b8b3a72a872e3 Mark Seemann <mark@ploeh.dk> 1600086707 +0200	commit: Extrace TryUpdate helper method
4c6fdaa134b637535164b87a709b8b3a72a872e3 a520e683b42b2834afc3fd98e3c44efd8662e0c6 Mark Seemann <mark@ploeh.dk> 1600087665 +0200	commit: Rename `res` to `reservation`
a520e683b42b2834afc3fd98e3c44efd8662e0c6 857fd4681d9d5dacf9553e0819ad58ff394641fb Mark Seemann <mark@ploeh.dk> 1600087955 +0200	commit: Rename `res` to `reservation`
857fd4681d9d5dacf9553e0819ad58ff394641fb 857fd4681d9d5dacf9553e0819ad58ff394641fb Mark Seemann <mark@ploeh.dk> 1600154048 +0200	reset: moving to HEAD
857fd4681d9d5dacf9553e0819ad58ff394641fb 51b1067331f842b8e6aa029bb5775cc5083879b6 Mark Seemann <mark@ploeh.dk> 1600154292 +0200	commit: Revert "Extrace TryUpdate helper method"
51b1067331f842b8e6aa029bb5775cc5083879b6 cedfd0f0e504d3417a28e33089f20e8196c2a182 Mark Seemann <mark@ploeh.dk> 1600173167 +0200	commit: Add Either
cedfd0f0e504d3417a28e33089f20e8196c2a182 e4d59623d56e6601f2e8d4e09a885e6803fad248 Mark Seemann <mark@ploeh.dk> 1600176528 +0200	commit: Extract TryUpdate method
e4d59623d56e6601f2e8d4e09a885e6803fad248 e4d59623d56e6601f2e8d4e09a885e6803fad248 Mark Seemann <mark@ploeh.dk> 1600180893 +0200	reset: moving to HEAD
e4d59623d56e6601f2e8d4e09a885e6803fad248 439587b389b97ff9b24d252ed394fdbfb593e6d1 Mark Seemann <mark@ploeh.dk> 1600181372 +0200	commit: Move transaction scope to TryUpdate method
439587b389b97ff9b24d252ed394fdbfb593e6d1 439587b389b97ff9b24d252ed394fdbfb593e6d1 Mark Seemann <mark@ploeh.dk> 1600192699 +0200	reset: moving to HEAD
439587b389b97ff9b24d252ed394fdbfb593e6d1 bb2ef48f6bd0d7e97ac428fcc8450bfbf5e7b91d Mark Seemann <mark@ploeh.dk> 1600193069 +0200	commit: Extract Update helper method
bb2ef48f6bd0d7e97ac428fcc8450bfbf5e7b91d 94ed293230954da0db197f311edd99e6d43f4160 Mark Seemann <mark@ploeh.dk> 1600193274 +0200	commit: Extract WillAcceptUpdate helper method
94ed293230954da0db197f311edd99e6d43f4160 94ed293230954da0db197f311edd99e6d43f4160 Mark Seemann <mark@ploeh.dk> 1600194121 +0200	reset: moving to HEAD
94ed293230954da0db197f311edd99e6d43f4160 63c453ea1a1103205bcdee790b1f4c3d8078434b Mark Seemann <mark@ploeh.dk> 1600194744 +0200	commit: Extract TryCreate helper method
63c453ea1a1103205bcdee790b1f4c3d8078434b 622e275c19c3fe43b335a07d5506337b9783c109 Mark Seemann <mark@ploeh.dk> 1600195560 +0200	commit: Extract ReadReservations period extension method
622e275c19c3fe43b335a07d5506337b9783c109 677a6a4bcf3214194b7a5dfc24e6dea2d4bf24b2 Mark Seemann <mark@ploeh.dk> 1600195674 +0200	commit (amend): Extract ReadReservations period extension method
677a6a4bcf3214194b7a5dfc24e6dea2d4bf24b2 c7749e11125a053c2cb6904b03a920b4a9ce092e Mark Seemann <mark@ploeh.dk> 1600197852 +0200	commit: Extract ConfigureRepository helper method
c7749e11125a053c2cb6904b03a920b4a9ce092e a9515fbe50927571572ed46236d7cd7419c22f95 Mark Seemann <mark@ploeh.dk> 1600197929 +0200	commit: Extract ConfigureRestaurants helper method
a9515fbe50927571572ed46236d7cd7419c22f95 da5947f606de16cef2af4b132dba56023c775309 Mark Seemann <mark@ploeh.dk> 1600197981 +0200	commit: Extract ConfigureClock helper method
da5947f606de16cef2af4b132dba56023c775309 2b5f49560923cf3b9018a953992ba10c7415b95c Mark Seemann <mark@ploeh.dk> 1600198032 +0200	commit: Extract ConfigurePostOffice helper method
2b5f49560923cf3b9018a953992ba10c7415b95c 8db464b47bf8b211c8d2a339af919e6101dc6c75 Mark Seemann <mark@ploeh.dk> 1600198083 +0200	commit: Compact code
8db464b47bf8b211c8d2a339af919e6101dc6c75 d291f0b7bde0adeb79a734e042993012ed62b361 Mark Seemann <mark@ploeh.dk> 1600198315 +0200	commit: Move Configure method up
d291f0b7bde0adeb79a734e042993012ed62b361 d21cfdd40ec67cbf4536549b4c5ef6545bad494a Mark Seemann <mark@ploeh.dk> 1600233312 +0200	commit: Extract CreateTokenValidationParameters method
d21cfdd40ec67cbf4536549b4c5ef6545bad494a 562774deda5426ee660cc1eb36dade0d5fafe680 Mark Seemann <mark@ploeh.dk> 1600233481 +0200	commit: Delete Either API
562774deda5426ee660cc1eb36dade0d5fafe680 94ed293230954da0db197f311edd99e6d43f4160 Mark Seemann <mark@ploeh.dk> 1600233790 +0200	rebase -i (start): checkout 94ed293230954da0db197f311edd99e6d43f4160
94ed293230954da0db197f311edd99e6d43f4160 63c453ea1a1103205bcdee790b1f4c3d8078434b Mark Seemann <mark@ploeh.dk> 1600233790 +0200	rebase -i: fast-forward
63c453ea1a1103205bcdee790b1f4c3d8078434b a62679a74998addc948a675504144f7587eeeee9 Mark Seemann <mark@ploeh.dk> 1600234046 +0200	commit (amend): Extract TryCreate helper method
a62679a74998addc948a675504144f7587eeeee9 a6aa0d4f520bc34c6f038521ad562b56b401c46d Mark Seemann <mark@ploeh.dk> 1600234151 +0200	rebase -i (pick): Extract ReadReservations period extension method
a6aa0d4f520bc34c6f038521ad562b56b401c46d e48d76d798f3f4f1d3d8921746a67a4871e363d7 Mark Seemann <mark@ploeh.dk> 1600234244 +0200	rebase -i (pick): Extract ConfigureRepository helper method
e48d76d798f3f4f1d3d8921746a67a4871e363d7 816f302118296587e4a0ed63de2fa897b44c336c Mark Seemann <mark@ploeh.dk> 1600234337 +0200	rebase -i (pick): Extract ConfigureRestaurants helper method
816f302118296587e4a0ed63de2fa897b44c336c a85ee8ff81e9a6e320c9ecbd6ad4fd2726a54f12 Mark Seemann <mark@ploeh.dk> 1600234429 +0200	rebase -i (pick): Extract ConfigureClock helper method
a85ee8ff81e9a6e320c9ecbd6ad4fd2726a54f12 6bcd44d03cf0bb7d6e02425fbdc076d832b186ef Mark Seemann <mark@ploeh.dk> 1600234520 +0200	rebase -i (pick): Extract ConfigurePostOffice helper method
6bcd44d03cf0bb7d6e02425fbdc076d832b186ef ad71d27796d65e979cc1c5bbca5c6f30a7f69472 Mark Seemann <mark@ploeh.dk> 1600234612 +0200	rebase -i (pick): Compact code
ad71d27796d65e979cc1c5bbca5c6f30a7f69472 eaf85a4ddfc508f5eac05aa53fb613c4d5d364c1 Mark Seemann <mark@ploeh.dk> 1600234703 +0200	rebase -i (pick): Move Configure method up
eaf85a4ddfc508f5eac05aa53fb613c4d5d364c1 0fa74c19fc2da0498156738cf8f9a8a2cc63cc34 Mark Seemann <mark@ploeh.dk> 1600234794 +0200	rebase -i (pick): Extract CreateTokenValidationParameters method
0fa74c19fc2da0498156738cf8f9a8a2cc63cc34 683941c04b56299ac6f28525bd32bc3d220874e9 Mark Seemann <mark@ploeh.dk> 1600234885 +0200	rebase -i (pick): Delete Either API
683941c04b56299ac6f28525bd32bc3d220874e9 683941c04b56299ac6f28525bd32bc3d220874e9 Mark Seemann <mark@ploeh.dk> 1600234885 +0200	rebase -i (finish): returning to refs/heads/master
683941c04b56299ac6f28525bd32bc3d220874e9 683941c04b56299ac6f28525bd32bc3d220874e9 Mark Seemann <mark@ploeh.dk> 1600242086 +0200	reset: moving to HEAD
683941c04b56299ac6f28525bd32bc3d220874e9 c702b6ec4823f8e265640a0be8c191498e99f992 Mark Seemann <mark@ploeh.dk> 1600247707 +0200	commit: Inline variables
c702b6ec4823f8e265640a0be8c191498e99f992 b61f9e3855ee6f19301cdcfddd019a1e676f1fe2 Mark Seemann <mark@ploeh.dk> 1600248334 +0200	commit: Reduce duplication in assertion
b61f9e3855ee6f19301cdcfddd019a1e676f1fe2 f683d18c15e6763035ea5f6078178ab01664e270 Mark Seemann <mark@ploeh.dk> 1600248484 +0200	commit: Reduce duplication in assertion
f683d18c15e6763035ea5f6078178ab01664e270 4fca51f9d101d43a90ef28d151657fe8fd9743ee Mark Seemann <mark@ploeh.dk> 1600326723 +0200	commit: Rename variable
4fca51f9d101d43a90ef28d151657fe8fd9743ee 772dda5a191eac6f179fab65eb376b4a987ec87f Mark Seemann <mark@ploeh.dk> 1600328045 +0200	commit: Extract AssertOverbookResponse helper assertion
772dda5a191eac6f179fab65eb376b4a987ec87f 5ad20f6c81594337ef232a0d5efc339ca25c8c2b Mark Seemann <mark@ploeh.dk> 1600368835 +0200	commit: Reduce duplication with AssertSuccess helper
5ad20f6c81594337ef232a0d5efc339ca25c8c2b 5ad20f6c81594337ef232a0d5efc339ca25c8c2b Mark Seemann <mark@ploeh.dk> 1600416291 +0200	reset: moving to HEAD
5ad20f6c81594337ef232a0d5efc339ca25c8c2b 5fbdb59943b132e4a8c731d2dd5e8ec3beeb61d1 Mark Seemann <mark@ploeh.dk> 1600420982 +0200	commit: Delete AssertSuccess helper function
5fbdb59943b132e4a8c731d2dd5e8ec3beeb61d1 d391f7c146f217da28e6672bff464e856db25192 Mark Seemann <mark@ploeh.dk> 1600423627 +0200	commit: Extract AssertUrlFormatIsIdiomatic helper assert
d391f7c146f217da28e6672bff464e856db25192 6672d0d86d8df2333c8005348ce79d36f64c4c2c Mark Seemann <mark@ploeh.dk> 1600424964 +0200	commit: Add Create static helper class
6672d0d86d8df2333c8005348ce79d36f64c4c2c fc02a8cd6996b50c86c8ab44d27cf1a74bc40ea4 Mark Seemann <mark@ploeh.dk> 1600425246 +0200	commit: Inline variable
fc02a8cd6996b50c86c8ab44d27cf1a74bc40ea4 fc02a8cd6996b50c86c8ab44d27cf1a74bc40ea4 Mark Seemann <mark@ploeh.dk> 1600429441 +0200	reset: moving to HEAD
fc02a8cd6996b50c86c8ab44d27cf1a74bc40ea4 fc02a8cd6996b50c86c8ab44d27cf1a74bc40ea4 Mark Seemann <mark@ploeh.dk> 1600429444 +0200	reset: moving to HEAD
fc02a8cd6996b50c86c8ab44d27cf1a74bc40ea4 6365fbc2cac34a9193b5e16c4d6f0eaaec606aae Mark Seemann <mark@ploeh.dk> 1600429607 +0200	commit: Simplify comment
6365fbc2cac34a9193b5e16c4d6f0eaaec606aae deff1d62291e7d93d52361a4dc19d59046f4995b Mark Seemann <mark@ploeh.dk> 1600429896 +0200	commit: Add Create function for SmtpOptions
deff1d62291e7d93d52361a4dc19d59046f4995b efff5099f818ba5d0d8dd7b4555f1c7a9af18bd5 Mark Seemann <mark@ploeh.dk> 1600429915 +0200	commit (amend): Add Create function for SmtpOptions
efff5099f818ba5d0d8dd7b4555f1c7a9af18bd5 00ef80a7f373e8ee16e1f6579d63c1aeb3430a9a Mark Seemann <mark@ploeh.dk> 1600439634 +0200	commit: Add seats field to Table
00ef80a7f373e8ee16e1f6579d63c1aeb3430a9a 37badb059e3e48ff2ac6c16d2824ed2765a52e49 Mark Seemann <mark@ploeh.dk> 1600439789 +0200	commit: Add isStandard field to Table
37badb059e3e48ff2ac6c16d2824ed2765a52e49 f77e68954b3debc86f19e75fe51c071c4e3e7042 Mark Seemann <mark@ploeh.dk> 1600440075 +0200	commit: Add reservations array to Table
f77e68954b3debc86f19e75fe51c071c4e3e7042 f77e68954b3debc86f19e75fe51c071c4e3e7042 Mark Seemann <mark@ploeh.dk> 1600440354 +0200	reset: moving to HEAD
f77e68954b3debc86f19e75fe51c071c4e3e7042 336da4ba6bf3519b69fe8c500b5557a50234bb17 Mark Seemann <mark@ploeh.dk> 1600440431 +0200	commit (amend): Add reservations array to Table
336da4ba6bf3519b69fe8c500b5557a50234bb17 9c7377efa3281889f9ec304425c2b26377619381 Mark Seemann <mark@ploeh.dk> 1600440749 +0200	commit: Remove internal ITable interface and imps
9c7377efa3281889f9ec304425c2b26377619381 73f1c43bbf3c0acef327916d86ac82e029b04216 Mark Seemann <mark@ploeh.dk> 1600440818 +0200	commit: Replace Visitor with field access
73f1c43bbf3c0acef327916d86ac82e029b04216 97de1d9ce473ef78797c78d680c21acc3ba3d229 Mark Seemann <mark@ploeh.dk> 1600440974 +0200	commit: Replace Visitor with field access
97de1d9ce473ef78797c78d680c21acc3ba3d229 1626b06874cf420c880e00579ae01d930f2a3509 Mark Seemann <mark@ploeh.dk> 1600441181 +0200	commit: Replace Visitor with field access
1626b06874cf420c880e00579ae01d930f2a3509 efff5099f818ba5d0d8dd7b4555f1c7a9af18bd5 Mark Seemann <mark@ploeh.dk> 1600441213 +0200	checkout: moving from master to efff509
efff5099f818ba5d0d8dd7b4555f1c7a9af18bd5 1626b06874cf420c880e00579ae01d930f2a3509 Mark Seemann <mark@ploeh.dk> 1600441232 +0200	checkout: moving from efff5099f818ba5d0d8dd7b4555f1c7a9af18bd5 to master
1626b06874cf420c880e00579ae01d930f2a3509 1d55d783c81a46fe4a0a26b7cd16d888861b51cc Mark Seemann <mark@ploeh.dk> 1600441248 +0200	commit (amend): Replace Visitor with field access
1d55d783c81a46fe4a0a26b7cd16d888861b51cc cd3cb3d3d7623439c3cff6dc7a26074ec3c5baff Mark Seemann <mark@ploeh.dk> 1600441399 +0200	commit: Replace underlying class field with auto-property
cd3cb3d3d7623439c3cff6dc7a26074ec3c5baff cd3cb3d3d7623439c3cff6dc7a26074ec3c5baff Mark Seemann <mark@ploeh.dk> 1600442213 +0200	reset: moving to HEAD
cd3cb3d3d7623439c3cff6dc7a26074ec3c5baff cd3cb3d3d7623439c3cff6dc7a26074ec3c5baff Mark Seemann <mark@ploeh.dk> 1600509508 +0200	reset: moving to HEAD
cd3cb3d3d7623439c3cff6dc7a26074ec3c5baff b224b23f563d7c8d06e25e9319eb3b017f2a57ee Mark Seemann <mark@ploeh.dk> 1600510312 +0200	commit: Add restarant ID to ReadReservation method
b224b23f563d7c8d06e25e9319eb3b017f2a57ee 3e63a96764f0bab0c1b39bb9fca836fa04b698a7 Mark Seemann <mark@ploeh.dk> 1600511404 +0200	commit: Add restarant ID to Update method
3e63a96764f0bab0c1b39bb9fca836fa04b698a7 ce54dca3f61327fa9e118a055114e0501a693fc5 Mark Seemann <mark@ploeh.dk> 1600511701 +0200	commit: Add restarant ID to Delete method
ce54dca3f61327fa9e118a055114e0501a693fc5 ce54dca3f61327fa9e118a055114e0501a693fc5 Mark Seemann <mark@ploeh.dk> 1600512232 +0200	reset: moving to HEAD
ce54dca3f61327fa9e118a055114e0501a693fc5 f8bda625d4ab9379eb5dbf84d1a1ff3dbec35f3c Mark Seemann <mark@ploeh.dk> 1600513481 +0200	commit: Add EmailingReservationsRepository
f8bda625d4ab9379eb5dbf84d1a1ff3dbec35f3c ba1120f0219600d549fc4531c72d58a14dbbedcd Mark Seemann <mark@ploeh.dk> 1600523793 +0200	commit: Remove PostOffice dependency from Controller
ba1120f0219600d549fc4531c72d58a14dbbedcd 070c86be4f90128f9bbba825839617cbc569adf7 Mark Seemann <mark@ploeh.dk> 1600526021 +0200	commit: Fix logging bug
070c86be4f90128f9bbba825839617cbc569adf7 070c86be4f90128f9bbba825839617cbc569adf7 Mark Seemann <mark@ploeh.dk> 1600526235 +0200	reset: moving to HEAD
070c86be4f90128f9bbba825839617cbc569adf7 070c86be4f90128f9bbba825839617cbc569adf7 Mark Seemann <mark@ploeh.dk> 1600535465 +0200	reset: moving to HEAD
070c86be4f90128f9bbba825839617cbc569adf7 27984de11a7191dceb0b90776a6d3b5305b77f1a Mark Seemann <mark@ploeh.dk> 1600539221 +0200	commit: Name clusters of assertions
27984de11a7191dceb0b90776a6d3b5305b77f1a 069f01ee151336effd7ed68394e3099b5f2f401c Mark Seemann <mark@ploeh.dk> 1600540544 +0200	commit: Introduce TimeSlot class
069f01ee151336effd7ed68394e3099b5f2f401c f2c351e634f51f2dfebfd38a0dd6de7930ec0b07 Mark Seemann <mark@ploeh.dk> 1600541128 +0200	commit: Refactor one method to use TimeSlot
f2c351e634f51f2dfebfd38a0dd6de7930ec0b07 a62e8d0cf937faeaf2da3b9adae8ab4cbd6ae1e9 Mark Seemann <mark@ploeh.dk> 1600541452 +0200	commit: Replace Occurrence with TimeSlot in method
a62e8d0cf937faeaf2da3b9adae8ab4cbd6ae1e9 15692c8ee87fecbfff09b57edd3d26ea429bd342 Mark Seemann <mark@ploeh.dk> 1600545612 +0200	commit: Return TimeSlots from a variant of Schedule
15692c8ee87fecbfff09b57edd3d26ea429bd342 15692c8ee87fecbfff09b57edd3d26ea429bd342 Mark Seemann <mark@ploeh.dk> 1600545808 +0200	reset: moving to HEAD
15692c8ee87fecbfff09b57edd3d26ea429bd342 a20e68606d9217513dc6c2c3b1cd103dfdfb69d9 Mark Seemann <mark@ploeh.dk> 1600546009 +0200	commit: Refactor helper assertion to use TimeSlot
a20e68606d9217513dc6c2c3b1cd103dfdfb69d9 feb4dcf95b80665f7bdf14e9193ef2240bb5843f Mark Seemann <mark@ploeh.dk> 1600546256 +0200	commit: Use new Schedule method at one call site
feb4dcf95b80665f7bdf14e9193ef2240bb5843f bf2067a15cc35d6815f26d3f56a2a6b09478b44e Mark Seemann <mark@ploeh.dk> 1600546481 +0200	commit: Use new Schedule method at one call site
bf2067a15cc35d6815f26d3f56a2a6b09478b44e 0c430b085189e1fd682c2d0a0d9e9c35afd145b3 Mark Seemann <mark@ploeh.dk> 1600546513 +0200	commit: Remove old Schedule variation
0c430b085189e1fd682c2d0a0d9e9c35afd145b3 195f540c0005f537c52a9db7d22ef3e58505d0ab Mark Seemann <mark@ploeh.dk> 1600549968 +0200	commit: Refactor return type of Segment method
195f540c0005f537c52a9db7d22ef3e58505d0ab 094ffd9b5ced4d1a9a81ec0c6fb1d45300b089d0 Mark Seemann <mark@ploeh.dk> 1600550047 +0200	commit: Delete Occurrence class
094ffd9b5ced4d1a9a81ec0c6fb1d45300b089d0 9e73c053e9042d1a9a03aad971a337ef22886fd4 Mark Seemann <mark@ploeh.dk> 1600550195 +0200	commit (amend): Delete Occurrence class
9e73c053e9042d1a9a03aad971a337ef22886fd4 ff81b6185373d4e749e416909d1b4c76ecec466d Mark Seemann <mark@ploeh.dk> 1600592255 +0200	commit: Refactor parametrised test to individual tests
ff81b6185373d4e749e416909d1b4c76ecec466d d3b2e4ec97c2896889bed20e109afd6f84fa749f Mark Seemann <mark@ploeh.dk> 1600596405 +0200	checkout: moving from master to explode-maitre-d-arguments
d3b2e4ec97c2896889bed20e109afd6f84fa749f 51db4c66e7fbfb3f2b622f0978d9068c87acf99e Mark Seemann <mark@ploeh.dk> 1600596791 +0200	checkout: moving from explode-maitre-d-arguments to HEAD~1
51db4c66e7fbfb3f2b622f0978d9068c87acf99e ff81b6185373d4e749e416909d1b4c76ecec466d Mark Seemann <mark@ploeh.dk> 1600597363 +0200	checkout: moving from 51db4c66e7fbfb3f2b622f0978d9068c87acf99e to master
ff81b6185373d4e749e416909d1b4c76ecec466d ff81b6185373d4e749e416909d1b4c76ecec466d Mark Seemann <mark@ploeh.dk> 1600602314 +0200	reset: moving to HEAD
ff81b6185373d4e749e416909d1b4c76ecec466d ff81b6185373d4e749e416909d1b4c76ecec466d Mark Seemann <mark@ploeh.dk> 1600602480 +0200	reset: moving to HEAD
ff81b6185373d4e749e416909d1b4c76ecec466d ff81b6185373d4e749e416909d1b4c76ecec466d Mark Seemann <mark@ploeh.dk> 1600606259 +0200	reset: moving to HEAD
ff81b6185373d4e749e416909d1b4c76ecec466d 8322b07144eae7cb220eb37e479b644bb6695501 Mark Seemann <mark@ploeh.dk> 1600606375 +0200	checkout: moving from master to 8322b07144eae7cb220eb37e479b644bb6695501
8322b07144eae7cb220eb37e479b644bb6695501 e515bb32681ba9d8a52ec587775d4aa9de9dc194 Mark Seemann <mark@ploeh.dk> 1600606510 +0200	checkout: moving from 8322b07144eae7cb220eb37e479b644bb6695501 to e515bb3
e515bb32681ba9d8a52ec587775d4aa9de9dc194 6365fbc2cac34a9193b5e16c4d6f0eaaec606aae Mark Seemann <mark@ploeh.dk> 1600606600 +0200	checkout: moving from e515bb32681ba9d8a52ec587775d4aa9de9dc194 to 6365fbc
6365fbc2cac34a9193b5e16c4d6f0eaaec606aae e515bb32681ba9d8a52ec587775d4aa9de9dc194 Mark Seemann <mark@ploeh.dk> 1600606649 +0200	checkout: moving from 6365fbc2cac34a9193b5e16c4d6f0eaaec606aae to e515bb3
e515bb32681ba9d8a52ec587775d4aa9de9dc194 683941c04b56299ac6f28525bd32bc3d220874e9 Mark Seemann <mark@ploeh.dk> 1600606719 +0200	checkout: moving from e515bb32681ba9d8a52ec587775d4aa9de9dc194 to 683941c
683941c04b56299ac6f28525bd32bc3d220874e9 e515bb32681ba9d8a52ec587775d4aa9de9dc194 Mark Seemann <mark@ploeh.dk> 1600606782 +0200	checkout: moving from 683941c04b56299ac6f28525bd32bc3d220874e9 to e515bb3
e515bb32681ba9d8a52ec587775d4aa9de9dc194 a62679a74998addc948a675504144f7587eeeee9 Mark Seemann <mark@ploeh.dk> 1600606835 +0200	checkout: moving from e515bb32681ba9d8a52ec587775d4aa9de9dc194 to a62679a
a62679a74998addc948a675504144f7587eeeee9 6bcd44d03cf0bb7d6e02425fbdc076d832b186ef Mark Seemann <mark@ploeh.dk> 1600606897 +0200	checkout: moving from a62679a74998addc948a675504144f7587eeeee9 to 6bcd44d
6bcd44d03cf0bb7d6e02425fbdc076d832b186ef ff81b6185373d4e749e416909d1b4c76ecec466d Mark Seemann <mark@ploeh.dk> 1600606958 +0200	checkout: moving from 6bcd44d03cf0bb7d6e02425fbdc076d832b186ef to master
ff81b6185373d4e749e416909d1b4c76ecec466d eaf85a4ddfc508f5eac05aa53fb613c4d5d364c1 Mark Seemann <mark@ploeh.dk> 1600606965 +0200	checkout: moving from master to eaf85a4
eaf85a4ddfc508f5eac05aa53fb613c4d5d364c1 0fa74c19fc2da0498156738cf8f9a8a2cc63cc34 Mark Seemann <mark@ploeh.dk> 1600607027 +0200	checkout: moving from eaf85a4ddfc508f5eac05aa53fb613c4d5d364c1 to 0fa74c1
0fa74c19fc2da0498156738cf8f9a8a2cc63cc34 ff81b6185373d4e749e416909d1b4c76ecec466d Mark Seemann <mark@ploeh.dk> 1600607384 +0200	checkout: moving from 0fa74c19fc2da0498156738cf8f9a8a2cc63cc34 to master
ff81b6185373d4e749e416909d1b4c76ecec466d 3acba3e124eca6eff3c47e96dde4dbb1e731aea9 Mark Seemann <mark@ploeh.dk> 1600608924 +0200	commit: Move static mutation out of lambda expression
3acba3e124eca6eff3c47e96dde4dbb1e731aea9 7bf7ceb4405d46541441b15e2ec9826efb61efa6 Mark Seemann <mark@ploeh.dk> 1600609097 +0200	commit (amend): Move static mutation out of lambda expression
7bf7ceb4405d46541441b15e2ec9826efb61efa6 6bc4476097f67fbb7387279c1d9d2a5f79c95dd1 Mark Seemann <mark@ploeh.dk> 1600609132 +0200	commit (amend): Move static mutation out of lambda expression
6bc4476097f67fbb7387279c1d9d2a5f79c95dd1 909e3b7ff80f81769d8f711935ee3453f2dae588 Mark Seemann <mark@ploeh.dk> 1600610029 +0200	commit (amend): Move static mutation out of lambda expression
909e3b7ff80f81769d8f711935ee3453f2dae588 c7f6f9aab4d9ea889565791ffa5bd57de6ee259d Mark Seemann <mark@ploeh.dk> 1600711525 +0200	rebase -i (start): checkout c7f6f9aab4d9ea889565791ffa5bd57de6ee259d
c7f6f9aab4d9ea889565791ffa5bd57de6ee259d e5b96953f9075be869c4bb501449ecdda6c045c4 Mark Seemann <mark@ploeh.dk> 1600711525 +0200	rebase -i: fast-forward
e5b96953f9075be869c4bb501449ecdda6c045c4 2259f3ae224f7ed971c61b7c069659e340b0967f Mark Seemann <mark@ploeh.dk> 1600712025 +0200	commit (amend): Add empty web project
2259f3ae224f7ed971c61b7c069659e340b0967f a84ba035cb71313c37986f0f74cc3c46da236f44 Mark Seemann <mark@ploeh.dk> 1600712076 +0200	rebase -i (pick): Treat all warnings as errors
a84ba035cb71313c37986f0f74cc3c46da236f44 f6ce910d4cb5970b5dd6e916045ba8ac6dbffb7f Mark Seemann <mark@ploeh.dk> 1600712078 +0200	rebase -i (pick): Add FxCop analyzers
f6ce910d4cb5970b5dd6e916045ba8ac6dbffb7f 98badc90e5bae0756bd515778d89ffb6bcb4c809 Mark Seemann <mark@ploeh.dk> 1600712081 +0200	rebase -i (pick): Turn on nullable reference types
98badc90e5bae0756bd515778d89ffb6bcb4c809 3abdc28d1b5755fe4ba38be6518425f3995145de Mark Seemann <mark@ploeh.dk> 1600712084 +0200	rebase -i (pick): Add test project
3abdc28d1b5755fe4ba38be6518425f3995145de cba8569db9811372596121f97dc6058257d25117 Mark Seemann <mark@ploeh.dk> 1600712086 +0200	rebase -i (pick): Treat warnings as errors
cba8569db9811372596121f97dc6058257d25117 b548ce0d4c0210c9a38a78549d439150edaedf08 Mark Seemann <mark@ploeh.dk> 1600712089 +0200	rebase -i (pick): Add FxCop analyzers
b548ce0d4c0210c9a38a78549d439150edaedf08 d0d5aa3e52e9611e8e748e2c92afb69cfda5c6f9 Mark Seemann <mark@ploeh.dk> 1600712091 +0200	rebase -i (pick): Turn on nullable reference types for tests
d0d5aa3e52e9611e8e748e2c92afb69cfda5c6f9 1430a80e50a6f0da7317da0ebc1add1f20180111 Mark Seemann <mark@ploeh.dk> 1600712093 +0200	rebase -i (edit): Add is-ok test for home resource
1430a80e50a6f0da7317da0ebc1add1f20180111 e968a0a7ea117757b33270bfe352437a8688b3ed Mark Seemann <mark@ploeh.dk> 1600712345 +0200	commit (amend): Add is-ok test for home resource
e968a0a7ea117757b33270bfe352437a8688b3ed 866fbdb7fa548b6dd649f7c2fba56cb31b281d84 Mark Seemann <mark@ploeh.dk> 1600712358 +0200	rebase -i (pick): Change index page text
866fbdb7fa548b6dd649f7c2fba56cb31b281d84 35c5df3fdc8583c6bfd44dd1a0ad35958c26d5c3 Mark Seemann <mark@ploeh.dk> 1600712363 +0200	rebase -i (edit): Remove ConfigureAwait FxCop rule
35c5df3fdc8583c6bfd44dd1a0ad35958c26d5c3 48c37578f3911740a522f1da8d3906720cdec3d4 Mark Seemann <mark@ploeh.dk> 1600712398 +0200	commit (amend): Remove ConfigureAwait FxCop rule
48c37578f3911740a522f1da8d3906720cdec3d4 9693e181db53a462d1d4db1334cd589b1bd2fd30 Mark Seemann <mark@ploeh.dk> 1600712408 +0200	rebase -i (pick): Suppress FxCop about Uri
9693e181db53a462d1d4db1334cd589b1bd2fd30 b7f6cb8f8e79e95be093518101e78c2304867981 Mark Seemann <mark@ploeh.dk> 1600712413 +0200	rebase -i (edit): Return JSON from home resource
b7f6cb8f8e79e95be093518101e78c2304867981 7feca4d00176e663a2b56cd9e00ffd3dcea2efaa Mark Seemann <mark@ploeh.dk> 1600712475 +0200	commit (amend): Return JSON from home resource
7feca4d00176e663a2b56cd9e00ffd3dcea2efaa 5c4fca319b71ccd4b1684fe9fe4b2703f9afaf34 Mark Seemann <mark@ploeh.dk> 1600712484 +0200	rebase -i (edit): Add reservations resource
5c4fca319b71ccd4b1684fe9fe4b2703f9afaf34 b731af141d3f689db5e17c3cb738afa8d284b17d Mark Seemann <mark@ploeh.dk> 1600712571 +0200	commit (amend): Add reservations resource
b731af141d3f689db5e17c3cb738afa8d284b17d f3764f81622a9854770a26da6b101d06397b4dc5 Mark Seemann <mark@ploeh.dk> 1600712593 +0200	rebase -i (edit): Create reservation in repository
f3764f81622a9854770a26da6b101d06397b4dc5 391aee034b272898c3659dd819d5960f4e5fe445 Mark Seemann <mark@ploeh.dk> 1600712775 +0200	commit (amend): Create reservation in repository
391aee034b272898c3659dd819d5960f4e5fe445 f7989a4608b0f767532ab879b03d3643f59f797e Mark Seemann <mark@ploeh.dk> 1600712919 +0200	commit (amend): Create reservation in repository
f7989a4608b0f767532ab879b03d3643f59f797e fa6aafb5b20cde9f3d082a51f70c1fa6e41ec278 Mark Seemann <mark@ploeh.dk> 1600712932 +0200	rebase -i (edit): Save reservation in SQL Server
fa6aafb5b20cde9f3d082a51f70c1fa6e41ec278 05ffa7faf87b73025277974ff157f1ea9a7c9416 Mark Seemann <mark@ploeh.dk> 1600713116 +0200	commit (amend): Save reservation in SQL Server
05ffa7faf87b73025277974ff157f1ea9a7c9416 78cd00e7fdb9bbcb638914f89701466cd196e783 Mark Seemann <mark@ploeh.dk> 1600713488 +0200	rebase -i (continue): Translate DTO to Domain Model
78cd00e7fdb9bbcb638914f89701466cd196e783 0815ce1d2a51c93746dda561cb7ba6c4d6087c79 Mark Seemann <mark@ploeh.dk> 1600713551 +0200	rebase -i (continue): Validate that reservation date isn't null
0815ce1d2a51c93746dda561cb7ba6c4d6087c79 0cee56f950ecd4254caf64b8edd8f181054bde0b Mark Seemann <mark@ploeh.dk> 1600713630 +0200	rebase -i (continue): Validate that reservation email isn't null
0cee56f950ecd4254caf64b8edd8f181054bde0b 1cc6f616c2635b72bef5f335dccb475e7cf9a8fe Mark Seemann <mark@ploeh.dk> 1600713798 +0200	rebase -i (continue): Validate that date is a date
1cc6f616c2635b72bef5f335dccb475e7cf9a8fe afd8a06aa8d2d0b3ef2350e47bbfe9956ab4e2b5 Mark Seemann <mark@ploeh.dk> 1600713907 +0200	rebase -i (continue): Remove redundant null check
afd8a06aa8d2d0b3ef2350e47bbfe9956ab4e2b5 2391c59dfc9114a1e31f9bdd343c3d0b53d500dc Mark Seemann <mark@ploeh.dk> 1600713915 +0200	rebase -i (pick): Validate that quantity isn't 0
2391c59dfc9114a1e31f9bdd343c3d0b53d500dc 62ba8449d3c7226d58edb7b2b7e33b49c9ebced4 Mark Seemann <mark@ploeh.dk> 1600713920 +0200	rebase -i (pick): Validate that quantity is at least 1
62ba8449d3c7226d58edb7b2b7e33b49c9ebced4 87211613b17bf4eb0de7a9a22d848ddf6c059607 Mark Seemann <mark@ploeh.dk> 1600713925 +0200	rebase -i (pick): Use empty string for null name
87211613b17bf4eb0de7a9a22d848ddf6c059607 70b4c771a2e4fcd732ec0db38d0b6c429718e6cb Mark Seemann <mark@ploeh.dk> 1600714104 +0200	rebase -i (continue): Guard against negative and zero quantity
70b4c771a2e4fcd732ec0db38d0b6c429718e6cb ab11efb129b50761d0e1a7cdf8ecaa57e65d1997 Mark Seemann <mark@ploeh.dk> 1600714184 +0200	rebase -i (continue): Move SUT Encapsulation method
ab11efb129b50761d0e1a7cdf8ecaa57e65d1997 84b5f1c6d530ae92dd2c7cfcd1c9c50fad6ecb9e Mark Seemann <mark@ploeh.dk> 1600714283 +0200	rebase -i (continue): Attempt overbook
84b5f1c6d530ae92dd2c7cfcd1c9c50fad6ecb9e efc9c361ad9309c35a41de473abfc83d7c35ae79 Mark Seemann <mark@ploeh.dk> 1600714377 +0200	commit (amend): Attempt overbook
efc9c361ad9309c35a41de473abfc83d7c35ae79 0e76c426e77b51b551e986cf3edfc722931c7a9c Mark Seemann <mark@ploeh.dk> 1600714571 +0200	rebase -i (continue): Read existing reservations from database
0e76c426e77b51b551e986cf3edfc722931c7a9c 19177a74b54e25981d0e667bd86d88421637c42b Mark Seemann <mark@ploeh.dk> 1600714579 +0200	rebase -i (pick): Check reservation against first res in DB
19177a74b54e25981d0e667bd86d88421637c42b cf439569172cd27b7f4eccf1513924fc7ab76f8b Mark Seemann <mark@ploeh.dk> 1600714697 +0200	commit (amend): Check reservation against first res in DB
cf439569172cd27b7f4eccf1513924fc7ab76f8b 4f607d2ef9ff444413edc3b965a0e67ff9c416ed Mark Seemann <mark@ploeh.dk> 1600714711 +0200	rebase -i (pick): Refactor capacity check
4f607d2ef9ff444413edc3b965a0e67ff9c416ed 45bd9ef62559c990526264fe3c80d960272b6da3 Mark Seemann <mark@ploeh.dk> 1600714793 +0200	rebase -i (continue): Extract validation helper method
45bd9ef62559c990526264fe3c80d960272b6da3 49cb163146d29016d519e602824063d7b3c6161c Mark Seemann <mark@ploeh.dk> 1600714892 +0200	rebase -i (continue): Move validation to DTO
49cb163146d29016d519e602824063d7b3c6161c 3a8cbf8c6bd9b1470a3a8db753362f05e0d6cc64 Mark Seemann <mark@ploeh.dk> 1600714992 +0200	rebase -i (continue): Refactor to Reservation-returning Validate method
3a8cbf8c6bd9b1470a3a8db753362f05e0d6cc64 c0ac639fe9aff6c854d497cd39bb1bec866e52ac Mark Seemann <mark@ploeh.dk> 1600715000 +0200	rebase -i (edit): Introduce MaitreD class
c0ac639fe9aff6c854d497cd39bb1bec866e52ac 00acd2cd393e9e83c12f84f72113e7e9d04fcf71 Mark Seemann <mark@ploeh.dk> 1600715036 +0200	commit (amend): Introduce MaitreD class
00acd2cd393e9e83c12f84f72113e7e9d04fcf71 fcdb9d15412bbab415ce7e5a1b18e1ccba9ea9f9 Mark Seemann <mark@ploeh.dk> 1600715049 +0200	rebase -i (edit): Make MaitreD public
fcdb9d15412bbab415ce7e5a1b18e1ccba9ea9f9 8e803b8dbee2291a044ebd2b86011b74791176e8 Mark Seemann <mark@ploeh.dk> 1600715119 +0200	commit (amend): Make MaitreD public
8e803b8dbee2291a044ebd2b86011b74791176e8 b0050dddae47132670cfde4b8d9b6fe31a3eb26b Mark Seemann <mark@ploeh.dk> 1600715131 +0200	rebase -i (pick): Remove brackets from Guard Clause
b0050dddae47132670cfde4b8d9b6fe31a3eb26b 6ad93d80f0599d97f99ef6b7f03d77c160d1ab3c Mark Seemann <mark@ploeh.dk> 1600715136 +0200	rebase -i (pick): Rename and expose table type
6ad93d80f0599d97f99ef6b7f03d77c160d1ab3c 2b8e76655ef9ce9597e1c6ec41987cce28d8f8c0 Mark Seemann <mark@ploeh.dk> 1600715141 +0200	rebase -i (pick): Seal Table class
2b8e76655ef9ce9597e1c6ec41987cce28d8f8c0 522d769a5af1f8a8dc14ef08afa3e07f4565b18b Mark Seemann <mark@ploeh.dk> 1600715190 +0200	rebase -i (continue): Override Equals and GetHashCode on Table
522d769a5af1f8a8dc14ef08afa3e07f4565b18b 7232172db24d374795896ff71e16b4960ea1de84 Mark Seemann <mark@ploeh.dk> 1600715199 +0200	rebase -i (pick): Add Standard value to TableType enum
7232172db24d374795896ff71e16b4960ea1de84 b13f3b4a88c9a1492003c06e332089c528786183 Mark Seemann <mark@ploeh.dk> 1600715204 +0200	rebase -i (pick): Move maitreD object to class field
b13f3b4a88c9a1492003c06e332089c528786183 8952005c66e43d0131582990cbdb5c91e57d361b Mark Seemann <mark@ploeh.dk> 1600715209 +0200	rebase -i (pick): Configure MaitreD with more than one table
8952005c66e43d0131582990cbdb5c91e57d361b c25fd7693995b96203c4facf6c4e5195ff6aab44 Mark Seemann <mark@ploeh.dk> 1600715214 +0200	rebase -i (pick): Consider more than one table in MaitreD
c25fd7693995b96203c4facf6c4e5195ff6aab44 0dd974e52965a7e452526dab4d1c88a20561e1fb Mark Seemann <mark@ploeh.dk> 1600715219 +0200	rebase -i (pick): Consider only largest table
0dd974e52965a7e452526dab4d1c88a20561e1fb 7f5e35acf5a44017c34ed2ad52568971aabeab84 Mark Seemann <mark@ploeh.dk> 1600715224 +0200	rebase -i (pick): Accept reservation if allocation is possible
7f5e35acf5a44017c34ed2ad52568971aabeab84 16bee161a2409fb737902acb3ef8182f2519a220 Mark Seemann <mark@ploeh.dk> 1600715229 +0200	rebase -i (edit): Add Some class
16bee161a2409fb737902acb3ef8182f2519a220 d6f9ddbeac07c15834543b16a3317088075a3d8c Mark Seemann <mark@ploeh.dk> 1600715261 +0200	commit (amend): Add Some class
d6f9ddbeac07c15834543b16a3317088075a3d8c 664c1e180fd158d9d8a28569bf16b962a2715b9b Mark Seemann <mark@ploeh.dk> 1600715274 +0200	rebase -i (pick): Add copy-and-update methods to Reservation
664c1e180fd158d9d8a28569bf16b962a2715b9b a0307f004e0ca3579d2839290a68b3a4fa9e8b95 Mark Seemann <mark@ploeh.dk> 1600715370 +0200	commit (amend): Add copy-and-update methods to Reservation
a0307f004e0ca3579d2839290a68b3a4fa9e8b95 a97ae66035d1db9b76c03921e74cdc0a3843d68b Mark Seemann <mark@ploeh.dk> 1600715386 +0200	rebase -i (pick): Parametrise a test
a97ae66035d1db9b76c03921e74cdc0a3843d68b ab65785c0805a9bbd441c75950142c7cc369d4dc Mark Seemann <mark@ploeh.dk> 1600715390 +0200	rebase -i (pick): Refactor test to take entire table config as param
ab65785c0805a9bbd441c75950142c7cc369d4dc 96a62db114ea8ac5ba4bf53f41ab9940ae3043ba Mark Seemann <mark@ploeh.dk> 1600715395 +0200	rebase -i (pick): Handle standard tables
96a62db114ea8ac5ba4bf53f41ab9940ae3043ba 6787c6618f87513b97ccf7a03471a29c17b53e45 Mark Seemann <mark@ploeh.dk> 1600715400 +0200	rebase -i (pick): Add WithSeats method to Table
6787c6618f87513b97ccf7a03471a29c17b53e45 448830d63ec0866f14646bfdb6010e1903db538c Mark Seemann <mark@ploeh.dk> 1600715404 +0200	rebase -i (pick): Hide Table constructor in favour of factories
448830d63ec0866f14646bfdb6010e1903db538c 0ada76d2390a14f726bee7809db1d5dc543fb1f8 Mark Seemann <mark@ploeh.dk> 1600715409 +0200	rebase -i (pick): Add IsStandard and IsCommunal properties to Table
0ada76d2390a14f726bee7809db1d5dc543fb1f8 e5f5449f961abb48c91823b8bb51ac5c8489ae72 Mark Seemann <mark@ploeh.dk> 1600715525 +0200	rebase -i (continue): Delete TableType
e5f5449f961abb48c91823b8bb51ac5c8489ae72 8c5fab4a2a0db14f0fefceb8dd0ab12e71ac9863 Mark Seemann <mark@ploeh.dk> 1600715535 +0200	rebase -i (pick): Add Reserve method to table
8c5fab4a2a0db14f0fefceb8dd0ab12e71ac9863 c3947ea8c3a863beb9076bab915b5bdfb48923c2 Mark Seemann <mark@ploeh.dk> 1600715540 +0200	rebase -i (pick): Refactor test to use class as test case source
c3947ea8c3a863beb9076bab915b5bdfb48923c2 1f793592224eb934da11487a7fde888050d39110 Mark Seemann <mark@ploeh.dk> 1600715544 +0200	rebase -i (pick): Refactor parametrised test to provide tables objs
1f793592224eb934da11487a7fde888050d39110 c53580cd3b02cfa19b4fad89aac06ba1a4e5afe6 Mark Seemann <mark@ploeh.dk> 1600715549 +0200	rebase -i (pick): Refactor test to provide full reservation objects
c53580cd3b02cfa19b4fad89aac06ba1a4e5afe6 11ef0169eaeb1e875c9369e0231e0a6ca7f2b3bd Mark Seemann <mark@ploeh.dk> 1600715553 +0200	rebase -i (edit): Filter reservations on previous dates
11ef0169eaeb1e875c9369e0231e0a6ca7f2b3bd 34525f2645443eeb9480c6bed231dc0da48b3565 Mark Seemann <mark@ploeh.dk> 1600715579 +0200	commit (amend): Filter reservations on previous dates
34525f2645443eeb9480c6bed231dc0da48b3565 4380aa05e10874dfb9288f8d20c9a2f1842cbf9d Mark Seemann <mark@ploeh.dk> 1600715655 +0200	commit (amend): Filter reservations on previous dates
4380aa05e10874dfb9288f8d20c9a2f1842cbf9d cd6ae7b1fde60b5be42614c72c9d292b56b21782 Mark Seemann <mark@ploeh.dk> 1600715726 +0200	rebase -i (continue): Filter reservations after the day in question
cd6ae7b1fde60b5be42614c72c9d292b56b21782 41870bd33da6ab7f45298b2b70fc92c86cc14a14 Mark Seemann <mark@ploeh.dk> 1600715780 +0200	rebase -i (continue): Filter previous reservations based on date
41870bd33da6ab7f45298b2b70fc92c86cc14a14 e614cf256a05cd0f0b11dc0bc276d8eab6cf26c2 Mark Seemann <mark@ploeh.dk> 1600715825 +0200	rebase -i (continue): Filter later reservations based on date
e614cf256a05cd0f0b11dc0bc276d8eab6cf26c2 27cc6f79fbf0cea9ca3a670dc0ca19a13402b3bc Mark Seemann <mark@ploeh.dk> 1600715837 +0200	rebase -i (pick): Extract helper method from WillAccept
27cc6f79fbf0cea9ca3a670dc0ca19a13402b3bc 89e5a3a5af6f25630392edb63c1651e5f1bd1178 Mark Seemann <mark@ploeh.dk> 1600715914 +0200	rebase -i (continue): Extract filter logic
89e5a3a5af6f25630392edb63c1651e5f1bd1178 3cdf19432fc2c1384c2fae3a7f6470970fc0e296 Mark Seemann <mark@ploeh.dk> 1600715922 +0200	rebase -i (pick): Introduce Fits method on Table
3cdf19432fc2c1384c2fae3a7f6470970fc0e296 e231f6ce813740f88f5163a96e0e01894946cce6 Mark Seemann <mark@ploeh.dk> 1600715928 +0200	rebase -i (pick): Condense the code
e231f6ce813740f88f5163a96e0e01894946cce6 040994999a94ca1fc1e1e39166491f8e4d70b419 Mark Seemann <mark@ploeh.dk> 1600715933 +0200	rebase -i (pick): Add seating duration to MaitreD
040994999a94ca1fc1e1e39166491f8e4d70b419 b937042f22bc25dc13a7e0354dad44460889d710 Mark Seemann <mark@ploeh.dk> 1600715939 +0200	rebase -i (pick): Paramtrise tests on seating duration
b937042f22bc25dc13a7e0354dad44460889d710 f9466e0f83f51eb445ea3ba954064f9d44d12e83 Mark Seemann <mark@ploeh.dk> 1600716021 +0200	rebase -i (continue): Handle second seatings
f9466e0f83f51eb445ea3ba954064f9d44d12e83 db0e3c78ed92e4181a05399426f4fc3d659c4588 Mark Seemann <mark@ploeh.dk> 1600716111 +0200	rebase -i (continue): Inject MaitreD into ReservationsController
db0e3c78ed92e4181a05399426f4fc3d659c4588 e3d12ec9bbac70c9f66e4f3ff0d2a98daa005e3a Mark Seemann <mark@ploeh.dk> 1600716119 +0200	rebase -i (pick): Add opening time to MaitreD
e3d12ec9bbac70c9f66e4f3ff0d2a98daa005e3a b5defc482779d4cb1c3457d6a3d5ec2cf07eab71 Mark Seemann <mark@ploeh.dk> 1600716315 +0200	commit (amend): Add opening time to MaitreD
b5defc482779d4cb1c3457d6a3d5ec2cf07eab71 e766f931718ca6c7263ad312f5df7b16013e3c08 Mark Seemann <mark@ploeh.dk> 1600716363 +0200	rebase -i (continue): Refactor paramtrised test to take SUT as parameter
e766f931718ca6c7263ad312f5df7b16013e3c08 24d586150e79722c7559c5e3d61a4dc78f241b26 Mark Seemann <mark@ploeh.dk> 1600716370 +0200	rebase -i (pick): Refactor paramtrised test to take SUT as parameter
24d586150e79722c7559c5e3d61a4dc78f241b26 1c2fb6ead1df402a6d5012e78fcaf927d0755e1e Mark Seemann <mark@ploeh.dk> 1600716457 +0200	rebase -i (continue): Check for last seating time
1c2fb6ead1df402a6d5012e78fcaf927d0755e1e ffceba2d1becdb7912688010a236697f3c729e40 Mark Seemann <mark@ploeh.dk> 1600716466 +0200	rebase -i (edit): Move MaitreD configuration to appSettings.json
ffceba2d1becdb7912688010a236697f3c729e40 bf2c72b30ebace26d14f02aa899c4e3aeda9ce4d Mark Seemann <mark@ploeh.dk> 1600717954 +0200	commit (amend): Move MaitreD configuration to appSettings.json
bf2c72b30ebace26d14f02aa899c4e3aeda9ce4d cdd1e9320d553d8797b51f93220fd533af15bcfa Mark Seemann <mark@ploeh.dk> 1600717974 +0200	rebase -i (pick): Reject reservations in the past
cdd1e9320d553d8797b51f93220fd533af15bcfa 7c1e1a652cb7c5743d3aa40b2c788cd5dedf3f99 Mark Seemann <mark@ploeh.dk> 1600752883 +0200	commit (amend): Reject reservations in the past
7c1e1a652cb7c5743d3aa40b2c788cd5dedf3f99 6dbcf4135ae93e3d44bb6a70057952f8628a308a Mark Seemann <mark@ploeh.dk> 1600752961 +0200	rebase -i (continue): Extract IsOutsideOfOpeningHours helper method
6dbcf4135ae93e3d44bb6a70057952f8628a308a 99081c1518aa77b79d887901c1b7c331cc269124 Mark Seemann <mark@ploeh.dk> 1600752970 +0200	rebase -i (edit): Introduce TimeOfDay struct
99081c1518aa77b79d887901c1b7c331cc269124 3106a2c4390e69c3a2689ebda4d254ef6af3da28 Mark Seemann <mark@ploeh.dk> 1600753039 +0200	commit (amend): Introduce TimeOfDay struct
3106a2c4390e69c3a2689ebda4d254ef6af3da28 35e7046172e5a266f6aee5c0b2445363a022b29c Mark Seemann <mark@ploeh.dk> 1600753444 +0200	rebase -i (continue): Read existing reservation
35e7046172e5a266f6aee5c0b2445363a022b29c 74797f977b3aa6aca2387047fe5e880bf20446cc Mark Seemann <mark@ploeh.dk> 1600753510 +0200	rebase -i (continue): Return 404 Not Found for absent reservation
74797f977b3aa6aca2387047fe5e880bf20446cc 560d0a2515c93ed42dc1e07cb349ea2bb45539a8 Mark Seemann <mark@ploeh.dk> 1600753519 +0200	rebase -i (pick): Return 404 Not Found for non-guid id
560d0a2515c93ed42dc1e07cb349ea2bb45539a8 4d00f0d4d56510ebc876bdfc5520573dba880692 Mark Seemann <mark@ploeh.dk> 1600753771 +0200	rebase -i (continue): Return IDs from database in range query
4d00f0d4d56510ebc876bdfc5520573dba880692 3711aa218086bacf2f17d7ba3466ba922a63ecf3 Mark Seemann <mark@ploeh.dk> 1600753780 +0200	rebase -i (pick): Make /reservations URL segment lowercase
3711aa218086bacf2f17d7ba3466ba922a63ecf3 3ce041cb59df3128a87ff6e98ad4fdbc929cc7b9 Mark Seemann <mark@ploeh.dk> 1600753785 +0200	rebase -i (pick): Update FxCop NuGet package
3ce041cb59df3128a87ff6e98ad4fdbc929cc7b9 7d421b6ccdcf70cc33b57e70025fba91f754ce8e Mark Seemann <mark@ploeh.dk> 1600753796 +0200	rebase -i (pick): Update Microsoft.AspNetCore.Mvc.Testing NuGet pkg
7d421b6ccdcf70cc33b57e70025fba91f754ce8e 2b022414da0908a665dc8afe0ebd8f337ccd21bf Mark Seemann <mark@ploeh.dk> 1600753803 +0200	rebase -i (pick): Update Microsoft.NET.Test.Sdk NuGet package
2b022414da0908a665dc8afe0ebd8f337ccd21bf 5d3f081567ab15c6c20d391f6dcc084aa9251c40 Mark Seemann <mark@ploeh.dk> 1600753811 +0200	rebase -i (pick): Update coverlet.collector NuGet package
5d3f081567ab15c6c20d391f6dcc084aa9251c40 617766c035012acbb20482a2dbd1a3bd2f09fee5 Mark Seemann <mark@ploeh.dk> 1600753819 +0200	rebase -i (pick): Return error message on insufficient capacity
617766c035012acbb20482a2dbd1a3bd2f09fee5 68722e48688a5b246ada25432409261ca2c8f88b Mark Seemann <mark@ploeh.dk> 1600753828 +0200	rebase -i (pick): Extract method to return error message
68722e48688a5b246ada25432409261ca2c8f88b 2a5e6e4c25fe808e5b86909c14889d32a0618902 Mark Seemann <mark@ploeh.dk> 1600753837 +0200	rebase -i (pick): Enable deletion of a reservation
2a5e6e4c25fe808e5b86909c14889d32a0618902 62a9fca695bc5800eb4f9b6965f6ef850066d0f0 Mark Seemann <mark@ploeh.dk> 1600754059 +0200	commit (amend): Enable deletion of a reservation
62a9fca695bc5800eb4f9b6965f6ef850066d0f0 1d4cac9f39f19b783547ddb417be01fe99a0f5e7 Mark Seemann <mark@ploeh.dk> 1600754068 +0200	rebase -i (pick): Gracefully handle non-GUID for DELETE
1d4cac9f39f19b783547ddb417be01fe99a0f5e7 f6c01d65126878808a38be086289380a5c4163ec Mark Seemann <mark@ploeh.dk> 1600754077 +0200	rebase -i (pick): Add PUT capability to reservations resource
f6c01d65126878808a38be086289380a5c4163ec 4dc4d8b7882844763474b7e90af6f05054dd87b5 Mark Seemann <mark@ploeh.dk> 1600754230 +0200	commit (amend): Add PUT capability to reservations resource
4dc4d8b7882844763474b7e90af6f05054dd87b5 b0d2f2251ea4816108677f6f1a10b5c58c2b2a75 Mark Seemann <mark@ploeh.dk> 1600754354 +0200	rebase -i (continue): Validate DTO for PUT operation
b0d2f2251ea4816108677f6f1a10b5c58c2b2a75 f5b049ebcb30e50c86b528a602efbd93cea9e674 Mark Seemann <mark@ploeh.dk> 1600754520 +0200	rebase -i (continue): Parse reservation ID on PUT
f5b049ebcb30e50c86b528a602efbd93cea9e674 0f9cb7640652206bc1e1a32368dee017b21d330c Mark Seemann <mark@ploeh.dk> 1600754532 +0200	rebase -i (pick): Use correct ID on PUT
0f9cb7640652206bc1e1a32368dee017b21d330c d786a5d060b458fa1c00955366bbe225b91001a0 Mark Seemann <mark@ploeh.dk> 1600754605 +0200	commit (amend): Use correct ID on PUT
d786a5d060b458fa1c00955366bbe225b91001a0 248693e271a3be0d176c43fac54acd14f6d4c080 Mark Seemann <mark@ploeh.dk> 1600754611 +0200	rebase -i (pick): Improve Validate API on DTO class
248693e271a3be0d176c43fac54acd14f6d4c080 fae56f2241a4e79ac94f14ae32c663ef7d8ebbb4 Mark Seemann <mark@ploeh.dk> 1600754619 +0200	rebase -i (pick): Don't allow PUT on absent resource
fae56f2241a4e79ac94f14ae32c663ef7d8ebbb4 509be30b93cc392ba25664c79505a258775e28c9 Mark Seemann <mark@ploeh.dk> 1600754837 +0200	commit (amend): Don't allow PUT on absent resource
509be30b93cc392ba25664c79505a258775e28c9 8bf904ea416af57fa6c437729f73922196be7ae1 Mark Seemann <mark@ploeh.dk> 1600754930 +0200	rebase -i (continue): Ask MaitreD if PUT is legal
8bf904ea416af57fa6c437729f73922196be7ae1 684acea9e181e7a767cbfadf1493db971440ac73 Mark Seemann <mark@ploeh.dk> 1600754988 +0200	rebase -i (continue): Address double-counting bug in Put
684acea9e181e7a767cbfadf1493db971440ac73 abdfd43ec890aff10b0f5538d31da81353b9815f Mark Seemann <mark@ploeh.dk> 1600755002 +0200	rebase -i (edit): Pretend to send an email when reservation accepted
abdfd43ec890aff10b0f5538d31da81353b9815f 4fd08720a3e71e80df6dca82c73a09c9096e4fa6 Mark Seemann <mark@ploeh.dk> 1600755286 +0200	commit (amend): Pretend to send an email when reservation accepted
4fd08720a3e71e80df6dca82c73a09c9096e4fa6 d6339f0a1b10f1826e93ea6c9292ec6df3a0a944 Mark Seemann <mark@ploeh.dk> 1600755307 +0200	rebase -i (edit): Add SMTP Post Office
d6339f0a1b10f1826e93ea6c9292ec6df3a0a944 a5a577455f5fddae6a94b9b4c346a301eac71f7e Mark Seemann <mark@ploeh.dk> 1600755425 +0200	commit (amend): Add SMTP Post Office
a5a577455f5fddae6a94b9b4c346a301eac71f7e e55421216bf16866cab4e11a017078b3b1c8b0fe Mark Seemann <mark@ploeh.dk> 1600755655 +0200	commit (amend): Add SMTP Post Office
e55421216bf16866cab4e11a017078b3b1c8b0fe e934e47c250bd5a1c4e5e1c07ef7951989e6a4af Mark Seemann <mark@ploeh.dk> 1600755739 +0200	rebase -i (continue): Refactor FakePostOffice to record observations
e934e47c250bd5a1c4e5e1c07ef7951989e6a4af 5a4ff45ef2a239c55f483aba0553a4be80a05151 Mark Seemann <mark@ploeh.dk> 1600755753 +0200	rebase -i (pick): Send email on deletion
5a4ff45ef2a239c55f483aba0553a4be80a05151 249734c976af7b13077242346c876abf4ff74e8a Mark Seemann <mark@ploeh.dk> 1600755808 +0200	commit (amend): Send email on deletion
249734c976af7b13077242346c876abf4ff74e8a 806c8a3d5edfbf794633e98442af8e6c00253f01 Mark Seemann <mark@ploeh.dk> 1600755816 +0200	rebase -i (pick): Don't send email on deletion of absent reservation
806c8a3d5edfbf794633e98442af8e6c00253f01 e5732f59970a4cb21c0ca628bc68079d8cd64c63 Mark Seemann <mark@ploeh.dk> 1600755827 +0200	rebase -i (pick): Send email when reservation is updated
e5732f59970a4cb21c0ca628bc68079d8cd64c63 ff0d1913cde8a2d006d5e33280c59cfd461c6da3 Mark Seemann <mark@ploeh.dk> 1600755873 +0200	commit (amend): Send email when reservation is updated
ff0d1913cde8a2d006d5e33280c59cfd461c6da3 015d464dd4352a77733b054f7c83f7d2681157dc Mark Seemann <mark@ploeh.dk> 1600755902 +0200	rebase -i (pick): Send email before reservation updates
015d464dd4352a77733b054f7c83f7d2681157dc 715250674a1b82ecb17de8af004c7f9a5b83f6de Mark Seemann <mark@ploeh.dk> 1600756009 +0200	commit (amend): Send email before reservation updates
715250674a1b82ecb17de8af004c7f9a5b83f6de 574f5d2a46783f480b6e8d24ebed17fa3672560a Mark Seemann <mark@ploeh.dk> 1600756020 +0200	rebase -i (pick): Only send email before update on changed address
574f5d2a46783f480b6e8d24ebed17fa3672560a 50b4415469f10ec2fdcf02c7d6b8c6556cee05d2 Mark Seemann <mark@ploeh.dk> 1600756030 +0200	rebase -i (pick): Refactor SmtpPostOffice
50b4415469f10ec2fdcf02c7d6b8c6556cee05d2 be2a4044a187941506e68f1e0a1b432fc2c087de Mark Seemann <mark@ploeh.dk> 1600756441 +0200	rebase -i (continue): Introduce Email and Name wrappers
be2a4044a187941506e68f1e0a1b432fc2c087de ce3b8f35f421e1d28f44fc7a23ab6ec5db004af2 Mark Seemann <mark@ploeh.dk> 1600756520 +0200	rebase -i (continue): Correct mismatched name and email
ce3b8f35f421e1d28f44fc7a23ab6ec5db004af2 10b90d9ef8778b7f27e0103fbb462eb155c77bbb Mark Seemann <mark@ploeh.dk> 1600756532 +0200	rebase -i (pick): Introduce Build solution
10b90d9ef8778b7f27e0103fbb462eb155c77bbb 8d09e52e04e1594a22dc089dcca676df801cdb85 Mark Seemann <mark@ploeh.dk> 1600756537 +0200	rebase -i (edit): Add integration test project to Build solution
8d09e52e04e1594a22dc089dcca676df801cdb85 213ef17fd08376b941c28ab50bb7ee4bc14529f8 Mark Seemann <mark@ploeh.dk> 1600756580 +0200	rebase -i (pick): Treat warnings as errors in integration tests
213ef17fd08376b941c28ab50bb7ee4bc14529f8 3dd98a804de11fd07bfa8217388f42e96ecbf4a7 Mark Seemann <mark@ploeh.dk> 1600756585 +0200	rebase -i (pick): Turn on FxCop for integration tests
3dd98a804de11fd07bfa8217388f42e96ecbf4a7 e546f5e2597039e488fa7c1783fd0aa3ee3bf664 Mark Seemann <mark@ploeh.dk> 1600756591 +0200	rebase -i (pick): Turn on nullable reference types
e546f5e2597039e488fa7c1783fd0aa3ee3bf664 b3f1f503f6d3d42aea7aa8f1a416ac5a2c223515 Mark Seemann <mark@ploeh.dk> 1600756764 +0200	rebase -i (continue): Verify create-and-read round-trip to SQL Server
b3f1f503f6d3d42aea7aa8f1a416ac5a2c223515 5e182b2b5ebbae8536fe5ee538d3d6ab64948761 Mark Seemann <mark@ploeh.dk> 1600763015 +0200	rebase -i (continue): Fix defect in SQL Update method
5e182b2b5ebbae8536fe5ee538d3d6ab64948761 b507a195caa9e30f112a881de56af61c79065f4b Mark Seemann <mark@ploeh.dk> 1600763029 +0200	rebase -i (pick): Change master database name to lower case
b507a195caa9e30f112a881de56af61c79065f4b d652c2d3297a026ea6c86a4309a4a2e728d706d1 Mark Seemann <mark@ploeh.dk> 1600763107 +0200	rebase -i (continue): Use AddWithValue method
d652c2d3297a026ea6c86a4309a4a2e728d706d1 e1b5152427703ccac5ce9068d79f798e08ced973 Mark Seemann <mark@ploeh.dk> 1600763122 +0200	rebase -i (pick): Add README file
e1b5152427703ccac5ce9068d79f798e08ced973 4ac692766b37880e589b324d7c17391d37c71244 Mark Seemann <mark@ploeh.dk> 1600763297 +0200	rebase -i (continue): Add conversion to Reservation DTO
4ac692766b37880e589b324d7c17391d37c71244 3794d22a4253c42d11343dab1a4c8e3a86d8ab42 Mark Seemann <mark@ploeh.dk> 1600763416 +0200	rebase -i (continue): Add ToDto extension method
3794d22a4253c42d11343dab1a4c8e3a86d8ab42 0328d761daf0ed89cbbaa1c38b1a8cf5225144f7 Mark Seemann <mark@ploeh.dk> 1600763505 +0200	rebase -i (continue): Return representation after POST
0328d761daf0ed89cbbaa1c38b1a8cf5225144f7 2616a8edcccc4af12fc80ac90b322af8c9902d16 Mark Seemann <mark@ploeh.dk> 1600763518 +0200	rebase -i (pick): Return representation of resource after PUT
2616a8edcccc4af12fc80ac90b322af8c9902d16 6c7dd33d769956a544eb3780a1dce06873bca4af Mark Seemann <mark@ploeh.dk> 1600763525 +0200	rebase -i (pick): Delete database before setting it up
6c7dd33d769956a544eb3780a1dce06873bca4af 0e012e4d8e81b4a76e8797c4244c26498c7f81d2 Mark Seemann <mark@ploeh.dk> 1600763532 +0200	rebase -i (pick): Enable connection pooling in integration tests
0e012e4d8e81b4a76e8797c4244c26498c7f81d2 23d3a7b4e32d0ec037e50f31f37212870ed2eb5a Mark Seemann <mark@ploeh.dk> 1600763550 +0200	rebase -i (edit): Enlist Post in lightweight transaction
23d3a7b4e32d0ec037e50f31f37212870ed2eb5a 73fa2156a8b799af37307bf50db1e07647194a0d Mark Seemann <mark@ploeh.dk> 1600763694 +0200	commit (amend): Enlist Post in lightweight transaction
73fa2156a8b799af37307bf50db1e07647194a0d 4f609400f83fa16d9ad51950011ac524a9e64772 Mark Seemann <mark@ploeh.dk> 1600763893 +0200	commit (amend): Enlist Post in lightweight transaction
4f609400f83fa16d9ad51950011ac524a9e64772 464712ceac8397b68078441f73c67a674d451b09 Mark Seemann <mark@ploeh.dk> 1600763901 +0200	rebase -i (pick): Introduce helper method to POST reservation
464712ceac8397b68078441f73c67a674d451b09 5cc841bf93e0f20140a951972d2b9819dc696603 Mark Seemann <mark@ploeh.dk> 1600763952 +0200	rebase -i (pick): Enlist Put in a lightweight transaction
5cc841bf93e0f20140a951972d2b9819dc696603 723b6e48f3533490b91ab5b8d7838008a69311a7 Mark Seemann <mark@ploeh.dk> 1600764037 +0200	rebase -i (pick): Use RestaurantApiFactory for HomeTests
723b6e48f3533490b91ab5b8d7838008a69311a7 d6cebcea718451aeb2141d0bf635d695f8541131 Mark Seemann <mark@ploeh.dk> 1600764122 +0200	rebase -i (edit): Return link from home resource
d6cebcea718451aeb2141d0bf635d695f8541131 28c167d58ddcd71db2ff191b377c3a315fb85603 Mark Seemann <mark@ploeh.dk> 1600764907 +0200	commit (amend): Return link from home resource
28c167d58ddcd71db2ff191b377c3a315fb85603 1fcf0aa0f22178fc48485036bc7b3cf3bdc8efa5 Mark Seemann <mark@ploeh.dk> 1600765010 +0200	rebase -i (pick): Use Url.ActionContext in CreateReservationsLink
1fcf0aa0f22178fc48485036bc7b3cf3bdc8efa5 4f9cd7dcb89e39e439e19ee99aa4f9fe4c592012 Mark Seemann <mark@ploeh.dk> 1600765095 +0200	rebase -i (pick): Extract assertion to helper method
4f9cd7dcb89e39e439e19ee99aa4f9fe4c592012 815ac7bcc6444e9090dbf4ade9b72aecf1c4426c Mark Seemann <mark@ploeh.dk> 1600765180 +0200	rebase -i (pick): Introduce local variable
815ac7bcc6444e9090dbf4ade9b72aecf1c4426c ea425e76988365e3d29260ae5cb7860d9b78c4b1 Mark Seemann <mark@ploeh.dk> 1600765264 +0200	rebase -i (pick): Move line of code closer to related code
ea425e76988365e3d29260ae5cb7860d9b78c4b1 a5664dd76d5ccc3bfd513558ddb018191184bc20 Mark Seemann <mark@ploeh.dk> 1600765348 +0200	rebase -i (pick): Add year link to home resource
a5664dd76d5ccc3bfd513558ddb018191184bc20 9dd7e595e51f332f01fe7c7b50c70759b16bcfd4 Mark Seemann <mark@ploeh.dk> 1600765434 +0200	rebase -i (edit): Introduce Calendar resource
9dd7e595e51f332f01fe7c7b50c70759b16bcfd4 572e2b17d0b24ccca880281d1f29ec38914b1940 Mark Seemann <mark@ploeh.dk> 1600765535 +0200	commit (amend): Introduce Calendar resource
572e2b17d0b24ccca880281d1f29ec38914b1940 089675099ef66e1e426e16a46b09d79c587fa822 Mark Seemann <mark@ploeh.dk> 1600765625 +0200	rebase -i (edit): Return current year from calendar resource
089675099ef66e1e426e16a46b09d79c587fa822 4aa911a704049beb4800890bcbe7ee7c4e6aed56 Mark Seemann <mark@ploeh.dk> 1600770910 +0200	commit (amend): Return current year from calendar resource
4aa911a704049beb4800890bcbe7ee7c4e6aed56 25c6b612ad0f6b087f9cdcc309be8b1ee46036a2 Mark Seemann <mark@ploeh.dk> 1600772484 +0200	rebase -i (continue): Return year from resource
25c6b612ad0f6b087f9cdcc309be8b1ee46036a2 2559ab594711eb40d1aa10dd71ff1fbee34367c9 Mark Seemann <mark@ploeh.dk> 1600772698 +0200	rebase -i (continue): Return array of days
2559ab594711eb40d1aa10dd71ff1fbee34367c9 bbfd6335fff558fa4fc776369a625efad14680da Mark Seemann <mark@ploeh.dk> 1600772789 +0200	rebase -i (pick): Return correct number of days in year
bbfd6335fff558fa4fc776369a625efad14680da 4d66918798125d75c92ae64bc9cbd86ba9d14b6b Mark Seemann <mark@ploeh.dk> 1600772874 +0200	rebase -i (pick): Enumerate days in year
4d66918798125d75c92ae64bc9cbd86ba9d14b6b b7ca546b723fc0131e1172c09ef3815238f64c58 Mark Seemann <mark@ploeh.dk> 1600772959 +0200	rebase -i (pick): Include maximum party size for each day
b7ca546b723fc0131e1172c09ef3815238f64c58 34d0f0e73d5db89f9e9d16ae45a664dcfc915dbe Mark Seemann <mark@ploeh.dk> 1600773044 +0200	rebase -i (edit): Add feature flag for the calendar feature
34d0f0e73d5db89f9e9d16ae45a664dcfc915dbe 04d9c806b1e4c4e1d659f679b4d95415e983e5ed Mark Seemann <mark@ploeh.dk> 1600776869 +0200	commit (amend): Add feature flag for the calendar feature
04d9c806b1e4c4e1d659f679b4d95415e983e5ed 8a81ff51e883a1f2b7135f41ff63afff368c0934 Mark Seemann <mark@ploeh.dk> 1600776967 +0200	rebase -i (pick): Add a month link to home
8a81ff51e883a1f2b7135f41ff63afff368c0934 fcc8b9c67cfbd5e1b5f4374dfa87b012b77ff29d Mark Seemann <mark@ploeh.dk> 1600777052 +0200	rebase -i (pick): Introduce /year/month calendar
fcc8b9c67cfbd5e1b5f4374dfa87b012b77ff29d 96c51d123c71a97a09f53f09813b3e9e683b04d6 Mark Seemann <mark@ploeh.dk> 1600777138 +0200	rebase -i (pick): Refactor test to use class data
96c51d123c71a97a09f53f09813b3e9e683b04d6 5136dd31bff5acb82fa97da20acc2b539dc5af89 Mark Seemann <mark@ploeh.dk> 1600777222 +0200	rebase -i (pick): Parametrise act function
5136dd31bff5acb82fa97da20acc2b539dc5af89 06d1462a329b24e22346bd3059db6aea00cf8591 Mark Seemann <mark@ploeh.dk> 1600777307 +0200	rebase -i (pick): Check month on calendar representation
06d1462a329b24e22346bd3059db6aea00cf8591 77c39698f78094e70d4973d3a6229cd9946582bb Mark Seemann <mark@ploeh.dk> 1600777391 +0200	rebase -i (pick): Return data from month calendar
77c39698f78094e70d4973d3a6229cd9946582bb 358b2f14123e0ccec8a218913b8d51b44df3f2a6 Mark Seemann <mark@ploeh.dk> 1600777476 +0200	rebase -i (pick): Add link to day calendar
358b2f14123e0ccec8a218913b8d51b44df3f2a6 08c1f66b98fff2ced13e5124f737a4cc12e2a5d2 Mark Seemann <mark@ploeh.dk> 1600777561 +0200	rebase -i (pick): Introduce /year/month/day calendar
08c1f66b98fff2ced13e5124f737a4cc12e2a5d2 fcb79faf7a4d63baff3720cb8a33af164eafd3e9 Mark Seemann <mark@ploeh.dk> 1600777647 +0200	rebase -i (pick): Add expected day to test cases
fcb79faf7a4d63baff3720cb8a33af164eafd3e9 571755adc3c65a24edb2f6d4e4bb31e634b45add Mark Seemann <mark@ploeh.dk> 1600777731 +0200	rebase -i (pick): Inline variable
571755adc3c65a24edb2f6d4e4bb31e634b45add 250cf8ee73667eb88e263a53cfbdbe550d1c9438 Mark Seemann <mark@ploeh.dk> 1600777815 +0200	rebase -i (pick): Return data from day calendar
250cf8ee73667eb88e263a53cfbdbe550d1c9438 80cf699af83928a1de927102f190b6976365e998 Mark Seemann <mark@ploeh.dk> 1600777900 +0200	rebase -i (pick): Rename parameter
80cf699af83928a1de927102f190b6976365e998 5dedcc8f6147d6dd76e0a403a1e809e7d52f82cb Mark Seemann <mark@ploeh.dk> 1600777985 +0200	rebase -i (edit): Remove duplication of JSON parsing
5dedcc8f6147d6dd76e0a403a1e809e7d52f82cb 143065166ace0c42d7cde2fe880717b832fb2bc6 Mark Seemann <mark@ploeh.dk> 1600778056 +0200	commit (amend): Remove duplication of JSON parsing
143065166ace0c42d7cde2fe880717b832fb2bc6 958b8dad3a302c84e9536fc88e4c57910d03cef6 Mark Seemann <mark@ploeh.dk> 1600778146 +0200	rebase -i (edit): Format only date for date strings
958b8dad3a302c84e9536fc88e4c57910d03cef6 804afc00a37b66c9b78e28ba6a01be1024591aaa Mark Seemann <mark@ploeh.dk> 1600778195 +0200	commit (amend): Format only date for date strings
804afc00a37b66c9b78e28ba6a01be1024591aaa 6e183edb7888cf00e7d02ab7ff42224d0eac400c Mark Seemann <mark@ploeh.dk> 1600778361 +0200	rebase -i (continue): Extract function to produce ISO 8601 string
6e183edb7888cf00e7d02ab7ff42224d0eac400c 1e1b11b874ac66c5e24c6d3694bac8e58b34c00e Mark Seemann <mark@ploeh.dk> 1600778450 +0200	rebase -i (edit): Refactor to UrlBuilder
1e1b11b874ac66c5e24c6d3694bac8e58b34c00e dbbc31ce480d5795d76f0f44f3cfa3c73d9ffd73 Mark Seemann <mark@ploeh.dk> 1600778574 +0200	commit (amend): Refactor to UrlBuilder
dbbc31ce480d5795d76f0f44f3cfa3c73d9ffd73 1f984f0bd1ce01b9300066cd1569f0fb0c840e18 Mark Seemann <mark@ploeh.dk> 1600778798 +0200	rebase -i (continue): Handle controller name without Controller suffix
1f984f0bd1ce01b9300066cd1569f0fb0c840e18 d53765de50477d838fe5f1b98fbca630445b1ca8 Mark Seemann <mark@ploeh.dk> 1600778886 +0200	rebase -i (pick): Use UrlBuilder for reservations link
d53765de50477d838fe5f1b98fbca630445b1ca8 839bc2570438a5548895d49de445e35d3f9ad840 Mark Seemann <mark@ploeh.dk> 1600778971 +0200	rebase -i (pick): Return Uri from UrlBuilder.BuildAbsolute
839bc2570438a5548895d49de445e35d3f9ad840 005f8ff458a6feb5c43d8af38bdad2931d284542 Mark Seemann <mark@ploeh.dk> 1600779056 +0200	rebase -i (edit): Use Link extension method
005f8ff458a6feb5c43d8af38bdad2931d284542 959e4c74ca03fc09989dd6e862df2a942aeb400a Mark Seemann <mark@ploeh.dk> 1600779113 +0200	commit (amend): Use Link extension method
959e4c74ca03fc09989dd6e862df2a942aeb400a 26fb041e3cd6db942030c1d205360a5aa0629ee3 Mark Seemann <mark@ploeh.dk> 1600779369 +0200	rebase -i (continue): Use named methods to define links
26fb041e3cd6db942030c1d205360a5aa0629ee3 c67aa765fa2f0f6d025b91390d06cb91004480b9 Mark Seemann <mark@ploeh.dk> 1600779458 +0200	rebase -i (pick): Use single value for current date
c67aa765fa2f0f6d025b91390d06cb91004480b9 4431c8f849d338e14a6a70fcc9362686851c6b49 Mark Seemann <mark@ploeh.dk> 1600779543 +0200	rebase -i (pick): Extract common builders
4431c8f849d338e14a6a70fcc9362686851c6b49 7e232fc89b50c7e5a550c8e1fa3f231c65bf7dc0 Mark Seemann <mark@ploeh.dk> 1600779629 +0200	rebase -i (pick): Rename to SelfHostedService
7e232fc89b50c7e5a550c8e1fa3f231c65bf7dc0 6c2292131436039b19d74c1a79eae789fb3b9680 Mark Seemann <mark@ploeh.dk> 1600779713 +0200	rebase -i (pick): Extract FindAddress helper method
6c2292131436039b19d74c1a79eae789fb3b9680 3eb1911f60c35db531834fec73bc0dd6cc9cfa7d Mark Seemann <mark@ploeh.dk> 1600779797 +0200	rebase -i (pick): Add links to calendar representations
3eb1911f60c35db531834fec73bc0dd6cc9cfa7d ad56ae074deb67dbac251b69a0244b46126b5727 Mark Seemann <mark@ploeh.dk> 1600779881 +0200	rebase -i (pick): Add navigation links to calendars
ad56ae074deb67dbac251b69a0244b46126b5727 7ff842035b887f3b74cd82fad78b832dca74f4b4 Mark Seemann <mark@ploeh.dk> 1600779966 +0200	rebase -i (edit): Populate previous and next calendar links
7ff842035b887f3b74cd82fad78b832dca74f4b4 8f4ba1315ebdda22e6840d390c0249f50671e138 Mark Seemann <mark@ploeh.dk> 1600780862 +0200	commit (amend): Populate previous and next calendar links
8f4ba1315ebdda22e6840d390c0249f50671e138 b85b4a87de6feeb25d59226bb432828ae7c04088 Mark Seemann <mark@ploeh.dk> 1600780958 +0200	rebase -i (pick): Refactor assertions of 'current' date
b85b4a87de6feeb25d59226bb432828ae7c04088 8ccebec4ef172aa3739a0e8a1c5c61c8baae2c42 Mark Seemann <mark@ploeh.dk> 1600781042 +0200	rebase -i (pick): Add next link to year calendar
8ccebec4ef172aa3739a0e8a1c5c61c8baae2c42 208aeb289fd7b2317c6b6bc70ff54e90cbdd05ca Mark Seemann <mark@ploeh.dk> 1600781128 +0200	rebase -i (pick): Add previous link to year calendar
208aeb289fd7b2317c6b6bc70ff54e90cbdd05ca 0a4d15a17667d8af31a046d7bd6b4e272c03d0f4 Mark Seemann <mark@ploeh.dk> 1600781213 +0200	rebase -i (pick): Add previous link to month calendar
0a4d15a17667d8af31a046d7bd6b4e272c03d0f4 f4f3289b13effcb5969d6e1304ae1f9f068252c3 Mark Seemann <mark@ploeh.dk> 1600781299 +0200	rebase -i (pick): Link to next month
f4f3289b13effcb5969d6e1304ae1f9f068252c3 df7f4d72c9d97e106f1327eb2f251490672d0a1c Mark Seemann <mark@ploeh.dk> 1600781387 +0200	rebase -i (pick): Link to previous day
df7f4d72c9d97e106f1327eb2f251490672d0a1c 7838a16a16eced38ba45ed3979aff5829788c6f1 Mark Seemann <mark@ploeh.dk> 1600781474 +0200	rebase -i (pick): Link to next day
7838a16a16eced38ba45ed3979aff5829788c6f1 0f780dedb9dab3c095e02077e9e1f64d8022a513 Mark Seemann <mark@ploeh.dk> 1600781563 +0200	rebase -i (pick): Navigate to specific years
0f780dedb9dab3c095e02077e9e1f64d8022a513 123186a3f175bc373ea74b873ad06dd15f622455 Mark Seemann <mark@ploeh.dk> 1600781649 +0200	rebase -i (pick): Navigate to specific months
123186a3f175bc373ea74b873ad06dd15f622455 2ff4447b1220a0d8e14526cdb50847d24883d18f Mark Seemann <mark@ploeh.dk> 1600781736 +0200	rebase -i (pick): Navigate to specific dates
2ff4447b1220a0d8e14526cdb50847d24883d18f 60cca0f6a0c0d46784ed8e4a102a20451d99b268 Mark Seemann <mark@ploeh.dk> 1600781828 +0200	rebase -i (pick): Use Link overloads that take a relationship type
60cca0f6a0c0d46784ed8e4a102a20451d99b268 65e02c5f8b5dad4431f9055f2372e3e5a4e4b830 Mark Seemann <mark@ploeh.dk> 1600781915 +0200	rebase -i (pick): Calculate year navigation via DateTime API
65e02c5f8b5dad4431f9055f2372e3e5a4e4b830 2dc361dd66e6cdf35e72cf96edcee8b70b330e45 Mark Seemann <mark@ploeh.dk> 1600782000 +0200	rebase -i (edit): Refactor AddLinks method
2dc361dd66e6cdf35e72cf96edcee8b70b330e45 e3c8122b9d57da21de524833355bc68cb02e2399 Mark Seemann <mark@ploeh.dk> 1600782096 +0200	commit (amend): Refactor AddLinks method
e3c8122b9d57da21de524833355bc68cb02e2399 9000b471b8157cd29520847c7266ef0a98d71d94 Mark Seemann <mark@ploeh.dk> 1600782333 +0200	rebase -i (continue): Add link to each day
9000b471b8157cd29520847c7266ef0a98d71d94 92ffdde725000b52d0b665a2ec0649bd395f9445 Mark Seemann <mark@ploeh.dk> 1600782421 +0200	rebase -i (pick): Optimise retrieval of single day calendar
92ffdde725000b52d0b665a2ec0649bd395f9445 5e58a41f520d5201b7220c1afb668038ef1c3517 Mark Seemann <mark@ploeh.dk> 1600782505 +0200	rebase -i (pick): Add month link to all days
5e58a41f520d5201b7220c1afb668038ef1c3517 c2d2f23eb73bb09d3cb0d28432fcccb7638ae8a5 Mark Seemann <mark@ploeh.dk> 1600782590 +0200	rebase -i (pick): Optimise month navigation
c2d2f23eb73bb09d3cb0d28432fcccb7638ae8a5 1a55e18507f1465bee369c4c82b84bbcfb0f2f4b Mark Seemann <mark@ploeh.dk> 1600782674 +0200	rebase -i (pick): Add year link to all days
1a55e18507f1465bee369c4c82b84bbcfb0f2f4b 84703089ac9861e7b50aac0324e0317894f50cae Mark Seemann <mark@ploeh.dk> 1600782759 +0200	rebase -i (pick): Simplify assertions
84703089ac9861e7b50aac0324e0317894f50cae 3d021390e6797d647631c03361b01897572effa2 Mark Seemann <mark@ploeh.dk> 1600782843 +0200	rebase -i (pick): Extract method to find address in links
3d021390e6797d647631c03361b01897572effa2 0718d320509f63f4aa7446822e2b8fed742f1540 Mark Seemann <mark@ploeh.dk> 1600782928 +0200	rebase -i (pick): Simplify finding a year
0718d320509f63f4aa7446822e2b8fed742f1540 3e3f0389e91102300ab569ec8bdf540fda48688d Mark Seemann <mark@ploeh.dk> 1600783013 +0200	rebase -i (pick): Inline client in SelfHostedService
3e3f0389e91102300ab569ec8bdf540fda48688d 75d1aee6015eeb25462ea47a0c408118efabef96 Mark Seemann <mark@ploeh.dk> 1600783097 +0200	rebase -i (pick): Rename test
75d1aee6015eeb25462ea47a0c408118efabef96 182272fbecc2f462f26a4d8cbec50891bdf7a5e9 Mark Seemann <mark@ploeh.dk> 1600783181 +0200	rebase -i (pick): Move home link generation to filter
182272fbecc2f462f26a4d8cbec50891bdf7a5e9 ab805f1b4080ec9e677f39e5a897a9baf4f3088a Mark Seemann <mark@ploeh.dk> 1600783266 +0200	rebase -i (pick): Remove [ApiController] attribute
ab805f1b4080ec9e677f39e5a897a9baf4f3088a 2fee28174955fcce2488ab3a6aee03b66e2b4bcf Mark Seemann <mark@ploeh.dk> 1600783351 +0200	rebase -i (pick): Don't render null values as JSON
2fee28174955fcce2488ab3a6aee03b66e2b4bcf 99cc26c7ef00f4682a94b43c502132d2f11253e3 Mark Seemann <mark@ploeh.dk> 1600783436 +0200	rebase -i (pick): Refactor Table to use Visitor
99cc26c7ef00f4682a94b43c502132d2f11253e3 ae0f4d235c8e66f54413ca1c1373ece0a303770c Mark Seemann <mark@ploeh.dk> 1600783521 +0200	rebase -i (pick): Change Reserve method to take a Reservation
ae0f4d235c8e66f54413ca1c1373ece0a303770c 96fa13a1d007cb6c73ab826ed69ef78ff8f8b1cb Mark Seemann <mark@ploeh.dk> 1600783606 +0200	rebase -i (pick): Add reservations to communal table
96fa13a1d007cb6c73ab826ed69ef78ff8f8b1cb 6221fa8c1f46561fb99cbaf067e5d2e662f03bda Mark Seemann <mark@ploeh.dk> 1600783691 +0200	rebase -i (pick): Associate reservation with communal table
6221fa8c1f46561fb99cbaf067e5d2e662f03bda fd905c5823b09d0a3041983267ceb55ae8fe4454 Mark Seemann <mark@ploeh.dk> 1600783776 +0200	rebase -i (pick): Associate reservation with standard table
fd905c5823b09d0a3041983267ceb55ae8fe4454 a38c68af9be07dcf9adf9da44e0433c7ddd47440 Mark Seemann <mark@ploeh.dk> 1600783860 +0200	rebase -i (pick): Remove WithSeats method
a38c68af9be07dcf9adf9da44e0433c7ddd47440 0623cb01517b4925c063c9be4264307a4670d825 Mark Seemann <mark@ploeh.dk> 1600783945 +0200	rebase -i (pick): Remove MaximumPartySize from DayDto
0623cb01517b4925c063c9be4264307a4670d825 f6ed977f502bf175234821c5e8741718eb22e598 Mark Seemann <mark@ploeh.dk> 1600784030 +0200	rebase -i (pick): Remove Table.Seats property
f6ed977f502bf175234821c5e8741718eb22e598 edbe3aa97acf403766e07646dbec0ab492123edc Mark Seemann <mark@ploeh.dk> 1600784115 +0200	rebase -i (pick): Remove check for table type from MaitreD
edbe3aa97acf403766e07646dbec0ab492123edc 62854a6df5b29121e29a4eef9d77a1272f72dc5a Mark Seemann <mark@ploeh.dk> 1600784199 +0200	rebase -i (pick): Rename variable
62854a6df5b29121e29a4eef9d77a1272f72dc5a aa94da50169af60ab42415458c5cba140ce65286 Mark Seemann <mark@ploeh.dk> 1600784285 +0200	rebase -i (pick): Remove IsStandard and IsCommunal flags
aa94da50169af60ab42415458c5cba140ce65286 1f4e478cef957f245b3fa579c239b98be1565b98 Mark Seemann <mark@ploeh.dk> 1600784373 +0200	rebase -i (pick): Remove Seats property from ITable
1f4e478cef957f245b3fa579c239b98be1565b98 7478b131e770a5b8ddb28671a756d9a14022c52a Mark Seemann <mark@ploeh.dk> 1600784462 +0200	rebase -i (edit): Introduce MaitreD.Schedule
7478b131e770a5b8ddb28671a756d9a14022c52a 84a96cdca25cdfdc709766222b125a0b4ccf6ff2 Mark Seemann <mark@ploeh.dk> 1600786886 +0200	commit (amend): Introduce MaitreD.Schedule
84a96cdca25cdfdc709766222b125a0b4ccf6ff2 16c7f6a0f5ffc6712557aa193667b7ab82e411c1 Mark Seemann <mark@ploeh.dk> 1600787186 +0200	rebase -i (continue): Return single occurrence from Schedule
16c7f6a0f5ffc6712557aa193667b7ab82e411c1 4e37d3016e18de072a2a5fdf3b63176e6a529089 Mark Seemann <mark@ploeh.dk> 1600787351 +0200	rebase -i (continue): Schedule occurrence for each distinct date
4e37d3016e18de072a2a5fdf3b63176e6a529089 fc5e2c82d37c0a46ee1957d0e93d41971db6edb5 Mark Seemann <mark@ploeh.dk> 1600787474 +0200	rebase -i (continue): Order occurrences
fc5e2c82d37c0a46ee1957d0e93d41971db6edb5 088186f3b69cbe226d0ee0223aae0de50914da62 Mark Seemann <mark@ploeh.dk> 1600787591 +0200	rebase -i (continue): Count the number of tables at each occurrence
088186f3b69cbe226d0ee0223aae0de50914da62 03b46a60b49c0ef15b00f33091658af60e417d45 Mark Seemann <mark@ploeh.dk> 1600787680 +0200	rebase -i (pick): Use configured tables when scheduling
03b46a60b49c0ef15b00f33091658af60e417d45 48446a841a1bdbbce31bad0d0c9eb20581c0d307 Mark Seemann <mark@ploeh.dk> 1600787767 +0200	rebase -i (pick): Generate MaitreD randomly
48446a841a1bdbbce31bad0d0c9eb20581c0d307 f15a7531f80f3be8840eb022e599d6c7843b9141 Mark Seemann <mark@ploeh.dk> 1600787852 +0200	rebase -i (pick): Allocate reservations at each occurrence
f15a7531f80f3be8840eb022e599d6c7843b9141 51c695a8df0d2eb85dd2087dd68a44e3f47fdf9c Mark Seemann <mark@ploeh.dk> 1600787938 +0200	rebase -i (pick): Make Seating class public
51c695a8df0d2eb85dd2087dd68a44e3f47fdf9c f1aa50b070217b35ed83ae7f3dd0549ef1936b6d Mark Seemann <mark@ploeh.dk> 1600788024 +0200	rebase -i (edit): Add Accept method to Table
f1aa50b070217b35ed83ae7f3dd0549ef1936b6d f8da2c07536d83a6e1d893c56e93eb0da1d18706 Mark Seemann <mark@ploeh.dk> 1600788058 +0200	commit (amend): Add Accept method to Table
f8da2c07536d83a6e1d893c56e93eb0da1d18706 0a69fc739855383248ddf6a596c21993db683427 Mark Seemann <mark@ploeh.dk> 1600788210 +0200	rebase -i (continue): Relax Seating
0a69fc739855383248ddf6a596c21993db683427 577b2b554db4044b7a57c2885cc778cc65f1807c Mark Seemann <mark@ploeh.dk> 1600788307 +0200	rebase -i (pick): Include overlapping reservations in each occurrenc
577b2b554db4044b7a57c2885cc778cc65f1807c 9c81faba26cbb53c07aa7c051253ca275ffe971d Mark Seemann <mark@ploeh.dk> 1600788415 +0200	commit (amend): Include overlapping reservations in each occurrenc
9c81faba26cbb53c07aa7c051253ca275ffe971d 7f703ac6c3a2d230f08a77388944f0ad8bd2a456 Mark Seemann <mark@ploeh.dk> 1600788420 +0200	rebase -i (edit): Add time slot entries to DayDto
7f703ac6c3a2d230f08a77388944f0ad8bd2a456 0a866c9fe4e235d767aea8612a53e7ab3cad1a48 Mark Seemann <mark@ploeh.dk> 1600788443 +0200	commit (amend): Add time slot entries to DayDto
0a866c9fe4e235d767aea8612a53e7ab3cad1a48 430c8584c35f87f39a1e4894da1f49a26168b591 Mark Seemann <mark@ploeh.dk> 1600788551 +0200	rebase -i (pick): Return MaximumPartySize
430c8584c35f87f39a1e4894da1f49a26168b591 226af8b54805557c7aaf96a50c7884d9241b8633 Mark Seemann <mark@ploeh.dk> 1600788636 +0200	rebase -i (pick): Add time of day to calendar time entries
226af8b54805557c7aaf96a50c7884d9241b8633 4e9a6325c192e8885dba1850122527f53d5ec532 Mark Seemann <mark@ploeh.dk> 1600788722 +0200	rebase -i (pick): Make CalendarController actions asynchronous
4e9a6325c192e8885dba1850122527f53d5ec532 c18f5a0d50ea85c63fbfc1df5ed7a63838964dfa Mark Seemann <mark@ploeh.dk> 1600788808 +0200	rebase -i (pick): Add ReadReservations overload to repository
c18f5a0d50ea85c63fbfc1df5ed7a63838964dfa 0d84ac34720f0592cec597b4a654f88abad8a780 Mark Seemann <mark@ploeh.dk> 1600789065 +0200	commit (amend): Add ReadReservations overload to repository
0d84ac34720f0592cec597b4a654f88abad8a780 6af150676e0e35fb87bf1df94c97fc812d58a673 Mark Seemann <mark@ploeh.dk> 1600789137 +0200	rebase -i (continue): Call new method instead of old
6af150676e0e35fb87bf1df94c97fc812d58a673 af6392cf165c1560a558e1e4da384a8058e312c8 Mark Seemann <mark@ploeh.dk> 1600789997 +0200	commit (amend): Call new method instead of old
af6392cf165c1560a558e1e4da384a8058e312c8 7ecb724bed322e8e732f0add6db706eb22c7f02e Mark Seemann <mark@ploeh.dk> 1600790054 +0200	rebase -i (continue): Move other call site over to new method
7ecb724bed322e8e732f0add6db706eb22c7f02e 074431a506dff342b898b614f419bf37167bae2a Mark Seemann <mark@ploeh.dk> 1600790236 +0200	rebase -i (continue): Extract helper method
074431a506dff342b898b614f419bf37167bae2a 1fc3e727721968961a9fc139dabb7ce8110decc9 Mark Seemann <mark@ploeh.dk> 1600790382 +0200	rebase -i (continue): Remove old method from repository interface
1fc3e727721968961a9fc139dabb7ce8110decc9 b772f4d5654dc84bd0325ed8f3acddf4156bc1ac Mark Seemann <mark@ploeh.dk> 1600790471 +0200	rebase -i (pick): Add RemainingSeats to Table class
b772f4d5654dc84bd0325ed8f3acddf4156bc1ac 9b253d6c1457ca9607b04934eb37435298d44407 Mark Seemann <mark@ploeh.dk> 1600790557 +0200	rebase -i (edit): Return schedule in day view
9b253d6c1457ca9607b04934eb37435298d44407 d998c534f00287dc382dbe7144bdae5821ef0b10 Mark Seemann <mark@ploeh.dk> 1600790636 +0200	commit (amend): Return schedule in day view
d998c534f00287dc382dbe7144bdae5821ef0b10 512bd9564f44fe7cd389bfefd9d9c863012493c1 Mark Seemann <mark@ploeh.dk> 1600790925 +0200	commit (amend): Return schedule in day view
512bd9564f44fe7cd389bfefd9d9c863012493c1 ca06b913c15a5e3548428b39961fa7effebe3797 Mark Seemann <mark@ploeh.dk> 1600791018 +0200	rebase -i (continue): Extract ReadReservations extension method
ca06b913c15a5e3548428b39961fa7effebe3797 cc32fb056876b63efdeb6b732a37ccf03ea498bb Mark Seemann <mark@ploeh.dk> 1600791177 +0200	rebase -i (continue): Extract FsCheck generators to separate file
cc32fb056876b63efdeb6b732a37ccf03ea498bb b525967c2e3012ae05325ea0b58a08321e2059be Mark Seemann <mark@ploeh.dk> 1600791266 +0200	rebase -i (pick): Rewrite Gen composition using query syntax
b525967c2e3012ae05325ea0b58a08321e2059be a831a308f47929e6b95b020e64ed0fc9ee2255ec Mark Seemann <mark@ploeh.dk> 1600791351 +0200	rebase -i (edit): Introduce MaitreD.Segment
a831a308f47929e6b95b020e64ed0fc9ee2255ec e0353ef2673a318dc13ae6174c19bd35a6d1a63f Mark Seemann <mark@ploeh.dk> 1600791384 +0200	commit (amend): Introduce MaitreD.Segment
e0353ef2673a318dc13ae6174c19bd35a6d1a63f 412ee8afa0d70d308b44308b033768a7fe597ad0 Mark Seemann <mark@ploeh.dk> 1600791591 +0200	commit (amend): Introduce MaitreD.Segment
412ee8afa0d70d308b44308b033768a7fe597ad0 59b0a516a7672bda2894ce5f57aef97e891b18e9 Mark Seemann <mark@ploeh.dk> 1600791601 +0200	rebase -i (pick): Return segment at opening hour
59b0a516a7672bda2894ce5f57aef97e891b18e9 bc356e323f3a3af3d78b43919d95f976b3fe61e4 Mark Seemann <mark@ploeh.dk> 1600791687 +0200	rebase -i (pick): Return segment at last seating time
bc356e323f3a3af3d78b43919d95f976b3fe61e4 023d65c2e74b10b8b13360d38a1f94cde5ea45bf Mark Seemann <mark@ploeh.dk> 1600791773 +0200	rebase -i (pick): Rerturn all 15-minute segments
023d65c2e74b10b8b13360d38a1f94cde5ea45bf feef2f26722535a7a2ba9209ab9888b11ac5dfc2 Mark Seemann <mark@ploeh.dk> 1600791859 +0200	rebase -i (pick): Return tables in each segment
feef2f26722535a7a2ba9209ab9888b11ac5dfc2 fd5c9aa84626f7c2091c7f0edf78fa3ecd92dcfe Mark Seemann <mark@ploeh.dk> 1600791945 +0200	rebase -i (pick): Allocate tables to each segment
fd5c9aa84626f7c2091c7f0edf78fa3ecd92dcfe 9e0daa0f9d9a4337c276e629836646dbd596d7f1 Mark Seemann <mark@ploeh.dk> 1600794027 +0200	commit (amend): Allocate tables to each segment
9e0daa0f9d9a4337c276e629836646dbd596d7f1 015aadd45030d057dc31533a316c5c50e1e5fa02 Mark Seemann <mark@ploeh.dk> 1600794073 +0200	rebase -i (continue): Display segments in day calendar
015aadd45030d057dc31533a316c5c50e1e5fa02 4c44822f2cf58d2671a25d9609e261c76174fd5f Mark Seemann <mark@ploeh.dk> 1600794164 +0200	rebase -i (pick): Return segments for all calendars
4c44822f2cf58d2671a25d9609e261c76174fd5f f8ba8380d9d2a094eef612213142e299becf7b25 Mark Seemann <mark@ploeh.dk> 1600794251 +0200	rebase -i (pick): Load all reservations for a month and segment them
f8ba8380d9d2a094eef612213142e299becf7b25 fa10994bcca73c32286a675619efd57180503bd8 Mark Seemann <mark@ploeh.dk> 1600794337 +0200	rebase -i (pick): Load all reservations for a year and segment them
fa10994bcca73c32286a675619efd57180503bd8 1c79fe511a00156a35e24a71d652037087eb68d9 Mark Seemann <mark@ploeh.dk> 1600794423 +0200	rebase -i (pick): Refactor calendars to work on period values
1c79fe511a00156a35e24a71d652037087eb68d9 116c598996e7a6b85d5af2ae60c898261d31d76d Mark Seemann <mark@ploeh.dk> 1600794508 +0200	rebase -i (pick): Extract helper method to make days
116c598996e7a6b85d5af2ae60c898261d31d76d 8571c811d55852573a1639c10cd62d770aaae75f Mark Seemann <mark@ploeh.dk> 1600794845 +0200	rebase -i (continue): Delete calendar flag
8571c811d55852573a1639c10cd62d770aaae75f da26f5852093d7e4f319b36ee8725ac565cc2b02 Mark Seemann <mark@ploeh.dk> 1600794937 +0200	rebase -i (pick): Add cache header on year calendar
da26f5852093d7e4f319b36ee8725ac565cc2b02 b80f3688ee8ab38fd4352db9301656b888f00e86 Mark Seemann <mark@ploeh.dk> 1600795022 +0200	rebase -i (pick): Update xunit.runner.visualstudio NuGet package
b80f3688ee8ab38fd4352db9301656b888f00e86 8a219427aa5d1f5eff6a57f8f08f28843d8de0d5 Mark Seemann <mark@ploeh.dk> 1600795108 +0200	rebase -i (pick): Update System.Data.SqlClient NuGet package
8a219427aa5d1f5eff6a57f8f08f28843d8de0d5 b10caeb719507355b92f3544729a8eff52beeb0d Mark Seemann <mark@ploeh.dk> 1600795195 +0200	rebase -i (pick): Update Microsoft.NET.Test.Sdk NuGet package
b10caeb719507355b92f3544729a8eff52beeb0d 2c73b6ca00bf3c46a17634b2cb825c3c7664efe0 Mark Seemann <mark@ploeh.dk> 1600795281 +0200	rebase -i (pick): Update coverlet.collector NuGet package
2c73b6ca00bf3c46a17634b2cb825c3c7664efe0 46d7cdea3417ad91c77f65755a3e5d56780782e3 Mark Seemann <mark@ploeh.dk> 1600795367 +0200	rebase -i (pick): Update Microsoft.AspNetCore.Mvc.Testing NuGet pkg
46d7cdea3417ad91c77f65755a3e5d56780782e3 b8dde4fdf5adeaed5cb18281322ef54dfe74513d Mark Seemann <mark@ploeh.dk> 1600795452 +0200	rebase -i (pick): Update Microsoft.CodeAnalysis.FxCopAnalyzers NuGet
b8dde4fdf5adeaed5cb18281322ef54dfe74513d 61f24ab7e4a85760f42e81f72a387d24c0d16b99 Mark Seemann <mark@ploeh.dk> 1600795542 +0200	rebase -i (pick): Rename test classes
61f24ab7e4a85760f42e81f72a387d24c0d16b99 0d5b13804b99e219eddae7580c3854c506261856 Mark Seemann <mark@ploeh.dk> 1600795627 +0200	rebase -i (pick): Add a schedule link to each day
0d5b13804b99e219eddae7580c3854c506261856 0d77d5140e14d826e5d1e613b27c9003796db3b2 Mark Seemann <mark@ploeh.dk> 1600795714 +0200	rebase -i (edit): Link to schedule resource
0d77d5140e14d826e5d1e613b27c9003796db3b2 646fecc4736ee7c6f372bbaee71adbc064da0881 Mark Seemann <mark@ploeh.dk> 1600797488 +0200	commit (amend): Link to schedule resource
646fecc4736ee7c6f372bbaee71adbc064da0881 b612fe20466c0a239e06ecef4a5dbf3867b722bb Mark Seemann <mark@ploeh.dk> 1600797585 +0200	rebase -i (pick): Change URL format for schedule resource
b612fe20466c0a239e06ecef4a5dbf3867b722bb b3c72bbd6a792fc2e9a7944b35b692f38495fecf Mark Seemann <mark@ploeh.dk> 1600797711 +0200	rebase -i (continue): Enable JWT-based authorization of schedule
b3c72bbd6a792fc2e9a7944b35b692f38495fecf c89ab75e21e2c416f6529289ffd1b07216c223d1 Mark Seemann <mark@ploeh.dk> 1600797802 +0200	rebase -i (pick): Extract ConfigureAuthorization helper method
c89ab75e21e2c416f6529289ffd1b07216c223d1 24607f7aef7fd4387ba156a4656ec80d648f1ec6 Mark Seemann <mark@ploeh.dk> 1600797890 +0200	rebase -i (pick): Read secret from appsettings.json
24607f7aef7fd4387ba156a4656ec80d648f1ec6 ce647fdc6adf9d2936e46f1090846ea7ece2d8c4 Mark Seemann <mark@ploeh.dk> 1600797978 +0200	rebase -i (pick): Return calendar from schedule resource
ce647fdc6adf9d2936e46f1090846ea7ece2d8c4 1d8e3017e7bcefc01cd9ee2baac00e7ab77a3cf6 Mark Seemann <mark@ploeh.dk> 1600798066 +0200	rebase -i (pick): Populate schedule date
1d8e3017e7bcefc01cd9ee2baac00e7ab77a3cf6 c382d0c930231d42bfcf584b9c96e8865d97936b Mark Seemann <mark@ploeh.dk> 1600798456 +0200	rebase -i (continue): Return schedule entries
c382d0c930231d42bfcf584b9c96e8865d97936b 5399636c77dfb6dd73d070b5fa791be3e23d84bb Mark Seemann <mark@ploeh.dk> 1600798548 +0200	rebase -i (pick): Return entries from schedule resource
5399636c77dfb6dd73d070b5fa791be3e23d84bb 5afee13b9838548abd80704fd4772615d5ff9d08 Mark Seemann <mark@ploeh.dk> 1600799161 +0200	commit (amend): Return entries from schedule resource
5afee13b9838548abd80704fd4772615d5ff9d08 e7d405989ae00eae18601b28100ab92124e7a421 Mark Seemann <mark@ploeh.dk> 1600799169 +0200	rebase -i (pick): Make MaximumPartySize an optional property
e7d405989ae00eae18601b28100ab92124e7a421 32c8ef5cd10b49de65e4caa3c4273dde8d8b1703 Mark Seemann <mark@ploeh.dk> 1600799309 +0200	rebase -i (continue): Return reservations in schedule resource
32c8ef5cd10b49de65e4caa3c4273dde8d8b1703 9f485493f03d0800174d000cdd9d814a50bae466 Mark Seemann <mark@ploeh.dk> 1600799401 +0200	rebase -i (edit): Made ReservationsVisitor a public class
9f485493f03d0800174d000cdd9d814a50bae466 d0e868a2ca4c71be69bd2028fd1ddf67b806f851 Mark Seemann <mark@ploeh.dk> 1600799630 +0200	commit (amend): Made ReservationsVisitor a public class
d0e868a2ca4c71be69bd2028fd1ddf67b806f851 3b38124ec41e63250f716e80a6bbf6e1c6a704f2 Mark Seemann <mark@ploeh.dk> 1600799722 +0200	rebase -i (pick): Make ReservationsVisitor a Singleton
3b38124ec41e63250f716e80a6bbf6e1c6a704f2 83ef2d39cd89e49a1cf98d4b9fec436fd90d9633 Mark Seemann <mark@ploeh.dk> 1600799810 +0200	rebase -i (pick): Extract MakeEntry helper method
83ef2d39cd89e49a1cf98d4b9fec436fd90d9633 92244c87465f6266a119a0d24f15d5540e4a5c67 Mark Seemann <mark@ploeh.dk> 1600799898 +0200	rebase -i (pick): Extract MakeCalendar helper method
92244c87465f6266a119a0d24f15d5540e4a5c67 af1a1d8b1626d4fd75dd0966267d8303b03ea5ca Mark Seemann <mark@ploeh.dk> 1600799986 +0200	rebase -i (pick): Move outlier dates a bit closer
af1a1d8b1626d4fd75dd0966267d8303b03ea5ca 8102e536890b794efe04ea91c27ad46923db059c Mark Seemann <mark@ploeh.dk> 1600800070 +0200	rebase -i (edit): Introduce SigningUrlHelper
8102e536890b794efe04ea91c27ad46923db059c cafaf74593e76db438b1e1177f8efd8fc825835a Mark Seemann <mark@ploeh.dk> 1600800095 +0200	commit (amend): Introduce SigningUrlHelper
cafaf74593e76db438b1e1177f8efd8fc825835a 1652c1a86020e70d8678a3ac0ec015477607efd8 Mark Seemann <mark@ploeh.dk> 1600800313 +0200	rebase -i (continue): Add signature query parameter to generated URLs
1652c1a86020e70d8678a3ac0ec015477607efd8 337d192bd6f3a26310fe29d5266d2293ac5062ce Mark Seemann <mark@ploeh.dk> 1600800404 +0200	rebase -i (pick): Sign links
337d192bd6f3a26310fe29d5266d2293ac5062ce 0e8ae7ce967d17fefa2132a450d8a03951a850bd Mark Seemann <mark@ploeh.dk> 1600800492 +0200	rebase -i (edit): Force clients to follow links
0e8ae7ce967d17fefa2132a450d8a03951a850bd 1949740d1fc542f8c2fa84799ae94ee6a6d0e7b2 Mark Seemann <mark@ploeh.dk> 1600800578 +0200	commit (amend): Force clients to follow links
1949740d1fc542f8c2fa84799ae94ee6a6d0e7b2 2e45f891b2c87a3665dcde0fc1ada54a8e7d8198 Mark Seemann <mark@ploeh.dk> 1600800682 +0200	rebase -i (pick): Extract IsGetHomeRequest helper method
2e45f891b2c87a3665dcde0fc1ada54a8e7d8198 d5d5fb65e3ddf69c59f57fcbeb32bff102e6117a Mark Seemann <mark@ploeh.dk> 1600800771 +0200	rebase -i (pick): Extract GetUrlWithoutSignature helper method
d5d5fb65e3ddf69c59f57fcbeb32bff102e6117a 33ca37fc94fc3ac88f2bbec8f6caf32846df2bb4 Mark Seemann <mark@ploeh.dk> 1600800861 +0200	rebase -i (pick): Add URL signing key as a dependency to filter
33ca37fc94fc3ac88f2bbec8f6caf32846df2bb4 3bd51a375dda6593409fa083cdf463e4dce007e6 Mark Seemann <mark@ploeh.dk> 1600800948 +0200	rebase -i (pick): Add URL signing key as dependency to URL helper
3bd51a375dda6593409fa083cdf463e4dce007e6 158b989606e662f4676cd1bdbf570d6871e72e85 Mark Seemann <mark@ploeh.dk> 1600801036 +0200	rebase -i (pick): Add URL signing key as dependency to URL factory
158b989606e662f4676cd1bdbf570d6871e72e85 0f7215948a0e92fa20ba53212f4f3f2cd6fa7f24 Mark Seemann <mark@ploeh.dk> 1600801123 +0200	rebase -i (pick): Move URL signing key to config file
0f7215948a0e92fa20ba53212f4f3f2cd6fa7f24 0b02eeac244f56be84539ef7ed89ac0aa9cb7bef Mark Seemann <mark@ploeh.dk> 1600801210 +0200	rebase -i (pick): Extract SignatureIsValid helper method
0b02eeac244f56be84539ef7ed89ac0aa9cb7bef 501adefefd037a799b6afc5a9719af1d58870366 Mark Seemann <mark@ploeh.dk> 1600801297 +0200	rebase -i (pick): Turn validity check around
501adefefd037a799b6afc5a9719af1d58870366 d927b7d6dbf6ba30982f23f71b8bd8ae78e05a43 Mark Seemann <mark@ploeh.dk> 1600801385 +0200	rebase -i (pick): Refactor Startup a bit
d927b7d6dbf6ba30982f23f71b8bd8ae78e05a43 1d8e6128462c4a19ee6f865c9e89f807621d052d Mark Seemann <mark@ploeh.dk> 1600802230 +0200	rebase -i (continue): Add restaurants array to home resource
1d8e6128462c4a19ee6f865c9e89f807621d052d 6fa09ad9f6bb715c13e829e795b6bf383fdb853e Mark Seemann <mark@ploeh.dk> 1600802394 +0200	rebase -i (continue): Give restaurants names
6fa09ad9f6bb715c13e829e795b6bf383fdb853e 7569c5244cccd439aecf2a525881a1bd11caf4d5 Mark Seemann <mark@ploeh.dk> 1600802486 +0200	rebase -i (pick): Add restaurant link
7569c5244cccd439aecf2a525881a1bd11caf4d5 958083bd51f458e627392e36a35f1050be13d543 Mark Seemann <mark@ploeh.dk> 1600802573 +0200	rebase -i (pick): Add URL to restaurant link
958083bd51f458e627392e36a35f1050be13d543 0e90f14cea589fa0791f2758026d13e4e338cf84 Mark Seemann <mark@ploeh.dk> 1600802723 +0200	rebase -i (continue): Rename Settings to Options
0e90f14cea589fa0791f2758026d13e4e338cf84 7d4196969f681a70f79b1d6cef9102d386eb77ee Mark Seemann <mark@ploeh.dk> 1600802814 +0200	rebase -i (edit): Enumerate restaurants
7d4196969f681a70f79b1d6cef9102d386eb77ee 066cfa70b8bc122efd3a7f3cfd57f2aabb26b189 Mark Seemann <mark@ploeh.dk> 1600802841 +0200	commit (amend): Enumerate restaurants
066cfa70b8bc122efd3a7f3cfd57f2aabb26b189 b500bb1921bf19f58109448f437d63009e2b152f Mark Seemann <mark@ploeh.dk> 1600802938 +0200	rebase -i (edit): Introduce RestaurantsController
b500bb1921bf19f58109448f437d63009e2b152f f4f79e72d16c9125851b75504ab5c0dcbce40e75 Mark Seemann <mark@ploeh.dk> 1600802994 +0200	commit (amend): Introduce RestaurantsController
f4f79e72d16c9125851b75504ab5c0dcbce40e75 f7a09ac2dc54840174bd72cc1f34d7fdb2834a8f Mark Seemann <mark@ploeh.dk> 1600803094 +0200	rebase -i (pick): Add links to restaurant representation
f7a09ac2dc54840174bd72cc1f34d7fdb2834a8f 1fc6ee28c0f464855cf4a7a82510ef96745be650 Mark Seemann <mark@ploeh.dk> 1600803182 +0200	rebase -i (edit): Inject a database into RestaurantsController
1fc6ee28c0f464855cf4a7a82510ef96745be650 8a4e4ee35b4d0fb1936b13e22b5b95e61c5fabdf Mark Seemann <mark@ploeh.dk> 1600803237 +0200	commit (amend): Inject a database into RestaurantsController
8a4e4ee35b4d0fb1936b13e22b5b95e61c5fabdf b113a3f21b103ce136d94cec7e80275cc331d080 Mark Seemann <mark@ploeh.dk> 1600803334 +0200	rebase -i (pick): Enumerate all restaurants
b113a3f21b103ce136d94cec7e80275cc331d080 6fb36f27e5230e1db7723175bc3dd9a78d565a23 Mark Seemann <mark@ploeh.dk> 1600803422 +0200	rebase -i (pick): Add lookup of ID based on restaurant name
6fb36f27e5230e1db7723175bc3dd9a78d565a23 113d3a359650348e0f0258774abf4a1c25bad200 Mark Seemann <mark@ploeh.dk> 1600803511 +0200	rebase -i (pick): Read restaurant configurations from appsettings
113d3a359650348e0f0258774abf4a1c25bad200 070a0605258fdf0869eb6ba5edcd2036c3e6e7c4 Mark Seemann <mark@ploeh.dk> 1600803711 +0200	rebase -i (continue): Add tenant column to database schema
070a0605258fdf0869eb6ba5edcd2036c3e6e7c4 67cda34eaef3eaf9274e059ca74f689b9c66275c Mark Seemann <mark@ploeh.dk> 1600803979 +0200	rebase -i (continue): Add Create overload taking restaurant ID to repo
67cda34eaef3eaf9274e059ca74f689b9c66275c bf9e235407076b0a0f95860f639a2d1b278ec3cd Mark Seemann <mark@ploeh.dk> 1600804072 +0200	rebase -i (pick): Remove Create method without restaurant ID
bf9e235407076b0a0f95860f639a2d1b278ec3cd f23b120cc4e0c797ba635017370240240e012c48 Mark Seemann <mark@ploeh.dk> 1600804224 +0200	rebase -i (continue): Remove legacy overload of Create
f23b120cc4e0c797ba635017370240240e012c48 9274b9342a7bdb4dc877b41809157de6067c356f Mark Seemann <mark@ploeh.dk> 1600804317 +0200	rebase -i (pick): Remove legacy overload of Create
9274b9342a7bdb4dc877b41809157de6067c356f a984321b7a0bea4c3a7e5eaaa128ebdd814f598b Mark Seemann <mark@ploeh.dk> 1600804402 +0200	rebase -i (pick): Add restaurant ID to reservations POST method
a984321b7a0bea4c3a7e5eaaa128ebdd814f598b 1ba3aae571c4462dce0c31278727c9237d597135 Mark Seemann <mark@ploeh.dk> 1600804829 +0200	rebase -i (continue): Add overload taking restaurant ID to Repository
1ba3aae571c4462dce0c31278727c9237d597135 72ed22ceea19f59a3d5c27df2455c99b1ace832a Mark Seemann <mark@ploeh.dk> 1600804921 +0200	rebase -i (pick): Add test cases to integration tests
72ed22ceea19f59a3d5c27df2455c99b1ace832a 1397e1a7344fa6185c1f46cde7bd92be610db16f Mark Seemann <mark@ploeh.dk> 1600836537 +0200	rebase -i (continue): Remove method without restaurant ID from Repo
1397e1a7344fa6185c1f46cde7bd92be610db16f 65dfb912cf0699b090e5d83cc82e5782b6b61c86 Mark Seemann <mark@ploeh.dk> 1600836637 +0200	rebase -i (pick): Remove legacy overload of ReadReservations
65dfb912cf0699b090e5d83cc82e5782b6b61c86 fc9d99979c8f79eb769e4aa7c22b7d0285313f15 Mark Seemann <mark@ploeh.dk> 1600836731 +0200	rebase -i (pick): Remove legacy overload of ReadReservations
fc9d99979c8f79eb769e4aa7c22b7d0285313f15 30e389174334d8e100ddf553b40d94e9c5858538 Mark Seemann <mark@ploeh.dk> 1600836821 +0200	rebase -i (pick): Add restaurant ID parameter to helper method
30e389174334d8e100ddf553b40d94e9c5858538 1d47805722ca45d7278c446b8746391cc06b177b Mark Seemann <mark@ploeh.dk> 1600837464 +0200	rebase -i (continue): Accept reservation to new restaurant
1d47805722ca45d7278c446b8746391cc06b177b e4540074cb7614ebc57adac472488afbb3767c34 Mark Seemann <mark@ploeh.dk> 1600837565 +0200	rebase -i (pick): Rename SelfHostedService to SelfHostedApi
e4540074cb7614ebc57adac472488afbb3767c34 0e93daba33f3a20b3dd7afef2213987f0d79f664 Mark Seemann <mark@ploeh.dk> 1600837656 +0200	rebase -i (pick): Separate legacy behaviour in its own class
0e93daba33f3a20b3dd7afef2213987f0d79f664 02f8ccffddd522279ccc26db7ab2d37f4e5d5eb3 Mark Seemann <mark@ploeh.dk> 1600837832 +0200	rebase -i (continue): Rename `service` variable to `api`
02f8ccffddd522279ccc26db7ab2d37f4e5d5eb3 e9ca4f7c1fd7399e40e5c3ed5754715c2f55ca99 Mark Seemann <mark@ploeh.dk> 1600837994 +0200	rebase -i (continue): Move test
e9ca4f7c1fd7399e40e5c3ed5754715c2f55ca99 56a6d622eddbe3bb74017ac32c74ba57b3267ff6 Mark Seemann <mark@ploeh.dk> 1600838089 +0200	rebase -i (pick): Use maitre d' for restaurant on new reservation
56a6d622eddbe3bb74017ac32c74ba57b3267ff6 1b7bd82b314b6ff833bfbfae2b9e4352d3e0b1a9 Mark Seemann <mark@ploeh.dk> 1600838375 +0200	commit (amend): Use maitre d' for restaurant on new reservation
1b7bd82b314b6ff833bfbfae2b9e4352d3e0b1a9 d8788c8f00272e7761785f24db948d207ff58fad Mark Seemann <mark@ploeh.dk> 1600838382 +0200	rebase -i (pick): Handle absent restaurant
d8788c8f00272e7761785f24db948d207ff58fad b8020b98171ec107ff2f27a6485c48733a0f7e13 Mark Seemann <mark@ploeh.dk> 1600838598 +0200	rebase -i (continue): Look up maitre d' for restaurant on PUT
b8020b98171ec107ff2f27a6485c48733a0f7e13 14bbcd4060c03815c3d33f496a9bf5013e0d3552 Mark Seemann <mark@ploeh.dk> 1600838697 +0200	rebase -i (pick): Check whether maitreD is null
14bbcd4060c03815c3d33f496a9bf5013e0d3552 67d748ee6e0f0149e9986d15fa7e0923979aaf05 Mark Seemann <mark@ploeh.dk> 1600838792 +0200	rebase -i (pick): Remove MaitreD depfrom ReservationsController
67d748ee6e0f0149e9986d15fa7e0923979aaf05 4589b9f84ffdfd2efefa27e1efab7398aa659184 Mark Seemann <mark@ploeh.dk> 1600838886 +0200	rebase -i (edit): Refactor restaurant options to Test Data Builder
4589b9f84ffdfd2efefa27e1efab7398aa659184 450dcb80fc677ed9eedf8c46b37e3b403999ae90 Mark Seemann <mark@ploeh.dk> 1600838976 +0200	commit (amend): Refactor restaurant options to Test Data Builder
450dcb80fc677ed9eedf8c46b37e3b403999ae90 7a155cc088584f71341128c9e65ae8f3592e1f2a Mark Seemann <mark@ploeh.dk> 1600839083 +0200	rebase -i (pick): Introduce explicit Grandfather Test Data Builder
7a155cc088584f71341128c9e65ae8f3592e1f2a 5e00d600cbdf9601006609acea3a454379364d7b Mark Seemann <mark@ploeh.dk> 1600839174 +0200	rebase -i (pick): Use appropriate maitre d' per restaurant
5e00d600cbdf9601006609acea3a454379364d7b 9e01de6099702b2273123ab7b124d7340fd673b1 Mark Seemann <mark@ploeh.dk> 1600839268 +0200	rebase -i (pick): Return 404 Not Found on absent restaurant
9e01de6099702b2273123ab7b124d7340fd673b1 1ca1cccd024b8a91cd1aeb40a2fc5e190621185c Mark Seemann <mark@ploeh.dk> 1600839362 +0200	rebase -i (pick): Remove MaitreD dependency from CalendarController
1ca1cccd024b8a91cd1aeb40a2fc5e190621185c 7dfdab2b6fa9f2ddf4e0ecc429364e815b417249 Mark Seemann <mark@ploeh.dk> 1600839456 +0200	rebase -i (pick): Return name in schedule representation
7dfdab2b6fa9f2ddf4e0ecc429364e815b417249 25c91e2a678696f7982354035b33a77885c3e093 Mark Seemann <mark@ploeh.dk> 1600839551 +0200	rebase -i (pick): Read reservations for correct restaurant
25c91e2a678696f7982354035b33a77885c3e093 4449ca42ed0b1c53dd1fcba39d1554d62827ddc5 Mark Seemann <mark@ploeh.dk> 1600839892 +0200	commit (amend): Read reservations for correct restaurant
4449ca42ed0b1c53dd1fcba39d1554d62827ddc5 8d1124a52ee7143e31b8c566cd3a9cd1557d9c37 Mark Seemann <mark@ploeh.dk> 1600839899 +0200	rebase -i (pick): Use maitre d' for correct restaurant in schedule
8d1124a52ee7143e31b8c566cd3a9cd1557d9c37 2046a9eea1a670cd877544dfa926909fa1a22892 Mark Seemann <mark@ploeh.dk> 1600840194 +0200	commit (amend): Use maitre d' for correct restaurant in schedule
2046a9eea1a670cd877544dfa926909fa1a22892 ec85a38bbd4e3a93256d224bb59ba1d35d13d732 Mark Seemann <mark@ploeh.dk> 1600840202 +0200	rebase -i (pick): Return 404 Not Found on absent restaurant
ec85a38bbd4e3a93256d224bb59ba1d35d13d732 f574c50cc4767ebf42a65c523a3091ea38e11c99 Mark Seemann <mark@ploeh.dk> 1600840296 +0200	rebase -i (pick): Remove maitreD dependency from ScheduleController
f574c50cc4767ebf42a65c523a3091ea38e11c99 e25c87f281641b000909d3a256b931e8f5331971 Mark Seemann <mark@ploeh.dk> 1600840390 +0200	rebase -i (edit): Check authorisation for particular restaurant
e25c87f281641b000909d3a256b931e8f5331971 80708907c8f1af4c1ef891eaefedabed6da520cb Mark Seemann <mark@ploeh.dk> 1600840440 +0200	commit (amend): Check authorisation for particular restaurant
80708907c8f1af4c1ef891eaefedabed6da520cb 991cf277b32577405d9774c2390b3064a5d2def6 Mark Seemann <mark@ploeh.dk> 1600840556 +0200	rebase -i (pick): Clean up URL templates
991cf277b32577405d9774c2390b3064a5d2def6 a581921e820a90f26a666b9afc852d12e1ff5bc5 Mark Seemann <mark@ploeh.dk> 1600840652 +0200	rebase -i (pick): Add tests of bookmarks
a581921e820a90f26a666b9afc852d12e1ff5bc5 45c82cad2c8a275e71d647208b729acb4e032c12 Mark Seemann <mark@ploeh.dk> 1600840931 +0200	rebase -i (continue): Redirect clients from legacy URLs
45c82cad2c8a275e71d647208b729acb4e032c12 a8dde561f563828c211779e22a241f8d831d40ba Mark Seemann <mark@ploeh.dk> 1600841083 +0200	rebase -i (continue): Decouple API client behaviour from self-host
a8dde561f563828c211779e22a241f8d831d40ba bc3cec0f74767a0fac2fa9b345d5dbaea1571605 Mark Seemann <mark@ploeh.dk> 1600841179 +0200	rebase -i (pick): Add Authorize extension method
bc3cec0f74767a0fac2fa9b345d5dbaea1571605 a7e7fb0212cf6a0a82fb89106e5a4fb8ce21a124 Mark Seemann <mark@ploeh.dk> 1600841270 +0200	rebase -i (edit): Introduce JwtTokenGenerator
a7e7fb0212cf6a0a82fb89106e5a4fb8ce21a124 934ec7a49e76cc9814ae2ad023f50286c12d2388 Mark Seemann <mark@ploeh.dk> 1600841298 +0200	commit (amend): Introduce JwtTokenGenerator
934ec7a49e76cc9814ae2ad023f50286c12d2388 9006bcf02e55f66020fff6a88dd49655ce6c9238 Mark Seemann <mark@ploeh.dk> 1600841398 +0200	rebase -i (pick): Remove AuthorizeClient mutating helper method
9006bcf02e55f66020fff6a88dd49655ce6c9238 331029eb8016ec4ff39c21a70457c0ce4ea527a2 Mark Seemann <mark@ploeh.dk> 1600841489 +0200	rebase -i (pick): Add test for requesting schedule with bogus roles
331029eb8016ec4ff39c21a70457c0ce4ea527a2 7e33f42b197f183c73d98e3e37956ec141b730bb Mark Seemann <mark@ploeh.dk> 1600841580 +0200	rebase -i (pick): Move [Authorize] attribute to class declaration
7e33f42b197f183c73d98e3e37956ec141b730bb 6caebf32ad8a8d131ad80e586a758d870c4441e1 Mark Seemann <mark@ploeh.dk> 1600841675 +0200	rebase -i (pick): Add [Obsolete] attributes on legacy methods
6caebf32ad8a8d131ad80e586a758d870c4441e1 2d41250bc8cd21b6bf04eda340583bc3795d8eae Mark Seemann <mark@ploeh.dk> 1600841768 +0200	rebase -i (pick): Renamed legacy Get methods
2d41250bc8cd21b6bf04eda340583bc3795d8eae 0b376f2606c1977e92e23b8af7a47b1a96f28cb2 Mark Seemann <mark@ploeh.dk> 1600841863 +0200	rebase -i (pick): Renamed GetYear/Month/Day to Get
0b376f2606c1977e92e23b8af7a47b1a96f28cb2 42742fdae2afcb913010c8b55c837e799fb5bc9e Mark Seemann <mark@ploeh.dk> 1600841957 +0200	rebase -i (pick): Change failed ACL check to 403 Forbidden
42742fdae2afcb913010c8b55c837e799fb5bc9e d14dfb4dfc27dbb951c471d236cb83f5331f6fc9 Mark Seemann <mark@ploeh.dk> 1600842052 +0200	rebase -i (edit): Add LoggingReservationsRepository
d14dfb4dfc27dbb951c471d236cb83f5331f6fc9 4944f2992687aa130b369983fdd2caf2a56672b1 Mark Seemann <mark@ploeh.dk> 1600842197 +0200	commit (amend): Add LoggingReservationsRepository
4944f2992687aa130b369983fdd2caf2a56672b1 03d603118d9e2d3f1eb98e8d17856ecd0b5c493f Mark Seemann <mark@ploeh.dk> 1600842301 +0200	rebase -i (pick): Flesh out LoggingReservationsRepository
03d603118d9e2d3f1eb98e8d17856ecd0b5c493f 93027cd21f40219724d6ee2dbb9c5f1ccc46de7c Mark Seemann <mark@ploeh.dk> 1600842394 +0200	rebase -i (edit): Add LoggingPostOffice
93027cd21f40219724d6ee2dbb9c5f1ccc46de7c d892da0a2d09669253d71256a78610fd9a9690bf Mark Seemann <mark@ploeh.dk> 1600842463 +0200	commit (amend): Add LoggingPostOffice
d892da0a2d09669253d71256a78610fd9a9690bf 7ce536600a5068641d765ea5c1d587b2917ed8c5 Mark Seemann <mark@ploeh.dk> 1600842563 +0200	rebase -i (edit): Add IClock and implementations
7ce536600a5068641d765ea5c1d587b2917ed8c5 21fdecf684727084a195daee66383df575b5f82e Mark Seemann <mark@ploeh.dk> 1600842625 +0200	commit (amend): Add IClock and implementations
21fdecf684727084a195daee66383df575b5f82e 2c8aeadc11bba8b6e68c966dfb9d10207afaf386 Mark Seemann <mark@ploeh.dk> 1600842733 +0200	rebase -i (pick): Correct some bugs in the loggers
2c8aeadc11bba8b6e68c966dfb9d10207afaf386 9d00344725c6b3e9158d0cc177109f78c1eccada Mark Seemann <mark@ploeh.dk> 1600842827 +0200	rebase -i (pick): Serialise objects to log
9d00344725c6b3e9158d0cc177109f78c1eccada 423f025c6ec57760df4ca573509f308a5f1049d0 Mark Seemann <mark@ploeh.dk> 1600842922 +0200	rebase -i (pick): Add restaurant ID to IPostOffice methods
423f025c6ec57760df4ca573509f308a5f1049d0 7faaef16fe75ee708342a15ded728b8d95e15c85 Mark Seemann <mark@ploeh.dk> 1600843017 +0200	rebase -i (pick): Consolidate xunit.runner.visualstudio versions
7faaef16fe75ee708342a15ded728b8d95e15c85 ae77aca2c702e6e39e875fe86cb825aae6720922 Mark Seemann <mark@ploeh.dk> 1600843111 +0200	rebase -i (pick): Consolidate Microsoft.NET.Test.Sdk NuGet versions
ae77aca2c702e6e39e875fe86cb825aae6720922 b6e3dfbb08d3b9a6c71935d1367dd28806321128 Mark Seemann <mark@ploeh.dk> 1600843206 +0200	rebase -i (pick): Consolidate coverlet.collector NuGet versions
b6e3dfbb08d3b9a6c71935d1367dd28806321128 f16a99cfef9b0f0a25ebd414d081036cffeee703 Mark Seemann <mark@ploeh.dk> 1600843304 +0200	rebase -i (pick): Consolidate Microsoft.CodeAnalysis.FxCopAnalyzers
f16a99cfef9b0f0a25ebd414d081036cffeee703 7f97b682f0c6a3be0e614651c2c6b3abe9f5785d Mark Seemann <mark@ploeh.dk> 1600843399 +0200	rebase -i (pick): Update Microsoft.AspNetCore.Mvc.Testing NuGet pkg
7f97b682f0c6a3be0e614651c2c6b3abe9f5785d 5635bd70b0db782dd622fc0b34592d46700d7ec7 Mark Seemann <mark@ploeh.dk> 1600843492 +0200	rebase -i (pick): Upd Microsoft.AspNetCore.Authentication.JwtBearer
5635bd70b0db782dd622fc0b34592d46700d7ec7 885bf7edb180c2acf1c2a0aef7eb8433a68ab5e0 Mark Seemann <mark@ploeh.dk> 1600843749 +0200	rebase -i (continue): Move const string out of method body
885bf7edb180c2acf1c2a0aef7eb8433a68ab5e0 035c60feaeb6504197fcd1a293fd6029e65a0ab1 Mark Seemann <mark@ploeh.dk> 1600844258 +0200	commit (amend): Move const string out of method body
035c60feaeb6504197fcd1a293fd6029e65a0ab1 2b27af621c5007f0e200b1bc69f6261c5aa7f541 Mark Seemann <mark@ploeh.dk> 1600844317 +0200	rebase -i (continue): Read PublicId from reader
2b27af621c5007f0e200b1bc69f6261c5aa7f541 967a0001eb0f71dc561cdcd4251689640f2ceff2 Mark Seemann <mark@ploeh.dk> 1600846411 +0200	rebase -i (continue): Extract ReadReservationRow helper method
967a0001eb0f71dc561cdcd4251689640f2ceff2 e710009c090fe98f76f8605517901a3ee50e9eee Mark Seemann <mark@ploeh.dk> 1600846710 +0200	rebase -i (continue): Rename namespaces
e710009c090fe98f76f8605517901a3ee50e9eee 87c4a34ea075a4fdc093fed1742f7327656c0927 Mark Seemann <mark@ploeh.dk> 1600846808 +0200	rebase -i (edit): Introduce Restaurant class
87c4a34ea075a4fdc093fed1742f7327656c0927 00de5b27d1964720be3caee9765c476eed777cf8 Mark Seemann <mark@ploeh.dk> 1600848378 +0200	commit (amend): Introduce Restaurant class
00de5b27d1964720be3caee9765c476eed777cf8 4f595637979f18cd0b40b22ccf056ee7508db00a Mark Seemann <mark@ploeh.dk> 1600848483 +0200	rebase -i (pick): Add GetRestaurant method to restaurant database
4f595637979f18cd0b40b22ccf056ee7508db00a e0ac57ecb389ab2399828d44a405aaed65b8adfa Mark Seemann <mark@ploeh.dk> 1600848576 +0200	rebase -i (pick): Call GetRestaurant from Controller
e0ac57ecb389ab2399828d44a405aaed65b8adfa d558f24f97a3a5ff078b666b0d16038c5312f253 Mark Seemann <mark@ploeh.dk> 1600848668 +0200	rebase -i (pick): Call GetRestaurant from Controller
d558f24f97a3a5ff078b666b0d16038c5312f253 5b4256db406293d29eeab9248a41dee4ba1dd6fb Mark Seemann <mark@ploeh.dk> 1600848760 +0200	rebase -i (pick): Call GetRestaurant from Controller
5b4256db406293d29eeab9248a41dee4ba1dd6fb 5e1a401f6e86ad0763fafd28a02d833d247c1f70 Mark Seemann <mark@ploeh.dk> 1600848853 +0200	rebase -i (pick): Replace restaurntId parameter with restaurant
5e1a401f6e86ad0763fafd28a02d833d247c1f70 2b6a7acc22ce84f1f5f8bcef273eb741cb31c06d Mark Seemann <mark@ploeh.dk> 1600848945 +0200	rebase -i (pick): Remove redundant method parameter
2b6a7acc22ce84f1f5f8bcef273eb741cb31c06d ec1fadaf5c9d1b5a1a32d3d2596ec4ea020cf506 Mark Seemann <mark@ploeh.dk> 1600849037 +0200	rebase -i (pick): Call GetRestaurant from Controller
ec1fadaf5c9d1b5a1a32d3d2596ec4ea020cf506 101b1fc607ca8d637aa3142bc56095a1286081e3 Mark Seemann <mark@ploeh.dk> 1600849129 +0200	rebase -i (pick): Call GetRestaurant from Controller
101b1fc607ca8d637aa3142bc56095a1286081e3 a10fa6ad5821720452f528a799fd5abb81c31826 Mark Seemann <mark@ploeh.dk> 1600849221 +0200	rebase -i (pick): Call GetRestaurant from Controller
a10fa6ad5821720452f528a799fd5abb81c31826 5fd8bf6b425d1259c288e10090f675ed6f5b94c0 Mark Seemann <mark@ploeh.dk> 1600849313 +0200	rebase -i (pick): Remove a null-analysis repression operator (!)
5fd8bf6b425d1259c288e10090f675ed6f5b94c0 bf155131e834e279c236fabc0d7a14766e73faf1 Mark Seemann <mark@ploeh.dk> 1600849405 +0200	rebase -i (pick): Unwrapped some arguments
bf155131e834e279c236fabc0d7a14766e73faf1 2fba5f3c01b5b9b833edac0b49d8c4efd0ba02da Mark Seemann <mark@ploeh.dk> 1600849496 +0200	rebase -i (pick): Use GetRestaurant in tests instead of GetMaitreD
2fba5f3c01b5b9b833edac0b49d8c4efd0ba02da f794de3321f07920cfb6a4925fc3c06078865458 Mark Seemann <mark@ploeh.dk> 1600849587 +0200	rebase -i (pick): Delete GetMaitreD method
f794de3321f07920cfb6a4925fc3c06078865458 20850ee8cd7ea608e50b75fe514507674fd789b4 Mark Seemann <mark@ploeh.dk> 1600849679 +0200	rebase -i (pick): Use GetRestaurant instead of GetName
20850ee8cd7ea608e50b75fe514507674fd789b4 7cbb854f2aa523a8a802f49ac0ee29e289e6f274 Mark Seemann <mark@ploeh.dk> 1600849775 +0200	rebase -i (pick): Use GetRestaurant instead of GetName
7cbb854f2aa523a8a802f49ac0ee29e289e6f274 9488cfd355cdfe624c819230088b1194417494f2 Mark Seemann <mark@ploeh.dk> 1600849871 +0200	rebase -i (pick): Use GetRestaurant instead of GetName
9488cfd355cdfe624c819230088b1194417494f2 6b20847aa371a069944a7a547e6ed4becfb20ebe Mark Seemann <mark@ploeh.dk> 1600849964 +0200	rebase -i (pick): Use GetRestaurant instead of GetName
6b20847aa371a069944a7a547e6ed4becfb20ebe eef554374be5ee84d6e1c85de13813b7c7b6b4d8 Mark Seemann <mark@ploeh.dk> 1600850055 +0200	rebase -i (pick): Use GetRestaurant instead of GetName
eef554374be5ee84d6e1c85de13813b7c7b6b4d8 c8d0d0c964bc63f50c38f35d6bd010f1e6e7f2b5 Mark Seemann <mark@ploeh.dk> 1600850147 +0200	rebase -i (pick): Delete GetName method from interface
c8d0d0c964bc63f50c38f35d6bd010f1e6e7f2b5 38c8a311d435e4c7ea345a7f9e95256e36cd7c4f Mark Seemann <mark@ploeh.dk> 1600850239 +0200	rebase -i (pick): Add GetRestaurant overload to interface
38c8a311d435e4c7ea345a7f9e95256e36cd7c4f ce0e4fa3b9a500aa9233a16de21bf813816a3aea Mark Seemann <mark@ploeh.dk> 1600850330 +0200	rebase -i (pick): Replace call to GetId with GetRestaurant
ce0e4fa3b9a500aa9233a16de21bf813816a3aea 3a7265102125cdd99c20e5edd4161d3dfc083299 Mark Seemann <mark@ploeh.dk> 1600850422 +0200	rebase -i (pick): Replace call to GetId with GetRestaurant
3a7265102125cdd99c20e5edd4161d3dfc083299 45c370023ae6af66ccef4b415646f7a63baccd27 Mark Seemann <mark@ploeh.dk> 1600850514 +0200	rebase -i (pick): Delete GetId method from interface
45c370023ae6af66ccef4b415646f7a63baccd27 ee1fb9ce90c8e156250719d2ac88a4912116259b Mark Seemann <mark@ploeh.dk> 1600850605 +0200	rebase -i (pick): Introduce GetAll method on interface
ee1fb9ce90c8e156250719d2ac88a4912116259b 329579b4cc8db2582d6072cf97e27cd1bfd2113e Mark Seemann <mark@ploeh.dk> 1600850697 +0200	rebase -i (pick): Use GetAll instead of GetAllNames
329579b4cc8db2582d6072cf97e27cd1bfd2113e a97b4ff76b619fc10acf347f40372478deff4945 Mark Seemann <mark@ploeh.dk> 1600850789 +0200	rebase -i (pick): Delete GetAllNames method from interface
a97b4ff76b619fc10acf347f40372478deff4945 18a2de30431fddad7ac449d4199b112bdd5c10a3 Mark Seemann <mark@ploeh.dk> 1600850885 +0200	rebase -i (pick): Make ToMaitreD method private
18a2de30431fddad7ac449d4199b112bdd5c10a3 6e209d0868e7166768718672ca7ae24fe8baa12d Mark Seemann <mark@ploeh.dk> 1600850981 +0200	rebase -i (pick): Move ToMaitreD method
6e209d0868e7166768718672ca7ae24fe8baa12d f45260c5efd17e753683c6ba606e7ed072888ba0 Mark Seemann <mark@ploeh.dk> 1600851076 +0200	rebase -i (edit): Add InMemoryRestaurantDatabase
f45260c5efd17e753683c6ba606e7ed072888ba0 e17cd6d6c9dd212c71823da04df490f0dc1cbe8c Mark Seemann <mark@ploeh.dk> 1600854112 +0200	commit (amend): Add InMemoryRestaurantDatabase
e17cd6d6c9dd212c71823da04df490f0dc1cbe8c 9da7fafe009e00f0fd717a5e77b00c6a59af76f0 Mark Seemann <mark@ploeh.dk> 1600854218 +0200	rebase -i (pick): Configure services to use InMemoryRestaurantDB
9da7fafe009e00f0fd717a5e77b00c6a59af76f0 46e7d5687dfdf6ff48f67c0fb9b7b20782236eb6 Mark Seemann <mark@ploeh.dk> 1600854310 +0200	rebase -i (edit): Use InMemoryRestaurantDatabase in a test
46e7d5687dfdf6ff48f67c0fb9b7b20782236eb6 506d0f34e2b600c6be10bfbf32c30a9d99a53ae8 Mark Seemann <mark@ploeh.dk> 1600856632 +0200	commit (amend): Use InMemoryRestaurantDatabase in a test
506d0f34e2b600c6be10bfbf32c30a9d99a53ae8 96fcd684501ec5fa8eb5ad1a176f4bcfd4bc7e9f Mark Seemann <mark@ploeh.dk> 1600856738 +0200	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
96fcd684501ec5fa8eb5ad1a176f4bcfd4bc7e9f fdf57079aa5aac0d270283df240fb71ce05913fd Mark Seemann <mark@ploeh.dk> 1600856830 +0200	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
fdf57079aa5aac0d270283df240fb71ce05913fd 5fa47b7450471f22cf15d2de5600e794e3e3ce31 Mark Seemann <mark@ploeh.dk> 1600856921 +0200	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
5fa47b7450471f22cf15d2de5600e794e3e3ce31 baf5bddfdfe86a6c55acdd2984bf7d193b338cf7 Mark Seemann <mark@ploeh.dk> 1600857013 +0200	rebase -i (pick): Use more compact restaurant configuration code
baf5bddfdfe86a6c55acdd2984bf7d193b338cf7 92965530a1cada73b3884744a213ae0a42ca511f Mark Seemann <mark@ploeh.dk> 1600857105 +0200	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
92965530a1cada73b3884744a213ae0a42ca511f 7cf63293db7dd4cc2f5efca9e8891a597d322b0a Mark Seemann <mark@ploeh.dk> 1600857196 +0200	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
7cf63293db7dd4cc2f5efca9e8891a597d322b0a 83d38ecac1a83d264e491828e091cf86d67f1b97 Mark Seemann <mark@ploeh.dk> 1600857290 +0200	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
83d38ecac1a83d264e491828e091cf86d67f1b97 56a653f2f278d2d55a728d73af02e8ed816fdd42 Mark Seemann <mark@ploeh.dk> 1600857382 +0200	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
56a653f2f278d2d55a728d73af02e8ed816fdd42 a91333b4a2ae81fefd59236a4c318264351b4f72 Mark Seemann <mark@ploeh.dk> 1600857473 +0200	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
a91333b4a2ae81fefd59236a4c318264351b4f72 1f239b0792e28bfa1bc783f4d54f621c3a00df9b Mark Seemann <mark@ploeh.dk> 1600857565 +0200	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
1f239b0792e28bfa1bc783f4d54f621c3a00df9b ca4feaf30e922c0ba0a0484ac37f669f0c7d05dd Mark Seemann <mark@ploeh.dk> 1600857660 +0200	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
ca4feaf30e922c0ba0a0484ac37f669f0c7d05dd 9e269132677d34b829645c971e99b4635a5ee2f8 Mark Seemann <mark@ploeh.dk> 1600857755 +0200	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
9e269132677d34b829645c971e99b4635a5ee2f8 195de423adfe9e208c33a37d7d65b344ef25bd2c Mark Seemann <mark@ploeh.dk> 1600857849 +0200	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
195de423adfe9e208c33a37d7d65b344ef25bd2c d28e0947bbeeb32626d30260f589e5dd6236405b Mark Seemann <mark@ploeh.dk> 1600857944 +0200	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
d28e0947bbeeb32626d30260f589e5dd6236405b 7304f6d6a3b9d4f55fd82906c864ed6196e3d87e Mark Seemann <mark@ploeh.dk> 1600858039 +0200	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
7304f6d6a3b9d4f55fd82906c864ed6196e3d87e 18d9973a34f56a5055abce716740fbb7876db3fc Mark Seemann <mark@ploeh.dk> 1600858133 +0200	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
18d9973a34f56a5055abce716740fbb7876db3fc c0896da77e1e0c5607d4f84eb686cfeac9dc34e6 Mark Seemann <mark@ploeh.dk> 1600858228 +0200	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
c0896da77e1e0c5607d4f84eb686cfeac9dc34e6 e78b49282638a988a863db55bb3c2d7ce665ce59 Mark Seemann <mark@ploeh.dk> 1600858323 +0200	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
e78b49282638a988a863db55bb3c2d7ce665ce59 69ca4da7d4af5fc91d9d76724492d0785950b30a Mark Seemann <mark@ploeh.dk> 1600858416 +0200	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
69ca4da7d4af5fc91d9d76724492d0785950b30a 525437a27c2848a7e2986074ce91e3b12f75619b Mark Seemann <mark@ploeh.dk> 1600858508 +0200	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
525437a27c2848a7e2986074ce91e3b12f75619b 3931c7da48afbd8cfb67de8400ba6fc8852bed2c Mark Seemann <mark@ploeh.dk> 1600858599 +0200	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
3931c7da48afbd8cfb67de8400ba6fc8852bed2c 00b8c9d2ead4537a40b996b3b87c98d2123dd4e7 Mark Seemann <mark@ploeh.dk> 1600858691 +0200	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
00b8c9d2ead4537a40b996b3b87c98d2123dd4e7 f19102ca4da026563afde4d41b480ad1818a6b23 Mark Seemann <mark@ploeh.dk> 1600858782 +0200	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
f19102ca4da026563afde4d41b480ad1818a6b23 f696ac2792da62a138028c61fa5e93f116d88f90 Mark Seemann <mark@ploeh.dk> 1600858874 +0200	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
f696ac2792da62a138028c61fa5e93f116d88f90 b3c29bfeadcdc61ff1bf6738b5bd92fe21801665 Mark Seemann <mark@ploeh.dk> 1600858976 +0200	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
b3c29bfeadcdc61ff1bf6738b5bd92fe21801665 ca9924a8163ef01bede4dd9cf6c0d8a658b91b47 Mark Seemann <mark@ploeh.dk> 1600859082 +0200	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
ca9924a8163ef01bede4dd9cf6c0d8a658b91b47 caf5c22f17ddefd6c82e5b645631983c33634ba0 Mark Seemann <mark@ploeh.dk> 1600860916 +0200	rebase -i (continue): Delete OptionsRestaurantDatabase
caf5c22f17ddefd6c82e5b645631983c33634ba0 8ad7edd32f3b205e65727a77bc554be2bf8a6e54 Mark Seemann <mark@ploeh.dk> 1600861946 +0200	rebase -i (continue): Delete redundant Test Data Builders
8ad7edd32f3b205e65727a77bc554be2bf8a6e54 369ffe4d41d6800b24576152a68c30932e51b6f2 Mark Seemann <mark@ploeh.dk> 1600862178 +0200	rebase -i (continue): Extract TryUpdate helper method
369ffe4d41d6800b24576152a68c30932e51b6f2 a5d38349e0cd8d520927f9e53235588633c29a83 Mark Seemann <mark@ploeh.dk> 1600862280 +0200	rebase -i (pick): Rename `res` to `reservation`
a5d38349e0cd8d520927f9e53235588633c29a83 62a8a6544241ee496d97f742a1d8224e1fcb9b63 Mark Seemann <mark@ploeh.dk> 1600862549 +0200	rebase -i (continue): Rename `res` to `reservation`
62a8a6544241ee496d97f742a1d8224e1fcb9b63 03af5d6f0b31255b0ed3a14fa2e965f465b15e37 Mark Seemann <mark@ploeh.dk> 1600862705 +0200	rebase -i (continue): Revert "Extrace TryUpdate helper method"
03af5d6f0b31255b0ed3a14fa2e965f465b15e37 d74063aea23cf0bdfe9524a9cb622665a7c249f4 Mark Seemann <mark@ploeh.dk> 1600862802 +0200	rebase -i (edit): Add Either
d74063aea23cf0bdfe9524a9cb622665a7c249f4 bff0305b546347704486d553d4429c22ed3e47c0 Mark Seemann <mark@ploeh.dk> 1600862881 +0200	commit (amend): Add Either
bff0305b546347704486d553d4429c22ed3e47c0 c2ec3bfb10d3a50ca3f857d63b710086f2a93907 Mark Seemann <mark@ploeh.dk> 1600863164 +0200	rebase -i (continue): Extract TryUpdate method
c2ec3bfb10d3a50ca3f857d63b710086f2a93907 d6f5fb0d1876179aaf1bc71be764c862ff63525f Mark Seemann <mark@ploeh.dk> 1600863260 +0200	rebase -i (pick): Move transaction scope to TryUpdate method
d6f5fb0d1876179aaf1bc71be764c862ff63525f 63f972dff9f511e79e026549870d67230aa35fd4 Mark Seemann <mark@ploeh.dk> 1600863351 +0200	rebase -i (pick): Extract Update helper method
63f972dff9f511e79e026549870d67230aa35fd4 928b5ded1dd0f0e86089ded811336551d883f0f2 Mark Seemann <mark@ploeh.dk> 1600869480 +0200	rebase -i (continue): Extract WillAcceptUpdate helper method
928b5ded1dd0f0e86089ded811336551d883f0f2 f70cf8b6249eb855357a0799d8a18ffa74a4348c Mark Seemann <mark@ploeh.dk> 1600869757 +0200	rebase -i (continue): Extract TryCreate helper method
f70cf8b6249eb855357a0799d8a18ffa74a4348c 12f127c3304f7425b999d111503ac8d1cfc23d07 Mark Seemann <mark@ploeh.dk> 1600869855 +0200	rebase -i (pick): Extract ReadReservations period extension method
12f127c3304f7425b999d111503ac8d1cfc23d07 ae705e1a567d66c2be36253c1b4daa4ef2bedbb6 Mark Seemann <mark@ploeh.dk> 1600869948 +0200	rebase -i (pick): Extract ConfigureRepository helper method
ae705e1a567d66c2be36253c1b4daa4ef2bedbb6 28bd7484d45e800e7a6dda2dfbebb8efe156299c Mark Seemann <mark@ploeh.dk> 1600870041 +0200	rebase -i (pick): Extract ConfigureRestaurants helper method
28bd7484d45e800e7a6dda2dfbebb8efe156299c db785651961a9c4602bcf1f5ce49c5d1e820f8b2 Mark Seemann <mark@ploeh.dk> 1600870134 +0200	rebase -i (pick): Extract ConfigureClock helper method
db785651961a9c4602bcf1f5ce49c5d1e820f8b2 fd46fa519e801c1bf013b0ec95bf797e27b8838a Mark Seemann <mark@ploeh.dk> 1600870227 +0200	rebase -i (pick): Extract ConfigurePostOffice helper method
fd46fa519e801c1bf013b0ec95bf797e27b8838a 1ad7eae5b19317da6cab2f6d4aad644297e7de15 Mark Seemann <mark@ploeh.dk> 1600870320 +0200	rebase -i (pick): Compact code
1ad7eae5b19317da6cab2f6d4aad644297e7de15 b5a75af739a9ba13d81f587696fecf0f77f632cf Mark Seemann <mark@ploeh.dk> 1600870413 +0200	rebase -i (pick): Move Configure method up
b5a75af739a9ba13d81f587696fecf0f77f632cf cd48ca06caeb7655b006d484e29a5ee0e42cbdbb Mark Seemann <mark@ploeh.dk> 1600870506 +0200	rebase -i (pick): Extract CreateTokenValidationParameters method
cd48ca06caeb7655b006d484e29a5ee0e42cbdbb 68491cf73ebcb39206de398ef4d7bf730546bbd9 Mark Seemann <mark@ploeh.dk> 1600870686 +0200	rebase -i (continue): Delete Either API
68491cf73ebcb39206de398ef4d7bf730546bbd9 44bc8eaff0ec4550d216985a9e073b4744524e43 Mark Seemann <mark@ploeh.dk> 1600870782 +0200	rebase -i (pick): Inline variables
44bc8eaff0ec4550d216985a9e073b4744524e43 a821704651b9cae8ab2fb7e3fe821f0f4deebc9e Mark Seemann <mark@ploeh.dk> 1600870873 +0200	rebase -i (pick): Reduce duplication in assertion
a821704651b9cae8ab2fb7e3fe821f0f4deebc9e 85ce705fee2a52f68fc5714d4fe67b6355eebb8b Mark Seemann <mark@ploeh.dk> 1600870964 +0200	rebase -i (pick): Reduce duplication in assertion
85ce705fee2a52f68fc5714d4fe67b6355eebb8b 6111bb7e61858d6707aaf82822a7174aedf44dfd Mark Seemann <mark@ploeh.dk> 1600871056 +0200	rebase -i (pick): Rename variable
6111bb7e61858d6707aaf82822a7174aedf44dfd 0cc2905a4d175f16edb97f9a8eabcc275f772e32 Mark Seemann <mark@ploeh.dk> 1600871147 +0200	rebase -i (pick): Extract AssertOverbookResponse helper assertion
0cc2905a4d175f16edb97f9a8eabcc275f772e32 b55ddc0f718830b38c717e3bde4cd4ad0c2963f3 Mark Seemann <mark@ploeh.dk> 1600871238 +0200	rebase -i (edit): Reduce duplication with AssertSuccess helper
b55ddc0f718830b38c717e3bde4cd4ad0c2963f3 4ca26ef1a7b221da6a8bd64efb85a08b308d0d0d Mark Seemann <mark@ploeh.dk> 1600871347 +0200	commit (amend): Reduce duplication with AssertSuccess helper
4ca26ef1a7b221da6a8bd64efb85a08b308d0d0d 6b434d1f01e28681519d0fb705fc33ce98598e2e Mark Seemann <mark@ploeh.dk> 1600871595 +0200	rebase -i (continue): Delete AssertSuccess helper function
6b434d1f01e28681519d0fb705fc33ce98598e2e 65731ceee83bd610a5375d0bd0a5363e540d3619 Mark Seemann <mark@ploeh.dk> 1600871689 +0200	rebase -i (pick): Extract AssertUrlFormatIsIdiomatic helper assert
65731ceee83bd610a5375d0bd0a5363e540d3619 3b2c93c741b37bfe286a4f013fc472886403b3b9 Mark Seemann <mark@ploeh.dk> 1600871995 +0200	rebase -i (continue): Add Create static helper class
3b2c93c741b37bfe286a4f013fc472886403b3b9 5324abd9dda54ffaeca7265d178db783be9e0d0b Mark Seemann <mark@ploeh.dk> 1600872091 +0200	rebase -i (pick): Inline variable
5324abd9dda54ffaeca7265d178db783be9e0d0b ef87472f05ac3e0141f90693da137011435e79a9 Mark Seemann <mark@ploeh.dk> 1600872182 +0200	rebase -i (pick): Simplify comment
ef87472f05ac3e0141f90693da137011435e79a9 5731407edb66565eec187f9eb731444450155381 Mark Seemann <mark@ploeh.dk> 1600872373 +0200	rebase -i (continue): Add Create function for SmtpOptions
5731407edb66565eec187f9eb731444450155381 3f7fe3f136cfb72474e4609ba18ee1b30dafdaa7 Mark Seemann <mark@ploeh.dk> 1600872467 +0200	rebase -i (pick): Add seats field to Table
3f7fe3f136cfb72474e4609ba18ee1b30dafdaa7 12da7b709027717e16cdcbd120131556c1032961 Mark Seemann <mark@ploeh.dk> 1600872560 +0200	rebase -i (pick): Add isStandard field to Table
12da7b709027717e16cdcbd120131556c1032961 ad28cf334b5373622804a611f12106b8f4486b3e Mark Seemann <mark@ploeh.dk> 1600872652 +0200	rebase -i (pick): Add reservations array to Table
ad28cf334b5373622804a611f12106b8f4486b3e 91539e81e7566e3d472af83348aecd166dd63aba Mark Seemann <mark@ploeh.dk> 1600872745 +0200	rebase -i (pick): Remove internal ITable interface and imps
91539e81e7566e3d472af83348aecd166dd63aba 5a034810743f0eeb6a6e7c4be8cf97af0b00515b Mark Seemann <mark@ploeh.dk> 1600872837 +0200	rebase -i (pick): Replace Visitor with field access
5a034810743f0eeb6a6e7c4be8cf97af0b00515b 2ace4860b0cd46331417e2ea3acd9080771a17b8 Mark Seemann <mark@ploeh.dk> 1600872930 +0200	rebase -i (pick): Replace Visitor with field access
2ace4860b0cd46331417e2ea3acd9080771a17b8 9575482be1728815e121533a4536417ecd1bc947 Mark Seemann <mark@ploeh.dk> 1600873022 +0200	rebase -i (pick): Replace Visitor with field access
9575482be1728815e121533a4536417ecd1bc947 82958892290d4ce6e0110bf9132f62454d107ceb Mark Seemann <mark@ploeh.dk> 1600873115 +0200	rebase -i (pick): Replace underlying class field with auto-property
82958892290d4ce6e0110bf9132f62454d107ceb 0d9523121eb590a9f20eb4e7cce31d35c9e45ae3 Mark Seemann <mark@ploeh.dk> 1600873208 +0200	rebase -i (pick): Add restarant ID to ReadReservation method
0d9523121eb590a9f20eb4e7cce31d35c9e45ae3 b562005db5bead6ccaf9a243c03df96f558b16bb Mark Seemann <mark@ploeh.dk> 1600873301 +0200	rebase -i (pick): Add restarant ID to Update method
b562005db5bead6ccaf9a243c03df96f558b16bb c2fa1106ec526bb2d6b3da830338d692b790aab1 Mark Seemann <mark@ploeh.dk> 1600873393 +0200	rebase -i (pick): Add restarant ID to Delete method
c2fa1106ec526bb2d6b3da830338d692b790aab1 d6cf815d1820e182f572a4430cfec78f82298f86 Mark Seemann <mark@ploeh.dk> 1600873486 +0200	rebase -i (edit): Add EmailingReservationsRepository
d6cf815d1820e182f572a4430cfec78f82298f86 9b1a155dda1aea9ae4f9ab51a94b97996467c2dd Mark Seemann <mark@ploeh.dk> 1600873733 +0200	commit (amend): Add EmailingReservationsRepository
9b1a155dda1aea9ae4f9ab51a94b97996467c2dd f8a2f73865507edbe74bae06a7c8985bdc44755a Mark Seemann <mark@ploeh.dk> 1600873893 +0200	rebase -i (continue): Remove PostOffice dependency from Controller
f8a2f73865507edbe74bae06a7c8985bdc44755a c774f667cc7d2d4192866bc36c670227943da281 Mark Seemann <mark@ploeh.dk> 1600873988 +0200	rebase -i (pick): Fix logging bug
c774f667cc7d2d4192866bc36c670227943da281 e6ca27a6b24b0d1a5a9d38c44387eebbe7f35482 Mark Seemann <mark@ploeh.dk> 1600874081 +0200	rebase -i (pick): Name clusters of assertions
e6ca27a6b24b0d1a5a9d38c44387eebbe7f35482 1bc114f617c3615e95ec94f00cd9c8528025db9e Mark Seemann <mark@ploeh.dk> 1600874172 +0200	rebase -i (edit): Introduce TimeSlot class
1bc114f617c3615e95ec94f00cd9c8528025db9e 0db1c9c677cc3f8d8a79063c3f8ff11d80ffa92e Mark Seemann <mark@ploeh.dk> 1600874284 +0200	commit (amend): Introduce TimeSlot class
0db1c9c677cc3f8d8a79063c3f8ff11d80ffa92e 1c8a4214365f4265675a441a05b1de4567124e9f Mark Seemann <mark@ploeh.dk> 1600874383 +0200	rebase -i (pick): Refactor one method to use TimeSlot
1c8a4214365f4265675a441a05b1de4567124e9f 036e811f3be24daf15ac3d7a5a3d7ade664be317 Mark Seemann <mark@ploeh.dk> 1600874477 +0200	rebase -i (pick): Replace Occurrence with TimeSlot in method
036e811f3be24daf15ac3d7a5a3d7ade664be317 56479ff1dad3902b815d55f92e05b383ced86cd4 Mark Seemann <mark@ploeh.dk> 1600874570 +0200	rebase -i (pick): Return TimeSlots from a variant of Schedule
56479ff1dad3902b815d55f92e05b383ced86cd4 92d695b8b643f2eb69a5e403cae0f275c6db271c Mark Seemann <mark@ploeh.dk> 1600897755 +0200	commit (amend): Return TimeSlots from a variant of Schedule
92d695b8b643f2eb69a5e403cae0f275c6db271c 5744ce291874638fb03d4e4915540c73c8620495 Mark Seemann <mark@ploeh.dk> 1600897762 +0200	rebase -i (pick): Refactor helper assertion to use TimeSlot
5744ce291874638fb03d4e4915540c73c8620495 0690485f29d0b2117eeb9b85cba9f76d8c24a6a7 Mark Seemann <mark@ploeh.dk> 1600897855 +0200	rebase -i (pick): Use new Schedule method at one call site
0690485f29d0b2117eeb9b85cba9f76d8c24a6a7 9833ed107a8432f00393d9fd7effbd2de126c726 Mark Seemann <mark@ploeh.dk> 1600898344 +0200	rebase -i (continue): Use new Schedule method at one call site
9833ed107a8432f00393d9fd7effbd2de126c726 0aa231793d3f4ff72da10bc2003e551178c9c8c2 Mark Seemann <mark@ploeh.dk> 1600923369 +0200	rebase -i (continue): Remove old Schedule variation
0aa231793d3f4ff72da10bc2003e551178c9c8c2 0929f033c0841c555fc237e8af9693c3ced0d00c Mark Seemann <mark@ploeh.dk> 1600923469 +0200	rebase -i (pick): Refactor return type of Segment method
0929f033c0841c555fc237e8af9693c3ced0d00c 75e99d5cb3672d88bb73b4a3c58c802c8ff8b3af Mark Seemann <mark@ploeh.dk> 1600924158 +0200	rebase -i (continue): Delete Occurrence class
75e99d5cb3672d88bb73b4a3c58c802c8ff8b3af 29b678d0e342f44cfd22aeb74212af8c242cd559 Mark Seemann <mark@ploeh.dk> 1600924380 +0200	rebase -i (continue): Refactor parametrised test to individual tests
29b678d0e342f44cfd22aeb74212af8c242cd559 7a3cabdb0451b6a73a4ee916e08b635f9cd9b852 Mark Seemann <mark@ploeh.dk> 1600924475 +0200	rebase -i (pick): Move static mutation out of lambda expression
7a3cabdb0451b6a73a4ee916e08b635f9cd9b852 7a3cabdb0451b6a73a4ee916e08b635f9cd9b852 Mark Seemann <mark@ploeh.dk> 1600924475 +0200	rebase -i (finish): returning to refs/heads/master
7a3cabdb0451b6a73a4ee916e08b635f9cd9b852 d3b2e4ec97c2896889bed20e109afd6f84fa749f Mark Seemann <mark@ploeh.dk> 1600926023 +0200	checkout: moving from master to explode-maitre-d-arguments
d3b2e4ec97c2896889bed20e109afd6f84fa749f 7a3cabdb0451b6a73a4ee916e08b635f9cd9b852 Mark Seemann <mark@ploeh.dk> 1600926367 +0200	rebase -i (start): checkout master
7a3cabdb0451b6a73a4ee916e08b635f9cd9b852 d3b2e4ec97c2896889bed20e109afd6f84fa749f Mark Seemann <mark@ploeh.dk> 1600926516 +0200	rebase -i (abort): updating HEAD
d3b2e4ec97c2896889bed20e109afd6f84fa749f 3106a2c4390e69c3a2689ebda4d254ef6af3da28 Mark Seemann <mark@ploeh.dk> 1600928136 +0200	rebase -i (start): checkout 3106a2c
3106a2c4390e69c3a2689ebda4d254ef6af3da28 a7d15fb1da0f27a6a0d0335310a11c193839bec0 Mark Seemann <mark@ploeh.dk> 1600928136 +0200	rebase -i (pick): Show example of exploding MaitreD
a7d15fb1da0f27a6a0d0335310a11c193839bec0 a7d15fb1da0f27a6a0d0335310a11c193839bec0 Mark Seemann <mark@ploeh.dk> 1600928136 +0200	rebase -i (finish): returning to refs/heads/explode-maitre-d-arguments
a7d15fb1da0f27a6a0d0335310a11c193839bec0 7a3cabdb0451b6a73a4ee916e08b635f9cd9b852 Mark Seemann <mark@ploeh.dk> 1600928262 +0200	checkout: moving from explode-maitre-d-arguments to master
7a3cabdb0451b6a73a4ee916e08b635f9cd9b852 39b9cdd1d6172637383036c488482a2e63708256 Mark Seemann <mark@ploeh.dk> 1600928404 +0200	checkout: moving from master to interaction-based-testing
39b9cdd1d6172637383036c488482a2e63708256 3a8cbf8c6bd9b1470a3a8db753362f05e0d6cc64 Mark Seemann <mark@ploeh.dk> 1600928589 +0200	rebase -i (start): checkout 3a8cbf8
3a8cbf8c6bd9b1470a3a8db753362f05e0d6cc64 eaf75ade8f138b1af657bccebbce1559f1501017 Mark Seemann <mark@ploeh.dk> 1600928733 +0200	rebase -i (continue): Introduce internal ReservationsManager class
eaf75ade8f138b1af657bccebbce1559f1501017 851b3c523fc470f7e37b46d415f405ab56a82bab Mark Seemann <mark@ploeh.dk> 1600928747 +0200	rebase -i (pick): Extract IReservationsManager interface
851b3c523fc470f7e37b46d415f405ab56a82bab 8066e549e4abf4f48aa6656f2333c77d1cf50127 Mark Seemann <mark@ploeh.dk> 1600928752 +0200	rebase -i (pick): Inject IReservationsManager into Controller
8066e549e4abf4f48aa6656f2333c77d1cf50127 db9f5c5830e0456c131cc7f7dc807b05f0ff46e6 Mark Seemann <mark@ploeh.dk> 1600928758 +0200	rebase -i (pick): Configure ReservationsManager with tables
db9f5c5830e0456c131cc7f7dc807b05f0ff46e6 d1288fe4cc5b1ab442354ad80b705d4dc75b70a2 Mark Seemann <mark@ploeh.dk> 1600928983 +0200	commit (amend): Configure ReservationsManager with tables
d1288fe4cc5b1ab442354ad80b705d4dc75b70a2 ceb06af73954142563f886aa20fa67c71b065429 Mark Seemann <mark@ploeh.dk> 1600928990 +0200	rebase -i (pick): Use standard tables instead of communal
ceb06af73954142563f886aa20fa67c71b065429 b4aa97e0752507a7a2337bd3cce6dd087c2065fe Mark Seemann <mark@ploeh.dk> 1600929058 +0200	commit (amend): Use standard tables instead of communal
b4aa97e0752507a7a2337bd3cce6dd087c2065fe 3511555a89eee4c39b40e2dea16cda2b94535c5d Mark Seemann <mark@ploeh.dk> 1600929064 +0200	rebase -i (pick): Allocate tables to existing reservations
3511555a89eee4c39b40e2dea16cda2b94535c5d 7eae9d4a7dbf00fe8c71fe2b5a7abd5a04152236 Mark Seemann <mark@ploeh.dk> 1600929115 +0200	commit (amend): Allocate tables to existing reservations
7eae9d4a7dbf00fe8c71fe2b5a7abd5a04152236 0ca7537270b1acf2690ebbb5d40912d4000cfb70 Mark Seemann <mark@ploeh.dk> 1600929131 +0200	rebase -i (pick): Extract helper method for table allocation
0ca7537270b1acf2690ebbb5d40912d4000cfb70 43a16c1a758b2234e0865c3bdb7e126a45389a3a Mark Seemann <mark@ploeh.dk> 1600929271 +0200	rebase -i (continue): Handle seating duration
43a16c1a758b2234e0865c3bdb7e126a45389a3a cfeb5fe3650753fa0f731bfdec0f9577e8d65752 Mark Seemann <mark@ploeh.dk> 1600929278 +0200	rebase -i (pick): Rename method to TrySave
cfeb5fe3650753fa0f731bfdec0f9577e8d65752 ab87588aa8749fa0e36b93ec6ef2759ed12ff96c Mark Seemann <mark@ploeh.dk> 1600929284 +0200	rebase -i (pick): Introduce RestaurantManager
ab87588aa8749fa0e36b93ec6ef2759ed12ff96c c242df11605bb0d46e91dca1336c556adc55b221 Mark Seemann <mark@ploeh.dk> 1600929289 +0200	rebase -i (pick): Return value from inner manager
c242df11605bb0d46e91dca1336c556adc55b221 b5dac98500c46680f9df9afbc19d907467119c45 Mark Seemann <mark@ploeh.dk> 1600929294 +0200	rebase -i (pick): Check that reservation isn't in the past
b5dac98500c46680f9df9afbc19d907467119c45 3ea0c13b19f913eee5b6d79579860da25c7fc5b7 Mark Seemann <mark@ploeh.dk> 1600929363 +0200	commit (amend): Check that reservation isn't in the past
3ea0c13b19f913eee5b6d79579860da25c7fc5b7 88b39f6fe0a4a5a762ccbf30c68ee0a6ccbf29f6 Mark Seemann <mark@ploeh.dk> 1600929369 +0200	rebase -i (pick): Reject reservations before opening time
88b39f6fe0a4a5a762ccbf30c68ee0a6ccbf29f6 0d12ed78cbe255e053045257d0b475c8e3706762 Mark Seemann <mark@ploeh.dk> 1600929667 +0200	commit (amend): Reject reservations before opening time
0d12ed78cbe255e053045257d0b475c8e3706762 67b78bbdb717eff03ce829874a2fb65568d2f65e Mark Seemann <mark@ploeh.dk> 1600929673 +0200	rebase -i (pick): Reject reservation after last seating
67b78bbdb717eff03ce829874a2fb65568d2f65e 8742d03b0aa95c9e3406ca9ce4d3f7d25107a408 Mark Seemann <mark@ploeh.dk> 1600929713 +0200	commit (amend): Reject reservation after last seating
8742d03b0aa95c9e3406ca9ce4d3f7d25107a408 74abb89ac93c11354338234b5f657ab0872d7c30 Mark Seemann <mark@ploeh.dk> 1600929787 +0200	rebase -i (continue): Inject reservations manager into controller
74abb89ac93c11354338234b5f657ab0872d7c30 74abb89ac93c11354338234b5f657ab0872d7c30 Mark Seemann <mark@ploeh.dk> 1600929795 +0200	rebase -i (finish): returning to refs/heads/interaction-based-testing
74abb89ac93c11354338234b5f657ab0872d7c30 7a3cabdb0451b6a73a4ee916e08b635f9cd9b852 Mark Seemann <mark@ploeh.dk> 1600929870 +0200	checkout: moving from interaction-based-testing to master
7a3cabdb0451b6a73a4ee916e08b635f9cd9b852 5fd8bf6b425d1259c288e10090f675ed6f5b94c0 Mark Seemann <mark@ploeh.dk> 1600930068 +0200	rebase -i (start): checkout 5fd8bf6
5fd8bf6b425d1259c288e10090f675ed6f5b94c0 bf155131e834e279c236fabc0d7a14766e73faf1 Mark Seemann <mark@ploeh.dk> 1600930068 +0200	rebase -i: fast-forward
bf155131e834e279c236fabc0d7a14766e73faf1 a20c14cef1ea761c7e11f3872076c49018de87bd Mark Seemann <mark@ploeh.dk> 1600930068 +0200	rebase -i (reword): Unwrap some arguments
a20c14cef1ea761c7e11f3872076c49018de87bd 0ebb220ae0349defe2743ba7ebd1167daf555aa5 Mark Seemann <mark@ploeh.dk> 1600930179 +0200	rebase -i (pick): Use GetRestaurant in tests instead of GetMaitreD
0ebb220ae0349defe2743ba7ebd1167daf555aa5 abc9f3fbe765b13d95db5306842c0e4587fd7494 Mark Seemann <mark@ploeh.dk> 1600930270 +0200	rebase -i (pick): Delete GetMaitreD method
abc9f3fbe765b13d95db5306842c0e4587fd7494 60e020514c8b32d158490e6b5b5a4fb998451aa7 Mark Seemann <mark@ploeh.dk> 1600930365 +0200	rebase -i (pick): Use GetRestaurant instead of GetName
60e020514c8b32d158490e6b5b5a4fb998451aa7 625e05b7aed873e1eeb4619ff2237936f23b21a6 Mark Seemann <mark@ploeh.dk> 1600930461 +0200	rebase -i (pick): Use GetRestaurant instead of GetName
625e05b7aed873e1eeb4619ff2237936f23b21a6 a820557f674e92bbaef3bb2ae1b3992f9ce8e2bc Mark Seemann <mark@ploeh.dk> 1600930556 +0200	rebase -i (pick): Use GetRestaurant instead of GetName
a820557f674e92bbaef3bb2ae1b3992f9ce8e2bc d27ce9f50111f0fd0c5fc50eb04efe1f7991ed9b Mark Seemann <mark@ploeh.dk> 1600930651 +0200	rebase -i (pick): Use GetRestaurant instead of GetName
d27ce9f50111f0fd0c5fc50eb04efe1f7991ed9b 99828f61ebeee19165be7718a9934de9c2b87300 Mark Seemann <mark@ploeh.dk> 1600930745 +0200	rebase -i (pick): Use GetRestaurant instead of GetName
99828f61ebeee19165be7718a9934de9c2b87300 459c8015aa918fdcce96a178dd3364545dbeb5fe Mark Seemann <mark@ploeh.dk> 1600930840 +0200	rebase -i (pick): Delete GetName method from interface
459c8015aa918fdcce96a178dd3364545dbeb5fe 487db99c76a07f4ca4a2857443472ef5a4ce0c21 Mark Seemann <mark@ploeh.dk> 1600930934 +0200	rebase -i (pick): Add GetRestaurant overload to interface
487db99c76a07f4ca4a2857443472ef5a4ce0c21 08c9911f00bbdf4f71761ac158f37eda6b0e688c Mark Seemann <mark@ploeh.dk> 1600931029 +0200	rebase -i (pick): Replace call to GetId with GetRestaurant
08c9911f00bbdf4f71761ac158f37eda6b0e688c dca2d2c0bf7ae29e7bbb29df8798a6e400c7f307 Mark Seemann <mark@ploeh.dk> 1600931123 +0200	rebase -i (pick): Replace call to GetId with GetRestaurant
dca2d2c0bf7ae29e7bbb29df8798a6e400c7f307 44ae08ac95668ea959f1e54bc0ff1fcee40797fe Mark Seemann <mark@ploeh.dk> 1600931218 +0200	rebase -i (pick): Delete GetId method from interface
44ae08ac95668ea959f1e54bc0ff1fcee40797fe 68848e56708c2a1781637b52709f51b28d879588 Mark Seemann <mark@ploeh.dk> 1600931313 +0200	rebase -i (pick): Introduce GetAll method on interface
68848e56708c2a1781637b52709f51b28d879588 df1be7547ee9c2b374c7d0d3666b8e1cda721c1d Mark Seemann <mark@ploeh.dk> 1600931407 +0200	rebase -i (pick): Use GetAll instead of GetAllNames
df1be7547ee9c2b374c7d0d3666b8e1cda721c1d 875e88848294702758d557b751b03537268b8f65 Mark Seemann <mark@ploeh.dk> 1600931501 +0200	rebase -i (pick): Delete GetAllNames method from interface
875e88848294702758d557b751b03537268b8f65 9daa948e54b241501bfe54fade16dcf97f2e52b4 Mark Seemann <mark@ploeh.dk> 1600931596 +0200	rebase -i (pick): Make ToMaitreD method private
9daa948e54b241501bfe54fade16dcf97f2e52b4 8a1019bd72dadcdc80e69c9c934f5ea059c025ea Mark Seemann <mark@ploeh.dk> 1600931691 +0200	rebase -i (pick): Move ToMaitreD method
8a1019bd72dadcdc80e69c9c934f5ea059c025ea 391467d38790c767bea99e6e8b6d903cd5087b0f Mark Seemann <mark@ploeh.dk> 1600931786 +0200	rebase -i (pick): Add InMemoryRestaurantDatabase
391467d38790c767bea99e6e8b6d903cd5087b0f 071ffa6416c8e6329c87ccc2f4e449065966ee7d Mark Seemann <mark@ploeh.dk> 1600931880 +0200	rebase -i (pick): Configure services to use InMemoryRestaurantDB
071ffa6416c8e6329c87ccc2f4e449065966ee7d fd5f58df6d8ea896b15226e6aff024add22f9552 Mark Seemann <mark@ploeh.dk> 1600931975 +0200	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
fd5f58df6d8ea896b15226e6aff024add22f9552 0ac9cb74905b6911349c24f30426e9433971c78e Mark Seemann <mark@ploeh.dk> 1600932069 +0200	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
0ac9cb74905b6911349c24f30426e9433971c78e 449f4681d75d2973971d70900743e0e8b2466f70 Mark Seemann <mark@ploeh.dk> 1600932159 +0200	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
449f4681d75d2973971d70900743e0e8b2466f70 323e18f0e1d442ef0d49e39aa06d9f4b4a33b8b0 Mark Seemann <mark@ploeh.dk> 1600932250 +0200	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
323e18f0e1d442ef0d49e39aa06d9f4b4a33b8b0 ee1c8aa2138adaad1ee8911614f479bd2cea7d88 Mark Seemann <mark@ploeh.dk> 1600932341 +0200	rebase -i (pick): Use more compact restaurant configuration code
ee1c8aa2138adaad1ee8911614f479bd2cea7d88 cfcf7168f61f48673f734e4b8efe08c877df2915 Mark Seemann <mark@ploeh.dk> 1600932432 +0200	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
cfcf7168f61f48673f734e4b8efe08c877df2915 0b35aa4550857619ad67415b8cf44c602c37d068 Mark Seemann <mark@ploeh.dk> 1600932522 +0200	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
0b35aa4550857619ad67415b8cf44c602c37d068 fe2940cd3a3fa1879e703f21b274ad8601b80278 Mark Seemann <mark@ploeh.dk> 1600932613 +0200	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
fe2940cd3a3fa1879e703f21b274ad8601b80278 a0afd492b25824dbf396f589ed32eb145fa7c51e Mark Seemann <mark@ploeh.dk> 1600932704 +0200	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
a0afd492b25824dbf396f589ed32eb145fa7c51e 1f78c9a90c2088423ab4fc145b7b2ec3859d6a9a Mark Seemann <mark@ploeh.dk> 1600932794 +0200	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
1f78c9a90c2088423ab4fc145b7b2ec3859d6a9a bbfaf7a8e56978464cb3ef8589a37d39c7535053 Mark Seemann <mark@ploeh.dk> 1600932886 +0200	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
bbfaf7a8e56978464cb3ef8589a37d39c7535053 9a1217ce517050ad1e2c25646f8e2d6682d1aa33 Mark Seemann <mark@ploeh.dk> 1600932978 +0200	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
9a1217ce517050ad1e2c25646f8e2d6682d1aa33 ae983f6c2578f9990c3295043b1f45e4188b7f1c Mark Seemann <mark@ploeh.dk> 1600933069 +0200	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
ae983f6c2578f9990c3295043b1f45e4188b7f1c 48280a1936c0a357e55cb0fa6f22aeeda6791283 Mark Seemann <mark@ploeh.dk> 1600933160 +0200	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
48280a1936c0a357e55cb0fa6f22aeeda6791283 d9eaca81954f6845f7e388e3a75631e65a6e3322 Mark Seemann <mark@ploeh.dk> 1600933251 +0200	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
d9eaca81954f6845f7e388e3a75631e65a6e3322 bfba65b17dbb0a12954357cdb3b9ae570e2daa40 Mark Seemann <mark@ploeh.dk> 1600933342 +0200	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
bfba65b17dbb0a12954357cdb3b9ae570e2daa40 245b1eb2192590de33796fc0804b1430701b2ea3 Mark Seemann <mark@ploeh.dk> 1600933433 +0200	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
245b1eb2192590de33796fc0804b1430701b2ea3 43ce98cfb8ad864770c8a157603f5dc3af02ee82 Mark Seemann <mark@ploeh.dk> 1600933524 +0200	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
43ce98cfb8ad864770c8a157603f5dc3af02ee82 4a28b28b944fcadaad2e6ce1954878ac5c23218b Mark Seemann <mark@ploeh.dk> 1600933614 +0200	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
4a28b28b944fcadaad2e6ce1954878ac5c23218b 656a4d12201cc6c4126c088b52a323d0312e7042 Mark Seemann <mark@ploeh.dk> 1600933704 +0200	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
656a4d12201cc6c4126c088b52a323d0312e7042 c0b049d3b21da487f9cfec099a43daacce2b915d Mark Seemann <mark@ploeh.dk> 1600933795 +0200	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
c0b049d3b21da487f9cfec099a43daacce2b915d d55c21f120a6e5c8ab7f1b409d35455cb0394020 Mark Seemann <mark@ploeh.dk> 1600933886 +0200	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
d55c21f120a6e5c8ab7f1b409d35455cb0394020 958d97ad7f13901a9cf94a0b1f8a4ad0b48bfe0e Mark Seemann <mark@ploeh.dk> 1600933976 +0200	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
958d97ad7f13901a9cf94a0b1f8a4ad0b48bfe0e ec079264993829f081e7fde39ca77c722e4e1e09 Mark Seemann <mark@ploeh.dk> 1600934066 +0200	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
ec079264993829f081e7fde39ca77c722e4e1e09 f9ef0a58ef03c965ecb9afb6edb6a0ccc7bcd24e Mark Seemann <mark@ploeh.dk> 1600934157 +0200	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
f9ef0a58ef03c965ecb9afb6edb6a0ccc7bcd24e e68d0c814441621b468aef2cedadbe21c5295f7d Mark Seemann <mark@ploeh.dk> 1600934248 +0200	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
e68d0c814441621b468aef2cedadbe21c5295f7d 584c951974fe54f73e9b8027a6ab4b4e1eee2670 Mark Seemann <mark@ploeh.dk> 1600934338 +0200	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
584c951974fe54f73e9b8027a6ab4b4e1eee2670 30f124e8b14b5657388861489c0bdd8338093d51 Mark Seemann <mark@ploeh.dk> 1600934428 +0200	rebase -i (pick): Delete OptionsRestaurantDatabase
30f124e8b14b5657388861489c0bdd8338093d51 fc48292b0d654f4f20522710c14d7726e6eefa70 Mark Seemann <mark@ploeh.dk> 1600934523 +0200	rebase -i (pick): Delete redundant Test Data Builders
fc48292b0d654f4f20522710c14d7726e6eefa70 84992888b66f49f8a447ffaab25ec84d109d523a Mark Seemann <mark@ploeh.dk> 1600934615 +0200	rebase -i (pick): Extract TryUpdate helper method
84992888b66f49f8a447ffaab25ec84d109d523a 1a26c134ba76e71ebfb96bc8c17b5ffe38472c54 Mark Seemann <mark@ploeh.dk> 1600934714 +0200	rebase -i (pick): Rename `res` to `reservation`
1a26c134ba76e71ebfb96bc8c17b5ffe38472c54 65e5c69a3b4f9b9d5ca2cbc19a73eab32661bd32 Mark Seemann <mark@ploeh.dk> 1600934814 +0200	rebase -i (pick): Rename `res` to `reservation`
65e5c69a3b4f9b9d5ca2cbc19a73eab32661bd32 418620541546f44d9cca8bb1f07477d668b90323 Mark Seemann <mark@ploeh.dk> 1600934914 +0200	rebase -i (pick): Revert "Extrace TryUpdate helper method"
418620541546f44d9cca8bb1f07477d668b90323 d690128eb10f26f58a84d917cb7c166d7b427673 Mark Seemann <mark@ploeh.dk> 1600935014 +0200	rebase -i (pick): Add Either
d690128eb10f26f58a84d917cb7c166d7b427673 dbdadace0269a68c98318cf085e3368966b00114 Mark Seemann <mark@ploeh.dk> 1600935114 +0200	rebase -i (pick): Extract TryUpdate method
dbdadace0269a68c98318cf085e3368966b00114 a5b55af323ac035c5a7510305c293f601946d943 Mark Seemann <mark@ploeh.dk> 1600935215 +0200	rebase -i (pick): Move transaction scope to TryUpdate method
a5b55af323ac035c5a7510305c293f601946d943 828fd4d69f48d7429f3084734f1218f044935bc7 Mark Seemann <mark@ploeh.dk> 1600935315 +0200	rebase -i (pick): Extract Update helper method
828fd4d69f48d7429f3084734f1218f044935bc7 b0cb1f5c1e9e40b1dabe035c41bfb4babfbe4585 Mark Seemann <mark@ploeh.dk> 1600935415 +0200	rebase -i (pick): Extract WillAcceptUpdate helper method
b0cb1f5c1e9e40b1dabe035c41bfb4babfbe4585 3bd305bc09a1019b024693e89b1b46759bc8375d Mark Seemann <mark@ploeh.dk> 1600935515 +0200	rebase -i (pick): Extract TryCreate helper method
3bd305bc09a1019b024693e89b1b46759bc8375d f2b45a5bb41dbc01e7b0ef552929ba79bbb12f66 Mark Seemann <mark@ploeh.dk> 1600935612 +0200	rebase -i (pick): Extract ReadReservations period extension method
f2b45a5bb41dbc01e7b0ef552929ba79bbb12f66 28c5ee043b837f5fa9c1696d10039e0609e1d8b2 Mark Seemann <mark@ploeh.dk> 1600935707 +0200	rebase -i (pick): Extract ConfigureRepository helper method
28c5ee043b837f5fa9c1696d10039e0609e1d8b2 1946114dc52198051b323eaa522c1bcc774acccc Mark Seemann <mark@ploeh.dk> 1600935802 +0200	rebase -i (pick): Extract ConfigureRestaurants helper method
1946114dc52198051b323eaa522c1bcc774acccc d160c57288455377f8b0ad05985b029146228445 Mark Seemann <mark@ploeh.dk> 1600935896 +0200	rebase -i (pick): Extract ConfigureClock helper method
d160c57288455377f8b0ad05985b029146228445 3be0b2ac0d8c13a972b88ea8b5b3009d0cb8ff6c Mark Seemann <mark@ploeh.dk> 1600935992 +0200	rebase -i (pick): Extract ConfigurePostOffice helper method
3be0b2ac0d8c13a972b88ea8b5b3009d0cb8ff6c 4cb73c219565d8377aa67d79024d6836f9000935 Mark Seemann <mark@ploeh.dk> 1600936087 +0200	rebase -i (pick): Compact code
4cb73c219565d8377aa67d79024d6836f9000935 7d6583a97ff45fbd85878cecb5af11d93213a25d Mark Seemann <mark@ploeh.dk> 1600936181 +0200	rebase -i (pick): Move Configure method up
7d6583a97ff45fbd85878cecb5af11d93213a25d 34238c7d2606e9007b96b54b43e678589723520c Mark Seemann <mark@ploeh.dk> 1600936276 +0200	rebase -i (pick): Extract CreateTokenValidationParameters method
34238c7d2606e9007b96b54b43e678589723520c 5abf65a72628efabbf05fccd1b79340bac4490bc Mark Seemann <mark@ploeh.dk> 1600936371 +0200	rebase -i (pick): Delete Either API
5abf65a72628efabbf05fccd1b79340bac4490bc aec11abbb65472b97053124c4d69556c0ad8de1e Mark Seemann <mark@ploeh.dk> 1600936466 +0200	rebase -i (pick): Inline variables
aec11abbb65472b97053124c4d69556c0ad8de1e da186b18ff6407b86447b8fba42beacfa1fda1a4 Mark Seemann <mark@ploeh.dk> 1600936557 +0200	rebase -i (pick): Reduce duplication in assertion
da186b18ff6407b86447b8fba42beacfa1fda1a4 394ca2ba80410cb07e655e653ea3c1f275f25c7b Mark Seemann <mark@ploeh.dk> 1600936647 +0200	rebase -i (pick): Reduce duplication in assertion
394ca2ba80410cb07e655e653ea3c1f275f25c7b f1b96a25bd49c2794359ba6515dba3cb6c01c666 Mark Seemann <mark@ploeh.dk> 1600936738 +0200	rebase -i (pick): Rename variable
f1b96a25bd49c2794359ba6515dba3cb6c01c666 ffc4be1cb23f584c21f9bbc2f833fc14f75535e1 Mark Seemann <mark@ploeh.dk> 1600936828 +0200	rebase -i (pick): Extract AssertOverbookResponse helper assertion
ffc4be1cb23f584c21f9bbc2f833fc14f75535e1 15039db8347827b8cdd82b0ac135cc418de2e28c Mark Seemann <mark@ploeh.dk> 1600936919 +0200	rebase -i (pick): Reduce duplication with AssertSuccess helper
15039db8347827b8cdd82b0ac135cc418de2e28c e67aa45139bcf6ae362007f98b1f06c9c246e117 Mark Seemann <mark@ploeh.dk> 1600937010 +0200	rebase -i (pick): Delete AssertSuccess helper function
e67aa45139bcf6ae362007f98b1f06c9c246e117 2bce86b157ed5ba0cc5b4a3c15289d70b2f2f210 Mark Seemann <mark@ploeh.dk> 1600937101 +0200	rebase -i (pick): Extract AssertUrlFormatIsIdiomatic helper assert
2bce86b157ed5ba0cc5b4a3c15289d70b2f2f210 3ca299f0554fae2121638a2b8ba8de9f3e150b53 Mark Seemann <mark@ploeh.dk> 1600937191 +0200	rebase -i (pick): Add Create static helper class
3ca299f0554fae2121638a2b8ba8de9f3e150b53 407ad012ea873b1b5242da905606f44b0974d033 Mark Seemann <mark@ploeh.dk> 1600937282 +0200	rebase -i (pick): Inline variable
407ad012ea873b1b5242da905606f44b0974d033 6585438bba690b7f2fe969620eb0056ac0f295b0 Mark Seemann <mark@ploeh.dk> 1600937372 +0200	rebase -i (pick): Simplify comment
6585438bba690b7f2fe969620eb0056ac0f295b0 60d185fa7a6d2afe833a80d1251d68c715420f80 Mark Seemann <mark@ploeh.dk> 1600937463 +0200	rebase -i (pick): Add Create function for SmtpOptions
60d185fa7a6d2afe833a80d1251d68c715420f80 111348735fcee58fe2d5965111056ec78af2109f Mark Seemann <mark@ploeh.dk> 1600937554 +0200	rebase -i (pick): Add seats field to Table
111348735fcee58fe2d5965111056ec78af2109f b34f69c0c1c358f1f1ab68348356426531ba1dd4 Mark Seemann <mark@ploeh.dk> 1600937648 +0200	rebase -i (pick): Add isStandard field to Table
b34f69c0c1c358f1f1ab68348356426531ba1dd4 3188e8e3bfd2f6c15ef4b719aef4c47cc636a39f Mark Seemann <mark@ploeh.dk> 1600937743 +0200	rebase -i (pick): Add reservations array to Table
3188e8e3bfd2f6c15ef4b719aef4c47cc636a39f 12a3e76f3e3a44cc3d7f5a16f33514d6907f6956 Mark Seemann <mark@ploeh.dk> 1600937838 +0200	rebase -i (pick): Remove internal ITable interface and imps
12a3e76f3e3a44cc3d7f5a16f33514d6907f6956 290f1e61c7f9e71418641cd924306bc76c499cc3 Mark Seemann <mark@ploeh.dk> 1600937933 +0200	rebase -i (pick): Replace Visitor with field access
290f1e61c7f9e71418641cd924306bc76c499cc3 ed903ed9d4ea3e651838300d3c32b567dbd51bff Mark Seemann <mark@ploeh.dk> 1600938028 +0200	rebase -i (pick): Replace Visitor with field access
ed903ed9d4ea3e651838300d3c32b567dbd51bff 780d2b7cb9d00bd63f6052aa80c3e64ebb7be506 Mark Seemann <mark@ploeh.dk> 1600938123 +0200	rebase -i (pick): Replace Visitor with field access
780d2b7cb9d00bd63f6052aa80c3e64ebb7be506 b4004109ebf4dce4ee4f33bfc0595c031bd8fdf9 Mark Seemann <mark@ploeh.dk> 1600938218 +0200	rebase -i (pick): Replace underlying class field with auto-property
b4004109ebf4dce4ee4f33bfc0595c031bd8fdf9 ae07cdd7f735cf8e334ebb50dbdb4fe7cffedc4b Mark Seemann <mark@ploeh.dk> 1600938312 +0200	rebase -i (pick): Add restarant ID to ReadReservation method
ae07cdd7f735cf8e334ebb50dbdb4fe7cffedc4b d12c5a3a1ac83e2c8992e6d003b688f6ef5acd2a Mark Seemann <mark@ploeh.dk> 1600938407 +0200	rebase -i (pick): Add restarant ID to Update method
d12c5a3a1ac83e2c8992e6d003b688f6ef5acd2a 8b2576b308a2d7ea1769ca2cf70e48cca27af5c1 Mark Seemann <mark@ploeh.dk> 1600938502 +0200	rebase -i (pick): Add restarant ID to Delete method
8b2576b308a2d7ea1769ca2cf70e48cca27af5c1 acb5eb9c9348b453831ee5e950bcc38bf9b4506d Mark Seemann <mark@ploeh.dk> 1600938597 +0200	rebase -i (pick): Add EmailingReservationsRepository
acb5eb9c9348b453831ee5e950bcc38bf9b4506d a6be779117fc3468878b0a784e50a24e06d689eb Mark Seemann <mark@ploeh.dk> 1600938692 +0200	rebase -i (pick): Remove PostOffice dependency from Controller
a6be779117fc3468878b0a784e50a24e06d689eb ca610ac1c1763efa86f25a74fb774e1f503f81cc Mark Seemann <mark@ploeh.dk> 1600938787 +0200	rebase -i (pick): Fix logging bug
ca610ac1c1763efa86f25a74fb774e1f503f81cc 238d2112d27b81b1235698364171b8633df7945c Mark Seemann <mark@ploeh.dk> 1600938882 +0200	rebase -i (pick): Name clusters of assertions
238d2112d27b81b1235698364171b8633df7945c 49b1a0fdc8473182b962392d2e8c8283aa88075a Mark Seemann <mark@ploeh.dk> 1600938972 +0200	rebase -i (pick): Introduce TimeSlot class
49b1a0fdc8473182b962392d2e8c8283aa88075a c0ebf67ffacdd93ee5bcad63c9dfe53d1bbbfe6b Mark Seemann <mark@ploeh.dk> 1600939067 +0200	rebase -i (pick): Refactor one method to use TimeSlot
c0ebf67ffacdd93ee5bcad63c9dfe53d1bbbfe6b 79415b4b610b2e349a78c724c9f2d65f0110f9c2 Mark Seemann <mark@ploeh.dk> 1600939162 +0200	rebase -i (pick): Replace Occurrence with TimeSlot in method
79415b4b610b2e349a78c724c9f2d65f0110f9c2 88ffc6899cf6af969ec87467e8f96c00305b503d Mark Seemann <mark@ploeh.dk> 1600939257 +0200	rebase -i (pick): Return TimeSlots from a variant of Schedule
88ffc6899cf6af969ec87467e8f96c00305b503d eb35633c79ed6c8161e89764a17a8ea22aa65cf2 Mark Seemann <mark@ploeh.dk> 1600939352 +0200	rebase -i (pick): Refactor helper assertion to use TimeSlot
eb35633c79ed6c8161e89764a17a8ea22aa65cf2 57e1bf4c3b179a34b0f3d2eb5b302d3fae08760e Mark Seemann <mark@ploeh.dk> 1600939447 +0200	rebase -i (pick): Use new Schedule method at one call site
57e1bf4c3b179a34b0f3d2eb5b302d3fae08760e d2c5f6433dd9b7d96b8d07355ca8250678548d40 Mark Seemann <mark@ploeh.dk> 1600939538 +0200	rebase -i (pick): Use new Schedule method at one call site
d2c5f6433dd9b7d96b8d07355ca8250678548d40 d5871c9974b7cd6aac635c4e16628814edc4bbe4 Mark Seemann <mark@ploeh.dk> 1600939628 +0200	rebase -i (pick): Remove old Schedule variation
d5871c9974b7cd6aac635c4e16628814edc4bbe4 4713cc81683b71b24ab3d112428607ab68740956 Mark Seemann <mark@ploeh.dk> 1600939723 +0200	rebase -i (pick): Refactor return type of Segment method
4713cc81683b71b24ab3d112428607ab68740956 3e11ecf853b181ae6cbe014ca727036fd6bfc504 Mark Seemann <mark@ploeh.dk> 1600939818 +0200	rebase -i (pick): Delete Occurrence class
3e11ecf853b181ae6cbe014ca727036fd6bfc504 93c6c353f8b20edc22026df7406ab472eeaade65 Mark Seemann <mark@ploeh.dk> 1600939912 +0200	rebase -i (pick): Refactor parametrised test to individual tests
93c6c353f8b20edc22026df7406ab472eeaade65 ac72a86cb58d2e7a929666c2fcbc15065eff4a4e Mark Seemann <mark@ploeh.dk> 1600940003 +0200	rebase -i (pick): Move static mutation out of lambda expression
ac72a86cb58d2e7a929666c2fcbc15065eff4a4e ac72a86cb58d2e7a929666c2fcbc15065eff4a4e Mark Seemann <mark@ploeh.dk> 1600940003 +0200	rebase -i (finish): returning to refs/heads/master
ac72a86cb58d2e7a929666c2fcbc15065eff4a4e 74abb89ac93c11354338234b5f657ab0872d7c30 Mark Seemann <mark@ploeh.dk> 1600946271 +0200	checkout: moving from master to interaction-based-testing
74abb89ac93c11354338234b5f657ab0872d7c30 eaf75ade8f138b1af657bccebbce1559f1501017 Mark Seemann <mark@ploeh.dk> 1600946332 +0200	rebase -i (start): checkout 3a8cbf8
eaf75ade8f138b1af657bccebbce1559f1501017 851b3c523fc470f7e37b46d415f405ab56a82bab Mark Seemann <mark@ploeh.dk> 1600946339 +0200	rebase -i: fast-forward
851b3c523fc470f7e37b46d415f405ab56a82bab 8066e549e4abf4f48aa6656f2333c77d1cf50127 Mark Seemann <mark@ploeh.dk> 1600946339 +0200	rebase -i: fast-forward
8066e549e4abf4f48aa6656f2333c77d1cf50127 d1288fe4cc5b1ab442354ad80b705d4dc75b70a2 Mark Seemann <mark@ploeh.dk> 1600946339 +0200	rebase -i: fast-forward
d1288fe4cc5b1ab442354ad80b705d4dc75b70a2 b4aa97e0752507a7a2337bd3cce6dd087c2065fe Mark Seemann <mark@ploeh.dk> 1600946339 +0200	rebase -i: fast-forward
b4aa97e0752507a7a2337bd3cce6dd087c2065fe 7eae9d4a7dbf00fe8c71fe2b5a7abd5a04152236 Mark Seemann <mark@ploeh.dk> 1600946339 +0200	rebase -i: fast-forward
7eae9d4a7dbf00fe8c71fe2b5a7abd5a04152236 0ca7537270b1acf2690ebbb5d40912d4000cfb70 Mark Seemann <mark@ploeh.dk> 1600946339 +0200	rebase -i: fast-forward
0ca7537270b1acf2690ebbb5d40912d4000cfb70 43a16c1a758b2234e0865c3bdb7e126a45389a3a Mark Seemann <mark@ploeh.dk> 1600946339 +0200	rebase -i: fast-forward
43a16c1a758b2234e0865c3bdb7e126a45389a3a cfeb5fe3650753fa0f731bfdec0f9577e8d65752 Mark Seemann <mark@ploeh.dk> 1600946339 +0200	rebase -i: fast-forward
cfeb5fe3650753fa0f731bfdec0f9577e8d65752 ab87588aa8749fa0e36b93ec6ef2759ed12ff96c Mark Seemann <mark@ploeh.dk> 1600946339 +0200	rebase -i: fast-forward
ab87588aa8749fa0e36b93ec6ef2759ed12ff96c c242df11605bb0d46e91dca1336c556adc55b221 Mark Seemann <mark@ploeh.dk> 1600946339 +0200	rebase -i: fast-forward
c242df11605bb0d46e91dca1336c556adc55b221 3ea0c13b19f913eee5b6d79579860da25c7fc5b7 Mark Seemann <mark@ploeh.dk> 1600946339 +0200	rebase -i: fast-forward
3ea0c13b19f913eee5b6d79579860da25c7fc5b7 0d12ed78cbe255e053045257d0b475c8e3706762 Mark Seemann <mark@ploeh.dk> 1600946339 +0200	rebase -i: fast-forward
0d12ed78cbe255e053045257d0b475c8e3706762 8742d03b0aa95c9e3406ca9ce4d3f7d25107a408 Mark Seemann <mark@ploeh.dk> 1600946339 +0200	rebase -i: fast-forward
8742d03b0aa95c9e3406ca9ce4d3f7d25107a408 74abb89ac93c11354338234b5f657ab0872d7c30 Mark Seemann <mark@ploeh.dk> 1600946339 +0200	rebase -i: fast-forward
74abb89ac93c11354338234b5f657ab0872d7c30 74abb89ac93c11354338234b5f657ab0872d7c30 Mark Seemann <mark@ploeh.dk> 1600946339 +0200	rebase -i (finish): returning to refs/heads/interaction-based-testing
74abb89ac93c11354338234b5f657ab0872d7c30 ac72a86cb58d2e7a929666c2fcbc15065eff4a4e Mark Seemann <mark@ploeh.dk> 1600946434 +0200	checkout: moving from interaction-based-testing to master
ac72a86cb58d2e7a929666c2fcbc15065eff4a4e a7d15fb1da0f27a6a0d0335310a11c193839bec0 Mark Seemann <mark@ploeh.dk> 1600958179 +0200	checkout: moving from master to explode-maitre-d-arguments
a7d15fb1da0f27a6a0d0335310a11c193839bec0 ac72a86cb58d2e7a929666c2fcbc15065eff4a4e Mark Seemann <mark@ploeh.dk> 1600958219 +0200	checkout: moving from explode-maitre-d-arguments to master
ac72a86cb58d2e7a929666c2fcbc15065eff4a4e afd8a06aa8d2d0b3ef2350e47bbfe9956ab4e2b5 Mark Seemann <mark@ploeh.dk> 1601380254 +0200	checkout: moving from master to afd8a06
afd8a06aa8d2d0b3ef2350e47bbfe9956ab4e2b5 2391c59dfc9114a1e31f9bdd343c3d0b53d500dc Mark Seemann <mark@ploeh.dk> 1601380490 +0200	checkout: moving from afd8a06aa8d2d0b3ef2350e47bbfe9956ab4e2b5 to 2391c59
2391c59dfc9114a1e31f9bdd343c3d0b53d500dc 574f5d2a46783f480b6e8d24ebed17fa3672560a Mark Seemann <mark@ploeh.dk> 1601380762 +0200	checkout: moving from 2391c59dfc9114a1e31f9bdd343c3d0b53d500dc to 574f5d2a46783f480b6e8d24ebed17fa3672560a
574f5d2a46783f480b6e8d24ebed17fa3672560a 617766c035012acbb20482a2dbd1a3bd2f09fee5 Mark Seemann <mark@ploeh.dk> 1601380889 +0200	checkout: moving from 574f5d2a46783f480b6e8d24ebed17fa3672560a to 617766c035012acbb20482a2dbd1a3bd2f09fee5
617766c035012acbb20482a2dbd1a3bd2f09fee5 5d3f081567ab15c6c20d391f6dcc084aa9251c40 Mark Seemann <mark@ploeh.dk> 1601381142 +0200	checkout: moving from 617766c035012acbb20482a2dbd1a3bd2f09fee5 to 5d3f081
5d3f081567ab15c6c20d391f6dcc084aa9251c40 617766c035012acbb20482a2dbd1a3bd2f09fee5 Mark Seemann <mark@ploeh.dk> 1601381226 +0200	checkout: moving from 5d3f081567ab15c6c20d391f6dcc084aa9251c40 to 617766c035012acbb20482a2dbd1a3bd2f09fee5
617766c035012acbb20482a2dbd1a3bd2f09fee5 ac72a86cb58d2e7a929666c2fcbc15065eff4a4e Mark Seemann <mark@ploeh.dk> 1601395380 +0200	checkout: moving from 617766c035012acbb20482a2dbd1a3bd2f09fee5 to master
ac72a86cb58d2e7a929666c2fcbc15065eff4a4e 93c6c353f8b20edc22026df7406ab472eeaade65 Mark Seemann <mark@ploeh.dk> 1601395419 +0200	checkout: moving from master to HEAD~1
93c6c353f8b20edc22026df7406ab472eeaade65 ac72a86cb58d2e7a929666c2fcbc15065eff4a4e Mark Seemann <mark@ploeh.dk> 1601464606 +0200	checkout: moving from 93c6c353f8b20edc22026df7406ab472eeaade65 to master
ac72a86cb58d2e7a929666c2fcbc15065eff4a4e 93c6c353f8b20edc22026df7406ab472eeaade65 Mark Seemann <mark@ploeh.dk> 1601464701 +0200	checkout: moving from master to HEAD~1
93c6c353f8b20edc22026df7406ab472eeaade65 1f78c9a90c2088423ab4fc145b7b2ec3859d6a9a Mark Seemann <mark@ploeh.dk> 1601464732 +0200	checkout: moving from 93c6c353f8b20edc22026df7406ab472eeaade65 to 1f78c9a90c2088423ab4fc145b7b2ec3859d6a9a
1f78c9a90c2088423ab4fc145b7b2ec3859d6a9a 5abf65a72628efabbf05fccd1b79340bac4490bc Mark Seemann <mark@ploeh.dk> 1601464791 +0200	checkout: moving from 1f78c9a90c2088423ab4fc145b7b2ec3859d6a9a to 5abf65a72628efabbf05fccd1b79340bac4490bc
5abf65a72628efabbf05fccd1b79340bac4490bc fc48292b0d654f4f20522710c14d7726e6eefa70 Mark Seemann <mark@ploeh.dk> 1601464813 +0200	checkout: moving from 5abf65a72628efabbf05fccd1b79340bac4490bc to fc48292b0d654f4f20522710c14d7726e6eefa70
fc48292b0d654f4f20522710c14d7726e6eefa70 b0cb1f5c1e9e40b1dabe035c41bfb4babfbe4585 Mark Seemann <mark@ploeh.dk> 1601464831 +0200	checkout: moving from fc48292b0d654f4f20522710c14d7726e6eefa70 to b0cb1f5c1e9e40b1dabe035c41bfb4babfbe4585
b0cb1f5c1e9e40b1dabe035c41bfb4babfbe4585 d160c57288455377f8b0ad05985b029146228445 Mark Seemann <mark@ploeh.dk> 1601464854 +0200	checkout: moving from b0cb1f5c1e9e40b1dabe035c41bfb4babfbe4585 to d160c57288455377f8b0ad05985b029146228445
d160c57288455377f8b0ad05985b029146228445 4cb73c219565d8377aa67d79024d6836f9000935 Mark Seemann <mark@ploeh.dk> 1601464871 +0200	checkout: moving from d160c57288455377f8b0ad05985b029146228445 to 4cb73c219565d8377aa67d79024d6836f9000935
4cb73c219565d8377aa67d79024d6836f9000935 34238c7d2606e9007b96b54b43e678589723520c Mark Seemann <mark@ploeh.dk> 1601464889 +0200	checkout: moving from 4cb73c219565d8377aa67d79024d6836f9000935 to 34238c7d2606e9007b96b54b43e678589723520c
34238c7d2606e9007b96b54b43e678589723520c 7d6583a97ff45fbd85878cecb5af11d93213a25d Mark Seemann <mark@ploeh.dk> 1601464906 +0200	checkout: moving from 34238c7d2606e9007b96b54b43e678589723520c to 7d6583a97ff45fbd85878cecb5af11d93213a25d
7d6583a97ff45fbd85878cecb5af11d93213a25d 34238c7d2606e9007b96b54b43e678589723520c Mark Seemann <mark@ploeh.dk> 1601465159 +0200	checkout: moving from 7d6583a97ff45fbd85878cecb5af11d93213a25d to refs/bisect/bad
34238c7d2606e9007b96b54b43e678589723520c 93c6c353f8b20edc22026df7406ab472eeaade65 Mark Seemann <mark@ploeh.dk> 1601469684 +0200	checkout: moving from 34238c7d2606e9007b96b54b43e678589723520c to 93c6c353f8b20edc22026df7406ab472eeaade65
93c6c353f8b20edc22026df7406ab472eeaade65 ac72a86cb58d2e7a929666c2fcbc15065eff4a4e Mark Seemann <mark@ploeh.dk> 1601471004 +0200	checkout: moving from 93c6c353f8b20edc22026df7406ab472eeaade65 to master
ac72a86cb58d2e7a929666c2fcbc15065eff4a4e 574f5d2a46783f480b6e8d24ebed17fa3672560a Mark Seemann <mark@ploeh.dk> 1601538832 +0200	checkout: moving from master to 574f5d2
574f5d2a46783f480b6e8d24ebed17fa3672560a 617766c035012acbb20482a2dbd1a3bd2f09fee5 Mark Seemann <mark@ploeh.dk> 1601538911 +0200	checkout: moving from 574f5d2a46783f480b6e8d24ebed17fa3672560a to 617766c
617766c035012acbb20482a2dbd1a3bd2f09fee5 ac72a86cb58d2e7a929666c2fcbc15065eff4a4e Mark Seemann <mark@ploeh.dk> 1601541506 +0200	checkout: moving from 617766c035012acbb20482a2dbd1a3bd2f09fee5 to master
ac72a86cb58d2e7a929666c2fcbc15065eff4a4e ac72a86cb58d2e7a929666c2fcbc15065eff4a4e Mark Seemann <mark@ploeh.dk> 1601624337 +0200	reset: moving to HEAD
ac72a86cb58d2e7a929666c2fcbc15065eff4a4e e934e47c250bd5a1c4e5e1c07ef7951989e6a4af Mark Seemann <mark@ploeh.dk> 1601981635 +0200	checkout: moving from master to e934e47c250bd5a1c4e5e1c07ef7951989e6a4af
e934e47c250bd5a1c4e5e1c07ef7951989e6a4af e55421216bf16866cab4e11a017078b3b1c8b0fe Mark Seemann <mark@ploeh.dk> 1601981867 +0200	checkout: moving from e934e47c250bd5a1c4e5e1c07ef7951989e6a4af to HEAD~1
e55421216bf16866cab4e11a017078b3b1c8b0fe ac72a86cb58d2e7a929666c2fcbc15065eff4a4e Mark Seemann <mark@ploeh.dk> 1601982630 +0200	checkout: moving from e55421216bf16866cab4e11a017078b3b1c8b0fe to master
ac72a86cb58d2e7a929666c2fcbc15065eff4a4e 4fd08720a3e71e80df6dca82c73a09c9096e4fa6 Mark Seemann <mark@ploeh.dk> 1601982776 +0200	rebase -i (start): checkout 4fd0872
4fd08720a3e71e80df6dca82c73a09c9096e4fa6 e55421216bf16866cab4e11a017078b3b1c8b0fe Mark Seemann <mark@ploeh.dk> 1601982776 +0200	rebase -i: fast-forward
e55421216bf16866cab4e11a017078b3b1c8b0fe 5e6bae04ede1ba49f489feecbc7163c4f0c61788 Mark Seemann <mark@ploeh.dk> 1601982853 +0200	commit (amend): Add SMTP Post Office
5e6bae04ede1ba49f489feecbc7163c4f0c61788 ac72a86cb58d2e7a929666c2fcbc15065eff4a4e Mark Seemann <mark@ploeh.dk> 1601982917 +0200	rebase -i (abort): updating HEAD
ac72a86cb58d2e7a929666c2fcbc15065eff4a4e 684acea9e181e7a767cbfadf1493db971440ac73 Mark Seemann <mark@ploeh.dk> 1601982959 +0200	rebase -i (start): checkout 684acea9e181e7a767cbfadf1493db971440ac73
684acea9e181e7a767cbfadf1493db971440ac73 4fd08720a3e71e80df6dca82c73a09c9096e4fa6 Mark Seemann <mark@ploeh.dk> 1601982959 +0200	rebase -i: fast-forward
4fd08720a3e71e80df6dca82c73a09c9096e4fa6 fceddaeef0bc7cdfe8bcf3558a1af51eca3e4bd8 Mark Seemann <mark@ploeh.dk> 1601982999 +0200	commit (amend): Pretend to send an email when reservation accepted
fceddaeef0bc7cdfe8bcf3558a1af51eca3e4bd8 c3daac07bbfdec27a4489e116a313d22961bcf0a Mark Seemann <mark@ploeh.dk> 1601983021 +0200	rebase -i (pick): Add SMTP Post Office
c3daac07bbfdec27a4489e116a313d22961bcf0a 58c73ee811851e1266784eb98986926fe7420ebb Mark Seemann <mark@ploeh.dk> 1601983105 +0200	rebase -i (continue): Refactor SpyPostOffice to record observations
58c73ee811851e1266784eb98986926fe7420ebb f38ca8596c43386429f5086b6030af986dc29595 Mark Seemann <mark@ploeh.dk> 1601983188 +0200	rebase -i (pick): Send email on deletion
f38ca8596c43386429f5086b6030af986dc29595 c1e29a470bbb379f635a88d1ddad700c9fbb8fb3 Mark Seemann <mark@ploeh.dk> 1601983249 +0200	commit (amend): Send email on deletion
c1e29a470bbb379f635a88d1ddad700c9fbb8fb3 1009dfe8acd99babee59debca3c13ec567a7bddb Mark Seemann <mark@ploeh.dk> 1601983261 +0200	rebase -i (pick): Don't send email on deletion of absent reservation
1009dfe8acd99babee59debca3c13ec567a7bddb 08413274519a48d2e86de283aa36316073e922d8 Mark Seemann <mark@ploeh.dk> 1601983300 +0200	commit (amend): Don't send email on deletion of absent reservation
08413274519a48d2e86de283aa36316073e922d8 91e879cd199379e7c0ac307c6f1b8e59a7acf06e Mark Seemann <mark@ploeh.dk> 1601983306 +0200	rebase -i (pick): Send email when reservation is updated
91e879cd199379e7c0ac307c6f1b8e59a7acf06e b449819b14e4383ac5ca7e64900aa5c765a6b7c9 Mark Seemann <mark@ploeh.dk> 1601983347 +0200	commit (amend): Send email when reservation is updated
b449819b14e4383ac5ca7e64900aa5c765a6b7c9 24c3928e133b407e8cddca8ee8ae24a2ba95787a Mark Seemann <mark@ploeh.dk> 1601983356 +0200	rebase -i (pick): Send email before reservation updates
24c3928e133b407e8cddca8ee8ae24a2ba95787a 9f11ec4696ab015face6fb87fd903134f8ab43ee Mark Seemann <mark@ploeh.dk> 1601983397 +0200	commit (amend): Send email before reservation updates
9f11ec4696ab015face6fb87fd903134f8ab43ee dcc62be91ad03f3ce6ee334f0014a255c671a299 Mark Seemann <mark@ploeh.dk> 1601983404 +0200	rebase -i (pick): Only send email before update on changed address
dcc62be91ad03f3ce6ee334f0014a255c671a299 c162d835d91d3322cf7e270a372c226cf1e34c32 Mark Seemann <mark@ploeh.dk> 1601983441 +0200	commit (amend): Only send email before update on changed address
c162d835d91d3322cf7e270a372c226cf1e34c32 4315d102b6bf5983878838ef6f1faa1a66eb71f5 Mark Seemann <mark@ploeh.dk> 1601983455 +0200	rebase -i (pick): Refactor SmtpPostOffice
4315d102b6bf5983878838ef6f1faa1a66eb71f5 a8c9095377c510b4003fafff8a0b4923866435cd Mark Seemann <mark@ploeh.dk> 1601983526 +0200	rebase -i (continue): Introduce Email and Name wrappers
a8c9095377c510b4003fafff8a0b4923866435cd da6f5e6dbc0aa68c0997f84c8ef0648358559958 Mark Seemann <mark@ploeh.dk> 1601983534 +0200	rebase -i (pick): Correct mismatched name and email
da6f5e6dbc0aa68c0997f84c8ef0648358559958 bfb370fc806ab159fb4da4915c3aaa172e43e9e8 Mark Seemann <mark@ploeh.dk> 1601983539 +0200	rebase -i (pick): Introduce Build solution
bfb370fc806ab159fb4da4915c3aaa172e43e9e8 76c1bba049162d1886dbcc96e6a17f21ec6248ae Mark Seemann <mark@ploeh.dk> 1601983544 +0200	rebase -i (pick): Add integration test project to Build solution
76c1bba049162d1886dbcc96e6a17f21ec6248ae 1cf444e9d3db926858bbb7b6fd670db1416e1673 Mark Seemann <mark@ploeh.dk> 1601983550 +0200	rebase -i (pick): Treat warnings as errors in integration tests
1cf444e9d3db926858bbb7b6fd670db1416e1673 f55f80966afb021a0987161ebe06bd204eb5485c Mark Seemann <mark@ploeh.dk> 1601983555 +0200	rebase -i (pick): Turn on FxCop for integration tests
f55f80966afb021a0987161ebe06bd204eb5485c bfdfab62ee682ab20ab8d575a3629eb6ea61d67d Mark Seemann <mark@ploeh.dk> 1601983560 +0200	rebase -i (pick): Turn on nullable reference types
bfdfab62ee682ab20ab8d575a3629eb6ea61d67d 761029b40972827d6b497d004a438731702bf24e Mark Seemann <mark@ploeh.dk> 1601983566 +0200	rebase -i (pick): Verify create-and-read round-trip to SQL Server
761029b40972827d6b497d004a438731702bf24e 49a2c10f06b542e0d9fc5355d1c8282cf8e40782 Mark Seemann <mark@ploeh.dk> 1601983575 +0200	rebase -i (pick): Fix defect in SQL Update method
49a2c10f06b542e0d9fc5355d1c8282cf8e40782 0440d7945fea19039331bd2537be143c3747918b Mark Seemann <mark@ploeh.dk> 1601983582 +0200	rebase -i (pick): Change master database name to lower case
0440d7945fea19039331bd2537be143c3747918b fc1797e0d25c67c48f93bf1c2df7d767816d00c3 Mark Seemann <mark@ploeh.dk> 1601983588 +0200	rebase -i (pick): Use AddWithValue method
fc1797e0d25c67c48f93bf1c2df7d767816d00c3 685a11345eceddf63ca1c1a25b6e9652de6c933d Mark Seemann <mark@ploeh.dk> 1601983595 +0200	rebase -i (pick): Add README file
685a11345eceddf63ca1c1a25b6e9652de6c933d c7159c2f777d44d6a212976f30d0cca719b6794d Mark Seemann <mark@ploeh.dk> 1601983600 +0200	rebase -i (pick): Add conversion to Reservation DTO
c7159c2f777d44d6a212976f30d0cca719b6794d 0fe8e713031b4f6f68a1fad56f3637526bbebd11 Mark Seemann <mark@ploeh.dk> 1601983607 +0200	rebase -i (pick): Add ToDto extension method
0fe8e713031b4f6f68a1fad56f3637526bbebd11 a414a7c0620ff04dae643c9b0f0753d9a3f2a488 Mark Seemann <mark@ploeh.dk> 1601983614 +0200	rebase -i (pick): Return representation after POST
a414a7c0620ff04dae643c9b0f0753d9a3f2a488 e8092fe45c1696c50f6d3e180865e6b30657aea1 Mark Seemann <mark@ploeh.dk> 1601983621 +0200	rebase -i (pick): Return representation of resource after PUT
e8092fe45c1696c50f6d3e180865e6b30657aea1 a426563aee3f3280d2ec2c2283b93d7f7ec1f89b Mark Seemann <mark@ploeh.dk> 1601983628 +0200	rebase -i (pick): Delete database before setting it up
a426563aee3f3280d2ec2c2283b93d7f7ec1f89b 7b62e3a0c6c8cd606e1e35ecd4014fe831145ebe Mark Seemann <mark@ploeh.dk> 1601983634 +0200	rebase -i (pick): Enable connection pooling in integration tests
7b62e3a0c6c8cd606e1e35ecd4014fe831145ebe 8d56430145eead6f97e51b4a0330b54718cb99b6 Mark Seemann <mark@ploeh.dk> 1601983652 +0200	rebase -i (pick): Enlist Post in lightweight transaction
8d56430145eead6f97e51b4a0330b54718cb99b6 ea0113dd42970e5277a503976c9dcc46bd89cfbf Mark Seemann <mark@ploeh.dk> 1601983704 +0200	rebase -i (pick): Introduce helper method to POST reservation
ea0113dd42970e5277a503976c9dcc46bd89cfbf 410acea26e35a2942700a5c92f617542949f720a Mark Seemann <mark@ploeh.dk> 1601983756 +0200	rebase -i (pick): Enlist Put in a lightweight transaction
410acea26e35a2942700a5c92f617542949f720a 55ec6759efdcec6350874f189a1a6ceac9b23d47 Mark Seemann <mark@ploeh.dk> 1601983841 +0200	rebase -i (pick): Use RestaurantApiFactory for HomeTests
55ec6759efdcec6350874f189a1a6ceac9b23d47 5a16e48fb5fede84937b9f51556cb3af51d0f24a Mark Seemann <mark@ploeh.dk> 1601983925 +0200	rebase -i (pick): Return link from home resource
5a16e48fb5fede84937b9f51556cb3af51d0f24a 19663edff5512279fda852a2b078fd36341c6d6a Mark Seemann <mark@ploeh.dk> 1601984010 +0200	rebase -i (pick): Use Url.ActionContext in CreateReservationsLink
19663edff5512279fda852a2b078fd36341c6d6a cc5b13b6969caaeed9994f0622bcb5dc8ac9267a Mark Seemann <mark@ploeh.dk> 1601984095 +0200	rebase -i (pick): Extract assertion to helper method
cc5b13b6969caaeed9994f0622bcb5dc8ac9267a 4b323228b231767c528fe9cd6b34c123b6e2b853 Mark Seemann <mark@ploeh.dk> 1601984180 +0200	rebase -i (pick): Introduce local variable
4b323228b231767c528fe9cd6b34c123b6e2b853 613bf4d6bb15087f47f986c3d7eb5652ed60a775 Mark Seemann <mark@ploeh.dk> 1601984264 +0200	rebase -i (pick): Move line of code closer to related code
613bf4d6bb15087f47f986c3d7eb5652ed60a775 d63f8caa88eda306893125005a68186009c7e08f Mark Seemann <mark@ploeh.dk> 1601984348 +0200	rebase -i (pick): Add year link to home resource
d63f8caa88eda306893125005a68186009c7e08f d136c5702fd797dcf38203d217b3317498491a79 Mark Seemann <mark@ploeh.dk> 1601984433 +0200	rebase -i (pick): Introduce Calendar resource
d136c5702fd797dcf38203d217b3317498491a79 25bfb20ed2ad2cbc70dd51b03e3cbd578f4999ee Mark Seemann <mark@ploeh.dk> 1601984520 +0200	rebase -i (pick): Return current year from calendar resource
25bfb20ed2ad2cbc70dd51b03e3cbd578f4999ee a1f3048dcc20d9ca87df6fb477b3a2dbf743b095 Mark Seemann <mark@ploeh.dk> 1601984605 +0200	rebase -i (pick): Return year from resource
a1f3048dcc20d9ca87df6fb477b3a2dbf743b095 1c62f661112d813ff50e6e228bf8938b13e093f8 Mark Seemann <mark@ploeh.dk> 1601984690 +0200	rebase -i (pick): Return array of days
1c62f661112d813ff50e6e228bf8938b13e093f8 d64b0b76ef9235d82afb55cf8fd0014859c3625e Mark Seemann <mark@ploeh.dk> 1601984775 +0200	rebase -i (pick): Return correct number of days in year
d64b0b76ef9235d82afb55cf8fd0014859c3625e 3aea98d89e5369f32f1763088716e246e5f67267 Mark Seemann <mark@ploeh.dk> 1601984860 +0200	rebase -i (pick): Enumerate days in year
3aea98d89e5369f32f1763088716e246e5f67267 f36e73ab2010836ffed0832415697755159b69b2 Mark Seemann <mark@ploeh.dk> 1601984945 +0200	rebase -i (pick): Include maximum party size for each day
f36e73ab2010836ffed0832415697755159b69b2 c9fae770fc53a4f00aff9432228a61c94a307138 Mark Seemann <mark@ploeh.dk> 1601985031 +0200	rebase -i (pick): Add feature flag for the calendar feature
c9fae770fc53a4f00aff9432228a61c94a307138 4a50bd85ec12f14182969d7f7db558d6bbc1dece Mark Seemann <mark@ploeh.dk> 1601985117 +0200	rebase -i (pick): Add a month link to home
4a50bd85ec12f14182969d7f7db558d6bbc1dece 214f5c3f5a6906176c441f5b9cb763752ac35e90 Mark Seemann <mark@ploeh.dk> 1601985202 +0200	rebase -i (pick): Introduce /year/month calendar
214f5c3f5a6906176c441f5b9cb763752ac35e90 68d2a64e2ba0b3e0615e918215f34c358e53513e Mark Seemann <mark@ploeh.dk> 1601985287 +0200	rebase -i (pick): Refactor test to use class data
68d2a64e2ba0b3e0615e918215f34c358e53513e 455c4cd92fd9ce7dd974e301edb438718c6cdbf3 Mark Seemann <mark@ploeh.dk> 1601985371 +0200	rebase -i (pick): Parametrise act function
455c4cd92fd9ce7dd974e301edb438718c6cdbf3 dd658f374fffcbb13934b61881cbecc108759efd Mark Seemann <mark@ploeh.dk> 1601985455 +0200	rebase -i (pick): Check month on calendar representation
dd658f374fffcbb13934b61881cbecc108759efd 5ce65f2b1cab7d971dead3469efb2bccee1a4db0 Mark Seemann <mark@ploeh.dk> 1601985539 +0200	rebase -i (pick): Return data from month calendar
5ce65f2b1cab7d971dead3469efb2bccee1a4db0 e23582f8642bd1c38428dfdfd98cba58698fafc3 Mark Seemann <mark@ploeh.dk> 1601985625 +0200	rebase -i (pick): Add link to day calendar
e23582f8642bd1c38428dfdfd98cba58698fafc3 65f9f3a875b53d0bbaafabb1c59548f969ffe1ac Mark Seemann <mark@ploeh.dk> 1601985710 +0200	rebase -i (pick): Introduce /year/month/day calendar
65f9f3a875b53d0bbaafabb1c59548f969ffe1ac 6ac2977be1a8f02a706fd030786b14753db3f4c7 Mark Seemann <mark@ploeh.dk> 1601985796 +0200	rebase -i (pick): Add expected day to test cases
6ac2977be1a8f02a706fd030786b14753db3f4c7 05ca970ce720fdf36a98bdc67ac8c195b3e76cfc Mark Seemann <mark@ploeh.dk> 1601985880 +0200	rebase -i (pick): Inline variable
05ca970ce720fdf36a98bdc67ac8c195b3e76cfc f102a27790f4afd07ef7f230ff7e1bb19a77283e Mark Seemann <mark@ploeh.dk> 1601985964 +0200	rebase -i (pick): Return data from day calendar
f102a27790f4afd07ef7f230ff7e1bb19a77283e 6f6c684b80b432cbd05245c8c239313cbf5fd7ec Mark Seemann <mark@ploeh.dk> 1601986050 +0200	rebase -i (pick): Rename parameter
6f6c684b80b432cbd05245c8c239313cbf5fd7ec b0c8961babf8292053e1574aafa5a5929a9a406b Mark Seemann <mark@ploeh.dk> 1601986136 +0200	rebase -i (pick): Remove duplication of JSON parsing
b0c8961babf8292053e1574aafa5a5929a9a406b 05b5d08c85113e140ee0cfc2cb11932b3f2de7f6 Mark Seemann <mark@ploeh.dk> 1601986220 +0200	rebase -i (pick): Format only date for date strings
05b5d08c85113e140ee0cfc2cb11932b3f2de7f6 af3960ad1c36373ef6a26ba8077240f5de76b462 Mark Seemann <mark@ploeh.dk> 1601986305 +0200	rebase -i (pick): Extract function to produce ISO 8601 string
af3960ad1c36373ef6a26ba8077240f5de76b462 cbb189b371c9babcc29f9e602fb2e0d33e5df5fe Mark Seemann <mark@ploeh.dk> 1601986390 +0200	rebase -i (pick): Refactor to UrlBuilder
cbb189b371c9babcc29f9e602fb2e0d33e5df5fe 66a45456026ed16cc0fa8299eb2bde883be0ad11 Mark Seemann <mark@ploeh.dk> 1601986475 +0200	rebase -i (pick): Handle controller name without Controller suffix
66a45456026ed16cc0fa8299eb2bde883be0ad11 0b11d10be85a47ab2c392c9e785c01e34d1e7f4f Mark Seemann <mark@ploeh.dk> 1601986560 +0200	rebase -i (pick): Use UrlBuilder for reservations link
0b11d10be85a47ab2c392c9e785c01e34d1e7f4f 4c07961ac57e182885cb5f102023d774f28bd6ec Mark Seemann <mark@ploeh.dk> 1601986645 +0200	rebase -i (pick): Return Uri from UrlBuilder.BuildAbsolute
4c07961ac57e182885cb5f102023d774f28bd6ec 7e51ac3dec20295ddd67422c57cb51b2bbe69a8c Mark Seemann <mark@ploeh.dk> 1601986730 +0200	rebase -i (pick): Use Link extension method
7e51ac3dec20295ddd67422c57cb51b2bbe69a8c e3ff92f7859eb6172c36902d208072bd7ed9f73b Mark Seemann <mark@ploeh.dk> 1601986815 +0200	rebase -i (pick): Use named methods to define links
e3ff92f7859eb6172c36902d208072bd7ed9f73b ed48ec4719e8d5ba46ddf4905d1b7d091936827b Mark Seemann <mark@ploeh.dk> 1601986899 +0200	rebase -i (pick): Use single value for current date
ed48ec4719e8d5ba46ddf4905d1b7d091936827b 9cde8b9bd2713b72cea7380f8f6aa91673efaeec Mark Seemann <mark@ploeh.dk> 1601986984 +0200	rebase -i (pick): Extract common builders
9cde8b9bd2713b72cea7380f8f6aa91673efaeec 2719de61848be418fa8f210a5fb2efb25a8c73f4 Mark Seemann <mark@ploeh.dk> 1601987069 +0200	rebase -i (pick): Rename to SelfHostedService
2719de61848be418fa8f210a5fb2efb25a8c73f4 6735afb207dec80a6fe895866fc1e05607412644 Mark Seemann <mark@ploeh.dk> 1601987154 +0200	rebase -i (pick): Extract FindAddress helper method
6735afb207dec80a6fe895866fc1e05607412644 3487bcccb1d6e440758620b7e3077aaec2d173bb Mark Seemann <mark@ploeh.dk> 1601987239 +0200	rebase -i (pick): Add links to calendar representations
3487bcccb1d6e440758620b7e3077aaec2d173bb 40b512bae8923cfdf208120f46e46027cbc53010 Mark Seemann <mark@ploeh.dk> 1601987324 +0200	rebase -i (pick): Add navigation links to calendars
40b512bae8923cfdf208120f46e46027cbc53010 ab25b3e46601e61e9eb2e40366f7a109be6b38b2 Mark Seemann <mark@ploeh.dk> 1601987409 +0200	rebase -i (pick): Populate previous and next calendar links
ab25b3e46601e61e9eb2e40366f7a109be6b38b2 babd70aafc861d4cad39ec968fbd967dd003013f Mark Seemann <mark@ploeh.dk> 1601987494 +0200	rebase -i (pick): Refactor assertions of 'current' date
babd70aafc861d4cad39ec968fbd967dd003013f 7b9a91e50157c13c87756ee67effda5e1c4d19cb Mark Seemann <mark@ploeh.dk> 1601987579 +0200	rebase -i (pick): Add next link to year calendar
7b9a91e50157c13c87756ee67effda5e1c4d19cb af38ebf99a1b947264a49619e18935e7f4651f4c Mark Seemann <mark@ploeh.dk> 1601987664 +0200	rebase -i (pick): Add previous link to year calendar
af38ebf99a1b947264a49619e18935e7f4651f4c af350d78ceb240e814cd5f558da709ee9c337aec Mark Seemann <mark@ploeh.dk> 1601987750 +0200	rebase -i (pick): Add previous link to month calendar
af350d78ceb240e814cd5f558da709ee9c337aec 0ea4223c64a48a0432963fe33ca59a520a2d5525 Mark Seemann <mark@ploeh.dk> 1601987835 +0200	rebase -i (pick): Link to next month
0ea4223c64a48a0432963fe33ca59a520a2d5525 75cecd9a3c94ab8d85e9a7abe4ee44b3b4c0eb25 Mark Seemann <mark@ploeh.dk> 1601987921 +0200	rebase -i (pick): Link to previous day
75cecd9a3c94ab8d85e9a7abe4ee44b3b4c0eb25 aa1aa0ff347747d5196d600872205dce5151d2dd Mark Seemann <mark@ploeh.dk> 1601988006 +0200	rebase -i (pick): Link to next day
aa1aa0ff347747d5196d600872205dce5151d2dd 3110728880aec1d9f45dab214cf517e57935d1dc Mark Seemann <mark@ploeh.dk> 1601988092 +0200	rebase -i (pick): Navigate to specific years
3110728880aec1d9f45dab214cf517e57935d1dc ea3d7490c521e736476200dda36cb08abc543dd4 Mark Seemann <mark@ploeh.dk> 1601988176 +0200	rebase -i (pick): Navigate to specific months
ea3d7490c521e736476200dda36cb08abc543dd4 c3e923c2a01993d7eb6243a430f9be191a49491e Mark Seemann <mark@ploeh.dk> 1601988261 +0200	rebase -i (pick): Navigate to specific dates
c3e923c2a01993d7eb6243a430f9be191a49491e 72bf14d2487b60879511b6af4e1f68c57fbda910 Mark Seemann <mark@ploeh.dk> 1601988347 +0200	rebase -i (pick): Use Link overloads that take a relationship type
72bf14d2487b60879511b6af4e1f68c57fbda910 c3266b45cb8a17b912ccb13acfa127216decbc4d Mark Seemann <mark@ploeh.dk> 1601988431 +0200	rebase -i (pick): Calculate year navigation via DateTime API
c3266b45cb8a17b912ccb13acfa127216decbc4d 333cfa3310815b225b1cdb78ba2313db384c376a Mark Seemann <mark@ploeh.dk> 1601988516 +0200	rebase -i (pick): Refactor AddLinks method
333cfa3310815b225b1cdb78ba2313db384c376a 7bb6ed96f99201819ac107b1c373b5ea8a0a812e Mark Seemann <mark@ploeh.dk> 1601988602 +0200	rebase -i (pick): Add link to each day
7bb6ed96f99201819ac107b1c373b5ea8a0a812e 18fc16683e4cb0f0e07da04850e18844cb44e851 Mark Seemann <mark@ploeh.dk> 1601988688 +0200	rebase -i (pick): Optimise retrieval of single day calendar
18fc16683e4cb0f0e07da04850e18844cb44e851 9cc12ae078080c0bb111f6d035430fd9e7e3a4ec Mark Seemann <mark@ploeh.dk> 1601988772 +0200	rebase -i (pick): Add month link to all days
9cc12ae078080c0bb111f6d035430fd9e7e3a4ec ed627e5f8f628bb39c955e12d995b1aff1854d7c Mark Seemann <mark@ploeh.dk> 1601988857 +0200	rebase -i (pick): Optimise month navigation
ed627e5f8f628bb39c955e12d995b1aff1854d7c 1f070c5cc740074b46a6c1b463b9db8d0d786ecc Mark Seemann <mark@ploeh.dk> 1601988941 +0200	rebase -i (pick): Add year link to all days
1f070c5cc740074b46a6c1b463b9db8d0d786ecc 52595ca2c528a82cde19a9eb4107a7bf08f354c1 Mark Seemann <mark@ploeh.dk> 1601989026 +0200	rebase -i (pick): Simplify assertions
52595ca2c528a82cde19a9eb4107a7bf08f354c1 6c0fd0ae8f8d3cdc6fcf5d32938f8a20a1cefdb5 Mark Seemann <mark@ploeh.dk> 1601989110 +0200	rebase -i (pick): Extract method to find address in links
6c0fd0ae8f8d3cdc6fcf5d32938f8a20a1cefdb5 e6aac3bb736abb5ed24cf9b30219608c93dca483 Mark Seemann <mark@ploeh.dk> 1601989195 +0200	rebase -i (pick): Simplify finding a year
e6aac3bb736abb5ed24cf9b30219608c93dca483 c9bd620c23733c147641bec774de343f7c286235 Mark Seemann <mark@ploeh.dk> 1601989280 +0200	rebase -i (pick): Inline client in SelfHostedService
c9bd620c23733c147641bec774de343f7c286235 6c0aa3fe858fab409fd118963ad0a9604b7b35e1 Mark Seemann <mark@ploeh.dk> 1601989364 +0200	rebase -i (pick): Rename test
6c0aa3fe858fab409fd118963ad0a9604b7b35e1 e6de49d314498fb28a023d0a07ed53d66aaf3b42 Mark Seemann <mark@ploeh.dk> 1601989448 +0200	rebase -i (pick): Move home link generation to filter
e6de49d314498fb28a023d0a07ed53d66aaf3b42 14759119687872bb413e455d70ff1be56e20f5f7 Mark Seemann <mark@ploeh.dk> 1601989534 +0200	rebase -i (pick): Remove [ApiController] attribute
14759119687872bb413e455d70ff1be56e20f5f7 e4334cac72c3a264f54fc55f4f9ef00170d164b7 Mark Seemann <mark@ploeh.dk> 1601989619 +0200	rebase -i (pick): Don't render null values as JSON
e4334cac72c3a264f54fc55f4f9ef00170d164b7 e11be2c466219eb9c16bf058070b4097e8b8a907 Mark Seemann <mark@ploeh.dk> 1601989704 +0200	rebase -i (pick): Refactor Table to use Visitor
e11be2c466219eb9c16bf058070b4097e8b8a907 828e9f274f370b15713c1f1efe4cbbb7ee805e7b Mark Seemann <mark@ploeh.dk> 1601989789 +0200	rebase -i (pick): Change Reserve method to take a Reservation
828e9f274f370b15713c1f1efe4cbbb7ee805e7b e2be4fef36eae82b6e7001aed9458ecfa66bba5b Mark Seemann <mark@ploeh.dk> 1601989875 +0200	rebase -i (pick): Add reservations to communal table
e2be4fef36eae82b6e7001aed9458ecfa66bba5b e99de1894e555a762849e58d603e771926af271f Mark Seemann <mark@ploeh.dk> 1601989960 +0200	rebase -i (pick): Associate reservation with communal table
e99de1894e555a762849e58d603e771926af271f e25c97db7ae6947fcb0ba448e6bce7dbe68d1c54 Mark Seemann <mark@ploeh.dk> 1601990045 +0200	rebase -i (pick): Associate reservation with standard table
e25c97db7ae6947fcb0ba448e6bce7dbe68d1c54 38b1c7e5becb99b9448b1483295e79c00bb3a35e Mark Seemann <mark@ploeh.dk> 1601990132 +0200	rebase -i (pick): Remove WithSeats method
38b1c7e5becb99b9448b1483295e79c00bb3a35e bf7d2465eede4c45983eb3735d0bb0c2cf487db7 Mark Seemann <mark@ploeh.dk> 1601990218 +0200	rebase -i (pick): Remove MaximumPartySize from DayDto
bf7d2465eede4c45983eb3735d0bb0c2cf487db7 e690790e5edc92df9d7e5a54e9df6833562bf98b Mark Seemann <mark@ploeh.dk> 1601990303 +0200	rebase -i (pick): Remove Table.Seats property
e690790e5edc92df9d7e5a54e9df6833562bf98b a2205547879d40ada0ca768c84f03130e802fe0b Mark Seemann <mark@ploeh.dk> 1601990389 +0200	rebase -i (pick): Remove check for table type from MaitreD
a2205547879d40ada0ca768c84f03130e802fe0b f9031d6d63979296c9a9f1b30530ee22fe37e029 Mark Seemann <mark@ploeh.dk> 1601990474 +0200	rebase -i (pick): Rename variable
f9031d6d63979296c9a9f1b30530ee22fe37e029 e1ec67943a9b1d73b8b66ef1e762daa33610bc77 Mark Seemann <mark@ploeh.dk> 1601990559 +0200	rebase -i (pick): Remove IsStandard and IsCommunal flags
e1ec67943a9b1d73b8b66ef1e762daa33610bc77 b35bdfe1506fef4a08525cec28c742259450741b Mark Seemann <mark@ploeh.dk> 1601990644 +0200	rebase -i (pick): Remove Seats property from ITable
b35bdfe1506fef4a08525cec28c742259450741b a066e18e156db369518bb1fa299e17a506fb1281 Mark Seemann <mark@ploeh.dk> 1601990730 +0200	rebase -i (pick): Introduce MaitreD.Schedule
a066e18e156db369518bb1fa299e17a506fb1281 2c913e3bcee13353dff552ef898fdf100d0d6c71 Mark Seemann <mark@ploeh.dk> 1601990815 +0200	rebase -i (pick): Return single occurrence from Schedule
2c913e3bcee13353dff552ef898fdf100d0d6c71 8a7cc1b11949356809776f7ef94e628f515c5d36 Mark Seemann <mark@ploeh.dk> 1601990900 +0200	rebase -i (pick): Schedule occurrence for each distinct date
8a7cc1b11949356809776f7ef94e628f515c5d36 9e86ee7c6481beb68e69cb01b8a8dbdf2c4a30a4 Mark Seemann <mark@ploeh.dk> 1601990987 +0200	rebase -i (pick): Order occurrences
9e86ee7c6481beb68e69cb01b8a8dbdf2c4a30a4 c75be7fe70ca586fbed5cd322e0748b9585bb8b5 Mark Seemann <mark@ploeh.dk> 1601991072 +0200	rebase -i (pick): Count the number of tables at each occurrence
c75be7fe70ca586fbed5cd322e0748b9585bb8b5 1242ccd095f01252573a35edd7e922f0c834faf5 Mark Seemann <mark@ploeh.dk> 1601991158 +0200	rebase -i (pick): Use configured tables when scheduling
1242ccd095f01252573a35edd7e922f0c834faf5 e74f183d0d54e0f14881874162abd662eee64923 Mark Seemann <mark@ploeh.dk> 1601991243 +0200	rebase -i (pick): Generate MaitreD randomly
e74f183d0d54e0f14881874162abd662eee64923 811028ff736f885e54db8c89de5092f12f1de955 Mark Seemann <mark@ploeh.dk> 1601991328 +0200	rebase -i (pick): Allocate reservations at each occurrence
811028ff736f885e54db8c89de5092f12f1de955 f11fa510e058d29b7c37e56fd2f72081e85e5bf3 Mark Seemann <mark@ploeh.dk> 1601991413 +0200	rebase -i (pick): Make Seating class public
f11fa510e058d29b7c37e56fd2f72081e85e5bf3 176938608d5393aacd04499ca141e8941fdd4b1c Mark Seemann <mark@ploeh.dk> 1601991499 +0200	rebase -i (pick): Add Accept method to Table
176938608d5393aacd04499ca141e8941fdd4b1c 94b7dc26099743538c9abc29c986dc7ae845c95f Mark Seemann <mark@ploeh.dk> 1601991585 +0200	rebase -i (pick): Relax Seating
94b7dc26099743538c9abc29c986dc7ae845c95f b233b11b00e4313553461b601e46407c5057eae2 Mark Seemann <mark@ploeh.dk> 1601991670 +0200	rebase -i (pick): Include overlapping reservations in each occurrenc
b233b11b00e4313553461b601e46407c5057eae2 3d422f157499ae50c5f49c002c7857c57551ef4a Mark Seemann <mark@ploeh.dk> 1601991756 +0200	rebase -i (pick): Add time slot entries to DayDto
3d422f157499ae50c5f49c002c7857c57551ef4a 198b256b3640e87589ab3e3dd46ae03324b727a8 Mark Seemann <mark@ploeh.dk> 1601991841 +0200	rebase -i (pick): Return MaximumPartySize
198b256b3640e87589ab3e3dd46ae03324b727a8 13ab19990513e1e8ebc66fb78ce1c511d8b2597e Mark Seemann <mark@ploeh.dk> 1601991927 +0200	rebase -i (pick): Add time of day to calendar time entries
13ab19990513e1e8ebc66fb78ce1c511d8b2597e ad899e497bd360766f42f1c488ec068abb79ce5a Mark Seemann <mark@ploeh.dk> 1601992012 +0200	rebase -i (pick): Make CalendarController actions asynchronous
ad899e497bd360766f42f1c488ec068abb79ce5a 5719bfb6152c0a6d929e4277534e335395b7ad71 Mark Seemann <mark@ploeh.dk> 1601992097 +0200	rebase -i (pick): Add ReadReservations overload to repository
5719bfb6152c0a6d929e4277534e335395b7ad71 eaf73d1e4d0b9d93680f08311e7583845ad4bb8a Mark Seemann <mark@ploeh.dk> 1601992184 +0200	rebase -i (pick): Call new method instead of old
eaf73d1e4d0b9d93680f08311e7583845ad4bb8a 0b1d0bbaed6adbf77ad1702c4b46e2b5da8f4bc1 Mark Seemann <mark@ploeh.dk> 1601992269 +0200	rebase -i (pick): Move other call site over to new method
0b1d0bbaed6adbf77ad1702c4b46e2b5da8f4bc1 96a7c1b91851e4c1ca89a9f238a114bd74880525 Mark Seemann <mark@ploeh.dk> 1601992354 +0200	rebase -i (pick): Extract helper method
96a7c1b91851e4c1ca89a9f238a114bd74880525 336d93e144d92c968118f1ea72b52f95d013b36e Mark Seemann <mark@ploeh.dk> 1601992440 +0200	rebase -i (pick): Remove old method from repository interface
336d93e144d92c968118f1ea72b52f95d013b36e 6ce5417c97dcf43d51420d0deee08c7575459e33 Mark Seemann <mark@ploeh.dk> 1601992525 +0200	rebase -i (pick): Add RemainingSeats to Table class
6ce5417c97dcf43d51420d0deee08c7575459e33 c28156058c6b48428fcfccd2e05e9a8ffd32f845 Mark Seemann <mark@ploeh.dk> 1601992610 +0200	rebase -i (pick): Return schedule in day view
c28156058c6b48428fcfccd2e05e9a8ffd32f845 847fde635cb45cdef17525f3b43041d0a6b01abe Mark Seemann <mark@ploeh.dk> 1601992695 +0200	rebase -i (pick): Extract ReadReservations extension method
847fde635cb45cdef17525f3b43041d0a6b01abe e5b2fcfab21b7d1600bb354a19134d2bfbc447ab Mark Seemann <mark@ploeh.dk> 1601992781 +0200	rebase -i (pick): Extract FsCheck generators to separate file
e5b2fcfab21b7d1600bb354a19134d2bfbc447ab 359a3652b4ade897c96e86111fa7af540e5430c9 Mark Seemann <mark@ploeh.dk> 1601992865 +0200	rebase -i (pick): Rewrite Gen composition using query syntax
359a3652b4ade897c96e86111fa7af540e5430c9 ac5850c384b9a22febcc155872b3a3b860334f10 Mark Seemann <mark@ploeh.dk> 1601992949 +0200	rebase -i (pick): Introduce MaitreD.Segment
ac5850c384b9a22febcc155872b3a3b860334f10 62e452471967dbced024131a25cf55cab0064f43 Mark Seemann <mark@ploeh.dk> 1601993035 +0200	rebase -i (pick): Return segment at opening hour
62e452471967dbced024131a25cf55cab0064f43 b1179f387cff5433832ac77c0044d2570765fd1c Mark Seemann <mark@ploeh.dk> 1601993120 +0200	rebase -i (pick): Return segment at last seating time
b1179f387cff5433832ac77c0044d2570765fd1c f85a7e3daea30503943ad00c61748319ad320d6e Mark Seemann <mark@ploeh.dk> 1601993205 +0200	rebase -i (pick): Rerturn all 15-minute segments
f85a7e3daea30503943ad00c61748319ad320d6e e69fc37d8e97701f5f8c4926bb2d5f5eb5c52ed9 Mark Seemann <mark@ploeh.dk> 1601993290 +0200	rebase -i (pick): Return tables in each segment
e69fc37d8e97701f5f8c4926bb2d5f5eb5c52ed9 10135913f26882cb9e316147f266034baa373adb Mark Seemann <mark@ploeh.dk> 1601993375 +0200	rebase -i (pick): Allocate tables to each segment
10135913f26882cb9e316147f266034baa373adb a165ab14f9ddc9d08aaa657fc4b6cfa1eac6d184 Mark Seemann <mark@ploeh.dk> 1601993460 +0200	rebase -i (pick): Display segments in day calendar
a165ab14f9ddc9d08aaa657fc4b6cfa1eac6d184 4b6f74f670e2f8e1b99e405834c9bcc12505fce8 Mark Seemann <mark@ploeh.dk> 1601993546 +0200	rebase -i (pick): Return segments for all calendars
4b6f74f670e2f8e1b99e405834c9bcc12505fce8 fd9602f1c4dc496900cbfd5d06038f76acb619c9 Mark Seemann <mark@ploeh.dk> 1601993631 +0200	rebase -i (pick): Load all reservations for a month and segment them
fd9602f1c4dc496900cbfd5d06038f76acb619c9 5d44fa468c25aba631a15d028ce530514709fa7b Mark Seemann <mark@ploeh.dk> 1601993717 +0200	rebase -i (pick): Load all reservations for a year and segment them
5d44fa468c25aba631a15d028ce530514709fa7b 55ef7791a3d6c39471b382fe9f2743cce5c663d7 Mark Seemann <mark@ploeh.dk> 1601993803 +0200	rebase -i (pick): Refactor calendars to work on period values
55ef7791a3d6c39471b382fe9f2743cce5c663d7 1c9069fe14dc0d6ff76acb254ec0ca0f34a2e460 Mark Seemann <mark@ploeh.dk> 1601993888 +0200	rebase -i (pick): Extract helper method to make days
1c9069fe14dc0d6ff76acb254ec0ca0f34a2e460 70b30a5797564adbd34aa11789022c80c5d3ec0b Mark Seemann <mark@ploeh.dk> 1601993973 +0200	rebase -i (pick): Delete calendar flag
70b30a5797564adbd34aa11789022c80c5d3ec0b 966bb2b006b3c1c089f3007303e6a9d9ec4733b1 Mark Seemann <mark@ploeh.dk> 1601994059 +0200	rebase -i (pick): Add cache header on year calendar
966bb2b006b3c1c089f3007303e6a9d9ec4733b1 1e3c8fe64458e522a64de63c5e81c003b29c5801 Mark Seemann <mark@ploeh.dk> 1601994144 +0200	rebase -i (pick): Update xunit.runner.visualstudio NuGet package
1e3c8fe64458e522a64de63c5e81c003b29c5801 edb6445f7beda82d5ae9a900b83d8b62f00cfbfd Mark Seemann <mark@ploeh.dk> 1601994230 +0200	rebase -i (pick): Update System.Data.SqlClient NuGet package
edb6445f7beda82d5ae9a900b83d8b62f00cfbfd 01459daa829f7c2ec6adf86e525f6383e0900066 Mark Seemann <mark@ploeh.dk> 1601994317 +0200	rebase -i (pick): Update Microsoft.NET.Test.Sdk NuGet package
01459daa829f7c2ec6adf86e525f6383e0900066 787ec570711349acde2f68f598f9296d52c666f6 Mark Seemann <mark@ploeh.dk> 1601994402 +0200	rebase -i (pick): Update coverlet.collector NuGet package
787ec570711349acde2f68f598f9296d52c666f6 a18e0bf578522f2eb5ae5ed5f920f5e015e7f577 Mark Seemann <mark@ploeh.dk> 1601994487 +0200	rebase -i (pick): Update Microsoft.AspNetCore.Mvc.Testing NuGet pkg
a18e0bf578522f2eb5ae5ed5f920f5e015e7f577 f728341da3f401fb84d03624e16006da6d29a040 Mark Seemann <mark@ploeh.dk> 1601994573 +0200	rebase -i (pick): Update Microsoft.CodeAnalysis.FxCopAnalyzers NuGet
f728341da3f401fb84d03624e16006da6d29a040 f60288e3d114742c15cc012550407e7eff62e4f5 Mark Seemann <mark@ploeh.dk> 1601994662 +0200	rebase -i (pick): Rename test classes
f60288e3d114742c15cc012550407e7eff62e4f5 846a9392f6a9b4522d5560cff5e72d0e6578430d Mark Seemann <mark@ploeh.dk> 1601994747 +0200	rebase -i (pick): Add a schedule link to each day
846a9392f6a9b4522d5560cff5e72d0e6578430d 68fd77f8c57f99731a0586a16c1ad78627118541 Mark Seemann <mark@ploeh.dk> 1601994835 +0200	rebase -i (pick): Link to schedule resource
68fd77f8c57f99731a0586a16c1ad78627118541 07e04327085987c14feb97284dc1bcc28d361cce Mark Seemann <mark@ploeh.dk> 1601994922 +0200	rebase -i (pick): Change URL format for schedule resource
07e04327085987c14feb97284dc1bcc28d361cce 9dae280e67fdf1e4d715f547b4f99072c3edc2f2 Mark Seemann <mark@ploeh.dk> 1601995010 +0200	rebase -i (pick): Enable JWT-based authorization of schedule
9dae280e67fdf1e4d715f547b4f99072c3edc2f2 ccc988a91e611c92f17be06f24bdc83c02627fb7 Mark Seemann <mark@ploeh.dk> 1601995100 +0200	rebase -i (pick): Extract ConfigureAuthorization helper method
ccc988a91e611c92f17be06f24bdc83c02627fb7 10b54514f72e9c069c89fc7956e70f871c6b2950 Mark Seemann <mark@ploeh.dk> 1601995189 +0200	rebase -i (pick): Read secret from appsettings.json
10b54514f72e9c069c89fc7956e70f871c6b2950 53102899f91340333bbd8518ac0454d8abb74681 Mark Seemann <mark@ploeh.dk> 1601995277 +0200	rebase -i (pick): Return calendar from schedule resource
53102899f91340333bbd8518ac0454d8abb74681 fed57ef1b96d3a493ceae60911ff7cf7cf40e044 Mark Seemann <mark@ploeh.dk> 1601995364 +0200	rebase -i (pick): Populate schedule date
fed57ef1b96d3a493ceae60911ff7cf7cf40e044 17def02ef30ba5efa1e862d6fdca88f671904400 Mark Seemann <mark@ploeh.dk> 1601995454 +0200	rebase -i (pick): Return schedule entries
17def02ef30ba5efa1e862d6fdca88f671904400 cb63c6651602344781644c76669f6f3f7be37a66 Mark Seemann <mark@ploeh.dk> 1601995548 +0200	rebase -i (pick): Return entries from schedule resource
cb63c6651602344781644c76669f6f3f7be37a66 8f0a109c4f32bdd9e8998ac2ff383ae2bd003cb8 Mark Seemann <mark@ploeh.dk> 1601995636 +0200	rebase -i (pick): Make MaximumPartySize an optional property
8f0a109c4f32bdd9e8998ac2ff383ae2bd003cb8 3aa99b37ba534afa95815d5f8fd1fa056adaaa05 Mark Seemann <mark@ploeh.dk> 1601995724 +0200	rebase -i (pick): Return reservations in schedule resource
3aa99b37ba534afa95815d5f8fd1fa056adaaa05 46c213af0a4e4c269504143b647c35aa9df8e672 Mark Seemann <mark@ploeh.dk> 1601995811 +0200	rebase -i (pick): Made ReservationsVisitor a public class
46c213af0a4e4c269504143b647c35aa9df8e672 72eb44adcd6f2d2c6a92b590b271ad2aa51bbd9e Mark Seemann <mark@ploeh.dk> 1601995899 +0200	rebase -i (pick): Make ReservationsVisitor a Singleton
72eb44adcd6f2d2c6a92b590b271ad2aa51bbd9e 243db62d7b573cd452e5ac675653295d02e9c0ae Mark Seemann <mark@ploeh.dk> 1601995987 +0200	rebase -i (pick): Extract MakeEntry helper method
243db62d7b573cd452e5ac675653295d02e9c0ae 160efa0a56d30c8d84d68f3bf16bb1cbacf8eb78 Mark Seemann <mark@ploeh.dk> 1601996075 +0200	rebase -i (pick): Extract MakeCalendar helper method
160efa0a56d30c8d84d68f3bf16bb1cbacf8eb78 d5c376d04bdcabfc60c3545fe983bcfb0f626143 Mark Seemann <mark@ploeh.dk> 1601996162 +0200	rebase -i (pick): Move outlier dates a bit closer
d5c376d04bdcabfc60c3545fe983bcfb0f626143 59d924e70cc79837e70a4665363e3e70b1fa6405 Mark Seemann <mark@ploeh.dk> 1601996247 +0200	rebase -i (pick): Introduce SigningUrlHelper
59d924e70cc79837e70a4665363e3e70b1fa6405 aaaaa8e021e52e78b9bddf3260708af063fddd3f Mark Seemann <mark@ploeh.dk> 1601996335 +0200	rebase -i (pick): Add signature query parameter to generated URLs
aaaaa8e021e52e78b9bddf3260708af063fddd3f 31800bf51e0516eb05f11a0998d873cca9c149e0 Mark Seemann <mark@ploeh.dk> 1601996423 +0200	rebase -i (pick): Sign links
31800bf51e0516eb05f11a0998d873cca9c149e0 71a4131d24b633a1270384e157d31a4a42ab63f3 Mark Seemann <mark@ploeh.dk> 1601996511 +0200	rebase -i (pick): Force clients to follow links
71a4131d24b633a1270384e157d31a4a42ab63f3 f1b2526ef220705d33597265b1b0a72d3ab45040 Mark Seemann <mark@ploeh.dk> 1601996599 +0200	rebase -i (pick): Extract IsGetHomeRequest helper method
f1b2526ef220705d33597265b1b0a72d3ab45040 5919a2f63e1613c78bd8abb21da789d7520dbcdc Mark Seemann <mark@ploeh.dk> 1601996688 +0200	rebase -i (pick): Extract GetUrlWithoutSignature helper method
5919a2f63e1613c78bd8abb21da789d7520dbcdc 6c933f2c43863f342d067fd214a138d888109599 Mark Seemann <mark@ploeh.dk> 1601996775 +0200	rebase -i (pick): Add URL signing key as a dependency to filter
6c933f2c43863f342d067fd214a138d888109599 b7168322e1ebf0df936ef7fd5607b6afa54cad63 Mark Seemann <mark@ploeh.dk> 1601996863 +0200	rebase -i (pick): Add URL signing key as dependency to URL helper
b7168322e1ebf0df936ef7fd5607b6afa54cad63 07b99ef24c3a0c8d4c3d9959942391ffbe70aba3 Mark Seemann <mark@ploeh.dk> 1601996952 +0200	rebase -i (pick): Add URL signing key as dependency to URL factory
07b99ef24c3a0c8d4c3d9959942391ffbe70aba3 25efb50db6d42fe49b8da56baacfbdba7a1f5104 Mark Seemann <mark@ploeh.dk> 1601997040 +0200	rebase -i (pick): Move URL signing key to config file
25efb50db6d42fe49b8da56baacfbdba7a1f5104 c2ce8a7a9316c54cd348599e4d3bd7a20f741b3d Mark Seemann <mark@ploeh.dk> 1601997127 +0200	rebase -i (pick): Extract SignatureIsValid helper method
c2ce8a7a9316c54cd348599e4d3bd7a20f741b3d 07f68f6ffe644c0aa990d6c76ada2ee490f0c597 Mark Seemann <mark@ploeh.dk> 1601997215 +0200	rebase -i (pick): Turn validity check around
07f68f6ffe644c0aa990d6c76ada2ee490f0c597 c3807d6756822d182f807b8451b00b43c78dd2cb Mark Seemann <mark@ploeh.dk> 1601997307 +0200	rebase -i (pick): Refactor Startup a bit
c3807d6756822d182f807b8451b00b43c78dd2cb 8e11e4eecb83b118c760cb3d9808909977b1b370 Mark Seemann <mark@ploeh.dk> 1601997399 +0200	rebase -i (pick): Add restaurants array to home resource
8e11e4eecb83b118c760cb3d9808909977b1b370 edc173d2dfdaed7141227e758a733c80bf575876 Mark Seemann <mark@ploeh.dk> 1601997496 +0200	rebase -i (pick): Give restaurants names
edc173d2dfdaed7141227e758a733c80bf575876 e7d093553f5c0543b4a8df9a896755a37c76b261 Mark Seemann <mark@ploeh.dk> 1601997587 +0200	rebase -i (pick): Add restaurant link
e7d093553f5c0543b4a8df9a896755a37c76b261 d1f9797bcb4e27f202e97321d2ddae1f171f09b6 Mark Seemann <mark@ploeh.dk> 1601997675 +0200	rebase -i (pick): Add URL to restaurant link
d1f9797bcb4e27f202e97321d2ddae1f171f09b6 e9de9dc4c02fa6861fc492c1e1e54d63ec9b8d23 Mark Seemann <mark@ploeh.dk> 1601997763 +0200	rebase -i (pick): Rename Settings to Options
e9de9dc4c02fa6861fc492c1e1e54d63ec9b8d23 ec632396730d5b2f1f3e248a07d3185aa4d3f140 Mark Seemann <mark@ploeh.dk> 1601997852 +0200	rebase -i (pick): Enumerate restaurants
ec632396730d5b2f1f3e248a07d3185aa4d3f140 c8d126bce857b6c9c797a2dd44e65e5371f3b5bf Mark Seemann <mark@ploeh.dk> 1601997940 +0200	rebase -i (pick): Introduce RestaurantsController
c8d126bce857b6c9c797a2dd44e65e5371f3b5bf 7c4628f0b63ea63756c77ee674fed8d2ca2a105b Mark Seemann <mark@ploeh.dk> 1601998028 +0200	rebase -i (pick): Add links to restaurant representation
7c4628f0b63ea63756c77ee674fed8d2ca2a105b 42c813389059aea1954a7d7f1f0385de2d758301 Mark Seemann <mark@ploeh.dk> 1601998116 +0200	rebase -i (pick): Inject a database into RestaurantsController
42c813389059aea1954a7d7f1f0385de2d758301 b7aaa0e3423a77c725ad7871a4bbf4a9fe5420af Mark Seemann <mark@ploeh.dk> 1601998204 +0200	rebase -i (pick): Enumerate all restaurants
b7aaa0e3423a77c725ad7871a4bbf4a9fe5420af 44c8e12539911c4c57487d92441d4a83057bb0e0 Mark Seemann <mark@ploeh.dk> 1601998292 +0200	rebase -i (pick): Add lookup of ID based on restaurant name
44c8e12539911c4c57487d92441d4a83057bb0e0 5dfe974672861e0e73b0e89392b912949428b7b0 Mark Seemann <mark@ploeh.dk> 1601998379 +0200	rebase -i (pick): Read restaurant configurations from appsettings
5dfe974672861e0e73b0e89392b912949428b7b0 cb07379788501607697004cb841a34808bef138b Mark Seemann <mark@ploeh.dk> 1601998466 +0200	rebase -i (pick): Add tenant column to database schema
cb07379788501607697004cb841a34808bef138b b1d8a32786cfe3ca876455f270574dc99dcb30fe Mark Seemann <mark@ploeh.dk> 1601999703 +0200	rebase -i (continue): Add Create overload taking restaurant ID to repo
b1d8a32786cfe3ca876455f270574dc99dcb30fe 7701987e8ff0457e6a4da46549f38ed018972dfb Mark Seemann <mark@ploeh.dk> 1601999796 +0200	rebase -i (pick): Remove Create method without restaurant ID
7701987e8ff0457e6a4da46549f38ed018972dfb 09d0606ac8025df345f2da684312f9c3d0c523ae Mark Seemann <mark@ploeh.dk> 1601999885 +0200	rebase -i (pick): Remove legacy overload of Create
09d0606ac8025df345f2da684312f9c3d0c523ae 006d2db348dc075950a3109ef0e9d6ae5a640b3e Mark Seemann <mark@ploeh.dk> 1601999974 +0200	rebase -i (pick): Remove legacy overload of Create
006d2db348dc075950a3109ef0e9d6ae5a640b3e 4522afba69efa576f34d8b41254a71f808f1baf3 Mark Seemann <mark@ploeh.dk> 1602000059 +0200	rebase -i (pick): Add restaurant ID to reservations POST method
4522afba69efa576f34d8b41254a71f808f1baf3 ac976f076a91c9ac2098940fc23f6d4a1e06d8ea Mark Seemann <mark@ploeh.dk> 1602000147 +0200	rebase -i (pick): Add overload taking restaurant ID to Repository
ac976f076a91c9ac2098940fc23f6d4a1e06d8ea bcf1f8b67098a99a14c9a8e43f52bde7252bfc4f Mark Seemann <mark@ploeh.dk> 1602000236 +0200	rebase -i (pick): Add test cases to integration tests
bcf1f8b67098a99a14c9a8e43f52bde7252bfc4f 68c099d6d0f73291a5d6f552c48a151359ea3647 Mark Seemann <mark@ploeh.dk> 1602000328 +0200	rebase -i (pick): Remove method without restaurant ID from Repo
68c099d6d0f73291a5d6f552c48a151359ea3647 ab76da419f8b3fe289b548b7f97caa02572fdd92 Mark Seemann <mark@ploeh.dk> 1602000423 +0200	rebase -i (pick): Remove legacy overload of ReadReservations
ab76da419f8b3fe289b548b7f97caa02572fdd92 6a43e895e65416b9912ba72ec9b9585676e9ca2b Mark Seemann <mark@ploeh.dk> 1602000517 +0200	rebase -i (pick): Remove legacy overload of ReadReservations
6a43e895e65416b9912ba72ec9b9585676e9ca2b 8c3ada5499e50a04108001151d52c6453463c317 Mark Seemann <mark@ploeh.dk> 1602000608 +0200	rebase -i (pick): Add restaurant ID parameter to helper method
8c3ada5499e50a04108001151d52c6453463c317 d4072abeecb54271c8db500461d0e693a807bea4 Mark Seemann <mark@ploeh.dk> 1602000702 +0200	rebase -i (pick): Accept reservation to new restaurant
d4072abeecb54271c8db500461d0e693a807bea4 148ffbe5fcead1a572ada64f5e803160072ab540 Mark Seemann <mark@ploeh.dk> 1602000801 +0200	rebase -i (pick): Rename SelfHostedService to SelfHostedApi
148ffbe5fcead1a572ada64f5e803160072ab540 3e7088e8eb0e6983c76204b0907868e8de14f67f Mark Seemann <mark@ploeh.dk> 1602000892 +0200	rebase -i (pick): Separate legacy behaviour in its own class
3e7088e8eb0e6983c76204b0907868e8de14f67f d923c17c5a587b7c7a247dc4d733038ba7e936b1 Mark Seemann <mark@ploeh.dk> 1602000983 +0200	rebase -i (pick): Rename `service` variable to `api`
d923c17c5a587b7c7a247dc4d733038ba7e936b1 61414e6a7cae95fb9af13a37bfd2200691df7a09 Mark Seemann <mark@ploeh.dk> 1602001074 +0200	rebase -i (pick): Move test
61414e6a7cae95fb9af13a37bfd2200691df7a09 9c876f26c47317c7909a81048f2dafae868a7199 Mark Seemann <mark@ploeh.dk> 1602002417 +0200	rebase -i (continue): Use maitre d' for restaurant on new reservation
9c876f26c47317c7909a81048f2dafae868a7199 d472e581b401e830713bfcb0ec4bd0645ba9fe9b Mark Seemann <mark@ploeh.dk> 1602002517 +0200	rebase -i (pick): Handle absent restaurant
d472e581b401e830713bfcb0ec4bd0645ba9fe9b 14c347b2141db7407c6877179bc844a1f20bc103 Mark Seemann <mark@ploeh.dk> 1602003683 +0200	commit (amend): Handle absent restaurant
14c347b2141db7407c6877179bc844a1f20bc103 c4e70f9fa8696448b7ce1e1a8f35b3aaa8811523 Mark Seemann <mark@ploeh.dk> 1602003692 +0200	rebase -i (pick): Look up maitre d' for restaurant on PUT
c4e70f9fa8696448b7ce1e1a8f35b3aaa8811523 1417adfdbcdde1b908d27c531445b385a8cb6cc6 Mark Seemann <mark@ploeh.dk> 1602003787 +0200	rebase -i (pick): Check whether maitreD is null
1417adfdbcdde1b908d27c531445b385a8cb6cc6 780b9465565471d3b3c14d0fcd34de689684f157 Mark Seemann <mark@ploeh.dk> 1602005432 +0200	commit (amend): Check whether maitreD is null
780b9465565471d3b3c14d0fcd34de689684f157 f23b969e49321cdeff545a898f2654c55ba5d9ed Mark Seemann <mark@ploeh.dk> 1602005491 +0200	rebase -i (continue): Remove MaitreD depfrom ReservationsController
f23b969e49321cdeff545a898f2654c55ba5d9ed 3360bb4fc19cb91bca48c2c6db433cd685b32912 Mark Seemann <mark@ploeh.dk> 1602006146 +0200	rebase -i (continue): Refactor restaurant options to Test Data Builder
3360bb4fc19cb91bca48c2c6db433cd685b32912 aaa122b2d786dfa42c9891b1572deeaea57fbb7f Mark Seemann <mark@ploeh.dk> 1602006244 +0200	rebase -i (pick): Introduce explicit Grandfather Test Data Builder
aaa122b2d786dfa42c9891b1572deeaea57fbb7f 8277f4aa38d4b2f012410c48ee0f246688c551b8 Mark Seemann <mark@ploeh.dk> 1602006335 +0200	rebase -i (pick): Use appropriate maitre d' per restaurant
8277f4aa38d4b2f012410c48ee0f246688c551b8 256ef0fe534cb9c578596b871e20f6aa35267909 Mark Seemann <mark@ploeh.dk> 1602006430 +0200	rebase -i (pick): Return 404 Not Found on absent restaurant
256ef0fe534cb9c578596b871e20f6aa35267909 cc7408ee140b310ee167f3040630a44a62a232d8 Mark Seemann <mark@ploeh.dk> 1602006525 +0200	rebase -i (pick): Remove MaitreD dependency from CalendarController
cc7408ee140b310ee167f3040630a44a62a232d8 ffa71f4e5a02d3d624a52bd7e579f23657bbb889 Mark Seemann <mark@ploeh.dk> 1602006620 +0200	rebase -i (pick): Return name in schedule representation
ffa71f4e5a02d3d624a52bd7e579f23657bbb889 4e1e79435b3535ecea2afb1c96896ca15583126a Mark Seemann <mark@ploeh.dk> 1602006715 +0200	rebase -i (pick): Read reservations for correct restaurant
4e1e79435b3535ecea2afb1c96896ca15583126a 5dca2f9a7012f44e91dfa00f847c487bba2250ea Mark Seemann <mark@ploeh.dk> 1602006809 +0200	rebase -i (pick): Use maitre d' for correct restaurant in schedule
5dca2f9a7012f44e91dfa00f847c487bba2250ea 1b04f7485cffe1c1f2c27ab740f2ac7cca3b2d30 Mark Seemann <mark@ploeh.dk> 1602006904 +0200	rebase -i (pick): Return 404 Not Found on absent restaurant
1b04f7485cffe1c1f2c27ab740f2ac7cca3b2d30 08c54b8cd20f4ec257037a8f3e3771e9a82e737a Mark Seemann <mark@ploeh.dk> 1602006999 +0200	rebase -i (pick): Remove maitreD dependency from ScheduleController
08c54b8cd20f4ec257037a8f3e3771e9a82e737a 3b7672312dcdfb4cf24178e08906f698946f3685 Mark Seemann <mark@ploeh.dk> 1602007093 +0200	rebase -i (pick): Check authorisation for particular restaurant
3b7672312dcdfb4cf24178e08906f698946f3685 0aa8c9d93053544c51df09b68c858ac091ac17f1 Mark Seemann <mark@ploeh.dk> 1602007189 +0200	rebase -i (pick): Clean up URL templates
0aa8c9d93053544c51df09b68c858ac091ac17f1 c8f41e782503852169668d905f8b4fc96f2dfd9c Mark Seemann <mark@ploeh.dk> 1602007284 +0200	rebase -i (pick): Add tests of bookmarks
c8f41e782503852169668d905f8b4fc96f2dfd9c 3c8f6aaac5ce155e85f246a3027230a040d52717 Mark Seemann <mark@ploeh.dk> 1602007376 +0200	rebase -i (pick): Redirect clients from legacy URLs
3c8f6aaac5ce155e85f246a3027230a040d52717 2a469bc139a8b0e0674f5103abf73d24f0428857 Mark Seemann <mark@ploeh.dk> 1602007471 +0200	rebase -i (pick): Decouple API client behaviour from self-host
2a469bc139a8b0e0674f5103abf73d24f0428857 d2d637465b2691e033647d7d67fac2e90d979ba2 Mark Seemann <mark@ploeh.dk> 1602007563 +0200	rebase -i (pick): Add Authorize extension method
d2d637465b2691e033647d7d67fac2e90d979ba2 cc71d67d193b5a22f9ddfd7b86618a504f71de8e Mark Seemann <mark@ploeh.dk> 1602007655 +0200	rebase -i (pick): Introduce JwtTokenGenerator
cc71d67d193b5a22f9ddfd7b86618a504f71de8e 21474798090e1e72e0be83a8e5ec7567e8e1b35f Mark Seemann <mark@ploeh.dk> 1602007747 +0200	rebase -i (pick): Remove AuthorizeClient mutating helper method
21474798090e1e72e0be83a8e5ec7567e8e1b35f 21ed6156b35cb496f168e0d2dbd6a488349222af Mark Seemann <mark@ploeh.dk> 1602007839 +0200	rebase -i (pick): Add test for requesting schedule with bogus roles
21ed6156b35cb496f168e0d2dbd6a488349222af bccf1bf0c81d27f6588f9cfe321e191fe5acbf47 Mark Seemann <mark@ploeh.dk> 1602007931 +0200	rebase -i (pick): Move [Authorize] attribute to class declaration
bccf1bf0c81d27f6588f9cfe321e191fe5acbf47 7a54f480f5fa3ae08125e4c0f4bff5b83c8658e2 Mark Seemann <mark@ploeh.dk> 1602008026 +0200	rebase -i (pick): Add [Obsolete] attributes on legacy methods
7a54f480f5fa3ae08125e4c0f4bff5b83c8658e2 b0ec2f1daafb44cda51d29d69339f61eb955c32e Mark Seemann <mark@ploeh.dk> 1602008121 +0200	rebase -i (pick): Renamed legacy Get methods
b0ec2f1daafb44cda51d29d69339f61eb955c32e fa895a41aa50c265dbdcad53b1afa9130c8d60b5 Mark Seemann <mark@ploeh.dk> 1602008216 +0200	rebase -i (pick): Renamed GetYear/Month/Day to Get
fa895a41aa50c265dbdcad53b1afa9130c8d60b5 204c150d5c549057e0017212c917145ebe3df37f Mark Seemann <mark@ploeh.dk> 1602008311 +0200	rebase -i (pick): Change failed ACL check to 403 Forbidden
204c150d5c549057e0017212c917145ebe3df37f b64898d40c3df0192d8e917fc364dbfc455ff077 Mark Seemann <mark@ploeh.dk> 1602008406 +0200	rebase -i (pick): Add LoggingReservationsRepository
b64898d40c3df0192d8e917fc364dbfc455ff077 39c8acc0ee8e7668561aeabbebb34738c7484633 Mark Seemann <mark@ploeh.dk> 1602008502 +0200	rebase -i (pick): Flesh out LoggingReservationsRepository
39c8acc0ee8e7668561aeabbebb34738c7484633 1a3d0eb2c56d291b32121d7523b30625b7ed1a04 Mark Seemann <mark@ploeh.dk> 1602008597 +0200	rebase -i (pick): Add LoggingPostOffice
1a3d0eb2c56d291b32121d7523b30625b7ed1a04 39267a37e32098042ffee6283c2ea122e21f0204 Mark Seemann <mark@ploeh.dk> 1602008693 +0200	rebase -i (pick): Add IClock and implementations
39267a37e32098042ffee6283c2ea122e21f0204 b911922d5f4dd7b79acae956216e6d6ef49bb8e5 Mark Seemann <mark@ploeh.dk> 1602008788 +0200	rebase -i (pick): Correct some bugs in the loggers
b911922d5f4dd7b79acae956216e6d6ef49bb8e5 049fb710e390bb079a9637f95f90375e07074b4d Mark Seemann <mark@ploeh.dk> 1602008884 +0200	rebase -i (pick): Serialise objects to log
049fb710e390bb079a9637f95f90375e07074b4d 65811dc8d9f69882026bcae63302d7d4dd3fb21c Mark Seemann <mark@ploeh.dk> 1602009177 +0200	rebase -i (continue): Add restaurant ID to IPostOffice methods
65811dc8d9f69882026bcae63302d7d4dd3fb21c 51297b9febe3680e92f2e46f01fc109f1583b7c7 Mark Seemann <mark@ploeh.dk> 1602009282 +0200	rebase -i (pick): Consolidate xunit.runner.visualstudio versions
51297b9febe3680e92f2e46f01fc109f1583b7c7 5de57be3a4a63cc415605a6dbd76a681c74b0f7f Mark Seemann <mark@ploeh.dk> 1602009377 +0200	rebase -i (pick): Consolidate Microsoft.NET.Test.Sdk NuGet versions
5de57be3a4a63cc415605a6dbd76a681c74b0f7f d273a6f2fc743ba13f31cc2f4a3dd37be1413133 Mark Seemann <mark@ploeh.dk> 1602009473 +0200	rebase -i (pick): Consolidate coverlet.collector NuGet versions
d273a6f2fc743ba13f31cc2f4a3dd37be1413133 ed67a02ca252d3997f7f0c94722a01498ff3758c Mark Seemann <mark@ploeh.dk> 1602009569 +0200	rebase -i (pick): Consolidate Microsoft.CodeAnalysis.FxCopAnalyzers
ed67a02ca252d3997f7f0c94722a01498ff3758c c1b963d29162c29057a26c99ec4ff94d299edd3c Mark Seemann <mark@ploeh.dk> 1602009663 +0200	rebase -i (pick): Update Microsoft.AspNetCore.Mvc.Testing NuGet pkg
c1b963d29162c29057a26c99ec4ff94d299edd3c 4a4079e3faa7ed05bc76f9b1dcbd906b40275605 Mark Seemann <mark@ploeh.dk> 1602009757 +0200	rebase -i (pick): Upd Microsoft.AspNetCore.Authentication.JwtBearer
4a4079e3faa7ed05bc76f9b1dcbd906b40275605 10ad688effe12d44beed74553811af8008d9dfc6 Mark Seemann <mark@ploeh.dk> 1602009852 +0200	rebase -i (pick): Move const string out of method body
10ad688effe12d44beed74553811af8008d9dfc6 7f3665e4caf0b0b9e958381ee0f59d3d41d40e5b Mark Seemann <mark@ploeh.dk> 1602009945 +0200	rebase -i (pick): Read PublicId from reader
7f3665e4caf0b0b9e958381ee0f59d3d41d40e5b 1cd49112e82ed681a50dedb96c85685e0837e89b Mark Seemann <mark@ploeh.dk> 1602010038 +0200	rebase -i (pick): Extract ReadReservationRow helper method
1cd49112e82ed681a50dedb96c85685e0837e89b 31f9a7ce0cd07bd240488e09376f72a5d46f1545 Mark Seemann <mark@ploeh.dk> 1602010131 +0200	rebase -i (pick): Rename namespaces
31f9a7ce0cd07bd240488e09376f72a5d46f1545 9537867529277406c1815914ba84d92e038dc969 Mark Seemann <mark@ploeh.dk> 1602010227 +0200	rebase -i (pick): Introduce Restaurant class
9537867529277406c1815914ba84d92e038dc969 86a43e2876f6cc5ca8e4ee3a40a1ab7b65b4336e Mark Seemann <mark@ploeh.dk> 1602010321 +0200	rebase -i (pick): Add GetRestaurant method to restaurant database
86a43e2876f6cc5ca8e4ee3a40a1ab7b65b4336e 3b275f8915998a975ec705fbfb0bd80dd0eac22c Mark Seemann <mark@ploeh.dk> 1602010414 +0200	rebase -i (pick): Call GetRestaurant from Controller
3b275f8915998a975ec705fbfb0bd80dd0eac22c a8cf2236e12602ac5f28fbf277b053a256ada21e Mark Seemann <mark@ploeh.dk> 1602010507 +0200	rebase -i (pick): Call GetRestaurant from Controller
a8cf2236e12602ac5f28fbf277b053a256ada21e e474af5a3b65cc013845d5f7973dd5a65ef88f08 Mark Seemann <mark@ploeh.dk> 1602010600 +0200	rebase -i (pick): Call GetRestaurant from Controller
e474af5a3b65cc013845d5f7973dd5a65ef88f08 a2723f422bdd5d2975011745a5db10b09909acad Mark Seemann <mark@ploeh.dk> 1602010694 +0200	rebase -i (pick): Replace restaurntId parameter with restaurant
a2723f422bdd5d2975011745a5db10b09909acad 432a0f45e25358a17d9851c75ae8723d64ad4475 Mark Seemann <mark@ploeh.dk> 1602010788 +0200	rebase -i (pick): Remove redundant method parameter
432a0f45e25358a17d9851c75ae8723d64ad4475 e2c0d131e76b7403025606c1b8d2e9b8d70bf8b8 Mark Seemann <mark@ploeh.dk> 1602010883 +0200	rebase -i (pick): Call GetRestaurant from Controller
e2c0d131e76b7403025606c1b8d2e9b8d70bf8b8 eadf4eefd66ee651df57170778bcf192bb419201 Mark Seemann <mark@ploeh.dk> 1602010978 +0200	rebase -i (pick): Call GetRestaurant from Controller
eadf4eefd66ee651df57170778bcf192bb419201 2bac757db74a7f6d795f6c03d854b39dea6cf5f1 Mark Seemann <mark@ploeh.dk> 1602011071 +0200	rebase -i (pick): Call GetRestaurant from Controller
2bac757db74a7f6d795f6c03d854b39dea6cf5f1 2998705e2d6de212d7aba2dfeba7d6de52a1cdb5 Mark Seemann <mark@ploeh.dk> 1602011164 +0200	rebase -i (pick): Remove a null-analysis repression operator (!)
2998705e2d6de212d7aba2dfeba7d6de52a1cdb5 42b048dad2e78bbfb2989f8b31e17538fbbe16cc Mark Seemann <mark@ploeh.dk> 1602011255 +0200	rebase -i (pick): Unwrap some arguments
42b048dad2e78bbfb2989f8b31e17538fbbe16cc 6dea4e5a45482018a8613ef2422ff25335cb067e Mark Seemann <mark@ploeh.dk> 1602012352 +0200	rebase -i (continue): Use GetRestaurant in tests instead of GetMaitreD
6dea4e5a45482018a8613ef2422ff25335cb067e 7f1ea6e7989c3ed11d779cf24732f3be7eac6706 Mark Seemann <mark@ploeh.dk> 1602012448 +0200	rebase -i (pick): Delete GetMaitreD method
7f1ea6e7989c3ed11d779cf24732f3be7eac6706 880626f24dfcda4a786030a8e6abb0f3a9e59b6d Mark Seemann <mark@ploeh.dk> 1602012541 +0200	rebase -i (pick): Use GetRestaurant instead of GetName
880626f24dfcda4a786030a8e6abb0f3a9e59b6d 1971de4f0172b2817190fa634b3d8afcd9812c5d Mark Seemann <mark@ploeh.dk> 1602012634 +0200	rebase -i (pick): Use GetRestaurant instead of GetName
1971de4f0172b2817190fa634b3d8afcd9812c5d a9791d7c393f847d1e7a96b3dd778212eca32326 Mark Seemann <mark@ploeh.dk> 1602012726 +0200	rebase -i (pick): Use GetRestaurant instead of GetName
a9791d7c393f847d1e7a96b3dd778212eca32326 16c8c03bf77b39fe14109d6fca57c501a284fdda Mark Seemann <mark@ploeh.dk> 1602012820 +0200	rebase -i (pick): Use GetRestaurant instead of GetName
16c8c03bf77b39fe14109d6fca57c501a284fdda cbeea8e751324d7475711262e10ba6f7ff4e27c8 Mark Seemann <mark@ploeh.dk> 1602012912 +0200	rebase -i (pick): Use GetRestaurant instead of GetName
cbeea8e751324d7475711262e10ba6f7ff4e27c8 bea1f7e696ff0731e68707f836b133ffecb78b36 Mark Seemann <mark@ploeh.dk> 1602013007 +0200	rebase -i (pick): Delete GetName method from interface
bea1f7e696ff0731e68707f836b133ffecb78b36 b3f03ee4607428aa90c00f3bc8ad41accb20bdec Mark Seemann <mark@ploeh.dk> 1602013099 +0200	rebase -i (pick): Add GetRestaurant overload to interface
b3f03ee4607428aa90c00f3bc8ad41accb20bdec fdc3ebb719cb97de35742582e3fb828f36b3f5a4 Mark Seemann <mark@ploeh.dk> 1602013192 +0200	rebase -i (pick): Replace call to GetId with GetRestaurant
fdc3ebb719cb97de35742582e3fb828f36b3f5a4 97f79270acb7df7dd329d332d54d5ad54b25c78d Mark Seemann <mark@ploeh.dk> 1602013284 +0200	rebase -i (pick): Replace call to GetId with GetRestaurant
97f79270acb7df7dd329d332d54d5ad54b25c78d 3e9b3c28123c44c0c5aa1f82815c64c073e6af11 Mark Seemann <mark@ploeh.dk> 1602013376 +0200	rebase -i (pick): Delete GetId method from interface
3e9b3c28123c44c0c5aa1f82815c64c073e6af11 11c073cdd402cb02f77567bc1d070cd511582560 Mark Seemann <mark@ploeh.dk> 1602013469 +0200	rebase -i (pick): Introduce GetAll method on interface
11c073cdd402cb02f77567bc1d070cd511582560 00103b06d964df726889e264704b5872eadcb1b1 Mark Seemann <mark@ploeh.dk> 1602013561 +0200	rebase -i (pick): Use GetAll instead of GetAllNames
00103b06d964df726889e264704b5872eadcb1b1 56e38ae5a8b8b0cc0b169b3618b61649f47b80d3 Mark Seemann <mark@ploeh.dk> 1602013653 +0200	rebase -i (pick): Delete GetAllNames method from interface
56e38ae5a8b8b0cc0b169b3618b61649f47b80d3 ee0d00d9e93ed3640bcd180a49d8d92becc10ae3 Mark Seemann <mark@ploeh.dk> 1602013745 +0200	rebase -i (pick): Make ToMaitreD method private
ee0d00d9e93ed3640bcd180a49d8d92becc10ae3 5acf1e6c1ef6e17dd1a1173d795884a3341cbc8f Mark Seemann <mark@ploeh.dk> 1602013839 +0200	rebase -i (pick): Move ToMaitreD method
5acf1e6c1ef6e17dd1a1173d795884a3341cbc8f aa638f3351d4813049f1a5b37ef3e0770d695c99 Mark Seemann <mark@ploeh.dk> 1602013931 +0200	rebase -i (pick): Add InMemoryRestaurantDatabase
aa638f3351d4813049f1a5b37ef3e0770d695c99 229ff8ce71747c22f2c3d51ef53b432014a7f013 Mark Seemann <mark@ploeh.dk> 1602014023 +0200	rebase -i (pick): Configure services to use InMemoryRestaurantDB
229ff8ce71747c22f2c3d51ef53b432014a7f013 a82d549ab79b92cfb641305b235da0717ff853a7 Mark Seemann <mark@ploeh.dk> 1602014116 +0200	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
a82d549ab79b92cfb641305b235da0717ff853a7 eb34d444cd415eb9daf2ad1fdec83b9fea1f4a1a Mark Seemann <mark@ploeh.dk> 1602014208 +0200	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
eb34d444cd415eb9daf2ad1fdec83b9fea1f4a1a 07a690cc75af61864a90f8f0b5783e91375d09c6 Mark Seemann <mark@ploeh.dk> 1602014300 +0200	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
07a690cc75af61864a90f8f0b5783e91375d09c6 c49206eeb8f850f1c007b7a7f18716521a1103cd Mark Seemann <mark@ploeh.dk> 1602014391 +0200	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
c49206eeb8f850f1c007b7a7f18716521a1103cd 56014f132e43df2f4d78474873735cd36b72a563 Mark Seemann <mark@ploeh.dk> 1602014482 +0200	rebase -i (pick): Use more compact restaurant configuration code
56014f132e43df2f4d78474873735cd36b72a563 f53d8be3f6673131f140970a32883f9375159087 Mark Seemann <mark@ploeh.dk> 1602014574 +0200	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
f53d8be3f6673131f140970a32883f9375159087 fa24e7d65779a74724539e7fdabe4dcd94ddff85 Mark Seemann <mark@ploeh.dk> 1602014665 +0200	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
fa24e7d65779a74724539e7fdabe4dcd94ddff85 ad06b4a2e091575515ae70d2553ea239910bafa8 Mark Seemann <mark@ploeh.dk> 1602014756 +0200	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
ad06b4a2e091575515ae70d2553ea239910bafa8 01897db879e6a01d5e0673929f814cd2caa9c3b5 Mark Seemann <mark@ploeh.dk> 1602014847 +0200	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
01897db879e6a01d5e0673929f814cd2caa9c3b5 6f29d50ea417ceb79d2c895eefb3c2b68b86f5ef Mark Seemann <mark@ploeh.dk> 1602014938 +0200	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
6f29d50ea417ceb79d2c895eefb3c2b68b86f5ef 7c76569156b4513fa29615455b26647ae3227386 Mark Seemann <mark@ploeh.dk> 1602015030 +0200	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
7c76569156b4513fa29615455b26647ae3227386 7986382b5d93eddf98c6d775c5a293d099252a1f Mark Seemann <mark@ploeh.dk> 1602015120 +0200	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
7986382b5d93eddf98c6d775c5a293d099252a1f 6a304f2a0fa53c633bfa3302ce57cf24b857bdea Mark Seemann <mark@ploeh.dk> 1602015211 +0200	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
6a304f2a0fa53c633bfa3302ce57cf24b857bdea 328f7fdb749143acfa258255e8c1de56d755d4b9 Mark Seemann <mark@ploeh.dk> 1602015302 +0200	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
328f7fdb749143acfa258255e8c1de56d755d4b9 956e15876e962f3eebc5f5994c443986b928c143 Mark Seemann <mark@ploeh.dk> 1602015393 +0200	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
956e15876e962f3eebc5f5994c443986b928c143 ab842a63b9c2e8a31ede515a41471b3527213133 Mark Seemann <mark@ploeh.dk> 1602015484 +0200	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
ab842a63b9c2e8a31ede515a41471b3527213133 e06923ef77cc50a086d227f62f7a6045f657521e Mark Seemann <mark@ploeh.dk> 1602015575 +0200	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
e06923ef77cc50a086d227f62f7a6045f657521e 0018ba6e1491f33f56b625d3c22351d5d244efbd Mark Seemann <mark@ploeh.dk> 1602015665 +0200	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
0018ba6e1491f33f56b625d3c22351d5d244efbd 27e1b64dbd3e8217ede5b506f1bf6962fcd93e6b Mark Seemann <mark@ploeh.dk> 1602015757 +0200	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
27e1b64dbd3e8217ede5b506f1bf6962fcd93e6b 28aea430d7ad0e28852a7e5f3d1488d3a0450fea Mark Seemann <mark@ploeh.dk> 1602015883 +0200	rebase -i (continue): Use InMemoryRestaurantDatabase in a test
28aea430d7ad0e28852a7e5f3d1488d3a0450fea 165ffbb09676cb715726e8ec0db96018a9d2d764 Mark Seemann <mark@ploeh.dk> 1602015979 +0200	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
165ffbb09676cb715726e8ec0db96018a9d2d764 8895d6975375f0aa9336dd53024f8ec6129c175f Mark Seemann <mark@ploeh.dk> 1602016070 +0200	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
8895d6975375f0aa9336dd53024f8ec6129c175f 369ae21a626274d94b913d2693e98edc2fe41eae Mark Seemann <mark@ploeh.dk> 1602016162 +0200	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
369ae21a626274d94b913d2693e98edc2fe41eae ae95baf73e42d99f287b465fcfd34aed24afb5b7 Mark Seemann <mark@ploeh.dk> 1602016255 +0200	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
ae95baf73e42d99f287b465fcfd34aed24afb5b7 b0ea6e0b90c693af631c0674b3390a645d1d9133 Mark Seemann <mark@ploeh.dk> 1602016347 +0200	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
b0ea6e0b90c693af631c0674b3390a645d1d9133 60eba78873863a0cbc4f6aaa9b4eed6ba2a38e6d Mark Seemann <mark@ploeh.dk> 1602016438 +0200	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
60eba78873863a0cbc4f6aaa9b4eed6ba2a38e6d e8349ebb0d02e6eb8f647c2ef57fee67829f2751 Mark Seemann <mark@ploeh.dk> 1602016530 +0200	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
e8349ebb0d02e6eb8f647c2ef57fee67829f2751 ffaaaf786e6b08f75f21273c48a5f4f2290264c0 Mark Seemann <mark@ploeh.dk> 1602016621 +0200	rebase -i (pick): Delete OptionsRestaurantDatabase
ffaaaf786e6b08f75f21273c48a5f4f2290264c0 33cbbf1cff2046288791f1518a213119688d693f Mark Seemann <mark@ploeh.dk> 1602016714 +0200	rebase -i (pick): Delete redundant Test Data Builders
33cbbf1cff2046288791f1518a213119688d693f f8c71bbd3ed74bfdaa3cfc3d24ba3b60f0b5feb2 Mark Seemann <mark@ploeh.dk> 1602016805 +0200	rebase -i (pick): Extract TryUpdate helper method
f8c71bbd3ed74bfdaa3cfc3d24ba3b60f0b5feb2 84a644f6ec7ab4921cfa7bb95d21718f3b205424 Mark Seemann <mark@ploeh.dk> 1602016897 +0200	rebase -i (pick): Rename `res` to `reservation`
84a644f6ec7ab4921cfa7bb95d21718f3b205424 5aeec0ff00a37a7462114bdd8a3e9129f52a91d8 Mark Seemann <mark@ploeh.dk> 1602016989 +0200	rebase -i (pick): Rename `res` to `reservation`
5aeec0ff00a37a7462114bdd8a3e9129f52a91d8 207d1a46c337b25983de41a16a82c6f4fc5f9410 Mark Seemann <mark@ploeh.dk> 1602017082 +0200	rebase -i (pick): Revert "Extrace TryUpdate helper method"
207d1a46c337b25983de41a16a82c6f4fc5f9410 b2f8b19b3cb404f2897b44b218d36d4de794b7bf Mark Seemann <mark@ploeh.dk> 1602017174 +0200	rebase -i (pick): Add Either
b2f8b19b3cb404f2897b44b218d36d4de794b7bf 0bb43ac573861870c267d34b339a898e2d92d4e7 Mark Seemann <mark@ploeh.dk> 1602017267 +0200	rebase -i (pick): Extract TryUpdate method
0bb43ac573861870c267d34b339a898e2d92d4e7 f295da050a06b187aba98dfaa4b61cee141a35e7 Mark Seemann <mark@ploeh.dk> 1602017359 +0200	rebase -i (pick): Move transaction scope to TryUpdate method
f295da050a06b187aba98dfaa4b61cee141a35e7 6c342b00d27d6c35b2ada6de2d58bccf0ae4f349 Mark Seemann <mark@ploeh.dk> 1602017452 +0200	rebase -i (pick): Extract Update helper method
6c342b00d27d6c35b2ada6de2d58bccf0ae4f349 40d89045c0e1f8ee7ab90914d25a2b9f591e88f5 Mark Seemann <mark@ploeh.dk> 1602017544 +0200	rebase -i (pick): Extract WillAcceptUpdate helper method
40d89045c0e1f8ee7ab90914d25a2b9f591e88f5 9d637e91661ad3acbaad661e4c0ee546bb6e6f5c Mark Seemann <mark@ploeh.dk> 1602017637 +0200	rebase -i (pick): Extract TryCreate helper method
9d637e91661ad3acbaad661e4c0ee546bb6e6f5c 910a67b2040c0bc23743e6ef986e4ca2fde23478 Mark Seemann <mark@ploeh.dk> 1602017730 +0200	rebase -i (pick): Extract ReadReservations period extension method
910a67b2040c0bc23743e6ef986e4ca2fde23478 808b688f941b994a13c140d0ba66481a78957fe8 Mark Seemann <mark@ploeh.dk> 1602017822 +0200	rebase -i (pick): Extract ConfigureRepository helper method
808b688f941b994a13c140d0ba66481a78957fe8 21003018817bb3e8967213055e2fa726d3a87a20 Mark Seemann <mark@ploeh.dk> 1602017914 +0200	rebase -i (pick): Extract ConfigureRestaurants helper method
21003018817bb3e8967213055e2fa726d3a87a20 fc6387a6a191c8f67211a5578b6e3d3003a412ea Mark Seemann <mark@ploeh.dk> 1602018007 +0200	rebase -i (pick): Extract ConfigureClock helper method
fc6387a6a191c8f67211a5578b6e3d3003a412ea d21a5b1578c440d54eb1dc760d3750ffea64d7df Mark Seemann <mark@ploeh.dk> 1602018100 +0200	rebase -i (pick): Extract ConfigurePostOffice helper method
d21a5b1578c440d54eb1dc760d3750ffea64d7df ed52d9fd194d2a2ac5ef20284e79607d2e2b7794 Mark Seemann <mark@ploeh.dk> 1602018192 +0200	rebase -i (pick): Compact code
ed52d9fd194d2a2ac5ef20284e79607d2e2b7794 8a442f4d3db9eb8122e4f8888ecfbb4704b3f814 Mark Seemann <mark@ploeh.dk> 1602018285 +0200	rebase -i (pick): Move Configure method up
8a442f4d3db9eb8122e4f8888ecfbb4704b3f814 c8abc27852050479825c587ee5c46efc2ec1cb02 Mark Seemann <mark@ploeh.dk> 1602018377 +0200	rebase -i (pick): Extract CreateTokenValidationParameters method
c8abc27852050479825c587ee5c46efc2ec1cb02 f92d11315041cb9010b7836e0b9023048ba256d4 Mark Seemann <mark@ploeh.dk> 1602018469 +0200	rebase -i (pick): Delete Either API
f92d11315041cb9010b7836e0b9023048ba256d4 bf3af15f0aec24be3ec0f9d79d9cc4cfe85c95fc Mark Seemann <mark@ploeh.dk> 1602018562 +0200	rebase -i (pick): Inline variables
bf3af15f0aec24be3ec0f9d79d9cc4cfe85c95fc 0b6804301880d20991369e9fbc4a932fb3e95251 Mark Seemann <mark@ploeh.dk> 1602018653 +0200	rebase -i (pick): Reduce duplication in assertion
0b6804301880d20991369e9fbc4a932fb3e95251 7885a52f9062405af943e7100591710a5016e2f3 Mark Seemann <mark@ploeh.dk> 1602018745 +0200	rebase -i (pick): Reduce duplication in assertion
7885a52f9062405af943e7100591710a5016e2f3 e60f664f6b08e52d34f46bd8a82da4b645015158 Mark Seemann <mark@ploeh.dk> 1602018836 +0200	rebase -i (pick): Rename variable
e60f664f6b08e52d34f46bd8a82da4b645015158 29a0143c1bd25c7c0a93d1072a3d7da8b920485a Mark Seemann <mark@ploeh.dk> 1602018928 +0200	rebase -i (pick): Extract AssertOverbookResponse helper assertion
29a0143c1bd25c7c0a93d1072a3d7da8b920485a eadae86463532e91111b229fa4fa173f5b13fd12 Mark Seemann <mark@ploeh.dk> 1602019019 +0200	rebase -i (pick): Reduce duplication with AssertSuccess helper
eadae86463532e91111b229fa4fa173f5b13fd12 f355bd5ff3573a533ca8d36b57df7652c05d030f Mark Seemann <mark@ploeh.dk> 1602019110 +0200	rebase -i (pick): Delete AssertSuccess helper function
f355bd5ff3573a533ca8d36b57df7652c05d030f 4e66dc41a745c7ddd0b340d2a1dadfd1f4c41d31 Mark Seemann <mark@ploeh.dk> 1602019201 +0200	rebase -i (pick): Extract AssertUrlFormatIsIdiomatic helper assert
4e66dc41a745c7ddd0b340d2a1dadfd1f4c41d31 fec030084b91f15a889b8ff74afc0dc5eda62ba4 Mark Seemann <mark@ploeh.dk> 1602019293 +0200	rebase -i (pick): Add Create static helper class
fec030084b91f15a889b8ff74afc0dc5eda62ba4 81c2511426cb6d9fc6f05e57fbeb8725f27d3571 Mark Seemann <mark@ploeh.dk> 1602045732 +0200	rebase -i (continue): Inline variable
81c2511426cb6d9fc6f05e57fbeb8725f27d3571 a8dfe6209439538062a40f65047f33e9f93aa7e6 Mark Seemann <mark@ploeh.dk> 1602045829 +0200	rebase -i (pick): Simplify comment
a8dfe6209439538062a40f65047f33e9f93aa7e6 411bddb90c611b68faf895fb9b98aa8ceb77d42c Mark Seemann <mark@ploeh.dk> 1602045920 +0200	rebase -i (pick): Add Create function for SmtpOptions
411bddb90c611b68faf895fb9b98aa8ceb77d42c 27e900ce4f4cf1833d529808f7bfebe519a1ca89 Mark Seemann <mark@ploeh.dk> 1602046012 +0200	rebase -i (pick): Add seats field to Table
27e900ce4f4cf1833d529808f7bfebe519a1ca89 12710f23a087f79f804b6891731dee8ed962fa3b Mark Seemann <mark@ploeh.dk> 1602046105 +0200	rebase -i (pick): Add isStandard field to Table
12710f23a087f79f804b6891731dee8ed962fa3b 40bb06ae86f19003205d381f7563108d0d6ca8f9 Mark Seemann <mark@ploeh.dk> 1602046198 +0200	rebase -i (pick): Add reservations array to Table
40bb06ae86f19003205d381f7563108d0d6ca8f9 cab2b5b8ec0265a62b7a5c51ced6e29d835334c5 Mark Seemann <mark@ploeh.dk> 1602046291 +0200	rebase -i (pick): Remove internal ITable interface and imps
cab2b5b8ec0265a62b7a5c51ced6e29d835334c5 a0ffe0cc1b7dd6c5bc6eb34c8155eabcc22e9961 Mark Seemann <mark@ploeh.dk> 1602046384 +0200	rebase -i (pick): Replace Visitor with field access
a0ffe0cc1b7dd6c5bc6eb34c8155eabcc22e9961 1fe19961b87f79381c30cd19fc14a4d450888921 Mark Seemann <mark@ploeh.dk> 1602046476 +0200	rebase -i (pick): Replace Visitor with field access
1fe19961b87f79381c30cd19fc14a4d450888921 6506842879099e203f6d69dbc6f55a7ebb619065 Mark Seemann <mark@ploeh.dk> 1602046569 +0200	rebase -i (pick): Replace Visitor with field access
6506842879099e203f6d69dbc6f55a7ebb619065 521d427c555ae61474b6493677c660f5da488ace Mark Seemann <mark@ploeh.dk> 1602046662 +0200	rebase -i (pick): Replace underlying class field with auto-property
521d427c555ae61474b6493677c660f5da488ace dac7bafe2c1ce2cc002354c73321df6f7a6f61b0 Mark Seemann <mark@ploeh.dk> 1602046755 +0200	rebase -i (pick): Add restarant ID to ReadReservation method
dac7bafe2c1ce2cc002354c73321df6f7a6f61b0 0a2874463b524a1b79585483402dc419094e91cb Mark Seemann <mark@ploeh.dk> 1602046847 +0200	rebase -i (pick): Add restarant ID to Update method
0a2874463b524a1b79585483402dc419094e91cb f7e125e2c2741a268a41335deb5b1a19d48c88b7 Mark Seemann <mark@ploeh.dk> 1602046940 +0200	rebase -i (pick): Add restarant ID to Delete method
f7e125e2c2741a268a41335deb5b1a19d48c88b7 769b48dcee1f72ac1dfb95f95482b846423ae1fa Mark Seemann <mark@ploeh.dk> 1602047033 +0200	rebase -i (pick): Add EmailingReservationsRepository
769b48dcee1f72ac1dfb95f95482b846423ae1fa 936c487500058f772fbc344f761fb6838c0dbb67 Mark Seemann <mark@ploeh.dk> 1602047595 +0200	rebase -i (continue): Remove PostOffice dependency from Controller
936c487500058f772fbc344f761fb6838c0dbb67 1918d527ef7568bfb94328e42c067f45463f5e40 Mark Seemann <mark@ploeh.dk> 1602047693 +0200	rebase -i (pick): Fix logging bug
1918d527ef7568bfb94328e42c067f45463f5e40 ab3905b05c24cfa24ef7bdd29d85829ce8317be8 Mark Seemann <mark@ploeh.dk> 1602047785 +0200	rebase -i (pick): Name clusters of assertions
ab3905b05c24cfa24ef7bdd29d85829ce8317be8 48f29c592a5b6ffa599263d58530f4567ba412d5 Mark Seemann <mark@ploeh.dk> 1602047876 +0200	rebase -i (pick): Introduce TimeSlot class
48f29c592a5b6ffa599263d58530f4567ba412d5 fc05c070b7f68c5ab6baa4ae0c3eda27f330589d Mark Seemann <mark@ploeh.dk> 1602047968 +0200	rebase -i (pick): Refactor one method to use TimeSlot
fc05c070b7f68c5ab6baa4ae0c3eda27f330589d f7f5ba233a328ddcd6df75b656ab839439816782 Mark Seemann <mark@ploeh.dk> 1602048060 +0200	rebase -i (pick): Replace Occurrence with TimeSlot in method
f7f5ba233a328ddcd6df75b656ab839439816782 2eb77ab7534208ee5350a1a39df18c56ea673220 Mark Seemann <mark@ploeh.dk> 1602048152 +0200	rebase -i (pick): Return TimeSlots from a variant of Schedule
2eb77ab7534208ee5350a1a39df18c56ea673220 981eef9a60ffdd4c01be72c606b59f930bb1d6d9 Mark Seemann <mark@ploeh.dk> 1602048244 +0200	rebase -i (pick): Refactor helper assertion to use TimeSlot
981eef9a60ffdd4c01be72c606b59f930bb1d6d9 02f7136fec75838c0460aa16cb01b1e59c05a8db Mark Seemann <mark@ploeh.dk> 1602048336 +0200	rebase -i (pick): Use new Schedule method at one call site
02f7136fec75838c0460aa16cb01b1e59c05a8db 373fd008496eb8da8004b284a0a865dfec9d5750 Mark Seemann <mark@ploeh.dk> 1602048427 +0200	rebase -i (pick): Use new Schedule method at one call site
373fd008496eb8da8004b284a0a865dfec9d5750 87a0d20bc94c0d8cbfae00e154a7494591637a88 Mark Seemann <mark@ploeh.dk> 1602048519 +0200	rebase -i (pick): Remove old Schedule variation
87a0d20bc94c0d8cbfae00e154a7494591637a88 66f588c25e5412be1ab746a480826a4007b0008b Mark Seemann <mark@ploeh.dk> 1602048611 +0200	rebase -i (pick): Refactor return type of Segment method
66f588c25e5412be1ab746a480826a4007b0008b b67266730ec8016a31189507d37f1724c3d8ecfc Mark Seemann <mark@ploeh.dk> 1602048703 +0200	rebase -i (pick): Delete Occurrence class
b67266730ec8016a31189507d37f1724c3d8ecfc 31b2c7d9824fa91d2cd30e58d4a26940251409c5 Mark Seemann <mark@ploeh.dk> 1602048796 +0200	rebase -i (pick): Refactor parametrised test to individual tests
31b2c7d9824fa91d2cd30e58d4a26940251409c5 08ccfaf6444785ed88d523979e592039c4e2186a Mark Seemann <mark@ploeh.dk> 1602048888 +0200	rebase -i (pick): Move static mutation out of lambda expression
08ccfaf6444785ed88d523979e592039c4e2186a 08ccfaf6444785ed88d523979e592039c4e2186a Mark Seemann <mark@ploeh.dk> 1602048888 +0200	rebase -i (finish): returning to refs/heads/master
08ccfaf6444785ed88d523979e592039c4e2186a c3daac07bbfdec27a4489e116a313d22961bcf0a Mark Seemann <mark@ploeh.dk> 1602068633 +0200	checkout: moving from master to c3daac0
c3daac07bbfdec27a4489e116a313d22961bcf0a 08ccfaf6444785ed88d523979e592039c4e2186a Mark Seemann <mark@ploeh.dk> 1602069237 +0200	checkout: moving from c3daac07bbfdec27a4489e116a313d22961bcf0a to master
08ccfaf6444785ed88d523979e592039c4e2186a c3daac07bbfdec27a4489e116a313d22961bcf0a Mark Seemann <mark@ploeh.dk> 1602069316 +0200	checkout: moving from master to c3daac0
c3daac07bbfdec27a4489e116a313d22961bcf0a c1e29a470bbb379f635a88d1ddad700c9fbb8fb3 Mark Seemann <mark@ploeh.dk> 1602070421 +0200	checkout: moving from c3daac07bbfdec27a4489e116a313d22961bcf0a to c1e29a4
c1e29a470bbb379f635a88d1ddad700c9fbb8fb3 58c73ee811851e1266784eb98986926fe7420ebb Mark Seemann <mark@ploeh.dk> 1602073588 +0200	checkout: moving from c1e29a470bbb379f635a88d1ddad700c9fbb8fb3 to HEAD~1
58c73ee811851e1266784eb98986926fe7420ebb c1e29a470bbb379f635a88d1ddad700c9fbb8fb3 Mark Seemann <mark@ploeh.dk> 1602074498 +0200	reset: moving to HEAD@{1}
c1e29a470bbb379f635a88d1ddad700c9fbb8fb3 08ccfaf6444785ed88d523979e592039c4e2186a Mark Seemann <mark@ploeh.dk> 1602078227 +0200	checkout: moving from c1e29a470bbb379f635a88d1ddad700c9fbb8fb3 to master
08ccfaf6444785ed88d523979e592039c4e2186a 08ccfaf6444785ed88d523979e592039c4e2186a Mark Seemann <mark@ploeh.dk> 1602079912 +0200	reset: moving to HEAD
08ccfaf6444785ed88d523979e592039c4e2186a 08ccfaf6444785ed88d523979e592039c4e2186a Mark Seemann <mark@ploeh.dk> 1602155278 +0200	reset: moving to HEAD
08ccfaf6444785ed88d523979e592039c4e2186a 08ccfaf6444785ed88d523979e592039c4e2186a Mark Seemann <mark@ploeh.dk> 1603108430 +0200	reset: moving to HEAD
08ccfaf6444785ed88d523979e592039c4e2186a 08ccfaf6444785ed88d523979e592039c4e2186a Mark Seemann <mark@ploeh.dk> 1603108433 +0200	reset: moving to HEAD
08ccfaf6444785ed88d523979e592039c4e2186a c9fae770fc53a4f00aff9432228a61c94a307138 Mark Seemann <mark@ploeh.dk> 1603108437 +0200	checkout: moving from master to c9fae77
c9fae770fc53a4f00aff9432228a61c94a307138 f36e73ab2010836ffed0832415697755159b69b2 Mark Seemann <mark@ploeh.dk> 1603119055 +0200	checkout: moving from c9fae770fc53a4f00aff9432228a61c94a307138 to HEAD~1
f36e73ab2010836ffed0832415697755159b69b2 3aea98d89e5369f32f1763088716e246e5f67267 Mark Seemann <mark@ploeh.dk> 1603132584 +0200	checkout: moving from f36e73ab2010836ffed0832415697755159b69b2 to HEAD~1
3aea98d89e5369f32f1763088716e246e5f67267 d64b0b76ef9235d82afb55cf8fd0014859c3625e Mark Seemann <mark@ploeh.dk> 1603132675 +0200	checkout: moving from 3aea98d89e5369f32f1763088716e246e5f67267 to HEAD~1
d64b0b76ef9235d82afb55cf8fd0014859c3625e 1c62f661112d813ff50e6e228bf8938b13e093f8 Mark Seemann <mark@ploeh.dk> 1603132684 +0200	checkout: moving from d64b0b76ef9235d82afb55cf8fd0014859c3625e to HEAD~1
1c62f661112d813ff50e6e228bf8938b13e093f8 a1f3048dcc20d9ca87df6fb477b3a2dbf743b095 Mark Seemann <mark@ploeh.dk> 1603132689 +0200	checkout: moving from 1c62f661112d813ff50e6e228bf8938b13e093f8 to HEAD~1
a1f3048dcc20d9ca87df6fb477b3a2dbf743b095 25bfb20ed2ad2cbc70dd51b03e3cbd578f4999ee Mark Seemann <mark@ploeh.dk> 1603132695 +0200	checkout: moving from a1f3048dcc20d9ca87df6fb477b3a2dbf743b095 to HEAD~1
25bfb20ed2ad2cbc70dd51b03e3cbd578f4999ee d136c5702fd797dcf38203d217b3317498491a79 Mark Seemann <mark@ploeh.dk> 1603132698 +0200	checkout: moving from 25bfb20ed2ad2cbc70dd51b03e3cbd578f4999ee to HEAD~1
d136c5702fd797dcf38203d217b3317498491a79 d63f8caa88eda306893125005a68186009c7e08f Mark Seemann <mark@ploeh.dk> 1603132702 +0200	checkout: moving from d136c5702fd797dcf38203d217b3317498491a79 to HEAD~1
d63f8caa88eda306893125005a68186009c7e08f 613bf4d6bb15087f47f986c3d7eb5652ed60a775 Mark Seemann <mark@ploeh.dk> 1603132707 +0200	checkout: moving from d63f8caa88eda306893125005a68186009c7e08f to HEAD~1
613bf4d6bb15087f47f986c3d7eb5652ed60a775 c9fae770fc53a4f00aff9432228a61c94a307138 Mark Seemann <mark@ploeh.dk> 1603177973 +0200	checkout: moving from 613bf4d6bb15087f47f986c3d7eb5652ed60a775 to c9fae77
c9fae770fc53a4f00aff9432228a61c94a307138 65f9f3a875b53d0bbaafabb1c59548f969ffe1ac Mark Seemann <mark@ploeh.dk> 1603178122 +0200	checkout: moving from c9fae770fc53a4f00aff9432228a61c94a307138 to 65f9f3a875b53d0bbaafabb1c59548f969ffe1ac
65f9f3a875b53d0bbaafabb1c59548f969ffe1ac 70b30a5797564adbd34aa11789022c80c5d3ec0b Mark Seemann <mark@ploeh.dk> 1603179930 +0200	checkout: moving from 65f9f3a875b53d0bbaafabb1c59548f969ffe1ac to 70b30a5
70b30a5797564adbd34aa11789022c80c5d3ec0b 1c9069fe14dc0d6ff76acb254ec0ca0f34a2e460 Mark Seemann <mark@ploeh.dk> 1603179961 +0200	checkout: moving from 70b30a5797564adbd34aa11789022c80c5d3ec0b to HEAD~1
1c9069fe14dc0d6ff76acb254ec0ca0f34a2e460 70b30a5797564adbd34aa11789022c80c5d3ec0b Mark Seemann <mark@ploeh.dk> 1603179994 +0200	checkout: moving from 1c9069fe14dc0d6ff76acb254ec0ca0f34a2e460 to 70b30a5
70b30a5797564adbd34aa11789022c80c5d3ec0b 65f9f3a875b53d0bbaafabb1c59548f969ffe1ac Mark Seemann <mark@ploeh.dk> 1603180003 +0200	checkout: moving from 70b30a5797564adbd34aa11789022c80c5d3ec0b to 65f9f3a875b53d0bbaafabb1c59548f969ffe1ac
65f9f3a875b53d0bbaafabb1c59548f969ffe1ac 70b30a5797564adbd34aa11789022c80c5d3ec0b Mark Seemann <mark@ploeh.dk> 1603193525 +0200	checkout: moving from 65f9f3a875b53d0bbaafabb1c59548f969ffe1ac to 70b30a5
70b30a5797564adbd34aa11789022c80c5d3ec0b 08ccfaf6444785ed88d523979e592039c4e2186a Mark Seemann <mark@ploeh.dk> 1603292189 +0200	checkout: moving from 70b30a5797564adbd34aa11789022c80c5d3ec0b to master
08ccfaf6444785ed88d523979e592039c4e2186a 5719bfb6152c0a6d929e4277534e335395b7ad71 Mark Seemann <mark@ploeh.dk> 1603292208 +0200	checkout: moving from master to 5719bfb
5719bfb6152c0a6d929e4277534e335395b7ad71 ad899e497bd360766f42f1c488ec068abb79ce5a Mark Seemann <mark@ploeh.dk> 1603292434 +0200	checkout: moving from 5719bfb6152c0a6d929e4277534e335395b7ad71 to HEAD~1
ad899e497bd360766f42f1c488ec068abb79ce5a 5719bfb6152c0a6d929e4277534e335395b7ad71 Mark Seemann <mark@ploeh.dk> 1603350744 +0200	checkout: moving from ad899e497bd360766f42f1c488ec068abb79ce5a to 5719bfb
5719bfb6152c0a6d929e4277534e335395b7ad71 0b1d0bbaed6adbf77ad1702c4b46e2b5da8f4bc1 Mark Seemann <mark@ploeh.dk> 1603365062 +0200	checkout: moving from 5719bfb6152c0a6d929e4277534e335395b7ad71 to 0b1d0bbaed6adbf77ad1702c4b46e2b5da8f4bc1
0b1d0bbaed6adbf77ad1702c4b46e2b5da8f4bc1 08ccfaf6444785ed88d523979e592039c4e2186a Mark Seemann <mark@ploeh.dk> 1603366574 +0200	checkout: moving from 0b1d0bbaed6adbf77ad1702c4b46e2b5da8f4bc1 to master
08ccfaf6444785ed88d523979e592039c4e2186a 847fde635cb45cdef17525f3b43041d0a6b01abe Mark Seemann <mark@ploeh.dk> 1603366760 +0200	checkout: moving from master to 847fde635cb45cdef17525f3b43041d0a6b01abe
847fde635cb45cdef17525f3b43041d0a6b01abe 0b1d0bbaed6adbf77ad1702c4b46e2b5da8f4bc1 Mark Seemann <mark@ploeh.dk> 1603366825 +0200	checkout: moving from 847fde635cb45cdef17525f3b43041d0a6b01abe to 0b1d0bbaed6adbf77ad1702c4b46e2b5da8f4bc1
0b1d0bbaed6adbf77ad1702c4b46e2b5da8f4bc1 336d93e144d92c968118f1ea72b52f95d013b36e Mark Seemann <mark@ploeh.dk> 1603366843 +0200	checkout: moving from 0b1d0bbaed6adbf77ad1702c4b46e2b5da8f4bc1 to 336d93e144d92c968118f1ea72b52f95d013b36e
336d93e144d92c968118f1ea72b52f95d013b36e 08ccfaf6444785ed88d523979e592039c4e2186a Mark Seemann <mark@ploeh.dk> 1603458030 +0200	checkout: moving from 336d93e144d92c968118f1ea72b52f95d013b36e to master
08ccfaf6444785ed88d523979e592039c4e2186a 71a4131d24b633a1270384e157d31a4a42ab63f3 Mark Seemann <mark@ploeh.dk> 1603458276 +0200	checkout: moving from master to 71a4131
71a4131d24b633a1270384e157d31a4a42ab63f3 08ccfaf6444785ed88d523979e592039c4e2186a Mark Seemann <mark@ploeh.dk> 1603458609 +0200	checkout: moving from 71a4131d24b633a1270384e157d31a4a42ab63f3 to master
08ccfaf6444785ed88d523979e592039c4e2186a 08ccfaf6444785ed88d523979e592039c4e2186a Mark Seemann <mark@ploeh.dk> 1603468236 +0200	reset: moving to HEAD
08ccfaf6444785ed88d523979e592039c4e2186a 08ccfaf6444785ed88d523979e592039c4e2186a Mark Seemann <mark@ploeh.dk> 1603566783 +0200	reset: moving to HEAD
08ccfaf6444785ed88d523979e592039c4e2186a 52ffc478e25dbf880189891be0d549f2e1d1ce98 Mark Seemann <mark@ploeh.dk> 1603615694 +0100	commit: Reformat to a single line of code
52ffc478e25dbf880189891be0d549f2e1d1ce98 0e98e902b4c6acf50d6ee7607b3c2da8a9655fea Mark Seemann <mark@ploeh.dk> 1603615793 +0100	commit: Unwrap call chain
0e98e902b4c6acf50d6ee7607b3c2da8a9655fea 946eda898d2cd9d852889ab104e020d5df88bbee Mark Seemann <mark@ploeh.dk> 1603616171 +0100	commit: Update Microsoft.AspNetCore.Mvc.Testing NuGet pkg
946eda898d2cd9d852889ab104e020d5df88bbee 98ea73c48e1d9a1151621ceeb179decbb6415a5c Mark Seemann <mark@ploeh.dk> 1603616339 +0100	commit: Update JwtBearer NuGet package
98ea73c48e1d9a1151621ceeb179decbb6415a5c c1fe83319c08c15a64a5cedcf71c965f2c4556b6 Mark Seemann <mark@ploeh.dk> 1603616519 +0100	commit: Update System.IdentityModel.Tokens.Jwt NuGet pkg
c1fe83319c08c15a64a5cedcf71c965f2c4556b6 aa638f3351d4813049f1a5b37ef3e0770d695c99 Mark Seemann <mark@ploeh.dk> 1603622268 +0100	checkout: moving from master to aa638f3
aa638f3351d4813049f1a5b37ef3e0770d695c99 48f29c592a5b6ffa599263d58530f4567ba412d5 Mark Seemann <mark@ploeh.dk> 1603694637 +0100	checkout: moving from aa638f3351d4813049f1a5b37ef3e0770d695c99 to 48f29c5
48f29c592a5b6ffa599263d58530f4567ba412d5 b67266730ec8016a31189507d37f1724c3d8ecfc Mark Seemann <mark@ploeh.dk> 1603702624 +0100	checkout: moving from 48f29c592a5b6ffa599263d58530f4567ba412d5 to b67266730ec8016a31189507d37f1724c3d8ecfc
b67266730ec8016a31189507d37f1724c3d8ecfc 48f29c592a5b6ffa599263d58530f4567ba412d5 Mark Seemann <mark@ploeh.dk> 1603703135 +0100	checkout: moving from b67266730ec8016a31189507d37f1724c3d8ecfc to 48f29c5
48f29c592a5b6ffa599263d58530f4567ba412d5 fc05c070b7f68c5ab6baa4ae0c3eda27f330589d Mark Seemann <mark@ploeh.dk> 1603703802 +0100	checkout: moving from 48f29c592a5b6ffa599263d58530f4567ba412d5 to fc05c070b7f68c5ab6baa4ae0c3eda27f330589d
fc05c070b7f68c5ab6baa4ae0c3eda27f330589d 48f29c592a5b6ffa599263d58530f4567ba412d5 Mark Seemann <mark@ploeh.dk> 1603711933 +0100	checkout: moving from fc05c070b7f68c5ab6baa4ae0c3eda27f330589d to HEAD~1
48f29c592a5b6ffa599263d58530f4567ba412d5 fc05c070b7f68c5ab6baa4ae0c3eda27f330589d Mark Seemann <mark@ploeh.dk> 1603712241 +0100	checkout: moving from 48f29c592a5b6ffa599263d58530f4567ba412d5 to fc05c070b7f68c5ab6baa4ae0c3eda27f330589d
fc05c070b7f68c5ab6baa4ae0c3eda27f330589d c1fe83319c08c15a64a5cedcf71c965f2c4556b6 Mark Seemann <mark@ploeh.dk> 1603714865 +0100	checkout: moving from fc05c070b7f68c5ab6baa4ae0c3eda27f330589d to master
c1fe83319c08c15a64a5cedcf71c965f2c4556b6 48f29c592a5b6ffa599263d58530f4567ba412d5 Mark Seemann <mark@ploeh.dk> 1603727444 +0100	checkout: moving from master to 48f29c5
48f29c592a5b6ffa599263d58530f4567ba412d5 c1fe83319c08c15a64a5cedcf71c965f2c4556b6 Mark Seemann <mark@ploeh.dk> 1603911047 +0100	checkout: moving from 48f29c592a5b6ffa599263d58530f4567ba412d5 to master
c1fe83319c08c15a64a5cedcf71c965f2c4556b6 e968a0a7ea117757b33270bfe352437a8688b3ed Mark Seemann <mark@ploeh.dk> 1603977036 +0100	checkout: moving from master to e968a0a
e968a0a7ea117757b33270bfe352437a8688b3ed 866fbdb7fa548b6dd649f7c2fba56cb31b281d84 Mark Seemann <mark@ploeh.dk> 1603977168 +0100	checkout: moving from e968a0a7ea117757b33270bfe352437a8688b3ed to 866fbdb
866fbdb7fa548b6dd649f7c2fba56cb31b281d84 0cee56f950ecd4254caf64b8edd8f181054bde0b Mark Seemann <mark@ploeh.dk> 1603977188 +0100	checkout: moving from 866fbdb7fa548b6dd649f7c2fba56cb31b281d84 to 0cee56f
0cee56f950ecd4254caf64b8edd8f181054bde0b c1fe83319c08c15a64a5cedcf71c965f2c4556b6 Mark Seemann <mark@ploeh.dk> 1603977228 +0100	checkout: moving from 0cee56f950ecd4254caf64b8edd8f181054bde0b to master
c1fe83319c08c15a64a5cedcf71c965f2c4556b6 769b48dcee1f72ac1dfb95f95482b846423ae1fa Mark Seemann <mark@ploeh.dk> 1603979646 +0100	checkout: moving from master to 769b48dcee1f72ac1dfb95f95482b846423ae1fa
769b48dcee1f72ac1dfb95f95482b846423ae1fa c1fe83319c08c15a64a5cedcf71c965f2c4556b6 Mark Seemann <mark@ploeh.dk> 1603980400 +0100	checkout: moving from 769b48dcee1f72ac1dfb95f95482b846423ae1fa to master
c1fe83319c08c15a64a5cedcf71c965f2c4556b6 ffaaaf786e6b08f75f21273c48a5f4f2290264c0 Mark Seemann <mark@ploeh.dk> 1603980478 +0100	checkout: moving from master to ffaaaf7
ffaaaf786e6b08f75f21273c48a5f4f2290264c0 229ff8ce71747c22f2c3d51ef53b432014a7f013 Mark Seemann <mark@ploeh.dk> 1603980774 +0100	checkout: moving from ffaaaf786e6b08f75f21273c48a5f4f2290264c0 to 229ff8c
229ff8ce71747c22f2c3d51ef53b432014a7f013 c1fe83319c08c15a64a5cedcf71c965f2c4556b6 Mark Seemann <mark@ploeh.dk> 1603981134 +0100	checkout: moving from 229ff8ce71747c22f2c3d51ef53b432014a7f013 to master
c1fe83319c08c15a64a5cedcf71c965f2c4556b6 49a2c10f06b542e0d9fc5355d1c8282cf8e40782 Mark Seemann <mark@ploeh.dk> 1604065282 +0100	checkout: moving from master to 49a2c10
49a2c10f06b542e0d9fc5355d1c8282cf8e40782 a8c9095377c510b4003fafff8a0b4923866435cd Mark Seemann <mark@ploeh.dk> 1604071300 +0100	checkout: moving from 49a2c10f06b542e0d9fc5355d1c8282cf8e40782 to a8c9095
a8c9095377c510b4003fafff8a0b4923866435cd 4315d102b6bf5983878838ef6f1faa1a66eb71f5 Mark Seemann <mark@ploeh.dk> 1604071401 +0100	checkout: moving from a8c9095377c510b4003fafff8a0b4923866435cd to HEAD~1
4315d102b6bf5983878838ef6f1faa1a66eb71f5 c1fe83319c08c15a64a5cedcf71c965f2c4556b6 Mark Seemann <mark@ploeh.dk> 1604079608 +0100	checkout: moving from 4315d102b6bf5983878838ef6f1faa1a66eb71f5 to master
c1fe83319c08c15a64a5cedcf71c965f2c4556b6 49a2c10f06b542e0d9fc5355d1c8282cf8e40782 Mark Seemann <mark@ploeh.dk> 1604230179 +0100	checkout: moving from master to 49a2c10
49a2c10f06b542e0d9fc5355d1c8282cf8e40782 8d56430145eead6f97e51b4a0330b54718cb99b6 Mark Seemann <mark@ploeh.dk> 1604393924 +0100	checkout: moving from 49a2c10f06b542e0d9fc5355d1c8282cf8e40782 to 8d56430
8d56430145eead6f97e51b4a0330b54718cb99b6 7b62e3a0c6c8cd606e1e35ecd4014fe831145ebe Mark Seemann <mark@ploeh.dk> 1604400612 +0100	checkout: moving from 8d56430145eead6f97e51b4a0330b54718cb99b6 to HEAD~1
7b62e3a0c6c8cd606e1e35ecd4014fe831145ebe 8d56430145eead6f97e51b4a0330b54718cb99b6 Mark Seemann <mark@ploeh.dk> 1604403505 +0100	checkout: moving from 7b62e3a0c6c8cd606e1e35ecd4014fe831145ebe to 8d56430
8d56430145eead6f97e51b4a0330b54718cb99b6 c1fe83319c08c15a64a5cedcf71c965f2c4556b6 Mark Seemann <mark@ploeh.dk> 1604429777 +0100	checkout: moving from 8d56430145eead6f97e51b4a0330b54718cb99b6 to master
c1fe83319c08c15a64a5cedcf71c965f2c4556b6 74abb89ac93c11354338234b5f657ab0872d7c30 Mark Seemann <mark@ploeh.dk> 1604837391 +0100	checkout: moving from master to interaction-based-testing
74abb89ac93c11354338234b5f657ab0872d7c30 c1fe83319c08c15a64a5cedcf71c965f2c4556b6 Mark Seemann <mark@ploeh.dk> 1604947095 +0100	checkout: moving from interaction-based-testing to master
c1fe83319c08c15a64a5cedcf71c965f2c4556b6 c3807d6756822d182f807b8451b00b43c78dd2cb Mark Seemann <mark@ploeh.dk> 1605011729 +0100	checkout: moving from master to c3807d6
c3807d6756822d182f807b8451b00b43c78dd2cb 7b62e3a0c6c8cd606e1e35ecd4014fe831145ebe Mark Seemann <mark@ploeh.dk> 1605011921 +0100	checkout: moving from c3807d6756822d182f807b8451b00b43c78dd2cb to 7b62e3a
7b62e3a0c6c8cd606e1e35ecd4014fe831145ebe fceddaeef0bc7cdfe8bcf3558a1af51eca3e4bd8 Mark Seemann <mark@ploeh.dk> 1605012922 +0100	checkout: moving from 7b62e3a0c6c8cd606e1e35ecd4014fe831145ebe to fceddaeef0bc7cdfe8bcf3558a1af51eca3e4bd8
fceddaeef0bc7cdfe8bcf3558a1af51eca3e4bd8 684acea9e181e7a767cbfadf1493db971440ac73 Mark Seemann <mark@ploeh.dk> 1605012947 +0100	checkout: moving from fceddaeef0bc7cdfe8bcf3558a1af51eca3e4bd8 to 684acea
684acea9e181e7a767cbfadf1493db971440ac73 74abb89ac93c11354338234b5f657ab0872d7c30 Mark Seemann <mark@ploeh.dk> 1605163270 +0100	checkout: moving from 684acea9e181e7a767cbfadf1493db971440ac73 to interaction-based-testing
74abb89ac93c11354338234b5f657ab0872d7c30 684acea9e181e7a767cbfadf1493db971440ac73 Mark Seemann <mark@ploeh.dk> 1605179065 +0100	checkout: moving from interaction-based-testing to 684acea
684acea9e181e7a767cbfadf1493db971440ac73 c1fe83319c08c15a64a5cedcf71c965f2c4556b6 Mark Seemann <mark@ploeh.dk> 1605181638 +0100	checkout: moving from 684acea9e181e7a767cbfadf1493db971440ac73 to master
c1fe83319c08c15a64a5cedcf71c965f2c4556b6 049fb710e390bb079a9637f95f90375e07074b4d Mark Seemann <mark@ploeh.dk> 1605195659 +0100	checkout: moving from master to 049fb71
049fb710e390bb079a9637f95f90375e07074b4d c1fe83319c08c15a64a5cedcf71c965f2c4556b6 Mark Seemann <mark@ploeh.dk> 1605199251 +0100	checkout: moving from 049fb710e390bb079a9637f95f90375e07074b4d to master
c1fe83319c08c15a64a5cedcf71c965f2c4556b6 049fb710e390bb079a9637f95f90375e07074b4d Mark Seemann <mark@ploeh.dk> 1605200599 +0100	checkout: moving from master to 049fb71
049fb710e390bb079a9637f95f90375e07074b4d c1fe83319c08c15a64a5cedcf71c965f2c4556b6 Mark Seemann <mark@ploeh.dk> 1605251409 +0100	checkout: moving from 049fb710e390bb079a9637f95f90375e07074b4d to master
c1fe83319c08c15a64a5cedcf71c965f2c4556b6 c1fe83319c08c15a64a5cedcf71c965f2c4556b6 Mark Seemann <mark@ploeh.dk> 1605508119 +0100	reset: moving to HEAD
c1fe83319c08c15a64a5cedcf71c965f2c4556b6 86c6d6ed262bd0223857c45838dc851bddba0221 Mark Seemann <mark@ploeh.dk> 1605508292 +0100	commit: Make legacy Get action synchronous
86c6d6ed262bd0223857c45838dc851bddba0221 9e5148e73389aaa599d744d1ad2348a42696b68e Mark Seemann <mark@ploeh.dk> 1605508398 +0100	commit: Make legacy Get action synchronous
9e5148e73389aaa599d744d1ad2348a42696b68e 1620da8c8c707df14a1cfbaf151da4db85ac327d Mark Seemann <mark@ploeh.dk> 1605508407 +0100	commit (amend): Make LegacyGet action synchronous
1620da8c8c707df14a1cfbaf151da4db85ac327d d4df56cbac39944df85285fdf9fd617b5246bfa0 Mark Seemann <mark@ploeh.dk> 1605508486 +0100	commit: Make LegacyGet action synchronous
d4df56cbac39944df85285fdf9fd617b5246bfa0 3aa40d6627189decc8715c5d666ecfbf6b5e7b10 Mark Seemann <mark@ploeh.dk> 1605508543 +0100	commit: Make LegacyGet action synchronous
3aa40d6627189decc8715c5d666ecfbf6b5e7b10 3aa40d6627189decc8715c5d666ecfbf6b5e7b10 Mark Seemann <mark@ploeh.dk> 1605510692 +0100	reset: moving to HEAD
3aa40d6627189decc8715c5d666ecfbf6b5e7b10 3aa40d6627189decc8715c5d666ecfbf6b5e7b10 Mark Seemann <mark@ploeh.dk> 1605602101 +0100	reset: moving to HEAD
3aa40d6627189decc8715c5d666ecfbf6b5e7b10 f2e51f891f74ae45044c13d8469723ee1c28237e Mark Seemann <mark@ploeh.dk> 1605602180 +0100	commit: Remove redundant code analysis suppression
f2e51f891f74ae45044c13d8469723ee1c28237e 0880afa70061917477528f9d4140a6fbb33615aa Mark Seemann <mark@ploeh.dk> 1605610999 +0100	commit: Rename 'other' variables
0880afa70061917477528f9d4140a6fbb33615aa 0880afa70061917477528f9d4140a6fbb33615aa Mark Seemann <mark@ploeh.dk> 1605625353 +0100	reset: moving to HEAD
0880afa70061917477528f9d4140a6fbb33615aa 62a9fca695bc5800eb4f9b6965f6ef850066d0f0 Mark Seemann <mark@ploeh.dk> 1605871904 +0100	checkout: moving from master to 62a9fca695bc5800eb4f9b6965f6ef850066d0f0
62a9fca695bc5800eb4f9b6965f6ef850066d0f0 0880afa70061917477528f9d4140a6fbb33615aa Mark Seemann <mark@ploeh.dk> 1605880230 +0100	checkout: moving from 62a9fca695bc5800eb4f9b6965f6ef850066d0f0 to master
0880afa70061917477528f9d4140a6fbb33615aa 21ed6156b35cb496f168e0d2dbd6a488349222af Mark Seemann <mark@ploeh.dk> 1605881420 +0100	checkout: moving from master to 21ed6156b35cb496f168e0d2dbd6a488349222af
21ed6156b35cb496f168e0d2dbd6a488349222af 0880afa70061917477528f9d4140a6fbb33615aa Mark Seemann <mark@ploeh.dk> 1605886033 +0100	checkout: moving from 21ed6156b35cb496f168e0d2dbd6a488349222af to master
0880afa70061917477528f9d4140a6fbb33615aa 87211613b17bf4eb0de7a9a22d848ddf6c059607 Mark Seemann <mark@ploeh.dk> 1605963421 +0100	checkout: moving from master to 87211613b17bf4eb0de7a9a22d848ddf6c059607
87211613b17bf4eb0de7a9a22d848ddf6c059607 62ba8449d3c7226d58edb7b2b7e33b49c9ebced4 Mark Seemann <mark@ploeh.dk> 1605963449 +0100	checkout: moving from 87211613b17bf4eb0de7a9a22d848ddf6c059607 to HEAD~1
62ba8449d3c7226d58edb7b2b7e33b49c9ebced4 0880afa70061917477528f9d4140a6fbb33615aa Mark Seemann <mark@ploeh.dk> 1605973457 +0100	checkout: moving from 62ba8449d3c7226d58edb7b2b7e33b49c9ebced4 to master
0880afa70061917477528f9d4140a6fbb33615aa 87211613b17bf4eb0de7a9a22d848ddf6c059607 Mark Seemann <mark@ploeh.dk> 1605973565 +0100	checkout: moving from master to 87211613b17bf4eb0de7a9a22d848ddf6c059607
87211613b17bf4eb0de7a9a22d848ddf6c059607 62ba8449d3c7226d58edb7b2b7e33b49c9ebced4 Mark Seemann <mark@ploeh.dk> 1605973567 +0100	checkout: moving from 87211613b17bf4eb0de7a9a22d848ddf6c059607 to HEAD~1
62ba8449d3c7226d58edb7b2b7e33b49c9ebced4 87211613b17bf4eb0de7a9a22d848ddf6c059607 Mark Seemann <mark@ploeh.dk> 1605975965 +0100	checkout: moving from 62ba8449d3c7226d58edb7b2b7e33b49c9ebced4 to 87211613b17bf4eb0de7a9a22d848ddf6c059607
87211613b17bf4eb0de7a9a22d848ddf6c059607 0880afa70061917477528f9d4140a6fbb33615aa Mark Seemann <mark@ploeh.dk> 1605980035 +0100	checkout: moving from 87211613b17bf4eb0de7a9a22d848ddf6c059607 to master
0880afa70061917477528f9d4140a6fbb33615aa d1bb9d2fa09b54ca848d58fdbe31fbfe2dbbaabc Mark Seemann <mark@ploeh.dk> 1606238687 +0100	commit: Remove redundant code analysis suppression
d1bb9d2fa09b54ca848d58fdbe31fbfe2dbbaabc c1555fabf5db3cd3fd37edf22bbd3b2eb6de725c Mark Seemann <mark@ploeh.dk> 1606238706 +0100	commit (amend): Remove redundant code analysis suppression
c1555fabf5db3cd3fd37edf22bbd3b2eb6de725c 3c864a334a2bd2a906d389105b6f8844c87af395 Mark Seemann <mark@ploeh.dk> 1606238762 +0100	commit: Remove redundant code analysis suppression
3c864a334a2bd2a906d389105b6f8844c87af395 a7540f0ed28a6ad26236291897dea4afdbed4490 Mark Seemann <mark@ploeh.dk> 1606376558 +0100	commit: Rename test method
a7540f0ed28a6ad26236291897dea4afdbed4490 2d2e126c49e8c0683f3717115cb8c0020b6b3193 Mark Seemann <mark@ploeh.dk> 1606377468 +0100	commit: Change email and name test data
2d2e126c49e8c0683f3717115cb8c0020b6b3193 2d2e126c49e8c0683f3717115cb8c0020b6b3193 Mark Seemann <mark@ploeh.dk> 1606377680 +0100	reset: moving to HEAD
2d2e126c49e8c0683f3717115cb8c0020b6b3193 4fa8629be631a2639ff3f30ea0b69dcf023b63c4 Mark Seemann <mark@ploeh.dk> 1606377704 +0100	commit: Correct typo in variable name
4fa8629be631a2639ff3f30ea0b69dcf023b63c4 6905378363e9463e33297b30f849291609e69516 Mark Seemann <mark@ploeh.dk> 1606378484 +0100	commit: Convert parametrised test to property
6905378363e9463e33297b30f849291609e69516 6905378363e9463e33297b30f849291609e69516 Mark Seemann <mark@ploeh.dk> 1606378602 +0100	reset: moving to HEAD
6905378363e9463e33297b30f849291609e69516 5edc4999af4e7f81f19ae243f5199dbda4fad64d Mark Seemann <mark@ploeh.dk> 1606378742 +0100	commit: Promote reservation ID to property parameter
5edc4999af4e7f81f19ae243f5199dbda4fad64d 769ea3516bd0fd1c6244fe925adf66f0993af9cc Mark Seemann <mark@ploeh.dk> 1606378858 +0100	commit: Promote `at` to a property parameter
769ea3516bd0fd1c6244fe925adf66f0993af9cc 6e2d0bbe1060bad0fefcdcb0d5426d10474d278a Mark Seemann <mark@ploeh.dk> 1606378990 +0100	commit: Promote email to property parameter
6e2d0bbe1060bad0fefcdcb0d5426d10474d278a b7f4a6a196c5382c5aa98747ae5e10b7cba7b1dd Mark Seemann <mark@ploeh.dk> 1606379118 +0100	commit: Promote name to property parameter
b7f4a6a196c5382c5aa98747ae5e10b7cba7b1dd 4fa8629be631a2639ff3f30ea0b69dcf023b63c4 Mark Seemann <mark@ploeh.dk> 1606381296 +0100	checkout: moving from master to 4fa8629
4fa8629be631a2639ff3f30ea0b69dcf023b63c4 6905378363e9463e33297b30f849291609e69516 Mark Seemann <mark@ploeh.dk> 1606391764 +0100	checkout: moving from 4fa8629be631a2639ff3f30ea0b69dcf023b63c4 to 6905378
6905378363e9463e33297b30f849291609e69516 5edc4999af4e7f81f19ae243f5199dbda4fad64d Mark Seemann <mark@ploeh.dk> 1606396467 +0100	checkout: moving from 6905378363e9463e33297b30f849291609e69516 to 5edc499
5edc4999af4e7f81f19ae243f5199dbda4fad64d b7f4a6a196c5382c5aa98747ae5e10b7cba7b1dd Mark Seemann <mark@ploeh.dk> 1606396835 +0100	checkout: moving from 5edc4999af4e7f81f19ae243f5199dbda4fad64d to master
b7f4a6a196c5382c5aa98747ae5e10b7cba7b1dd b7f4a6a196c5382c5aa98747ae5e10b7cba7b1dd Mark Seemann <mark@ploeh.dk> 1606754307 +0100	reset: moving to HEAD
b7f4a6a196c5382c5aa98747ae5e10b7cba7b1dd 3106a2c4390e69c3a2689ebda4d254ef6af3da28 Mark Seemann <mark@ploeh.dk> 1607355985 +0100	checkout: moving from master to 3106a2c
3106a2c4390e69c3a2689ebda4d254ef6af3da28 b7f4a6a196c5382c5aa98747ae5e10b7cba7b1dd Mark Seemann <mark@ploeh.dk> 1607357767 +0100	checkout: moving from 3106a2c4390e69c3a2689ebda4d254ef6af3da28 to master
b7f4a6a196c5382c5aa98747ae5e10b7cba7b1dd b7f4a6a196c5382c5aa98747ae5e10b7cba7b1dd Mark Seemann <mark@ploeh.dk> 1607625438 +0100	reset: moving to HEAD
b7f4a6a196c5382c5aa98747ae5e10b7cba7b1dd b7f4a6a196c5382c5aa98747ae5e10b7cba7b1dd Mark Seemann <mark@ploeh.dk> 1607628297 +0100	reset: moving to HEAD
b7f4a6a196c5382c5aa98747ae5e10b7cba7b1dd 87211613b17bf4eb0de7a9a22d848ddf6c059607 Mark Seemann <mark@ploeh.dk> 1607628501 +0100	checkout: moving from master to 87211613b17bf4eb0de7a9a22d848ddf6c059607
87211613b17bf4eb0de7a9a22d848ddf6c059607 b7f4a6a196c5382c5aa98747ae5e10b7cba7b1dd Mark Seemann <mark@ploeh.dk> 1607630924 +0100	checkout: moving from 87211613b17bf4eb0de7a9a22d848ddf6c059607 to master
b7f4a6a196c5382c5aa98747ae5e10b7cba7b1dd b7f4a6a196c5382c5aa98747ae5e10b7cba7b1dd Mark Seemann <mark@ploeh.dk> 1609880617 +0100	reset: moving to HEAD
b7f4a6a196c5382c5aa98747ae5e10b7cba7b1dd eed2a7c6be2c6ebd7eb988785c270aa76b8fba2b Mark Seemann <mark@ploeh.dk> 1610187501 +0100	commit: Format expression to be more consistent
eed2a7c6be2c6ebd7eb988785c270aa76b8fba2b 70c4a224d6bfc9d421b06d70de1df9a63b206ca8 Mark Seemann <mark@ploeh.dk> 1610188003 +0100	commit: Make ReservationDto.Validate method public
70c4a224d6bfc9d421b06d70de1df9a63b206ca8 70c4a224d6bfc9d421b06d70de1df9a63b206ca8 Mark Seemann <mark@ploeh.dk> 1610203714 +0100	reset: moving to HEAD
70c4a224d6bfc9d421b06d70de1df9a63b206ca8 eed2a7c6be2c6ebd7eb988785c270aa76b8fba2b Mark Seemann <mark@ploeh.dk> 1610203741 +0100	reset: moving to HEAD~1
eed2a7c6be2c6ebd7eb988785c270aa76b8fba2b 60657ad7bc4a173ed5f44b1f7df83278ac31919a Mark Seemann <mark@ploeh.dk> 1610204737 +0100	commit: Make test relative to system clock
60657ad7bc4a173ed5f44b1f7df83278ac31919a 60657ad7bc4a173ed5f44b1f7df83278ac31919a Mark Seemann <mark@ploeh.dk> 1610205816 +0100	checkout: moving from master to object-data-source-for-big-test
60657ad7bc4a173ed5f44b1f7df83278ac31919a bb165d517e53fccf1c22f8bb1a0c9ea4db7a22a7 Mark Seemann <mark@ploeh.dk> 1610207216 +0100	commit: Refactor test to use TheoryData
bb165d517e53fccf1c22f8bb1a0c9ea4db7a22a7 c62f3a1dc667fd6d79c91ad74e8972ca63c5014c Mark Seemann <mark@ploeh.dk> 1610207347 +0100	commit (amend): Refactor test to use TheoryData
c62f3a1dc667fd6d79c91ad74e8972ca63c5014c 60657ad7bc4a173ed5f44b1f7df83278ac31919a Mark Seemann <mark@ploeh.dk> 1610273309 +0100	checkout: moving from object-data-source-for-big-test to master
60657ad7bc4a173ed5f44b1f7df83278ac31919a eed2a7c6be2c6ebd7eb988785c270aa76b8fba2b Mark Seemann <mark@ploeh.dk> 1610273315 +0100	checkout: moving from master to HEAD~1
eed2a7c6be2c6ebd7eb988785c270aa76b8fba2b 60657ad7bc4a173ed5f44b1f7df83278ac31919a Mark Seemann <mark@ploeh.dk> 1610284000 +0100	checkout: moving from eed2a7c6be2c6ebd7eb988785c270aa76b8fba2b to master
60657ad7bc4a173ed5f44b1f7df83278ac31919a c62f3a1dc667fd6d79c91ad74e8972ca63c5014c Mark Seemann <mark@ploeh.dk> 1610696414 +0100	checkout: moving from master to object-data-source-for-big-test
c62f3a1dc667fd6d79c91ad74e8972ca63c5014c c62f3a1dc667fd6d79c91ad74e8972ca63c5014c Mark Seemann <mark@ploeh.dk> 1610701856 +0100	reset: moving to HEAD
c62f3a1dc667fd6d79c91ad74e8972ca63c5014c c62f3a1dc667fd6d79c91ad74e8972ca63c5014c Mark Seemann <mark@ploeh.dk> 1610716453 +0100	reset: moving to HEAD
c62f3a1dc667fd6d79c91ad74e8972ca63c5014c 60657ad7bc4a173ed5f44b1f7df83278ac31919a Mark Seemann <mark@ploeh.dk> 1610716458 +0100	checkout: moving from object-data-source-for-big-test to master
60657ad7bc4a173ed5f44b1f7df83278ac31919a 39dc2a62047ab3f6dc327124e86d9081f8ac874c Mark Seemann <mark@ploeh.dk> 1610957275 +0100	commit: Make test relative to current time
39dc2a62047ab3f6dc327124e86d9081f8ac874c 39dc2a62047ab3f6dc327124e86d9081f8ac874c Mark Seemann <mark@ploeh.dk> 1611042107 +0100	reset: moving to HEAD
39dc2a62047ab3f6dc327124e86d9081f8ac874c e6c18186a5d1e6ab22d6860daaf734915e88e815 Mark Seemann <mark@ploeh.dk> 1611054811 +0100	commit: Make test relative to current time
e6c18186a5d1e6ab22d6860daaf734915e88e815 e6c18186a5d1e6ab22d6860daaf734915e88e815 Mark Seemann <mark@ploeh.dk> 1611073133 +0100	reset: moving to HEAD
e6c18186a5d1e6ab22d6860daaf734915e88e815 52d2d272ae17d6ebb188ed1ac4e7f384345e8ba5 Mark Seemann <mark@ploeh.dk> 1611131658 +0100	commit: Make SigningUrlHelperFactory internal
52d2d272ae17d6ebb188ed1ac4e7f384345e8ba5 f11fa510e058d29b7c37e56fd2f72081e85e5bf3 Mark Seemann <mark@ploeh.dk> 1611141883 +0100	checkout: moving from master to :/Make Seating class public
f11fa510e058d29b7c37e56fd2f72081e85e5bf3 811028ff736f885e54db8c89de5092f12f1de955 Mark Seemann <mark@ploeh.dk> 1611141960 +0100	checkout: moving from f11fa510e058d29b7c37e56fd2f72081e85e5bf3 to HEAD~1
811028ff736f885e54db8c89de5092f12f1de955 f11fa510e058d29b7c37e56fd2f72081e85e5bf3 Mark Seemann <mark@ploeh.dk> 1611141974 +0100	checkout: moving from 811028ff736f885e54db8c89de5092f12f1de955 to :/Make Seating class public
f11fa510e058d29b7c37e56fd2f72081e85e5bf3 811028ff736f885e54db8c89de5092f12f1de955 Mark Seemann <mark@ploeh.dk> 1611141990 +0100	checkout: moving from f11fa510e058d29b7c37e56fd2f72081e85e5bf3 to HEAD~1
811028ff736f885e54db8c89de5092f12f1de955 f11fa510e058d29b7c37e56fd2f72081e85e5bf3 Mark Seemann <mark@ploeh.dk> 1611142270 +0100	checkout: moving from 811028ff736f885e54db8c89de5092f12f1de955 to :/Make Seating class public
f11fa510e058d29b7c37e56fd2f72081e85e5bf3 811028ff736f885e54db8c89de5092f12f1de955 Mark Seemann <mark@ploeh.dk> 1611142367 +0100	checkout: moving from f11fa510e058d29b7c37e56fd2f72081e85e5bf3 to HEAD~1
811028ff736f885e54db8c89de5092f12f1de955 f11fa510e058d29b7c37e56fd2f72081e85e5bf3 Mark Seemann <mark@ploeh.dk> 1611142425 +0100	checkout: moving from 811028ff736f885e54db8c89de5092f12f1de955 to :/Make Seating class public
f11fa510e058d29b7c37e56fd2f72081e85e5bf3 811028ff736f885e54db8c89de5092f12f1de955 Mark Seemann <mark@ploeh.dk> 1611142665 +0100	checkout: moving from f11fa510e058d29b7c37e56fd2f72081e85e5bf3 to HEAD~1
811028ff736f885e54db8c89de5092f12f1de955 f11fa510e058d29b7c37e56fd2f72081e85e5bf3 Mark Seemann <mark@ploeh.dk> 1611142675 +0100	checkout: moving from 811028ff736f885e54db8c89de5092f12f1de955 to :/Make Seating class public
f11fa510e058d29b7c37e56fd2f72081e85e5bf3 176938608d5393aacd04499ca141e8941fdd4b1c Mark Seemann <mark@ploeh.dk> 1611143154 +0100	checkout: moving from f11fa510e058d29b7c37e56fd2f72081e85e5bf3 to 1769386
176938608d5393aacd04499ca141e8941fdd4b1c 94b7dc26099743538c9abc29c986dc7ae845c95f Mark Seemann <mark@ploeh.dk> 1611143192 +0100	checkout: moving from 176938608d5393aacd04499ca141e8941fdd4b1c to 94b7dc2
94b7dc26099743538c9abc29c986dc7ae845c95f b233b11b00e4313553461b601e46407c5057eae2 Mark Seemann <mark@ploeh.dk> 1611143230 +0100	checkout: moving from 94b7dc26099743538c9abc29c986dc7ae845c95f to b233b11
b233b11b00e4313553461b601e46407c5057eae2 94b7dc26099743538c9abc29c986dc7ae845c95f Mark Seemann <mark@ploeh.dk> 1611143312 +0100	checkout: moving from b233b11b00e4313553461b601e46407c5057eae2 to HEAD~1
94b7dc26099743538c9abc29c986dc7ae845c95f 176938608d5393aacd04499ca141e8941fdd4b1c Mark Seemann <mark@ploeh.dk> 1611143323 +0100	checkout: moving from 94b7dc26099743538c9abc29c986dc7ae845c95f to HEAD~1
176938608d5393aacd04499ca141e8941fdd4b1c b233b11b00e4313553461b601e46407c5057eae2 Mark Seemann <mark@ploeh.dk> 1611143342 +0100	checkout: moving from 176938608d5393aacd04499ca141e8941fdd4b1c to b233b11
b233b11b00e4313553461b601e46407c5057eae2 94b7dc26099743538c9abc29c986dc7ae845c95f Mark Seemann <mark@ploeh.dk> 1611143393 +0100	checkout: moving from b233b11b00e4313553461b601e46407c5057eae2 to HEAD~1
94b7dc26099743538c9abc29c986dc7ae845c95f 176938608d5393aacd04499ca141e8941fdd4b1c Mark Seemann <mark@ploeh.dk> 1611143399 +0100	checkout: moving from 94b7dc26099743538c9abc29c986dc7ae845c95f to HEAD~1
176938608d5393aacd04499ca141e8941fdd4b1c 94b7dc26099743538c9abc29c986dc7ae845c95f Mark Seemann <mark@ploeh.dk> 1611143414 +0100	checkout: moving from 176938608d5393aacd04499ca141e8941fdd4b1c to 94b7dc2
94b7dc26099743538c9abc29c986dc7ae845c95f 52d2d272ae17d6ebb188ed1ac4e7f384345e8ba5 Mark Seemann <mark@ploeh.dk> 1611222697 +0100	checkout: moving from 94b7dc26099743538c9abc29c986dc7ae845c95f to master
52d2d272ae17d6ebb188ed1ac4e7f384345e8ba5 d039e2b12773780abff07552801c56435bea4b88 Mark Seemann <mark@ploeh.dk> 1611231581 +0100	commit: Seal remaining Controller classes
d039e2b12773780abff07552801c56435bea4b88 dabcfcdcb2814ff0e78d31a975bd2b51ce6a9963 Mark Seemann <mark@ploeh.dk> 1611231747 +0100	commit: Seal service classes
dabcfcdcb2814ff0e78d31a975bd2b51ce6a9963 65caeb86b1afb620f522f88ecdd1c4e96aa87cc8 Mark Seemann <mark@ploeh.dk> 1611233221 +0100	commit: Make SigningUrlHelperFactory internal
65caeb86b1afb620f522f88ecdd1c4e96aa87cc8 dabcfcdcb2814ff0e78d31a975bd2b51ce6a9963 Mark Seemann <mark@ploeh.dk> 1611233268 +0100	reset: moving to HEAD~1
dabcfcdcb2814ff0e78d31a975bd2b51ce6a9963 639142988c9a4f2285d88cba82bd8d7c194b6edf Mark Seemann <mark@ploeh.dk> 1611233304 +0100	commit: Make test relative to current time
639142988c9a4f2285d88cba82bd8d7c194b6edf b2d828886d343593459530dcf974ac239d67e3fc Mark Seemann <mark@ploeh.dk> 1611233931 +0100	commit: Introduce domain-specific language for time manip.
b2d828886d343593459530dcf974ac239d67e3fc 5d9ee1debcd032b711ebffd526ea7a4162e57e33 Mark Seemann <mark@ploeh.dk> 1611234604 +0100	commit: Refactor test to use new time DSL
5d9ee1debcd032b711ebffd526ea7a4162e57e33 fee0bc56adb040b62518b124c6ab3005c2842a5a Mark Seemann <mark@ploeh.dk> 1611234850 +0100	commit: Refactor test to use new time DSL
fee0bc56adb040b62518b124c6ab3005c2842a5a 2eab5a8dd8007dba19175f185b7004cf08eae504 Mark Seemann <mark@ploeh.dk> 1611235235 +0100	commit: Simplify test
2eab5a8dd8007dba19175f185b7004cf08eae504 74abb89ac93c11354338234b5f657ab0872d7c30 Mark Seemann <mark@ploeh.dk> 1611238606 +0100	checkout: moving from master to interaction-based-testing
74abb89ac93c11354338234b5f657ab0872d7c30 2eab5a8dd8007dba19175f185b7004cf08eae504 Mark Seemann <mark@ploeh.dk> 1611241662 +0100	checkout: moving from interaction-based-testing to master
2eab5a8dd8007dba19175f185b7004cf08eae504 2eab5a8dd8007dba19175f185b7004cf08eae504 Mark Seemann <mark@ploeh.dk> 1611241855 +0100	reset: moving to HEAD
2eab5a8dd8007dba19175f185b7004cf08eae504 62d7f397ebc212d6ff32da9f3d0ab20568f571f8 Mark Seemann <mark@ploeh.dk> 1611241874 +0100	commit: Delete redundant test
62d7f397ebc212d6ff32da9f3d0ab20568f571f8 0ff864d14534ac38fa1e243682b0d48a0fa224ae Mark Seemann <mark@ploeh.dk> 1611248278 +0100	commit: Make test relative to current time
0ff864d14534ac38fa1e243682b0d48a0fa224ae c5425733bf0cce13e0f68b56511591e47630684a Mark Seemann <mark@ploeh.dk> 1611254533 +0100	commit: Make test relative to current time
c5425733bf0cce13e0f68b56511591e47630684a b856562aeffb05695bf04e470bee566dabbbefcf Mark Seemann <mark@ploeh.dk> 1611255071 +0100	commit: Make test relative to current time
b856562aeffb05695bf04e470bee566dabbbefcf 81febb14b68a7ad94289267d3183550559a97ffc Mark Seemann <mark@ploeh.dk> 1611255130 +0100	commit (amend): Make test relative to current time
81febb14b68a7ad94289267d3183550559a97ffc 810bb744169b2ebefa1c091051fee0911c1b20ce Mark Seemann <mark@ploeh.dk> 1611255473 +0100	commit: Make test relative to current time
810bb744169b2ebefa1c091051fee0911c1b20ce 305cd640031bcc1c748885aaa2dffe61c530f77d Mark Seemann <mark@ploeh.dk> 1611259035 +0100	commit: Make test relative to current time
305cd640031bcc1c748885aaa2dffe61c530f77d e1da58b38b74878a80f8db3e4bf71b659ae22ad4 Mark Seemann <mark@ploeh.dk> 1611259067 +0100	commit (amend): Make test relative to current time
e1da58b38b74878a80f8db3e4bf71b659ae22ad4 c18cfb3fdb1206c994edf386c359109a205fea96 Mark Seemann <mark@ploeh.dk> 1611259081 +0100	commit (amend): Make test relative to current time
c18cfb3fdb1206c994edf386c359109a205fea96 0417edae0cdc647c9f6d38167caacf7dcd99a337 Mark Seemann <mark@ploeh.dk> 1611302722 +0100	commit: Move `at` variable up
0417edae0cdc647c9f6d38167caacf7dcd99a337 dd1bcb49cd15c156d9b12a9ef33d94d7a6ce73c2 Mark Seemann <mark@ploeh.dk> 1611302815 +0100	commit: Use `at` variable when creating `dto`
dd1bcb49cd15c156d9b12a9ef33d94d7a6ce73c2 c0bae83f8d0ddc04be6ffb644bcf6da20e658b00 Mark Seemann <mark@ploeh.dk> 1611302997 +0100	commit: Make test relative to current time
c0bae83f8d0ddc04be6ffb644bcf6da20e658b00 237fe2d74ed7af88fc57ccbe98489271d9b35c54 Mark Seemann <mark@ploeh.dk> 1611303561 +0100	commit: Inline reservation quantity in test
237fe2d74ed7af88fc57ccbe98489271d9b35c54 5d9ee1debcd032b711ebffd526ea7a4162e57e33 Mark Seemann <mark@ploeh.dk> 1611304321 +0100	checkout: moving from master to 5d9ee1d
5d9ee1debcd032b711ebffd526ea7a4162e57e33 b2d828886d343593459530dcf974ac239d67e3fc Mark Seemann <mark@ploeh.dk> 1611304382 +0100	checkout: moving from 5d9ee1debcd032b711ebffd526ea7a4162e57e33 to HEAD~1
b2d828886d343593459530dcf974ac239d67e3fc fee0bc56adb040b62518b124c6ab3005c2842a5a Mark Seemann <mark@ploeh.dk> 1611304441 +0100	checkout: moving from b2d828886d343593459530dcf974ac239d67e3fc to fee0bc5
fee0bc56adb040b62518b124c6ab3005c2842a5a 5d9ee1debcd032b711ebffd526ea7a4162e57e33 Mark Seemann <mark@ploeh.dk> 1611304476 +0100	checkout: moving from fee0bc56adb040b62518b124c6ab3005c2842a5a to HEAD~1
5d9ee1debcd032b711ebffd526ea7a4162e57e33 237fe2d74ed7af88fc57ccbe98489271d9b35c54 Mark Seemann <mark@ploeh.dk> 1611306656 +0100	checkout: moving from 5d9ee1debcd032b711ebffd526ea7a4162e57e33 to master
237fe2d74ed7af88fc57ccbe98489271d9b35c54 237fe2d74ed7af88fc57ccbe98489271d9b35c54 Mark Seemann <mark@ploeh.dk> 1611307055 +0100	reset: moving to HEAD
237fe2d74ed7af88fc57ccbe98489271d9b35c54 dabcfcdcb2814ff0e78d31a975bd2b51ce6a9963 Mark Seemann <mark@ploeh.dk> 1611315651 +0100	rebase -i (start): checkout origin/master
dabcfcdcb2814ff0e78d31a975bd2b51ce6a9963 639142988c9a4f2285d88cba82bd8d7c194b6edf Mark Seemann <mark@ploeh.dk> 1611315751 +0100	rebase -i: fast-forward
639142988c9a4f2285d88cba82bd8d7c194b6edf 9afb684ec5588db6c5c3508473675bf599233777 Mark Seemann <mark@ploeh.dk> 1611316713 +0100	commit (amend): Make test relative to current time
9afb684ec5588db6c5c3508473675bf599233777 17de77e29ac1bed1b121d54a48d731da52bc91c5 Mark Seemann <mark@ploeh.dk> 1611317128 +0100	rebase -i (continue): Introduce domain-specific language for time manip.
17de77e29ac1bed1b121d54a48d731da52bc91c5 272840e4a4a1ba6eb5d9f5ab27769cc292a41606 Mark Seemann <mark@ploeh.dk> 1611317354 +0100	rebase -i (continue): Refactor test to use new time DSL
272840e4a4a1ba6eb5d9f5ab27769cc292a41606 02451d158c94838415b587a66207569fa465627e Mark Seemann <mark@ploeh.dk> 1611317747 +0100	rebase -i (continue): Simplify test
02451d158c94838415b587a66207569fa465627e 65f9c8e7d411bc4f4ce168810d116c7a29255f54 Mark Seemann <mark@ploeh.dk> 1611317847 +0100	rebase -i (pick): Delete redundant test
65f9c8e7d411bc4f4ce168810d116c7a29255f54 4bb1401671ef438c847b8dc807a741c6c9753bd4 Mark Seemann <mark@ploeh.dk> 1611317938 +0100	rebase -i (edit): Make test relative to current time
4bb1401671ef438c847b8dc807a741c6c9753bd4 ab27028d08d51e320d8d73c15147f37ce41715e8 Mark Seemann <mark@ploeh.dk> 1611318035 +0100	commit (amend): Make test relative to current time
ab27028d08d51e320d8d73c15147f37ce41715e8 a968991c9cf05485909121d49d2348fbdf1f21d4 Mark Seemann <mark@ploeh.dk> 1611318145 +0100	rebase -i (edit): Make test relative to current time
a968991c9cf05485909121d49d2348fbdf1f21d4 e7e6863a67995e7f297945c2fc2d74615ec34b28 Mark Seemann <mark@ploeh.dk> 1611318284 +0100	commit (amend): Make test relative to current time
e7e6863a67995e7f297945c2fc2d74615ec34b28 3e230d1e5bb87a127b8749f4c7181f3ca1a6889f Mark Seemann <mark@ploeh.dk> 1611318388 +0100	rebase -i (edit): Make test relative to current time
3e230d1e5bb87a127b8749f4c7181f3ca1a6889f a441415558d1e388545c03fbb2e9487a70e3ebef Mark Seemann <mark@ploeh.dk> 1611318710 +0100	commit (amend): Make test relative to current time
a441415558d1e388545c03fbb2e9487a70e3ebef 42c840814575291f5decaca8f282e488eedb597c Mark Seemann <mark@ploeh.dk> 1611318810 +0100	rebase -i (edit): Make test relative to current time
42c840814575291f5decaca8f282e488eedb597c 6e4e57b132193a4ac6cdf5ce6ed1a185c8e42fe5 Mark Seemann <mark@ploeh.dk> 1611318932 +0100	commit (amend): Make test relative to current time
6e4e57b132193a4ac6cdf5ce6ed1a185c8e42fe5 86e72d78f87c1638f8f50ca2a46a5c5e360dd7bc Mark Seemann <mark@ploeh.dk> 1611319029 +0100	rebase -i (edit): Make test relative to current time
86e72d78f87c1638f8f50ca2a46a5c5e360dd7bc 4f85d7cb4f9896f261c417658173914e8a2c0acd Mark Seemann <mark@ploeh.dk> 1611319152 +0100	commit (amend): Make test relative to current time
4f85d7cb4f9896f261c417658173914e8a2c0acd dbba6c8fdab08a734f4f8e84568f7c3e5bb5199d Mark Seemann <mark@ploeh.dk> 1611319251 +0100	rebase -i (pick): Move `at` variable up
dbba6c8fdab08a734f4f8e84568f7c3e5bb5199d 5ac96fdabf62e5a595cd43bd405ef5841e1a25d7 Mark Seemann <mark@ploeh.dk> 1611319345 +0100	rebase -i (pick): Use `at` variable when creating `dto`
5ac96fdabf62e5a595cd43bd405ef5841e1a25d7 afa736f0a91a55142fb816e9eb09ba448defc721 Mark Seemann <mark@ploeh.dk> 1611319437 +0100	rebase -i (edit): Make test relative to current time
afa736f0a91a55142fb816e9eb09ba448defc721 02b69dc2b21c188d3001842f05ee0b075dd1e2d4 Mark Seemann <mark@ploeh.dk> 1611319552 +0100	commit (amend): Make test relative to current time
02b69dc2b21c188d3001842f05ee0b075dd1e2d4 50ced4c80bfe238e42f4a619f8de439de39db28f Mark Seemann <mark@ploeh.dk> 1611319736 +0100	rebase -i (continue): Inline reservation quantity in test
50ced4c80bfe238e42f4a619f8de439de39db28f 50ced4c80bfe238e42f4a619f8de439de39db28f Mark Seemann <mark@ploeh.dk> 1611319831 +0100	rebase -i (finish): returning to refs/heads/master
50ced4c80bfe238e42f4a619f8de439de39db28f 4aad55afb376fad9af8464af0179fad62a3fd426 Mark Seemann <mark@ploeh.dk> 1611324868 +0100	commit: Make SelfHostedApi internal
4aad55afb376fad9af8464af0179fad62a3fd426 677e62e24096636f58f053bd03db07377a778a52 Mark Seemann <mark@ploeh.dk> 1611324949 +0100	commit: Remove null guard
677e62e24096636f58f053bd03db07377a778a52 ea01f24715ac6cb54a07a22380c571bd850c9f8a Mark Seemann <mark@ploeh.dk> 1611324971 +0100	commit (amend): Remove null guard
ea01f24715ac6cb54a07a22380c571bd850c9f8a ea01f24715ac6cb54a07a22380c571bd850c9f8a Mark Seemann <mark@ploeh.dk> 1611325556 +0100	reset: moving to HEAD
ea01f24715ac6cb54a07a22380c571bd850c9f8a ea01f24715ac6cb54a07a22380c571bd850c9f8a Mark Seemann <mark@ploeh.dk> 1611329952 +0100	reset: moving to HEAD
ea01f24715ac6cb54a07a22380c571bd850c9f8a 261c72869f86f29a7d7635172026b7aa21d82c67 Mark Seemann <mark@ploeh.dk> 1611341866 +0100	commit: Refactor test to use ClassData
261c72869f86f29a7d7635172026b7aa21d82c67 d6165e8b712497910149616362196f7eeb68e73f Mark Seemann <mark@ploeh.dk> 1611342658 +0100	commit: Make test cases relative to current time
d6165e8b712497910149616362196f7eeb68e73f 1d5698aebb368522a86740f3f1606acbaae40645 Mark Seemann <mark@ploeh.dk> 1611389831 +0100	commit: Rename `date` to `at`
1d5698aebb368522a86740f3f1606acbaae40645 3d045275b3d2dbb6abedd0010e9c8e52dc78a9cb Mark Seemann <mark@ploeh.dk> 1611390295 +0100	commit: Make test relative to current date
3d045275b3d2dbb6abedd0010e9c8e52dc78a9cb d6a78de0cad0aff262d27897ec4827df19c525e3 Mark Seemann <mark@ploeh.dk> 1611390777 +0100	commit: Make test relative to current time
d6a78de0cad0aff262d27897ec4827df19c525e3 084961e18c9af8899d23ef0ecf783a350a2ec0cc Mark Seemann <mark@ploeh.dk> 1611390840 +0100	commit (amend): Make test relative to current time
084961e18c9af8899d23ef0ecf783a350a2ec0cc d09860969afb1d372859fdb4dcbae52a6ddb2733 Mark Seemann <mark@ploeh.dk> 1611391314 +0100	commit: Make test cases relative to current date
d09860969afb1d372859fdb4dcbae52a6ddb2733 7b46c520518cf7ba141773f187f711355a241717 Mark Seemann <mark@ploeh.dk> 1611394373 +0100	commit: Correct a time-relative test
7b46c520518cf7ba141773f187f711355a241717 dda3d346a7823cc28d0d2812b4a28813a525a2ea Mark Seemann <mark@ploeh.dk> 1611479551 +0100	commit: Seal a few test service classes
dda3d346a7823cc28d0d2812b4a28813a525a2ea 653ee3f95a9c95fa8b5d9086334898caa4d0b77a Mark Seemann <mark@ploeh.dk> 1611501830 +0100	commit: Seal DTOs
653ee3f95a9c95fa8b5d9086334898caa4d0b77a 05ac4926110123f2f8eef584bf2f577aef246ad8 Mark Seemann <mark@ploeh.dk> 1611502756 +0100	commit: Seal test classes
05ac4926110123f2f8eef584bf2f577aef246ad8 f7f03f7744a63293957c1121a11557e66bf87c98 Mark Seemann <mark@ploeh.dk> 1611502838 +0100	commit: Seal internal classes
f7f03f7744a63293957c1121a11557e66bf87c98 f7f03f7744a63293957c1121a11557e66bf87c98 Mark Seemann <mark@ploeh.dk> 1611576193 +0100	reset: moving to HEAD
f7f03f7744a63293957c1121a11557e66bf87c98 a066e18e156db369518bb1fa299e17a506fb1281 Mark Seemann <mark@ploeh.dk> 1611576197 +0100	checkout: moving from master to a066e18e156db369518bb1fa299e17a506fb1281
a066e18e156db369518bb1fa299e17a506fb1281 f7f03f7744a63293957c1121a11557e66bf87c98 Mark Seemann <mark@ploeh.dk> 1611584490 +0100	checkout: moving from a066e18e156db369518bb1fa299e17a506fb1281 to master
f7f03f7744a63293957c1121a11557e66bf87c98 a066e18e156db369518bb1fa299e17a506fb1281 Mark Seemann <mark@ploeh.dk> 1611584501 +0100	checkout: moving from master to a066e18e156db369518bb1fa299e17a506fb1281
a066e18e156db369518bb1fa299e17a506fb1281 2c913e3bcee13353dff552ef898fdf100d0d6c71 Mark Seemann <mark@ploeh.dk> 1611586477 +0100	checkout: moving from a066e18e156db369518bb1fa299e17a506fb1281 to 2c913e3
2c913e3bcee13353dff552ef898fdf100d0d6c71 8a7cc1b11949356809776f7ef94e628f515c5d36 Mark Seemann <mark@ploeh.dk> 1611586989 +0100	checkout: moving from 2c913e3bcee13353dff552ef898fdf100d0d6c71 to 8a7cc1b
8a7cc1b11949356809776f7ef94e628f515c5d36 9e86ee7c6481beb68e69cb01b8a8dbdf2c4a30a4 Mark Seemann <mark@ploeh.dk> 1611590733 +0100	checkout: moving from 8a7cc1b11949356809776f7ef94e628f515c5d36 to 9e86ee7
9e86ee7c6481beb68e69cb01b8a8dbdf2c4a30a4 c75be7fe70ca586fbed5cd322e0748b9585bb8b5 Mark Seemann <mark@ploeh.dk> 1611592078 +0100	checkout: moving from 9e86ee7c6481beb68e69cb01b8a8dbdf2c4a30a4 to c75be7f
c75be7fe70ca586fbed5cd322e0748b9585bb8b5 1242ccd095f01252573a35edd7e922f0c834faf5 Mark Seemann <mark@ploeh.dk> 1611592762 +0100	checkout: moving from c75be7fe70ca586fbed5cd322e0748b9585bb8b5 to 1242ccd
1242ccd095f01252573a35edd7e922f0c834faf5 e74f183d0d54e0f14881874162abd662eee64923 Mark Seemann <mark@ploeh.dk> 1611594604 +0100	checkout: moving from 1242ccd095f01252573a35edd7e922f0c834faf5 to e74f183
e74f183d0d54e0f14881874162abd662eee64923 811028ff736f885e54db8c89de5092f12f1de955 Mark Seemann <mark@ploeh.dk> 1611600837 +0100	checkout: moving from e74f183d0d54e0f14881874162abd662eee64923 to 811028f
811028ff736f885e54db8c89de5092f12f1de955 b233b11b00e4313553461b601e46407c5057eae2 Mark Seemann <mark@ploeh.dk> 1611601805 +0100	checkout: moving from 811028ff736f885e54db8c89de5092f12f1de955 to b233b11b00e4313553461b601e46407c5057eae2
b233b11b00e4313553461b601e46407c5057eae2 f7f03f7744a63293957c1121a11557e66bf87c98 Mark Seemann <mark@ploeh.dk> 1611608452 +0100	checkout: moving from b233b11b00e4313553461b601e46407c5057eae2 to master
f7f03f7744a63293957c1121a11557e66bf87c98 4315d102b6bf5983878838ef6f1faa1a66eb71f5 Mark Seemann <mark@ploeh.dk> 1611610573 +0100	checkout: moving from master to 4315d102b6bf5983878838ef6f1faa1a66eb71f5
4315d102b6bf5983878838ef6f1faa1a66eb71f5 a8c9095377c510b4003fafff8a0b4923866435cd Mark Seemann <mark@ploeh.dk> 1611610837 +0100	checkout: moving from 4315d102b6bf5983878838ef6f1faa1a66eb71f5 to a8c9095377c510b4003fafff8a0b4923866435cd
a8c9095377c510b4003fafff8a0b4923866435cd f7f03f7744a63293957c1121a11557e66bf87c98 Mark Seemann <mark@ploeh.dk> 1611646758 +0100	checkout: moving from a8c9095377c510b4003fafff8a0b4923866435cd to master
f7f03f7744a63293957c1121a11557e66bf87c98 2259f3ae224f7ed971c61b7c069659e340b0967f Mark Seemann <mark@ploeh.dk> 1611911046 +0100	checkout: moving from master to 2259f3a
2259f3ae224f7ed971c61b7c069659e340b0967f f7f03f7744a63293957c1121a11557e66bf87c98 Mark Seemann <mark@ploeh.dk> 1611911253 +0100	checkout: moving from 2259f3ae224f7ed971c61b7c069659e340b0967f to master
f7f03f7744a63293957c1121a11557e66bf87c98 13b59b45f5e795d87bea9251b83775a4fd5a56a5 Mark Seemann <mark@ploeh.dk> 1612281344 +0100	commit: Consolidate package version
13b59b45f5e795d87bea9251b83775a4fd5a56a5 445c78b1e7f0f216fa90d741ca016ca5bddb4655 Mark Seemann <mark@ploeh.dk> 1612281552 +0100	commit: Update
445c78b1e7f0f216fa90d741ca016ca5bddb4655 79b3c4ac8d7ceb14ff4314a89f215504f27f1e38 Mark Seemann <mark@ploeh.dk> 1612281590 +0100	commit (amend): Update Microsoft.NET.Test.Sdk NuGet package
79b3c4ac8d7ceb14ff4314a89f215504f27f1e38 6b41482754f7fc4a3d71b068c7345072c38c83e2 Mark Seemann <mark@ploeh.dk> 1612282271 +0100	commit: Update FsCheck.Xunit NuGet package
6b41482754f7fc4a3d71b068c7345072c38c83e2 b0f37f5ad9cf54ec296aa12fa878ab434de61e52 Mark Seemann <mark@ploeh.dk> 1612282444 +0100	commit: Update coverlet.collector NuGet package
b0f37f5ad9cf54ec296aa12fa878ab434de61e52 b0f37f5ad9cf54ec296aa12fa878ab434de61e52 Mark Seemann <mark@ploeh.dk> 1612863610 +0100	reset: moving to HEAD
b0f37f5ad9cf54ec296aa12fa878ab434de61e52 b0f37f5ad9cf54ec296aa12fa878ab434de61e52 Mark Seemann <mark@ploeh.dk> 1613725018 +0100	reset: moving to HEAD
b0f37f5ad9cf54ec296aa12fa878ab434de61e52 c7f6f9aab4d9ea889565791ffa5bd57de6ee259d Mark Seemann <mark@ploeh.dk> 1613738063 +0100	rebase -i (start): checkout c7f6f9a
c7f6f9aab4d9ea889565791ffa5bd57de6ee259d 2259f3ae224f7ed971c61b7c069659e340b0967f Mark Seemann <mark@ploeh.dk> 1613738064 +0100	rebase -i: fast-forward
2259f3ae224f7ed971c61b7c069659e340b0967f f729ed9357131c4eb574eae50c789d7cab99ed3d Mark Seemann <mark@ploeh.dk> 1613738275 +0100	commit (amend): Add empty web project
f729ed9357131c4eb574eae50c789d7cab99ed3d 44239fdcac72a37652acd117909b3d8b7c58dc68 Mark Seemann <mark@ploeh.dk> 1613738298 +0100	rebase -i (pick): Treat all warnings as errors
44239fdcac72a37652acd117909b3d8b7c58dc68 caafdf15c63a9da11b55ad06b8c2a418a2365e7e Mark Seemann <mark@ploeh.dk> 1613738300 +0100	rebase -i (pick): Add FxCop analyzers
caafdf15c63a9da11b55ad06b8c2a418a2365e7e da7c49cbd39390bcd0b418c5b19bf193478ad87e Mark Seemann <mark@ploeh.dk> 1613738303 +0100	rebase -i (pick): Turn on nullable reference types
da7c49cbd39390bcd0b418c5b19bf193478ad87e 1401fa11eca39fe6e78bec2a8b49532977ef21ed Mark Seemann <mark@ploeh.dk> 1613738305 +0100	rebase -i (pick): Add test project
1401fa11eca39fe6e78bec2a8b49532977ef21ed 63ec3de8f0b02797f847de4c61abbd04e73fdbde Mark Seemann <mark@ploeh.dk> 1613738308 +0100	rebase -i (pick): Treat warnings as errors
63ec3de8f0b02797f847de4c61abbd04e73fdbde 628336aff1db8b34e14c5640321bef330e6f8a48 Mark Seemann <mark@ploeh.dk> 1613738310 +0100	rebase -i (pick): Add FxCop analyzers
628336aff1db8b34e14c5640321bef330e6f8a48 33bdea12d6af418d60c8fd39f0af5d8830b62119 Mark Seemann <mark@ploeh.dk> 1613738312 +0100	rebase -i (pick): Turn on nullable reference types for tests
33bdea12d6af418d60c8fd39f0af5d8830b62119 3ee0733c7e7c1c2158829c6f96dff25428859096 Mark Seemann <mark@ploeh.dk> 1613738313 +0100	rebase -i (pick): Add is-ok test for home resource
3ee0733c7e7c1c2158829c6f96dff25428859096 ac35b3a3438d72a937ffd540e862ddd4f4fb2cdc Mark Seemann <mark@ploeh.dk> 1613738319 +0100	rebase -i (pick): Change index page text
ac35b3a3438d72a937ffd540e862ddd4f4fb2cdc 674c6db989fc3f648324dedbd24e33c39c124c28 Mark Seemann <mark@ploeh.dk> 1613738323 +0100	rebase -i (pick): Remove ConfigureAwait FxCop rule
674c6db989fc3f648324dedbd24e33c39c124c28 d8167c3925ac48b979341aa8038ddacc6a0d6d31 Mark Seemann <mark@ploeh.dk> 1613738327 +0100	rebase -i (pick): Suppress FxCop about Uri
d8167c3925ac48b979341aa8038ddacc6a0d6d31 316beab80ace70863f71ed1138a58be44bb7376b Mark Seemann <mark@ploeh.dk> 1613738331 +0100	rebase -i (pick): Return JSON from home resource
316beab80ace70863f71ed1138a58be44bb7376b 90e48692d362b2bc7338eb3a5f8c0277029327fc Mark Seemann <mark@ploeh.dk> 1613738336 +0100	rebase -i (pick): Add reservations resource
90e48692d362b2bc7338eb3a5f8c0277029327fc bc1079a1192424f53dc198d604e8c179d017c3bd Mark Seemann <mark@ploeh.dk> 1613738341 +0100	rebase -i (pick): Create reservation in repository
bc1079a1192424f53dc198d604e8c179d017c3bd c82d82c2db659529a845d6852ac606d4b40e4122 Mark Seemann <mark@ploeh.dk> 1613738347 +0100	rebase -i (pick): Save reservation in SQL Server
c82d82c2db659529a845d6852ac606d4b40e4122 4617450ed455947d43a7111088b82fb5b3b99065 Mark Seemann <mark@ploeh.dk> 1613738353 +0100	rebase -i (pick): Translate DTO to Domain Model
4617450ed455947d43a7111088b82fb5b3b99065 9edc74c187a3e5a021992575fb0e16cff4c66a0e Mark Seemann <mark@ploeh.dk> 1613738359 +0100	rebase -i (edit): Validate that reservation date isn't null
9edc74c187a3e5a021992575fb0e16cff4c66a0e 9e49134fdc266a401db9051145cfb574cf9736c1 Mark Seemann <mark@ploeh.dk> 1613738634 +0100	commit (amend): Validate that reservation date isn't null
9e49134fdc266a401db9051145cfb574cf9736c1 910ff5b6dbc7d25ceef18593366a91e1551b347f Mark Seemann <mark@ploeh.dk> 1613738656 +0100	rebase -i (edit): Validate that reservation email isn't null
910ff5b6dbc7d25ceef18593366a91e1551b347f 3fac4a3b8e2d4fddef15930c2039ffe840fb8e0c Mark Seemann <mark@ploeh.dk> 1613738695 +0100	rebase -i (edit): Validate that date is a date
3fac4a3b8e2d4fddef15930c2039ffe840fb8e0c b789ef13569716ed4a1f7bfc6fa62d4e9eefa6cf Mark Seemann <mark@ploeh.dk> 1613738731 +0100	rebase -i (pick): Remove redundant null check
b789ef13569716ed4a1f7bfc6fa62d4e9eefa6cf 745dbf5cf2365754fcde8c23bf9a79c281e2d184 Mark Seemann <mark@ploeh.dk> 1613738736 +0100	rebase -i (pick): Validate that quantity isn't 0
745dbf5cf2365754fcde8c23bf9a79c281e2d184 a6c4ead2029cd451d3e024415ec3b6dee9ca0c00 Mark Seemann <mark@ploeh.dk> 1613738741 +0100	rebase -i (pick): Validate that quantity is at least 1
a6c4ead2029cd451d3e024415ec3b6dee9ca0c00 c31e671375d056755ead6628e9acb9cdabefd4f4 Mark Seemann <mark@ploeh.dk> 1613738748 +0100	rebase -i (pick): Use empty string for null name
c31e671375d056755ead6628e9acb9cdabefd4f4 b3ca85e0ddf7b6297ce3565845c2eff6cec94ca5 Mark Seemann <mark@ploeh.dk> 1613738753 +0100	rebase -i (pick): Guard against negative and zero quantity
b3ca85e0ddf7b6297ce3565845c2eff6cec94ca5 786e0c6b83cfe0f73371790b91e27086d2abddd2 Mark Seemann <mark@ploeh.dk> 1613739044 +0100	rebase -i (continue): Move SUT Encapsulation method
786e0c6b83cfe0f73371790b91e27086d2abddd2 b3694bda313218dc6c24f15b2a62789fc2272852 Mark Seemann <mark@ploeh.dk> 1613739062 +0100	rebase -i (pick): Attempt overbook
b3694bda313218dc6c24f15b2a62789fc2272852 5b82c7777e9ed18ec413f2a790f83b7a8a219d40 Mark Seemann <mark@ploeh.dk> 1613739068 +0100	rebase -i (pick): Read existing reservations from database
5b82c7777e9ed18ec413f2a790f83b7a8a219d40 bf48e45880f29a99349a7a1cfe7ec3f37ac794e1 Mark Seemann <mark@ploeh.dk> 1613739073 +0100	rebase -i (pick): Check reservation against first res in DB
bf48e45880f29a99349a7a1cfe7ec3f37ac794e1 9963056ef89cce5ede8a313a0573fc0109ecea3c Mark Seemann <mark@ploeh.dk> 1613739079 +0100	rebase -i (pick): Refactor capacity check
9963056ef89cce5ede8a313a0573fc0109ecea3c f8d12103bb2ef688b29558df57cda160e83092fa Mark Seemann <mark@ploeh.dk> 1613739084 +0100	rebase -i (pick): Extract validation helper method
f8d12103bb2ef688b29558df57cda160e83092fa 05519705ae4a14b7a852b0aedfdfb00754fc80c2 Mark Seemann <mark@ploeh.dk> 1613739089 +0100	rebase -i (pick): Move validation to DTO
05519705ae4a14b7a852b0aedfdfb00754fc80c2 a0c39e2bda76ab88cba5a45cbd922c5ce7948a94 Mark Seemann <mark@ploeh.dk> 1613739095 +0100	rebase -i (pick): Refactor to Reservation-returning Validate method
a0c39e2bda76ab88cba5a45cbd922c5ce7948a94 1b3383edf0d105904e66731c78aad63b7de572ad Mark Seemann <mark@ploeh.dk> 1613739102 +0100	rebase -i (pick): Introduce MaitreD class
1b3383edf0d105904e66731c78aad63b7de572ad 539f9e68103e030acc12d841598e20e0d20199d2 Mark Seemann <mark@ploeh.dk> 1613739108 +0100	rebase -i (pick): Make MaitreD public
539f9e68103e030acc12d841598e20e0d20199d2 afdcb29b3443e6a4bc18417684177efc6a3bf084 Mark Seemann <mark@ploeh.dk> 1613739114 +0100	rebase -i (pick): Remove brackets from Guard Clause
afdcb29b3443e6a4bc18417684177efc6a3bf084 84f24bbc094b446f28da52455ff677572a5f2569 Mark Seemann <mark@ploeh.dk> 1613739119 +0100	rebase -i (pick): Rename and expose table type
84f24bbc094b446f28da52455ff677572a5f2569 1cdd3cab0beffc20b1075c82eacaaceb5dd8ab62 Mark Seemann <mark@ploeh.dk> 1613739125 +0100	rebase -i (pick): Seal Table class
1cdd3cab0beffc20b1075c82eacaaceb5dd8ab62 1507089457623921715075b5c13e2bd294906d5a Mark Seemann <mark@ploeh.dk> 1613739131 +0100	rebase -i (pick): Override Equals and GetHashCode on Table
1507089457623921715075b5c13e2bd294906d5a 964e49feb07b0de263f7b70195568bf271ed4049 Mark Seemann <mark@ploeh.dk> 1613739136 +0100	rebase -i (pick): Add Standard value to TableType enum
964e49feb07b0de263f7b70195568bf271ed4049 3cb1ac3928fb75612d1b199f02b138eefee3925c Mark Seemann <mark@ploeh.dk> 1613739142 +0100	rebase -i (pick): Move maitreD object to class field
3cb1ac3928fb75612d1b199f02b138eefee3925c 10731b59f2920a901624f3d45c35f6317111edd5 Mark Seemann <mark@ploeh.dk> 1613739148 +0100	rebase -i (pick): Configure MaitreD with more than one table
10731b59f2920a901624f3d45c35f6317111edd5 afcc127478c716d5ccb1d54c82f4a1a0aed16fd0 Mark Seemann <mark@ploeh.dk> 1613739153 +0100	rebase -i (pick): Consider more than one table in MaitreD
afcc127478c716d5ccb1d54c82f4a1a0aed16fd0 a52bd026dc0a9e994093bf0f4d8d050bd84a7e63 Mark Seemann <mark@ploeh.dk> 1613739159 +0100	rebase -i (pick): Consider only largest table
a52bd026dc0a9e994093bf0f4d8d050bd84a7e63 c5b405ea1d90c48acb985a91b00c5d495e029dc8 Mark Seemann <mark@ploeh.dk> 1613739165 +0100	rebase -i (pick): Accept reservation if allocation is possible
c5b405ea1d90c48acb985a91b00c5d495e029dc8 57d167cd3952c23d7954d986874e46938beed10f Mark Seemann <mark@ploeh.dk> 1613739171 +0100	rebase -i (pick): Add Some class
57d167cd3952c23d7954d986874e46938beed10f a05a9000f76872a7ab6fdeefc4791320a9e21cf4 Mark Seemann <mark@ploeh.dk> 1613739177 +0100	rebase -i (pick): Add copy-and-update methods to Reservation
a05a9000f76872a7ab6fdeefc4791320a9e21cf4 760db5d95fa7acd3b07a31d0243d0d0ff36f546b Mark Seemann <mark@ploeh.dk> 1613739183 +0100	rebase -i (pick): Parametrise a test
760db5d95fa7acd3b07a31d0243d0d0ff36f546b f55aa8ed84f70e7e44b51e65b54dfbac56abf032 Mark Seemann <mark@ploeh.dk> 1613739188 +0100	rebase -i (pick): Refactor test to take entire table config as param
f55aa8ed84f70e7e44b51e65b54dfbac56abf032 cd65bb685249c646098fb73e88c189b0d4e6f513 Mark Seemann <mark@ploeh.dk> 1613739194 +0100	rebase -i (pick): Handle standard tables
cd65bb685249c646098fb73e88c189b0d4e6f513 08702d13500cbfe9231adb32fdfb59ee6d5a78ac Mark Seemann <mark@ploeh.dk> 1613739199 +0100	rebase -i (pick): Add WithSeats method to Table
08702d13500cbfe9231adb32fdfb59ee6d5a78ac 2254729e2d8c1fbd57c8a1023ab1d7209000ad41 Mark Seemann <mark@ploeh.dk> 1613739205 +0100	rebase -i (pick): Hide Table constructor in favour of factories
2254729e2d8c1fbd57c8a1023ab1d7209000ad41 cd8cbcffb62b2c4750b30bb09d553aeaf1f804fe Mark Seemann <mark@ploeh.dk> 1613739210 +0100	rebase -i (pick): Add IsStandard and IsCommunal properties to Table
cd8cbcffb62b2c4750b30bb09d553aeaf1f804fe 9614e554b674f91d9f09035d546048e142427f60 Mark Seemann <mark@ploeh.dk> 1613739216 +0100	rebase -i (pick): Delete TableType
9614e554b674f91d9f09035d546048e142427f60 c47e6467500472579a7b05bd33a16dcdddc7b834 Mark Seemann <mark@ploeh.dk> 1613739222 +0100	rebase -i (pick): Add Reserve method to table
c47e6467500472579a7b05bd33a16dcdddc7b834 dd30b286067c56c613725d6af1df69ce4f0709bc Mark Seemann <mark@ploeh.dk> 1613739227 +0100	rebase -i (pick): Refactor test to use class as test case source
dd30b286067c56c613725d6af1df69ce4f0709bc 2969927982e62075758f4df0650f565e41dd3577 Mark Seemann <mark@ploeh.dk> 1613739232 +0100	rebase -i (pick): Refactor parametrised test to provide tables objs
2969927982e62075758f4df0650f565e41dd3577 32f7e2f147ad85137a257e222a9ee96498b432e3 Mark Seemann <mark@ploeh.dk> 1613739238 +0100	rebase -i (pick): Refactor test to provide full reservation objects
32f7e2f147ad85137a257e222a9ee96498b432e3 a649ba7034999e9e1030d3c95406cf2a69af2210 Mark Seemann <mark@ploeh.dk> 1613739243 +0100	rebase -i (pick): Filter reservations on previous dates
a649ba7034999e9e1030d3c95406cf2a69af2210 a6e15a85329bfc8c9e7b987694537e3e34e4f238 Mark Seemann <mark@ploeh.dk> 1613739249 +0100	rebase -i (pick): Filter reservations after the day in question
a6e15a85329bfc8c9e7b987694537e3e34e4f238 f631ef3288230664f82aa5848a7027d3a8cea4db Mark Seemann <mark@ploeh.dk> 1613739254 +0100	rebase -i (pick): Filter previous reservations based on date
f631ef3288230664f82aa5848a7027d3a8cea4db fa12fd69c158168178f3a75bcd900e5caa7e7dec Mark Seemann <mark@ploeh.dk> 1613739260 +0100	rebase -i (pick): Filter later reservations based on date
fa12fd69c158168178f3a75bcd900e5caa7e7dec 86e1250e9794675831d64a6af978849a25b3256e Mark Seemann <mark@ploeh.dk> 1613739265 +0100	rebase -i (pick): Extract helper method from WillAccept
86e1250e9794675831d64a6af978849a25b3256e 68582cd97b28bc450f62e548743847c66e300a30 Mark Seemann <mark@ploeh.dk> 1613739271 +0100	rebase -i (pick): Extract filter logic
68582cd97b28bc450f62e548743847c66e300a30 9c134dcebdfec5d164d07950c6f2a43b27b8ade0 Mark Seemann <mark@ploeh.dk> 1613739276 +0100	rebase -i (pick): Introduce Fits method on Table
9c134dcebdfec5d164d07950c6f2a43b27b8ade0 f5a21783e4f42475933234d24a752b6f4c983751 Mark Seemann <mark@ploeh.dk> 1613739282 +0100	rebase -i (pick): Condense the code
f5a21783e4f42475933234d24a752b6f4c983751 a38cd7e0d1162d0245c212f65483b398d4f72cbf Mark Seemann <mark@ploeh.dk> 1613739288 +0100	rebase -i (pick): Add seating duration to MaitreD
a38cd7e0d1162d0245c212f65483b398d4f72cbf 644008efd92d23b8ea205574ecf224196f14b9d5 Mark Seemann <mark@ploeh.dk> 1613739296 +0100	rebase -i (pick): Paramtrise tests on seating duration
644008efd92d23b8ea205574ecf224196f14b9d5 c6e3fee789956ca579996eeb7413cbb931ceb936 Mark Seemann <mark@ploeh.dk> 1613739302 +0100	rebase -i (pick): Handle second seatings
c6e3fee789956ca579996eeb7413cbb931ceb936 288d5b6b475363da571c861e8612c0a1fc9745a1 Mark Seemann <mark@ploeh.dk> 1613739308 +0100	rebase -i (pick): Inject MaitreD into ReservationsController
288d5b6b475363da571c861e8612c0a1fc9745a1 5fb4c6adbd19980780c0e4d31127cb8c455be719 Mark Seemann <mark@ploeh.dk> 1613739314 +0100	rebase -i (pick): Add opening time to MaitreD
5fb4c6adbd19980780c0e4d31127cb8c455be719 d6605129b4965866d7e334a243faf5f1d04da424 Mark Seemann <mark@ploeh.dk> 1613739321 +0100	rebase -i (pick): Refactor paramtrised test to take SUT as parameter
d6605129b4965866d7e334a243faf5f1d04da424 13d2ce676f6b89b1f3a2f66ba6ec458c0ede8461 Mark Seemann <mark@ploeh.dk> 1613739327 +0100	rebase -i (pick): Refactor paramtrised test to take SUT as parameter
13d2ce676f6b89b1f3a2f66ba6ec458c0ede8461 66f8c9417df8de02e53bde30df050559c4e4bd61 Mark Seemann <mark@ploeh.dk> 1613739333 +0100	rebase -i (pick): Check for last seating time
66f8c9417df8de02e53bde30df050559c4e4bd61 0ee7fb090be0afdf40b6506ae59a61ab9e171c10 Mark Seemann <mark@ploeh.dk> 1613739339 +0100	rebase -i (pick): Move MaitreD configuration to appSettings.json
0ee7fb090be0afdf40b6506ae59a61ab9e171c10 81b33489bcaa1a524438d49a34e1cc62a36d994a Mark Seemann <mark@ploeh.dk> 1613739346 +0100	rebase -i (pick): Reject reservations in the past
81b33489bcaa1a524438d49a34e1cc62a36d994a f3cd960d442275fd1998a59c7b5cadb1bb948a01 Mark Seemann <mark@ploeh.dk> 1613739353 +0100	rebase -i (pick): Extract IsOutsideOfOpeningHours helper method
f3cd960d442275fd1998a59c7b5cadb1bb948a01 62f3a5607a279b2c7f8e07ed3487147aa91e9d3e Mark Seemann <mark@ploeh.dk> 1613739360 +0100	rebase -i (pick): Introduce TimeOfDay struct
62f3a5607a279b2c7f8e07ed3487147aa91e9d3e ee3c78696cc4dda8233b71579060930b21d27434 Mark Seemann <mark@ploeh.dk> 1613739367 +0100	rebase -i (pick): Read existing reservation
ee3c78696cc4dda8233b71579060930b21d27434 0f97b3464723a0d8b231bbd377c407293e27c6b7 Mark Seemann <mark@ploeh.dk> 1613739375 +0100	rebase -i (pick): Return 404 Not Found for absent reservation
0f97b3464723a0d8b231bbd377c407293e27c6b7 033388a75c5dc544851387b6248aecde4ccd5238 Mark Seemann <mark@ploeh.dk> 1613739382 +0100	rebase -i (pick): Return 404 Not Found for non-guid id
033388a75c5dc544851387b6248aecde4ccd5238 fbf74aeb75d75745c6a7c9436bfa4b9f4415bf6b Mark Seemann <mark@ploeh.dk> 1613739389 +0100	rebase -i (pick): Return IDs from database in range query
fbf74aeb75d75745c6a7c9436bfa4b9f4415bf6b 8fa3e478e6fd8c1b4fa7a413c40f53d77ee7c470 Mark Seemann <mark@ploeh.dk> 1613739395 +0100	rebase -i (pick): Make /reservations URL segment lowercase
8fa3e478e6fd8c1b4fa7a413c40f53d77ee7c470 f6fe40277c0ecaa731dcfb36225a18c37f9b0bce Mark Seemann <mark@ploeh.dk> 1613739402 +0100	rebase -i (pick): Update FxCop NuGet package
f6fe40277c0ecaa731dcfb36225a18c37f9b0bce 4c38dd59f5a6ddab477bb9aa0d82d8300330b50f Mark Seemann <mark@ploeh.dk> 1613739415 +0100	rebase -i (pick): Update Microsoft.AspNetCore.Mvc.Testing NuGet pkg
4c38dd59f5a6ddab477bb9aa0d82d8300330b50f 4d2be6ba639e58e7e12c3d82559f90d9c4be73bf Mark Seemann <mark@ploeh.dk> 1613739424 +0100	rebase -i (pick): Update Microsoft.NET.Test.Sdk NuGet package
4d2be6ba639e58e7e12c3d82559f90d9c4be73bf 36f8e0ff5baabbc843987a3508478be347139d9a Mark Seemann <mark@ploeh.dk> 1613739433 +0100	rebase -i (pick): Update coverlet.collector NuGet package
36f8e0ff5baabbc843987a3508478be347139d9a 0ab279217ce413e9ee0b5fc87a16877d260ca1b2 Mark Seemann <mark@ploeh.dk> 1613739441 +0100	rebase -i (pick): Return error message on insufficient capacity
0ab279217ce413e9ee0b5fc87a16877d260ca1b2 c122e63000d8c81962ad75c88608fea4462e32ec Mark Seemann <mark@ploeh.dk> 1613739447 +0100	rebase -i (pick): Extract method to return error message
c122e63000d8c81962ad75c88608fea4462e32ec e89b0c2bb364ed4e87cfbfc41f606823a2a7d22b Mark Seemann <mark@ploeh.dk> 1613739453 +0100	rebase -i (pick): Enable deletion of a reservation
e89b0c2bb364ed4e87cfbfc41f606823a2a7d22b e1eda4bfa495bbea9707eada55963898819f59f5 Mark Seemann <mark@ploeh.dk> 1613739459 +0100	rebase -i (pick): Gracefully handle non-GUID for DELETE
e1eda4bfa495bbea9707eada55963898819f59f5 d5bfd36ea8856de5d837eb03ebc172f6912cec03 Mark Seemann <mark@ploeh.dk> 1613739465 +0100	rebase -i (pick): Add PUT capability to reservations resource
d5bfd36ea8856de5d837eb03ebc172f6912cec03 bb4f908a57fc4222d89f6909cb983edeef7af84f Mark Seemann <mark@ploeh.dk> 1613739471 +0100	rebase -i (pick): Validate DTO for PUT operation
bb4f908a57fc4222d89f6909cb983edeef7af84f 0dd91e7c8a25739597e0d68d4aa94c27c98b89f9 Mark Seemann <mark@ploeh.dk> 1613739478 +0100	rebase -i (pick): Parse reservation ID on PUT
0dd91e7c8a25739597e0d68d4aa94c27c98b89f9 e853f8e795ab8edd1066353883a12acec826ccd0 Mark Seemann <mark@ploeh.dk> 1613739485 +0100	rebase -i (pick): Use correct ID on PUT
e853f8e795ab8edd1066353883a12acec826ccd0 4f257e3f1c493438db8976fa440d5fe317daa911 Mark Seemann <mark@ploeh.dk> 1613739493 +0100	rebase -i (pick): Improve Validate API on DTO class
4f257e3f1c493438db8976fa440d5fe317daa911 5aaf6568e3ba5752200566b046f938a43ad7558e Mark Seemann <mark@ploeh.dk> 1613739500 +0100	rebase -i (pick): Don't allow PUT on absent resource
5aaf6568e3ba5752200566b046f938a43ad7558e 7218c763b9666dbf561bf29be570649cba921181 Mark Seemann <mark@ploeh.dk> 1613739507 +0100	rebase -i (pick): Ask MaitreD if PUT is legal
7218c763b9666dbf561bf29be570649cba921181 e9a55877d7a33e8ec99a1ff32a260af2484c27a8 Mark Seemann <mark@ploeh.dk> 1613739514 +0100	rebase -i (pick): Address double-counting bug in Put
e9a55877d7a33e8ec99a1ff32a260af2484c27a8 5800145b0b0a16231515f87478d64bb132761ea3 Mark Seemann <mark@ploeh.dk> 1613739521 +0100	rebase -i (pick): Pretend to send an email when reservation accepted
5800145b0b0a16231515f87478d64bb132761ea3 b85ab3e3892452461a658f988ce52d190ed36f32 Mark Seemann <mark@ploeh.dk> 1613739529 +0100	rebase -i (pick): Add SMTP Post Office
b85ab3e3892452461a658f988ce52d190ed36f32 b587eef709d3d7876c8e3b1c9a3113794e21cd19 Mark Seemann <mark@ploeh.dk> 1613739536 +0100	rebase -i (pick): Refactor SpyPostOffice to record observations
b587eef709d3d7876c8e3b1c9a3113794e21cd19 1811c8e5fc10e3fd16e15182046282e60b28fe48 Mark Seemann <mark@ploeh.dk> 1613739543 +0100	rebase -i (pick): Send email on deletion
1811c8e5fc10e3fd16e15182046282e60b28fe48 5ae08df465b5716631f32121635f983aa439cd40 Mark Seemann <mark@ploeh.dk> 1613739550 +0100	rebase -i (pick): Don't send email on deletion of absent reservation
5ae08df465b5716631f32121635f983aa439cd40 4ab97f0986f53b753b025b5b8ec054623cb86268 Mark Seemann <mark@ploeh.dk> 1613739556 +0100	rebase -i (pick): Send email when reservation is updated
4ab97f0986f53b753b025b5b8ec054623cb86268 ff0f62e3572388f2ea65b555b08907c241aac7c4 Mark Seemann <mark@ploeh.dk> 1613739563 +0100	rebase -i (pick): Send email before reservation updates
ff0f62e3572388f2ea65b555b08907c241aac7c4 3041743391d6b90382beff7d702c74a69827c8ab Mark Seemann <mark@ploeh.dk> 1613739569 +0100	rebase -i (pick): Only send email before update on changed address
3041743391d6b90382beff7d702c74a69827c8ab d7b74f1a1440437e98601118c308871c83c2a49f Mark Seemann <mark@ploeh.dk> 1613739575 +0100	rebase -i (pick): Refactor SmtpPostOffice
d7b74f1a1440437e98601118c308871c83c2a49f a18a5541fe2bb3d56fbf9fa0e972d03f378c5c0f Mark Seemann <mark@ploeh.dk> 1613739583 +0100	rebase -i (pick): Introduce Email and Name wrappers
a18a5541fe2bb3d56fbf9fa0e972d03f378c5c0f b0e3178a7af4cbc659182345fc211b20498f12ce Mark Seemann <mark@ploeh.dk> 1613739589 +0100	rebase -i (pick): Correct mismatched name and email
b0e3178a7af4cbc659182345fc211b20498f12ce f73ba967a3d7d1d900d307c76b67c9c7599a4ce3 Mark Seemann <mark@ploeh.dk> 1613739596 +0100	rebase -i (pick): Introduce Build solution
f73ba967a3d7d1d900d307c76b67c9c7599a4ce3 df8559d5c6a60aff7a3291e2bd009d4f8348fefa Mark Seemann <mark@ploeh.dk> 1613739602 +0100	rebase -i (pick): Add integration test project to Build solution
df8559d5c6a60aff7a3291e2bd009d4f8348fefa abd49264d0e408ba30a5b57e6f7e5e7c1dc778fa Mark Seemann <mark@ploeh.dk> 1613739609 +0100	rebase -i (pick): Treat warnings as errors in integration tests
abd49264d0e408ba30a5b57e6f7e5e7c1dc778fa f3754245ca4a1bbffce99fea83658de711521200 Mark Seemann <mark@ploeh.dk> 1613739617 +0100	rebase -i (pick): Turn on FxCop for integration tests
f3754245ca4a1bbffce99fea83658de711521200 1c031cac443c94b5ffd9798892de633ef9c103f9 Mark Seemann <mark@ploeh.dk> 1613739625 +0100	rebase -i (pick): Turn on nullable reference types
1c031cac443c94b5ffd9798892de633ef9c103f9 bff78f88f5bb33892fbf236fce52e737d368d12c Mark Seemann <mark@ploeh.dk> 1613739633 +0100	rebase -i (pick): Verify create-and-read round-trip to SQL Server
bff78f88f5bb33892fbf236fce52e737d368d12c 645186b265a8b02a4dd34127908997a0789fb744 Mark Seemann <mark@ploeh.dk> 1613739643 +0100	rebase -i (pick): Fix defect in SQL Update method
645186b265a8b02a4dd34127908997a0789fb744 6479d538304cd873da8bdd454a233c26eb205ee3 Mark Seemann <mark@ploeh.dk> 1613739652 +0100	rebase -i (pick): Change master database name to lower case
6479d538304cd873da8bdd454a233c26eb205ee3 9b6df12e3cd3ade4f5d23685eabcdf293d7b41ef Mark Seemann <mark@ploeh.dk> 1613739662 +0100	rebase -i (pick): Use AddWithValue method
9b6df12e3cd3ade4f5d23685eabcdf293d7b41ef 03e02159409485a4544706a490d0ed74830f2106 Mark Seemann <mark@ploeh.dk> 1613739671 +0100	rebase -i (pick): Add README file
03e02159409485a4544706a490d0ed74830f2106 600fb65cfebd712fbe639f5bb44f42a9fb69a307 Mark Seemann <mark@ploeh.dk> 1613739684 +0100	rebase -i (pick): Add conversion to Reservation DTO
600fb65cfebd712fbe639f5bb44f42a9fb69a307 2e368d30e0020ba68785804eb72fe204f9aac4f9 Mark Seemann <mark@ploeh.dk> 1613739694 +0100	rebase -i (pick): Add ToDto extension method
2e368d30e0020ba68785804eb72fe204f9aac4f9 0ab9c965138d8e15b9a3234acb292efdfe69078c Mark Seemann <mark@ploeh.dk> 1613739703 +0100	rebase -i (pick): Return representation after POST
0ab9c965138d8e15b9a3234acb292efdfe69078c 0a50ed5afdeaccccc561a8ae845fa2494d92bdda Mark Seemann <mark@ploeh.dk> 1613739711 +0100	rebase -i (pick): Return representation of resource after PUT
0a50ed5afdeaccccc561a8ae845fa2494d92bdda 91a4425f558da759fc0df6868c9ed8729ab095e8 Mark Seemann <mark@ploeh.dk> 1613739718 +0100	rebase -i (pick): Delete database before setting it up
91a4425f558da759fc0df6868c9ed8729ab095e8 dd05589ebb84dd2bbb7333693a94c6a2d45689db Mark Seemann <mark@ploeh.dk> 1613739726 +0100	rebase -i (pick): Enable connection pooling in integration tests
dd05589ebb84dd2bbb7333693a94c6a2d45689db 98ab6b5886d64564232e842cf7596ff57669afc4 Mark Seemann <mark@ploeh.dk> 1613739745 +0100	rebase -i (pick): Enlist Post in lightweight transaction
98ab6b5886d64564232e842cf7596ff57669afc4 7f0f903c9cf722f3323e7acfcf40577575eaed7a Mark Seemann <mark@ploeh.dk> 1613739798 +0100	rebase -i (pick): Introduce helper method to POST reservation
7f0f903c9cf722f3323e7acfcf40577575eaed7a e6c36e30aafd97ef31a5f9c0f1e721d88c5b0044 Mark Seemann <mark@ploeh.dk> 1613739851 +0100	rebase -i (pick): Enlist Put in a lightweight transaction
e6c36e30aafd97ef31a5f9c0f1e721d88c5b0044 23a854f1ca09c17ca7eeae918113a0c20779891c Mark Seemann <mark@ploeh.dk> 1613739937 +0100	rebase -i (pick): Use RestaurantApiFactory for HomeTests
23a854f1ca09c17ca7eeae918113a0c20779891c 4b9d2e00e5cb6f06df0a504ea67445e9f0c753b3 Mark Seemann <mark@ploeh.dk> 1613740022 +0100	rebase -i (pick): Return link from home resource
4b9d2e00e5cb6f06df0a504ea67445e9f0c753b3 a614b686b796d9bf27b4b980ed04ea1f4d3f1444 Mark Seemann <mark@ploeh.dk> 1613740109 +0100	rebase -i (pick): Use Url.ActionContext in CreateReservationsLink
a614b686b796d9bf27b4b980ed04ea1f4d3f1444 0f75dd7244998175840e296c8cd307991e26e531 Mark Seemann <mark@ploeh.dk> 1613740195 +0100	rebase -i (pick): Extract assertion to helper method
0f75dd7244998175840e296c8cd307991e26e531 c2caeed62bd633fbad6e001e0a1c5973ba558d00 Mark Seemann <mark@ploeh.dk> 1613740280 +0100	rebase -i (pick): Introduce local variable
c2caeed62bd633fbad6e001e0a1c5973ba558d00 b6fcfb57af48abd82c5fb5c68277acdcfaa451c9 Mark Seemann <mark@ploeh.dk> 1613740365 +0100	rebase -i (pick): Move line of code closer to related code
b6fcfb57af48abd82c5fb5c68277acdcfaa451c9 d35ce785ec406df16aed5057b64a05fe5d04def4 Mark Seemann <mark@ploeh.dk> 1613740451 +0100	rebase -i (pick): Add year link to home resource
d35ce785ec406df16aed5057b64a05fe5d04def4 9218ac384ff2ced06cdff08a431bede7f4b71e57 Mark Seemann <mark@ploeh.dk> 1613740537 +0100	rebase -i (pick): Introduce Calendar resource
9218ac384ff2ced06cdff08a431bede7f4b71e57 69cd6af96e5f501bf0c0221c196050d0b5bcb415 Mark Seemann <mark@ploeh.dk> 1613740624 +0100	rebase -i (pick): Return current year from calendar resource
69cd6af96e5f501bf0c0221c196050d0b5bcb415 f4c70effc37b26438fe4af87a590ed72e2aa8335 Mark Seemann <mark@ploeh.dk> 1613740710 +0100	rebase -i (pick): Return year from resource
f4c70effc37b26438fe4af87a590ed72e2aa8335 b98eca7a16451b695b51f81422c6aaeb2efbbe14 Mark Seemann <mark@ploeh.dk> 1613740795 +0100	rebase -i (pick): Return array of days
b98eca7a16451b695b51f81422c6aaeb2efbbe14 401f07defed3bee01a4e6fb77eff13f674733ffd Mark Seemann <mark@ploeh.dk> 1613740882 +0100	rebase -i (pick): Return correct number of days in year
401f07defed3bee01a4e6fb77eff13f674733ffd 51ce90f2cf338ff8154ce458fb6ba1ae220ace61 Mark Seemann <mark@ploeh.dk> 1613740968 +0100	rebase -i (pick): Enumerate days in year
51ce90f2cf338ff8154ce458fb6ba1ae220ace61 f3b9943fbaee50ddaeb6a87718ca518f962bef94 Mark Seemann <mark@ploeh.dk> 1613741054 +0100	rebase -i (pick): Include maximum party size for each day
f3b9943fbaee50ddaeb6a87718ca518f962bef94 2bb4e2c4ec5c0955a36d8998f5c5cf497d1d9bb2 Mark Seemann <mark@ploeh.dk> 1613741141 +0100	rebase -i (pick): Add feature flag for the calendar feature
2bb4e2c4ec5c0955a36d8998f5c5cf497d1d9bb2 c260a98fe16e0fd36b59c3c235f3fdc6992008d6 Mark Seemann <mark@ploeh.dk> 1613741226 +0100	rebase -i (pick): Add a month link to home
c260a98fe16e0fd36b59c3c235f3fdc6992008d6 887f35e54213a8fe3bcbf0640a02f895de65bc0b Mark Seemann <mark@ploeh.dk> 1613741313 +0100	rebase -i (pick): Introduce /year/month calendar
887f35e54213a8fe3bcbf0640a02f895de65bc0b 77eeda0636a51c46b0a9a525a1e20767072b6e28 Mark Seemann <mark@ploeh.dk> 1613741398 +0100	rebase -i (pick): Refactor test to use class data
77eeda0636a51c46b0a9a525a1e20767072b6e28 aaa60192399f3e4d357fc308a624503f30fc30a5 Mark Seemann <mark@ploeh.dk> 1613741483 +0100	rebase -i (pick): Parametrise act function
aaa60192399f3e4d357fc308a624503f30fc30a5 5871ba57bec878da595a1df716cf9c48780a5340 Mark Seemann <mark@ploeh.dk> 1613741568 +0100	rebase -i (pick): Check month on calendar representation
5871ba57bec878da595a1df716cf9c48780a5340 5e44c575c15dd31b2052393a65b89ecbea5ddfea Mark Seemann <mark@ploeh.dk> 1613741652 +0100	rebase -i (pick): Return data from month calendar
5e44c575c15dd31b2052393a65b89ecbea5ddfea 1080130141ff3ebf2f436e18271573f7549ded52 Mark Seemann <mark@ploeh.dk> 1613741738 +0100	rebase -i (pick): Add link to day calendar
1080130141ff3ebf2f436e18271573f7549ded52 cbfa7b80dc8120a41db7b936cbc1cfacc00af146 Mark Seemann <mark@ploeh.dk> 1613741823 +0100	rebase -i (pick): Introduce /year/month/day calendar
cbfa7b80dc8120a41db7b936cbc1cfacc00af146 aa717082f64ea57769417a83c747862df2039bab Mark Seemann <mark@ploeh.dk> 1613741909 +0100	rebase -i (pick): Add expected day to test cases
aa717082f64ea57769417a83c747862df2039bab a89ad622a22097a95e5576b71c73303e3e9f73f0 Mark Seemann <mark@ploeh.dk> 1613741994 +0100	rebase -i (pick): Inline variable
a89ad622a22097a95e5576b71c73303e3e9f73f0 3f1079aea5dcf9f5eb92ee352208601c702d1a14 Mark Seemann <mark@ploeh.dk> 1613742079 +0100	rebase -i (pick): Return data from day calendar
3f1079aea5dcf9f5eb92ee352208601c702d1a14 439144944f2ab1d6012e8c291c08ce7e0c18c779 Mark Seemann <mark@ploeh.dk> 1613742165 +0100	rebase -i (pick): Rename parameter
439144944f2ab1d6012e8c291c08ce7e0c18c779 47717876ae01d33f0fc7669dc8827a7fbdce9120 Mark Seemann <mark@ploeh.dk> 1613742250 +0100	rebase -i (pick): Remove duplication of JSON parsing
47717876ae01d33f0fc7669dc8827a7fbdce9120 908a8f17baca50f9a86601f53e5caab3b9d6fb0b Mark Seemann <mark@ploeh.dk> 1613742336 +0100	rebase -i (pick): Format only date for date strings
908a8f17baca50f9a86601f53e5caab3b9d6fb0b e98fd3f507d1c30081e579e1d5740036922acff0 Mark Seemann <mark@ploeh.dk> 1613742422 +0100	rebase -i (pick): Extract function to produce ISO 8601 string
e98fd3f507d1c30081e579e1d5740036922acff0 db41dc82fb4767387881a23fedcee7a4c0ab5803 Mark Seemann <mark@ploeh.dk> 1613742507 +0100	rebase -i (pick): Refactor to UrlBuilder
db41dc82fb4767387881a23fedcee7a4c0ab5803 4c71df8d55a01ca4b227ab22dca3ae1a759d44a5 Mark Seemann <mark@ploeh.dk> 1613742594 +0100	rebase -i (pick): Handle controller name without Controller suffix
4c71df8d55a01ca4b227ab22dca3ae1a759d44a5 6ca8ef44bd0fb4cfeff4a0e777e2d05aefeeea78 Mark Seemann <mark@ploeh.dk> 1613742680 +0100	rebase -i (pick): Use UrlBuilder for reservations link
6ca8ef44bd0fb4cfeff4a0e777e2d05aefeeea78 129cd30aa53c5a53807b6bf5090fbaad1c0fbb02 Mark Seemann <mark@ploeh.dk> 1613742766 +0100	rebase -i (pick): Return Uri from UrlBuilder.BuildAbsolute
129cd30aa53c5a53807b6bf5090fbaad1c0fbb02 76aba66a4971c594cac03c4a7f6298e9e1c03de8 Mark Seemann <mark@ploeh.dk> 1613742852 +0100	rebase -i (pick): Use Link extension method
76aba66a4971c594cac03c4a7f6298e9e1c03de8 9fae2e24df64b8a3a549e9a121fc969bafd9da3e Mark Seemann <mark@ploeh.dk> 1613742937 +0100	rebase -i (pick): Use named methods to define links
9fae2e24df64b8a3a549e9a121fc969bafd9da3e c9b77058f65fa244f0cedfb5c3fc5fb50d40e2d9 Mark Seemann <mark@ploeh.dk> 1613743023 +0100	rebase -i (pick): Use single value for current date
c9b77058f65fa244f0cedfb5c3fc5fb50d40e2d9 47cbcb1ebb7fc29f60b699121f8463f25679f71d Mark Seemann <mark@ploeh.dk> 1613743109 +0100	rebase -i (pick): Extract common builders
47cbcb1ebb7fc29f60b699121f8463f25679f71d 184cf19c412d0f2b6f2623bf4d661b7a1a3964d6 Mark Seemann <mark@ploeh.dk> 1613743195 +0100	rebase -i (pick): Rename to SelfHostedService
184cf19c412d0f2b6f2623bf4d661b7a1a3964d6 07681a2d50a44b65d9f15e5d21b8e02b3ffe2790 Mark Seemann <mark@ploeh.dk> 1613743280 +0100	rebase -i (pick): Extract FindAddress helper method
07681a2d50a44b65d9f15e5d21b8e02b3ffe2790 951bf2186cb26ec02f409f19c1b3f07c6c7e2c5e Mark Seemann <mark@ploeh.dk> 1613743365 +0100	rebase -i (pick): Add links to calendar representations
951bf2186cb26ec02f409f19c1b3f07c6c7e2c5e e8fb3f01d2def80e11e514044972c84480b78d8e Mark Seemann <mark@ploeh.dk> 1613743451 +0100	rebase -i (pick): Add navigation links to calendars
e8fb3f01d2def80e11e514044972c84480b78d8e 19160242c7856c845ad3d6dd478a14e560d55825 Mark Seemann <mark@ploeh.dk> 1613743537 +0100	rebase -i (pick): Populate previous and next calendar links
19160242c7856c845ad3d6dd478a14e560d55825 1b0a07d3477b15f56fddc45c2b9f59113b914089 Mark Seemann <mark@ploeh.dk> 1613743623 +0100	rebase -i (pick): Refactor assertions of 'current' date
1b0a07d3477b15f56fddc45c2b9f59113b914089 6438c3cddf691b46450eb9f9bd7d34871146e8d0 Mark Seemann <mark@ploeh.dk> 1613743708 +0100	rebase -i (pick): Add next link to year calendar
6438c3cddf691b46450eb9f9bd7d34871146e8d0 9ee22b90e22c26fb113445b8fce8d9e7ba57df37 Mark Seemann <mark@ploeh.dk> 1613743793 +0100	rebase -i (pick): Add previous link to year calendar
9ee22b90e22c26fb113445b8fce8d9e7ba57df37 c2e9287678d082de17809f65e25d4089b21b5c7e Mark Seemann <mark@ploeh.dk> 1613743879 +0100	rebase -i (pick): Add previous link to month calendar
c2e9287678d082de17809f65e25d4089b21b5c7e cf86a22656b17633f3f6f5ba76034790e7d652ba Mark Seemann <mark@ploeh.dk> 1613743964 +0100	rebase -i (pick): Link to next month
cf86a22656b17633f3f6f5ba76034790e7d652ba 6b49f0011381f2290a2871ac7a4b83ee1a6ce64b Mark Seemann <mark@ploeh.dk> 1613744050 +0100	rebase -i (pick): Link to previous day
6b49f0011381f2290a2871ac7a4b83ee1a6ce64b e34171e1a8fedda50ae69c2f4044993a507b2a43 Mark Seemann <mark@ploeh.dk> 1613744136 +0100	rebase -i (pick): Link to next day
e34171e1a8fedda50ae69c2f4044993a507b2a43 b7d95d3b94b66fda439536f722128272aa64e5ad Mark Seemann <mark@ploeh.dk> 1613744222 +0100	rebase -i (pick): Navigate to specific years
b7d95d3b94b66fda439536f722128272aa64e5ad 65ea3f4d11bcddb72ec338a2c180634e74af197e Mark Seemann <mark@ploeh.dk> 1613744307 +0100	rebase -i (pick): Navigate to specific months
65ea3f4d11bcddb72ec338a2c180634e74af197e 4a7df8327adc32495332c5848d5acc95a2c963ea Mark Seemann <mark@ploeh.dk> 1613744392 +0100	rebase -i (pick): Navigate to specific dates
4a7df8327adc32495332c5848d5acc95a2c963ea 94a363cefd48da0e4fedec6f14f9184f8aa12b66 Mark Seemann <mark@ploeh.dk> 1613744478 +0100	rebase -i (pick): Use Link overloads that take a relationship type
94a363cefd48da0e4fedec6f14f9184f8aa12b66 21c8702aedd9be423169844e208439e14314cc92 Mark Seemann <mark@ploeh.dk> 1613744565 +0100	rebase -i (pick): Calculate year navigation via DateTime API
21c8702aedd9be423169844e208439e14314cc92 51d718b33cb66b2fe6acb12c3e714c84b12498c3 Mark Seemann <mark@ploeh.dk> 1613744653 +0100	rebase -i (pick): Refactor AddLinks method
51d718b33cb66b2fe6acb12c3e714c84b12498c3 7a3185dd4a766a1a17cf4f84e93de8dce3237e6a Mark Seemann <mark@ploeh.dk> 1613744739 +0100	rebase -i (pick): Add link to each day
7a3185dd4a766a1a17cf4f84e93de8dce3237e6a 526df24e4662797ad22785e7400478c1c84f4579 Mark Seemann <mark@ploeh.dk> 1613744825 +0100	rebase -i (pick): Optimise retrieval of single day calendar
526df24e4662797ad22785e7400478c1c84f4579 035aa6fbac55513e8d308216270dcd412949a422 Mark Seemann <mark@ploeh.dk> 1613744910 +0100	rebase -i (pick): Add month link to all days
035aa6fbac55513e8d308216270dcd412949a422 cdf82b5ea841ed3f1bc89c51f8c73070279d7e16 Mark Seemann <mark@ploeh.dk> 1613744996 +0100	rebase -i (pick): Optimise month navigation
cdf82b5ea841ed3f1bc89c51f8c73070279d7e16 bc17eb1be8db3c389ec18b202a99a026be6cbee5 Mark Seemann <mark@ploeh.dk> 1613745082 +0100	rebase -i (pick): Add year link to all days
bc17eb1be8db3c389ec18b202a99a026be6cbee5 7a098232128b945f7966f5bcff0fce30eff6b092 Mark Seemann <mark@ploeh.dk> 1613745168 +0100	rebase -i (pick): Simplify assertions
7a098232128b945f7966f5bcff0fce30eff6b092 2c0eeaf37c89f70db730bf7ca5527a158b0c3c43 Mark Seemann <mark@ploeh.dk> 1613745254 +0100	rebase -i (pick): Extract method to find address in links
2c0eeaf37c89f70db730bf7ca5527a158b0c3c43 f3aee9177a9fa9cb5f7e9434c3888e4cc1011cb8 Mark Seemann <mark@ploeh.dk> 1613745340 +0100	rebase -i (pick): Simplify finding a year
f3aee9177a9fa9cb5f7e9434c3888e4cc1011cb8 cc6e57e589d7790b7404cc5901638d60b3bf7deb Mark Seemann <mark@ploeh.dk> 1613745425 +0100	rebase -i (pick): Inline client in SelfHostedService
cc6e57e589d7790b7404cc5901638d60b3bf7deb 7fa44811db0d1f0c3d1351e0bf90520e654e0d52 Mark Seemann <mark@ploeh.dk> 1613745510 +0100	rebase -i (pick): Rename test
7fa44811db0d1f0c3d1351e0bf90520e654e0d52 679e917a0a564b7cf110af6438449306c6543bb0 Mark Seemann <mark@ploeh.dk> 1613745596 +0100	rebase -i (pick): Move home link generation to filter
679e917a0a564b7cf110af6438449306c6543bb0 65a0a2ecd5d8ade6a76fbe5aa2ae74f00f3649c2 Mark Seemann <mark@ploeh.dk> 1613745682 +0100	rebase -i (pick): Remove [ApiController] attribute
65a0a2ecd5d8ade6a76fbe5aa2ae74f00f3649c2 686d99bfd8d6af336adb1299cb16795b8043a688 Mark Seemann <mark@ploeh.dk> 1613745768 +0100	rebase -i (pick): Don't render null values as JSON
686d99bfd8d6af336adb1299cb16795b8043a688 c31b0bc890895a852ef338ebbdc72eb8e1199dc2 Mark Seemann <mark@ploeh.dk> 1613745855 +0100	rebase -i (pick): Refactor Table to use Visitor
c31b0bc890895a852ef338ebbdc72eb8e1199dc2 6cb269f7c46b885b82543afdafd50cf194079869 Mark Seemann <mark@ploeh.dk> 1613745940 +0100	rebase -i (pick): Change Reserve method to take a Reservation
6cb269f7c46b885b82543afdafd50cf194079869 097b6acbf0adaa8c48e21a970a93f99d31e120b9 Mark Seemann <mark@ploeh.dk> 1613746026 +0100	rebase -i (pick): Add reservations to communal table
097b6acbf0adaa8c48e21a970a93f99d31e120b9 ec937dc6a1b7c87923e82e2492cab627f9e324d0 Mark Seemann <mark@ploeh.dk> 1613746113 +0100	rebase -i (pick): Associate reservation with communal table
ec937dc6a1b7c87923e82e2492cab627f9e324d0 6e3eae28d89dda75cef9dcab9e77ec76572322f7 Mark Seemann <mark@ploeh.dk> 1613746199 +0100	rebase -i (pick): Associate reservation with standard table
6e3eae28d89dda75cef9dcab9e77ec76572322f7 85d5a903f6f001b5e4cf97d5f6d861a3081648f1 Mark Seemann <mark@ploeh.dk> 1613746285 +0100	rebase -i (pick): Remove WithSeats method
85d5a903f6f001b5e4cf97d5f6d861a3081648f1 edae9bd50a347294f7daf3e260058b424c8b7bd8 Mark Seemann <mark@ploeh.dk> 1613746372 +0100	rebase -i (pick): Remove MaximumPartySize from DayDto
edae9bd50a347294f7daf3e260058b424c8b7bd8 5359d819dd92b908b1523a4325ac0e21ad5291ae Mark Seemann <mark@ploeh.dk> 1613746457 +0100	rebase -i (pick): Remove Table.Seats property
5359d819dd92b908b1523a4325ac0e21ad5291ae 3fdf09430531b8cad0b49036c890c1faf4588d42 Mark Seemann <mark@ploeh.dk> 1613746543 +0100	rebase -i (pick): Remove check for table type from MaitreD
3fdf09430531b8cad0b49036c890c1faf4588d42 b2a6b514ee837c7dcd2d0990d2c0f57a0fea7cd0 Mark Seemann <mark@ploeh.dk> 1613746631 +0100	rebase -i (pick): Rename variable
b2a6b514ee837c7dcd2d0990d2c0f57a0fea7cd0 20e9b1b02b58f4905116b40b804aadeffd74b5f4 Mark Seemann <mark@ploeh.dk> 1613746717 +0100	rebase -i (pick): Remove IsStandard and IsCommunal flags
20e9b1b02b58f4905116b40b804aadeffd74b5f4 9631f691e40adbdde257e62f7f7fca2f0a1bc8e2 Mark Seemann <mark@ploeh.dk> 1613746803 +0100	rebase -i (pick): Remove Seats property from ITable
9631f691e40adbdde257e62f7f7fca2f0a1bc8e2 c090c123963dd0662f236878a8ebba78e8b7dcbf Mark Seemann <mark@ploeh.dk> 1613746889 +0100	rebase -i (pick): Introduce MaitreD.Schedule
c090c123963dd0662f236878a8ebba78e8b7dcbf a2b238495d5fd39c312a1e84a67d2bacce76de5e Mark Seemann <mark@ploeh.dk> 1613746977 +0100	rebase -i (pick): Return single occurrence from Schedule
a2b238495d5fd39c312a1e84a67d2bacce76de5e ab60596d1e168bad5cde7711c2ee07797abfa48b Mark Seemann <mark@ploeh.dk> 1613747063 +0100	rebase -i (pick): Schedule occurrence for each distinct date
ab60596d1e168bad5cde7711c2ee07797abfa48b 1809d33d15eb046301c90d62a442bc06a2e996a8 Mark Seemann <mark@ploeh.dk> 1613747150 +0100	rebase -i (pick): Order occurrences
1809d33d15eb046301c90d62a442bc06a2e996a8 8c535992c6e09772f587558f1baa17f6b74c4f71 Mark Seemann <mark@ploeh.dk> 1613747237 +0100	rebase -i (pick): Count the number of tables at each occurrence
8c535992c6e09772f587558f1baa17f6b74c4f71 c8382f68d1524f932521bc77a13e7946f916d68b Mark Seemann <mark@ploeh.dk> 1613747323 +0100	rebase -i (pick): Use configured tables when scheduling
c8382f68d1524f932521bc77a13e7946f916d68b d97d8b837384187a0fab224c7e84064e7756ef70 Mark Seemann <mark@ploeh.dk> 1613747409 +0100	rebase -i (pick): Generate MaitreD randomly
d97d8b837384187a0fab224c7e84064e7756ef70 51802ba7ff902dd670937ce191575e8cee525851 Mark Seemann <mark@ploeh.dk> 1613747494 +0100	rebase -i (pick): Allocate reservations at each occurrence
51802ba7ff902dd670937ce191575e8cee525851 78509fdbbeae9219028ce9066395f303c70a635f Mark Seemann <mark@ploeh.dk> 1613747580 +0100	rebase -i (pick): Make Seating class public
78509fdbbeae9219028ce9066395f303c70a635f 2d25a7d1c7b2e1fc859b48e4985a918af10a72b6 Mark Seemann <mark@ploeh.dk> 1613747666 +0100	rebase -i (pick): Add Accept method to Table
2d25a7d1c7b2e1fc859b48e4985a918af10a72b6 3bf5c51e27b21c82dc94e409dab1087b9844628c Mark Seemann <mark@ploeh.dk> 1613747752 +0100	rebase -i (pick): Relax Seating
3bf5c51e27b21c82dc94e409dab1087b9844628c 61ac6e15676b63bc065274b8068dae1da79c7644 Mark Seemann <mark@ploeh.dk> 1613747838 +0100	rebase -i (pick): Include overlapping reservations in each occurrenc
61ac6e15676b63bc065274b8068dae1da79c7644 b8313c6999db05827031e34a1de03a3e80233085 Mark Seemann <mark@ploeh.dk> 1613747924 +0100	rebase -i (pick): Add time slot entries to DayDto
b8313c6999db05827031e34a1de03a3e80233085 cae99264209b53e437a639ee2b37058d9e67b81a Mark Seemann <mark@ploeh.dk> 1613748010 +0100	rebase -i (pick): Return MaximumPartySize
cae99264209b53e437a639ee2b37058d9e67b81a 83dc159555deee1c22c1b926f5d1b8c29aaa6a23 Mark Seemann <mark@ploeh.dk> 1613748096 +0100	rebase -i (pick): Add time of day to calendar time entries
83dc159555deee1c22c1b926f5d1b8c29aaa6a23 53c641729bf58a0fdaaa9c67f5bef8b14b668f6a Mark Seemann <mark@ploeh.dk> 1613748182 +0100	rebase -i (pick): Make CalendarController actions asynchronous
53c641729bf58a0fdaaa9c67f5bef8b14b668f6a fa29d2faffa6e1a050a96930d408af8834e07e60 Mark Seemann <mark@ploeh.dk> 1613748268 +0100	rebase -i (pick): Add ReadReservations overload to repository
fa29d2faffa6e1a050a96930d408af8834e07e60 8a6a1646216ae666237c458176c1ed8c3fbeb9b5 Mark Seemann <mark@ploeh.dk> 1613748353 +0100	rebase -i (pick): Call new method instead of old
8a6a1646216ae666237c458176c1ed8c3fbeb9b5 0944d865cba7fecbca274df5f083bb86dd182292 Mark Seemann <mark@ploeh.dk> 1613748439 +0100	rebase -i (pick): Move other call site over to new method
0944d865cba7fecbca274df5f083bb86dd182292 16b5c2b309a96cf59e240d6b70c0fe85bdfc324e Mark Seemann <mark@ploeh.dk> 1613748526 +0100	rebase -i (pick): Extract helper method
16b5c2b309a96cf59e240d6b70c0fe85bdfc324e bcffd6b12d51638da73def668adce4c7b5f7dc0e Mark Seemann <mark@ploeh.dk> 1613748612 +0100	rebase -i (pick): Remove old method from repository interface
bcffd6b12d51638da73def668adce4c7b5f7dc0e 82ceaeb8df6f829d5b7cea4e9cca3c443b74f2df Mark Seemann <mark@ploeh.dk> 1613748698 +0100	rebase -i (pick): Add RemainingSeats to Table class
82ceaeb8df6f829d5b7cea4e9cca3c443b74f2df 029751df5c847f84b31380f9ccb446adb2f69b66 Mark Seemann <mark@ploeh.dk> 1613748783 +0100	rebase -i (pick): Return schedule in day view
029751df5c847f84b31380f9ccb446adb2f69b66 392adbbf1494150c1dd99dbc3980410c3877dc6f Mark Seemann <mark@ploeh.dk> 1613748869 +0100	rebase -i (pick): Extract ReadReservations extension method
392adbbf1494150c1dd99dbc3980410c3877dc6f ea2e873a106ed743f8ceb8e728378fc9261ddbae Mark Seemann <mark@ploeh.dk> 1613748955 +0100	rebase -i (pick): Extract FsCheck generators to separate file
ea2e873a106ed743f8ceb8e728378fc9261ddbae 9760ce0eb1e35b4cf7a98facaf0596287eba16ff Mark Seemann <mark@ploeh.dk> 1613749041 +0100	rebase -i (pick): Rewrite Gen composition using query syntax
9760ce0eb1e35b4cf7a98facaf0596287eba16ff e8c1508023f30282155539403a4365e911029c82 Mark Seemann <mark@ploeh.dk> 1613749126 +0100	rebase -i (pick): Introduce MaitreD.Segment
e8c1508023f30282155539403a4365e911029c82 18ab1cd3620f35306eac3293f7fde11250696739 Mark Seemann <mark@ploeh.dk> 1613749211 +0100	rebase -i (pick): Return segment at opening hour
18ab1cd3620f35306eac3293f7fde11250696739 0ac85e4c90ed8a7369ee89985d42e3db07804cd9 Mark Seemann <mark@ploeh.dk> 1613749299 +0100	rebase -i (pick): Return segment at last seating time
0ac85e4c90ed8a7369ee89985d42e3db07804cd9 056c14b831affc980c43e98b0429111efef827e1 Mark Seemann <mark@ploeh.dk> 1613749386 +0100	rebase -i (pick): Rerturn all 15-minute segments
056c14b831affc980c43e98b0429111efef827e1 d42cf602d72aabb492db5bc8961cc8380eb6fb45 Mark Seemann <mark@ploeh.dk> 1613749471 +0100	rebase -i (pick): Return tables in each segment
d42cf602d72aabb492db5bc8961cc8380eb6fb45 342c490d825c97caee579d0696a14929befc7697 Mark Seemann <mark@ploeh.dk> 1613749559 +0100	rebase -i (pick): Allocate tables to each segment
342c490d825c97caee579d0696a14929befc7697 76a0c520f9fdbd8870cadcf8c428a182eaf0c63c Mark Seemann <mark@ploeh.dk> 1613749645 +0100	rebase -i (pick): Display segments in day calendar
76a0c520f9fdbd8870cadcf8c428a182eaf0c63c 55fe03b27305f1bd7015d5ab316b19aa63b67c12 Mark Seemann <mark@ploeh.dk> 1613749731 +0100	rebase -i (pick): Return segments for all calendars
55fe03b27305f1bd7015d5ab316b19aa63b67c12 b36590e970aeb919a77b9d30c4df12ab635d1c7a Mark Seemann <mark@ploeh.dk> 1613749817 +0100	rebase -i (pick): Load all reservations for a month and segment them
b36590e970aeb919a77b9d30c4df12ab635d1c7a 22c3220d71b02663a4a19c42c668a41e94f124ea Mark Seemann <mark@ploeh.dk> 1613749903 +0100	rebase -i (pick): Load all reservations for a year and segment them
22c3220d71b02663a4a19c42c668a41e94f124ea e6a666b440ee3a8fc4aa516b804a84e937047f41 Mark Seemann <mark@ploeh.dk> 1613749990 +0100	rebase -i (pick): Refactor calendars to work on period values
e6a666b440ee3a8fc4aa516b804a84e937047f41 a04d1577bda6f60eae653ce9fde45a8635e82954 Mark Seemann <mark@ploeh.dk> 1613750076 +0100	rebase -i (pick): Extract helper method to make days
a04d1577bda6f60eae653ce9fde45a8635e82954 df8652fa562e0a8817038d8e25d97268d0813af6 Mark Seemann <mark@ploeh.dk> 1613761384 +0100	rebase -i (pick): Delete calendar flag
df8652fa562e0a8817038d8e25d97268d0813af6 ff5314f95736cc5cf3f8fa7627e6e946c1ce250c Mark Seemann <mark@ploeh.dk> 1613761471 +0100	rebase -i (pick): Add cache header on year calendar
ff5314f95736cc5cf3f8fa7627e6e946c1ce250c 34b818fb1238868d6f7dfffca457c420fd237cea Mark Seemann <mark@ploeh.dk> 1613761557 +0100	rebase -i (pick): Update xunit.runner.visualstudio NuGet package
34b818fb1238868d6f7dfffca457c420fd237cea a2bebea0f018a8e72ab84a347ab3a488d59819c4 Mark Seemann <mark@ploeh.dk> 1613761646 +0100	rebase -i (pick): Update System.Data.SqlClient NuGet package
a2bebea0f018a8e72ab84a347ab3a488d59819c4 3bfc64f7562872c5cea2ec1bec06dfb330546062 Mark Seemann <mark@ploeh.dk> 1613761735 +0100	rebase -i (pick): Update Microsoft.NET.Test.Sdk NuGet package
3bfc64f7562872c5cea2ec1bec06dfb330546062 f04e6ebc10edd4b8c2408165ae3a32aaf0590b5d Mark Seemann <mark@ploeh.dk> 1613761824 +0100	rebase -i (pick): Update coverlet.collector NuGet package
f04e6ebc10edd4b8c2408165ae3a32aaf0590b5d 9e5d33a3e9bfad1c06f2e55d473a9757a3bf303a Mark Seemann <mark@ploeh.dk> 1613761914 +0100	rebase -i (pick): Update Microsoft.AspNetCore.Mvc.Testing NuGet pkg
9e5d33a3e9bfad1c06f2e55d473a9757a3bf303a fdf2a2f89a38385df63a7c2567b7ee09d3852a22 Mark Seemann <mark@ploeh.dk> 1613762003 +0100	rebase -i (pick): Update Microsoft.CodeAnalysis.FxCopAnalyzers NuGet
fdf2a2f89a38385df63a7c2567b7ee09d3852a22 229575220ace83151db43540f65bd2d5b5a82199 Mark Seemann <mark@ploeh.dk> 1613762097 +0100	rebase -i (pick): Rename test classes
229575220ace83151db43540f65bd2d5b5a82199 09640995edad1593af7a44fb77562460966d968b Mark Seemann <mark@ploeh.dk> 1613762190 +0100	rebase -i (pick): Add a schedule link to each day
09640995edad1593af7a44fb77562460966d968b ceaf172b248c6cc9a7e52e0e46f76617a09d9e8b Mark Seemann <mark@ploeh.dk> 1613762280 +0100	rebase -i (pick): Link to schedule resource
ceaf172b248c6cc9a7e52e0e46f76617a09d9e8b 9d829449f7d6c83b8f584c8ae25e14918582fa19 Mark Seemann <mark@ploeh.dk> 1613762372 +0100	rebase -i (pick): Change URL format for schedule resource
9d829449f7d6c83b8f584c8ae25e14918582fa19 782229f1b81f64022214b76d3282294bf07e6de7 Mark Seemann <mark@ploeh.dk> 1613762463 +0100	rebase -i (pick): Enable JWT-based authorization of schedule
782229f1b81f64022214b76d3282294bf07e6de7 81f8542a24978ba5153fd714a92965c101341a40 Mark Seemann <mark@ploeh.dk> 1613762560 +0100	rebase -i (pick): Extract ConfigureAuthorization helper method
81f8542a24978ba5153fd714a92965c101341a40 c88f9ed7b51be4dbffe175710fae7a474cd98926 Mark Seemann <mark@ploeh.dk> 1613762653 +0100	rebase -i (pick): Read secret from appsettings.json
c88f9ed7b51be4dbffe175710fae7a474cd98926 3e6c194934b6d4915193b51c4de321e15731acd1 Mark Seemann <mark@ploeh.dk> 1613762744 +0100	rebase -i (pick): Return calendar from schedule resource
3e6c194934b6d4915193b51c4de321e15731acd1 c41b3d9a3c105df9f0ddcc17704d14683229fb07 Mark Seemann <mark@ploeh.dk> 1613762835 +0100	rebase -i (pick): Populate schedule date
c41b3d9a3c105df9f0ddcc17704d14683229fb07 837a2aa22e705bf078cb3e6252de2e3c039b6dd5 Mark Seemann <mark@ploeh.dk> 1613762926 +0100	rebase -i (pick): Return schedule entries
837a2aa22e705bf078cb3e6252de2e3c039b6dd5 12a46adccc4cd7e96ca1107a88a6cf771f3d0961 Mark Seemann <mark@ploeh.dk> 1613763017 +0100	rebase -i (pick): Return entries from schedule resource
12a46adccc4cd7e96ca1107a88a6cf771f3d0961 8ce79e8cb4c1ed09f3686d97de29c545b885ee23 Mark Seemann <mark@ploeh.dk> 1613763108 +0100	rebase -i (pick): Make MaximumPartySize an optional property
8ce79e8cb4c1ed09f3686d97de29c545b885ee23 5663c6a37feed2a728864e578ec2269fb080484e Mark Seemann <mark@ploeh.dk> 1613763201 +0100	rebase -i (pick): Return reservations in schedule resource
5663c6a37feed2a728864e578ec2269fb080484e 639536fc2e20d6875ba170a7f81b1c4c28b55823 Mark Seemann <mark@ploeh.dk> 1613763293 +0100	rebase -i (pick): Made ReservationsVisitor a public class
639536fc2e20d6875ba170a7f81b1c4c28b55823 4557f125d742cf777ca6fac68603bb4b259a0175 Mark Seemann <mark@ploeh.dk> 1613763384 +0100	rebase -i (pick): Make ReservationsVisitor a Singleton
4557f125d742cf777ca6fac68603bb4b259a0175 64e59e37c14599ba651fb8177a6a60aa9803650f Mark Seemann <mark@ploeh.dk> 1613763475 +0100	rebase -i (pick): Extract MakeEntry helper method
64e59e37c14599ba651fb8177a6a60aa9803650f 2e639373552b04fd6cd536b359786a1f2af8b274 Mark Seemann <mark@ploeh.dk> 1613763566 +0100	rebase -i (pick): Extract MakeCalendar helper method
2e639373552b04fd6cd536b359786a1f2af8b274 870351b8d6b6cb515a095bacc39df225b7ef4935 Mark Seemann <mark@ploeh.dk> 1613763658 +0100	rebase -i (pick): Move outlier dates a bit closer
870351b8d6b6cb515a095bacc39df225b7ef4935 33b0109effa790451285dfcb14419a5684431a1b Mark Seemann <mark@ploeh.dk> 1613763745 +0100	rebase -i (pick): Introduce SigningUrlHelper
33b0109effa790451285dfcb14419a5684431a1b b46cb4315149ab662584b84a4d37b1ffbc62aaa5 Mark Seemann <mark@ploeh.dk> 1613763836 +0100	rebase -i (pick): Add signature query parameter to generated URLs
b46cb4315149ab662584b84a4d37b1ffbc62aaa5 c4da85d9eca8fde42e5c5e7a8dda7882c5e5665b Mark Seemann <mark@ploeh.dk> 1613763927 +0100	rebase -i (pick): Sign links
c4da85d9eca8fde42e5c5e7a8dda7882c5e5665b 99c3d2fe6c3008b345e213587a6c156e550d98de Mark Seemann <mark@ploeh.dk> 1613764019 +0100	rebase -i (pick): Force clients to follow links
99c3d2fe6c3008b345e213587a6c156e550d98de f7569041f1895c55485803a0ade03c65262038fc Mark Seemann <mark@ploeh.dk> 1613764110 +0100	rebase -i (pick): Extract IsGetHomeRequest helper method
f7569041f1895c55485803a0ade03c65262038fc 5e160606c50e738fbf31436ba031af4137715945 Mark Seemann <mark@ploeh.dk> 1613764201 +0100	rebase -i (pick): Extract GetUrlWithoutSignature helper method
5e160606c50e738fbf31436ba031af4137715945 8fd5c8c411fa5e414ac8b94157f96676de5b988b Mark Seemann <mark@ploeh.dk> 1613764299 +0100	rebase -i (pick): Add URL signing key as a dependency to filter
8fd5c8c411fa5e414ac8b94157f96676de5b988b 0fb2e824ea20cd444fe6c9d041d0b1d1c5fe1ebc Mark Seemann <mark@ploeh.dk> 1613764390 +0100	rebase -i (pick): Add URL signing key as dependency to URL helper
0fb2e824ea20cd444fe6c9d041d0b1d1c5fe1ebc f41dc9634a2f3ee9190d62524374a4f3bf05abe8 Mark Seemann <mark@ploeh.dk> 1613764479 +0100	rebase -i (pick): Add URL signing key as dependency to URL factory
f41dc9634a2f3ee9190d62524374a4f3bf05abe8 1346432771acbfc8d5e6468c4a72e52bb4f2baae Mark Seemann <mark@ploeh.dk> 1613764572 +0100	rebase -i (pick): Move URL signing key to config file
1346432771acbfc8d5e6468c4a72e52bb4f2baae 7a07b6a21dbb7ba32a22f26f458d6ab7fdde2db4 Mark Seemann <mark@ploeh.dk> 1613764662 +0100	rebase -i (pick): Extract SignatureIsValid helper method
7a07b6a21dbb7ba32a22f26f458d6ab7fdde2db4 81e4cda83c7f7550dcd08e1e9094f7d4941f5280 Mark Seemann <mark@ploeh.dk> 1613764753 +0100	rebase -i (pick): Turn validity check around
81e4cda83c7f7550dcd08e1e9094f7d4941f5280 7c6d331867488b5a0040d9cadfbee6e1e61be75b Mark Seemann <mark@ploeh.dk> 1613764844 +0100	rebase -i (pick): Refactor Startup a bit
7c6d331867488b5a0040d9cadfbee6e1e61be75b 2aa0c6f2a0d05f8782a7483ff8f09ea508b0a21e Mark Seemann <mark@ploeh.dk> 1613764935 +0100	rebase -i (pick): Add restaurants array to home resource
2aa0c6f2a0d05f8782a7483ff8f09ea508b0a21e 32db3e8a57d95e50dd9a838ba68c274e85f9d60e Mark Seemann <mark@ploeh.dk> 1613765025 +0100	rebase -i (pick): Give restaurants names
32db3e8a57d95e50dd9a838ba68c274e85f9d60e 29221464e9f0a9ef46eaee4fe372428293b29c14 Mark Seemann <mark@ploeh.dk> 1613765115 +0100	rebase -i (pick): Add restaurant link
29221464e9f0a9ef46eaee4fe372428293b29c14 ed24b7de1d34883ac112f806026349b086fc76ff Mark Seemann <mark@ploeh.dk> 1613765205 +0100	rebase -i (pick): Add URL to restaurant link
ed24b7de1d34883ac112f806026349b086fc76ff a681d68bc8ab722b262519099eafb7a8d0664f3c Mark Seemann <mark@ploeh.dk> 1613765297 +0100	rebase -i (pick): Rename Settings to Options
a681d68bc8ab722b262519099eafb7a8d0664f3c 1e90cc3fd9482a9a04c5899e2923245b3288c510 Mark Seemann <mark@ploeh.dk> 1613765388 +0100	rebase -i (pick): Enumerate restaurants
1e90cc3fd9482a9a04c5899e2923245b3288c510 29d8daaed052cfefb7646c867e4f40a029df47bd Mark Seemann <mark@ploeh.dk> 1613765478 +0100	rebase -i (pick): Introduce RestaurantsController
29d8daaed052cfefb7646c867e4f40a029df47bd 5e919e531ac8c82c44c8474ffcda2b320801455e Mark Seemann <mark@ploeh.dk> 1613765569 +0100	rebase -i (pick): Add links to restaurant representation
5e919e531ac8c82c44c8474ffcda2b320801455e d30db8b39c3a8198366bb962b60f735a1dba3e69 Mark Seemann <mark@ploeh.dk> 1613765660 +0100	rebase -i (pick): Inject a database into RestaurantsController
d30db8b39c3a8198366bb962b60f735a1dba3e69 3ab02366106c9647c0a783aae550ab43cda0d9a7 Mark Seemann <mark@ploeh.dk> 1613765751 +0100	rebase -i (pick): Enumerate all restaurants
3ab02366106c9647c0a783aae550ab43cda0d9a7 ca927210cec5ddac1c8c3fdfd80fd3eb2a4ed3a0 Mark Seemann <mark@ploeh.dk> 1613765843 +0100	rebase -i (pick): Add lookup of ID based on restaurant name
ca927210cec5ddac1c8c3fdfd80fd3eb2a4ed3a0 55ccc559b636f9ab6d457dc1903f4fb804281731 Mark Seemann <mark@ploeh.dk> 1613765933 +0100	rebase -i (pick): Read restaurant configurations from appsettings
55ccc559b636f9ab6d457dc1903f4fb804281731 8e026674a0c910b6824b782ae63a4c0d30988472 Mark Seemann <mark@ploeh.dk> 1613766024 +0100	rebase -i (pick): Add tenant column to database schema
8e026674a0c910b6824b782ae63a4c0d30988472 1f2e37f0bd058f3368c8f8be79e7f92c7bb254d0 Mark Seemann <mark@ploeh.dk> 1613766115 +0100	rebase -i (pick): Add Create overload taking restaurant ID to repo
1f2e37f0bd058f3368c8f8be79e7f92c7bb254d0 21565a065d015766d7bbdecd39bfbcff5cc83903 Mark Seemann <mark@ploeh.dk> 1613766206 +0100	rebase -i (pick): Remove Create method without restaurant ID
21565a065d015766d7bbdecd39bfbcff5cc83903 5313796cac3b50e30ea5e50b300ded2e57efd838 Mark Seemann <mark@ploeh.dk> 1613766296 +0100	rebase -i (pick): Remove legacy overload of Create
5313796cac3b50e30ea5e50b300ded2e57efd838 f57cdf67d6f641846354fae9f1fec8e5e9f1f63f Mark Seemann <mark@ploeh.dk> 1613766389 +0100	rebase -i (pick): Remove legacy overload of Create
f57cdf67d6f641846354fae9f1fec8e5e9f1f63f aef303ad1db51efd1476f764b1844551f81ee858 Mark Seemann <mark@ploeh.dk> 1613766475 +0100	rebase -i (pick): Add restaurant ID to reservations POST method
aef303ad1db51efd1476f764b1844551f81ee858 74a36a5068142a5a59f0dc9632e1d70afeeb2d82 Mark Seemann <mark@ploeh.dk> 1613766565 +0100	rebase -i (pick): Add overload taking restaurant ID to Repository
74a36a5068142a5a59f0dc9632e1d70afeeb2d82 b73c092d473135cfd25c25c5f4680af2f4e037dc Mark Seemann <mark@ploeh.dk> 1613766655 +0100	rebase -i (pick): Add test cases to integration tests
b73c092d473135cfd25c25c5f4680af2f4e037dc 59790e443931427e3cd04ee67ca79ed41ed123a2 Mark Seemann <mark@ploeh.dk> 1613766749 +0100	rebase -i (pick): Remove method without restaurant ID from Repo
59790e443931427e3cd04ee67ca79ed41ed123a2 817c340840772fcb640687f3422b602108631ae1 Mark Seemann <mark@ploeh.dk> 1613766846 +0100	rebase -i (pick): Remove legacy overload of ReadReservations
817c340840772fcb640687f3422b602108631ae1 b9b105f48de6b27802ddcdfbf6ba1052bd04f60e Mark Seemann <mark@ploeh.dk> 1613766943 +0100	rebase -i (pick): Remove legacy overload of ReadReservations
b9b105f48de6b27802ddcdfbf6ba1052bd04f60e b813b8e4e2831f5a3b6db052a5c3ced305c66670 Mark Seemann <mark@ploeh.dk> 1613767035 +0100	rebase -i (pick): Add restaurant ID parameter to helper method
b813b8e4e2831f5a3b6db052a5c3ced305c66670 74aea2b174f046d3107bd1974f618f393889b7f8 Mark Seemann <mark@ploeh.dk> 1613767130 +0100	rebase -i (pick): Accept reservation to new restaurant
74aea2b174f046d3107bd1974f618f393889b7f8 f06f4f8417e29009ef5df1cf7cca00242bcf56ec Mark Seemann <mark@ploeh.dk> 1613767227 +0100	rebase -i (pick): Rename SelfHostedService to SelfHostedApi
f06f4f8417e29009ef5df1cf7cca00242bcf56ec 5abbd47546e4056e22e590dfeb8589b458c84803 Mark Seemann <mark@ploeh.dk> 1613767320 +0100	rebase -i (pick): Separate legacy behaviour in its own class
5abbd47546e4056e22e590dfeb8589b458c84803 26c62555d4920b979025bec1f8f8bd2dbf8f840c Mark Seemann <mark@ploeh.dk> 1613768532 +0100	rebase -i (continue): Rename `service` variable to `api`
26c62555d4920b979025bec1f8f8bd2dbf8f840c b6b2de781fc2243e078d2f284d0dc3b1448075ac Mark Seemann <mark@ploeh.dk> 1613768634 +0100	rebase -i (pick): Move test
b6b2de781fc2243e078d2f284d0dc3b1448075ac 4e132cb27d884620d41c0708c0b776089946a4f1 Mark Seemann <mark@ploeh.dk> 1613768726 +0100	rebase -i (pick): Use maitre d' for restaurant on new reservation
4e132cb27d884620d41c0708c0b776089946a4f1 9cd38ac4dff0924075e3f75e9ec92a2f0fe2d87d Mark Seemann <mark@ploeh.dk> 1613768821 +0100	rebase -i (pick): Handle absent restaurant
9cd38ac4dff0924075e3f75e9ec92a2f0fe2d87d b22a4cb74d8bfef59350bb6d30291e73a9425ecd Mark Seemann <mark@ploeh.dk> 1613768918 +0100	rebase -i (pick): Look up maitre d' for restaurant on PUT
b22a4cb74d8bfef59350bb6d30291e73a9425ecd 876d9b30c2f82e9b64f42d537df39d689a48eadb Mark Seemann <mark@ploeh.dk> 1613769015 +0100	rebase -i (pick): Check whether maitreD is null
876d9b30c2f82e9b64f42d537df39d689a48eadb b4ce55e0959e970935031c1c5394899c6a8ccef1 Mark Seemann <mark@ploeh.dk> 1613769112 +0100	rebase -i (pick): Remove MaitreD depfrom ReservationsController
b4ce55e0959e970935031c1c5394899c6a8ccef1 f6a5f0634c14cb89ab01a17ca6f09f559b4b14cd Mark Seemann <mark@ploeh.dk> 1613769209 +0100	rebase -i (pick): Refactor restaurant options to Test Data Builder
f6a5f0634c14cb89ab01a17ca6f09f559b4b14cd cb020897fefde1e49e67ec1804e6e7ba57603c39 Mark Seemann <mark@ploeh.dk> 1613769305 +0100	rebase -i (pick): Introduce explicit Grandfather Test Data Builder
cb020897fefde1e49e67ec1804e6e7ba57603c39 65ed884a84d48d68795eb0ebb4eab0975f94479f Mark Seemann <mark@ploeh.dk> 1613769401 +0100	rebase -i (pick): Use appropriate maitre d' per restaurant
65ed884a84d48d68795eb0ebb4eab0975f94479f dc82e81bc1a9e41a7acfac4b62ea77a5f72867e6 Mark Seemann <mark@ploeh.dk> 1613769497 +0100	rebase -i (pick): Return 404 Not Found on absent restaurant
dc82e81bc1a9e41a7acfac4b62ea77a5f72867e6 6b650a86006f80200f36ef1588af3e85c673be97 Mark Seemann <mark@ploeh.dk> 1613769594 +0100	rebase -i (pick): Remove MaitreD dependency from CalendarController
6b650a86006f80200f36ef1588af3e85c673be97 58fc95015bb4504859aeb373c0ed5164f9de422e Mark Seemann <mark@ploeh.dk> 1613769691 +0100	rebase -i (pick): Return name in schedule representation
58fc95015bb4504859aeb373c0ed5164f9de422e 0f4956432c4d103c9dad969f92e4181f824e8095 Mark Seemann <mark@ploeh.dk> 1613769788 +0100	rebase -i (pick): Read reservations for correct restaurant
0f4956432c4d103c9dad969f92e4181f824e8095 9a1ad55628c381562067ed3b2d0a7246a953c66d Mark Seemann <mark@ploeh.dk> 1613769885 +0100	rebase -i (pick): Use maitre d' for correct restaurant in schedule
9a1ad55628c381562067ed3b2d0a7246a953c66d ae5a375c16c99c7c1b5741d9bbf39a39a3075f26 Mark Seemann <mark@ploeh.dk> 1613769985 +0100	rebase -i (pick): Return 404 Not Found on absent restaurant
ae5a375c16c99c7c1b5741d9bbf39a39a3075f26 5a2724b6f8134cfa60b8587b7017a8eff298767f Mark Seemann <mark@ploeh.dk> 1613770083 +0100	rebase -i (pick): Remove maitreD dependency from ScheduleController
5a2724b6f8134cfa60b8587b7017a8eff298767f 0d2a3307f73da642f41e9b22e73fae0b039815bb Mark Seemann <mark@ploeh.dk> 1613770181 +0100	rebase -i (pick): Check authorisation for particular restaurant
0d2a3307f73da642f41e9b22e73fae0b039815bb b8e47eafc2d05b1536a33857856a40af8f2f98de Mark Seemann <mark@ploeh.dk> 1613770279 +0100	rebase -i (pick): Clean up URL templates
b8e47eafc2d05b1536a33857856a40af8f2f98de 43f937a0b97305b36130f208d99a66ba30b3692f Mark Seemann <mark@ploeh.dk> 1613770376 +0100	rebase -i (pick): Add tests of bookmarks
43f937a0b97305b36130f208d99a66ba30b3692f ac2304c1aef9a39793aede69b9c4f127ebd82e05 Mark Seemann <mark@ploeh.dk> 1613770468 +0100	rebase -i (pick): Redirect clients from legacy URLs
ac2304c1aef9a39793aede69b9c4f127ebd82e05 286cfda488925e53ca6153dce486b62f1691316a Mark Seemann <mark@ploeh.dk> 1613770564 +0100	rebase -i (pick): Decouple API client behaviour from self-host
286cfda488925e53ca6153dce486b62f1691316a b3e9df5c76851c0914a9cfa5bfaf885cfa348806 Mark Seemann <mark@ploeh.dk> 1613770656 +0100	rebase -i (pick): Add Authorize extension method
b3e9df5c76851c0914a9cfa5bfaf885cfa348806 c47e17aa21cad8f517c2e7dfd0ee701cda4fe8c4 Mark Seemann <mark@ploeh.dk> 1613770748 +0100	rebase -i (pick): Introduce JwtTokenGenerator
c47e17aa21cad8f517c2e7dfd0ee701cda4fe8c4 50d17ad69687f46a55d91d12e0acee2e2edcd2cd Mark Seemann <mark@ploeh.dk> 1613770841 +0100	rebase -i (pick): Remove AuthorizeClient mutating helper method
50d17ad69687f46a55d91d12e0acee2e2edcd2cd 0e649c4281c1ac8ff602a9bc613524c157bb1a81 Mark Seemann <mark@ploeh.dk> 1613770937 +0100	rebase -i (pick): Add test for requesting schedule with bogus roles
0e649c4281c1ac8ff602a9bc613524c157bb1a81 ba5fdd7cce9dc0b005a2d591ac6de74f74752072 Mark Seemann <mark@ploeh.dk> 1613771032 +0100	rebase -i (pick): Move [Authorize] attribute to class declaration
ba5fdd7cce9dc0b005a2d591ac6de74f74752072 00c2004bb4dae57e95d606af420717b315330068 Mark Seemann <mark@ploeh.dk> 1613771133 +0100	rebase -i (pick): Add [Obsolete] attributes on legacy methods
00c2004bb4dae57e95d606af420717b315330068 d741c8c620d64ee7686ca50dbd4cc33524f79db5 Mark Seemann <mark@ploeh.dk> 1613771236 +0100	rebase -i (pick): Renamed legacy Get methods
d741c8c620d64ee7686ca50dbd4cc33524f79db5 adbefb093ff9e83922970a19b8f7ba6c0867b722 Mark Seemann <mark@ploeh.dk> 1613771341 +0100	rebase -i (pick): Renamed GetYear/Month/Day to Get
adbefb093ff9e83922970a19b8f7ba6c0867b722 0035508ed4466a59bf7729b1da73f21d9d83dfa9 Mark Seemann <mark@ploeh.dk> 1613771444 +0100	rebase -i (pick): Change failed ACL check to 403 Forbidden
0035508ed4466a59bf7729b1da73f21d9d83dfa9 f1476391cc14434dc3641536218592f727014f0c Mark Seemann <mark@ploeh.dk> 1613771557 +0100	rebase -i (pick): Add LoggingReservationsRepository
f1476391cc14434dc3641536218592f727014f0c 2aa1a2ce62fd4c58889c3ba0d0f73f5a602a931f Mark Seemann <mark@ploeh.dk> 1613771663 +0100	rebase -i (pick): Flesh out LoggingReservationsRepository
2aa1a2ce62fd4c58889c3ba0d0f73f5a602a931f a31a81b3f1313e5489fb36aa230a97c8f59838ed Mark Seemann <mark@ploeh.dk> 1613771767 +0100	rebase -i (pick): Add LoggingPostOffice
a31a81b3f1313e5489fb36aa230a97c8f59838ed f07d2d75bad91b68063afd9ebb9ffe90cfaa8eff Mark Seemann <mark@ploeh.dk> 1613771871 +0100	rebase -i (pick): Add IClock and implementations
f07d2d75bad91b68063afd9ebb9ffe90cfaa8eff f22e465964f40870367b76d5e6179a7ea6608cc5 Mark Seemann <mark@ploeh.dk> 1613771975 +0100	rebase -i (pick): Correct some bugs in the loggers
f22e465964f40870367b76d5e6179a7ea6608cc5 3bfaa4b7f9c5f19f1678d55f41f08524c3071798 Mark Seemann <mark@ploeh.dk> 1613772079 +0100	rebase -i (pick): Serialise objects to log
3bfaa4b7f9c5f19f1678d55f41f08524c3071798 8cd3a78b5fd84d22a3a8596b58b97c7fb7ff0816 Mark Seemann <mark@ploeh.dk> 1613772183 +0100	rebase -i (pick): Add restaurant ID to IPostOffice methods
8cd3a78b5fd84d22a3a8596b58b97c7fb7ff0816 d49a672e0ce7080afcbc31d0a95a8c5c55b2b32c Mark Seemann <mark@ploeh.dk> 1613772287 +0100	rebase -i (pick): Consolidate xunit.runner.visualstudio versions
d49a672e0ce7080afcbc31d0a95a8c5c55b2b32c c2d96ad118b439a76455f79c3c028cbefd046e5e Mark Seemann <mark@ploeh.dk> 1613772387 +0100	rebase -i (pick): Consolidate Microsoft.NET.Test.Sdk NuGet versions
c2d96ad118b439a76455f79c3c028cbefd046e5e cbf9e2117453c1762c02b4c0d8b646dbdc8bbcd4 Mark Seemann <mark@ploeh.dk> 1613772485 +0100	rebase -i (pick): Consolidate coverlet.collector NuGet versions
cbf9e2117453c1762c02b4c0d8b646dbdc8bbcd4 860270311255044ee59743bbdac1c23eb89aec40 Mark Seemann <mark@ploeh.dk> 1613772582 +0100	rebase -i (pick): Consolidate Microsoft.CodeAnalysis.FxCopAnalyzers
860270311255044ee59743bbdac1c23eb89aec40 a216fca0efdc7e2fd2346c60c1bbcd597d1e2492 Mark Seemann <mark@ploeh.dk> 1613772681 +0100	rebase -i (pick): Update Microsoft.AspNetCore.Mvc.Testing NuGet pkg
a216fca0efdc7e2fd2346c60c1bbcd597d1e2492 c9904af8f965006df02b3c7b4a9db584d646c823 Mark Seemann <mark@ploeh.dk> 1613772786 +0100	rebase -i (pick): Upd Microsoft.AspNetCore.Authentication.JwtBearer
c9904af8f965006df02b3c7b4a9db584d646c823 8642446bb21b562428bbd45d36ce8638292301c5 Mark Seemann <mark@ploeh.dk> 1613772887 +0100	rebase -i (pick): Move const string out of method body
8642446bb21b562428bbd45d36ce8638292301c5 b55ff22a53ea3eea2d76b5ad92e8bb4b559aa73e Mark Seemann <mark@ploeh.dk> 1613772984 +0100	rebase -i (pick): Read PublicId from reader
b55ff22a53ea3eea2d76b5ad92e8bb4b559aa73e b4ed61033956f1ee0589f6b599fdffba6f7bfd51 Mark Seemann <mark@ploeh.dk> 1613773081 +0100	rebase -i (pick): Extract ReadReservationRow helper method
b4ed61033956f1ee0589f6b599fdffba6f7bfd51 230a42ed60108cf1a7f82ad091e052d9e3198f78 Mark Seemann <mark@ploeh.dk> 1613773178 +0100	rebase -i (pick): Rename namespaces
230a42ed60108cf1a7f82ad091e052d9e3198f78 0b748eda76eac7aabe3a8d5d02e555b9e9b41097 Mark Seemann <mark@ploeh.dk> 1613773278 +0100	rebase -i (pick): Introduce Restaurant class
0b748eda76eac7aabe3a8d5d02e555b9e9b41097 9875d259663cccadc7fb9854b56ab668d20fcf14 Mark Seemann <mark@ploeh.dk> 1613773374 +0100	rebase -i (pick): Add GetRestaurant method to restaurant database
9875d259663cccadc7fb9854b56ab668d20fcf14 23038f9ecfe74485705df500342ba598d8e31f95 Mark Seemann <mark@ploeh.dk> 1613773471 +0100	rebase -i (pick): Call GetRestaurant from Controller
23038f9ecfe74485705df500342ba598d8e31f95 992f53a2daed14853b5a268567638ee386ddb5c5 Mark Seemann <mark@ploeh.dk> 1613773568 +0100	rebase -i (pick): Call GetRestaurant from Controller
992f53a2daed14853b5a268567638ee386ddb5c5 e74643b5577b937cca093724aa7849b9ba74e139 Mark Seemann <mark@ploeh.dk> 1613773665 +0100	rebase -i (pick): Call GetRestaurant from Controller
e74643b5577b937cca093724aa7849b9ba74e139 f87186842cf8316ecadeed0fde4d48cb21dc93cf Mark Seemann <mark@ploeh.dk> 1613773762 +0100	rebase -i (pick): Replace restaurntId parameter with restaurant
f87186842cf8316ecadeed0fde4d48cb21dc93cf 729fa1fec576f3b66952b4c6c422edf828994327 Mark Seemann <mark@ploeh.dk> 1613773859 +0100	rebase -i (pick): Remove redundant method parameter
729fa1fec576f3b66952b4c6c422edf828994327 28dcdba396c77f701f0430e307b62fcd0354450e Mark Seemann <mark@ploeh.dk> 1613773955 +0100	rebase -i (pick): Call GetRestaurant from Controller
28dcdba396c77f701f0430e307b62fcd0354450e 92218da60697a9c142fe1737bbbf62f9aa81c8e0 Mark Seemann <mark@ploeh.dk> 1613774052 +0100	rebase -i (pick): Call GetRestaurant from Controller
92218da60697a9c142fe1737bbbf62f9aa81c8e0 81dcd855b056b81b93788bb1fee3ffecfac4f656 Mark Seemann <mark@ploeh.dk> 1613774148 +0100	rebase -i (pick): Call GetRestaurant from Controller
81dcd855b056b81b93788bb1fee3ffecfac4f656 f79326ad594f2be3bc734752ecd453475ff2e248 Mark Seemann <mark@ploeh.dk> 1613774245 +0100	rebase -i (pick): Remove a null-analysis repression operator (!)
f79326ad594f2be3bc734752ecd453475ff2e248 13186c4dbd9b9ca55624eac92d77f2c98ca585e7 Mark Seemann <mark@ploeh.dk> 1613774341 +0100	rebase -i (pick): Unwrap some arguments
13186c4dbd9b9ca55624eac92d77f2c98ca585e7 34d49dc0bbdab0114ed73214251c79c9d3dee43b Mark Seemann <mark@ploeh.dk> 1613774437 +0100	rebase -i (pick): Use GetRestaurant in tests instead of GetMaitreD
34d49dc0bbdab0114ed73214251c79c9d3dee43b 0bf3d48de016957243c2aa67aeea6d5a1e46b2f0 Mark Seemann <mark@ploeh.dk> 1613774532 +0100	rebase -i (pick): Delete GetMaitreD method
0bf3d48de016957243c2aa67aeea6d5a1e46b2f0 bca8d3cbbd10d225baefb9f9ed9da3d5755af7f1 Mark Seemann <mark@ploeh.dk> 1613774629 +0100	rebase -i (pick): Use GetRestaurant instead of GetName
bca8d3cbbd10d225baefb9f9ed9da3d5755af7f1 65a98d76b966faf05a371f8e7bc1a841a506c859 Mark Seemann <mark@ploeh.dk> 1613774725 +0100	rebase -i (pick): Use GetRestaurant instead of GetName
65a98d76b966faf05a371f8e7bc1a841a506c859 f7dbd1f89e34b1aab1da748277b9ac2419edcf44 Mark Seemann <mark@ploeh.dk> 1613774822 +0100	rebase -i (pick): Use GetRestaurant instead of GetName
f7dbd1f89e34b1aab1da748277b9ac2419edcf44 1f743421f11978b402009c30db33c7472d62e3a3 Mark Seemann <mark@ploeh.dk> 1613774919 +0100	rebase -i (pick): Use GetRestaurant instead of GetName
1f743421f11978b402009c30db33c7472d62e3a3 f79bc2f65fe9d8e2917126ffe0d37190221e137c Mark Seemann <mark@ploeh.dk> 1613775015 +0100	rebase -i (pick): Use GetRestaurant instead of GetName
f79bc2f65fe9d8e2917126ffe0d37190221e137c 590393e7d536916d26e421d1a5218e307bb1f07d Mark Seemann <mark@ploeh.dk> 1613775112 +0100	rebase -i (pick): Delete GetName method from interface
590393e7d536916d26e421d1a5218e307bb1f07d 41779df3ed32f19ea7c974159f4c561bbd6cdd00 Mark Seemann <mark@ploeh.dk> 1613775208 +0100	rebase -i (pick): Add GetRestaurant overload to interface
41779df3ed32f19ea7c974159f4c561bbd6cdd00 2f2e13d04ef76f1bd7042b55abaf7148cc44102b Mark Seemann <mark@ploeh.dk> 1613775305 +0100	rebase -i (pick): Replace call to GetId with GetRestaurant
2f2e13d04ef76f1bd7042b55abaf7148cc44102b 065a3401c8b9f4526414c0f52cd93cdab161484f Mark Seemann <mark@ploeh.dk> 1613775402 +0100	rebase -i (pick): Replace call to GetId with GetRestaurant
065a3401c8b9f4526414c0f52cd93cdab161484f 67dcbde6090adef56d103da94018ff5f53885a0a Mark Seemann <mark@ploeh.dk> 1613775498 +0100	rebase -i (pick): Delete GetId method from interface
67dcbde6090adef56d103da94018ff5f53885a0a 382029ff555f97baea6f0f021b93a219e2067f33 Mark Seemann <mark@ploeh.dk> 1613775595 +0100	rebase -i (pick): Introduce GetAll method on interface
382029ff555f97baea6f0f021b93a219e2067f33 46756c78cbc2bd05064963ca51a0da32b2bc15b5 Mark Seemann <mark@ploeh.dk> 1613775691 +0100	rebase -i (pick): Use GetAll instead of GetAllNames
46756c78cbc2bd05064963ca51a0da32b2bc15b5 ccd056545de5c8df8c73083ca7f923a8e28f7b84 Mark Seemann <mark@ploeh.dk> 1613775788 +0100	rebase -i (pick): Delete GetAllNames method from interface
ccd056545de5c8df8c73083ca7f923a8e28f7b84 9c424f74bc6fc452799f7793b782da198f8ad3cd Mark Seemann <mark@ploeh.dk> 1613775884 +0100	rebase -i (pick): Make ToMaitreD method private
9c424f74bc6fc452799f7793b782da198f8ad3cd 7aad5eb946585a858e34df1a3a7342fda678baff Mark Seemann <mark@ploeh.dk> 1613775981 +0100	rebase -i (pick): Move ToMaitreD method
7aad5eb946585a858e34df1a3a7342fda678baff 8b18fcb7ed639d32e0d722c3345981fb994aa7d2 Mark Seemann <mark@ploeh.dk> 1613776077 +0100	rebase -i (pick): Add InMemoryRestaurantDatabase
8b18fcb7ed639d32e0d722c3345981fb994aa7d2 0aa40ee773072ed4fb191f877773a2ed27996b2b Mark Seemann <mark@ploeh.dk> 1613776174 +0100	rebase -i (pick): Configure services to use InMemoryRestaurantDB
0aa40ee773072ed4fb191f877773a2ed27996b2b b9def6cd8ac14949fa842641a0e706238c209d74 Mark Seemann <mark@ploeh.dk> 1613776271 +0100	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
b9def6cd8ac14949fa842641a0e706238c209d74 e820bd71dd2802f5029c4bba6c1a9813de91b027 Mark Seemann <mark@ploeh.dk> 1613776367 +0100	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
e820bd71dd2802f5029c4bba6c1a9813de91b027 d4f0387c9c9dbec934754d93979ea93dff474f4d Mark Seemann <mark@ploeh.dk> 1613776463 +0100	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
d4f0387c9c9dbec934754d93979ea93dff474f4d 227a6b19b7cdb287ed2a9316c152f43d50d7e0b2 Mark Seemann <mark@ploeh.dk> 1613776559 +0100	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
227a6b19b7cdb287ed2a9316c152f43d50d7e0b2 da0c9695fa52e04b0e64f3c62049a3f4fc166621 Mark Seemann <mark@ploeh.dk> 1613776654 +0100	rebase -i (pick): Use more compact restaurant configuration code
da0c9695fa52e04b0e64f3c62049a3f4fc166621 4a37c9edcc221bd70eba7a6ec1ef63fb25cca234 Mark Seemann <mark@ploeh.dk> 1613776750 +0100	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
4a37c9edcc221bd70eba7a6ec1ef63fb25cca234 f1265e33dbafa5756e403dd925e0218eca02241a Mark Seemann <mark@ploeh.dk> 1613776845 +0100	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
f1265e33dbafa5756e403dd925e0218eca02241a c395963a15910a96b3c5452bb1cdbef73206ba94 Mark Seemann <mark@ploeh.dk> 1613776941 +0100	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
c395963a15910a96b3c5452bb1cdbef73206ba94 d7aa29365330f09e3ec7bdf87e61be53ca121e2b Mark Seemann <mark@ploeh.dk> 1613777036 +0100	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
d7aa29365330f09e3ec7bdf87e61be53ca121e2b 3035c14c000a9021700358bb0008b9545e270abf Mark Seemann <mark@ploeh.dk> 1613777132 +0100	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
3035c14c000a9021700358bb0008b9545e270abf c2b93d622ffbb212d53ff0f974f92a5e727a3f35 Mark Seemann <mark@ploeh.dk> 1613777227 +0100	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
c2b93d622ffbb212d53ff0f974f92a5e727a3f35 7ac3d531ae73f3ad8112628497d28e51f120e112 Mark Seemann <mark@ploeh.dk> 1613777323 +0100	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
7ac3d531ae73f3ad8112628497d28e51f120e112 3feeb498502f67a826627555daeef15b66550cb6 Mark Seemann <mark@ploeh.dk> 1613777418 +0100	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
3feeb498502f67a826627555daeef15b66550cb6 fa95534430de57ae6841d98d2cc9892d13153f02 Mark Seemann <mark@ploeh.dk> 1613777513 +0100	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
fa95534430de57ae6841d98d2cc9892d13153f02 78e91df37279f0284884e24d3b8a1025730d90ab Mark Seemann <mark@ploeh.dk> 1613777609 +0100	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
78e91df37279f0284884e24d3b8a1025730d90ab bab31db1b8ee32377675eaa14947e1df56caccb6 Mark Seemann <mark@ploeh.dk> 1613777711 +0100	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
bab31db1b8ee32377675eaa14947e1df56caccb6 d857dc11a94c2522bc92f5845d84a45d79c5f4de Mark Seemann <mark@ploeh.dk> 1613777807 +0100	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
d857dc11a94c2522bc92f5845d84a45d79c5f4de 86e001a0fd97e75a597a47abec2be9837e970037 Mark Seemann <mark@ploeh.dk> 1613777902 +0100	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
86e001a0fd97e75a597a47abec2be9837e970037 3fe9ac5227c4e9bcd86191eb384f70e864156e76 Mark Seemann <mark@ploeh.dk> 1613777997 +0100	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
3fe9ac5227c4e9bcd86191eb384f70e864156e76 18d9e1008ab339cfe8f161888bdb7e893c7c39f7 Mark Seemann <mark@ploeh.dk> 1613778093 +0100	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
18d9e1008ab339cfe8f161888bdb7e893c7c39f7 bc5b129c562ac624fcb06ad17f4c2a255a6e76cb Mark Seemann <mark@ploeh.dk> 1613778188 +0100	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
bc5b129c562ac624fcb06ad17f4c2a255a6e76cb 26e4f63a61820d5ed95acb53bad7c5b28c27b76d Mark Seemann <mark@ploeh.dk> 1613778284 +0100	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
26e4f63a61820d5ed95acb53bad7c5b28c27b76d ba867658c143a5bc317e5427351203c1961940ff Mark Seemann <mark@ploeh.dk> 1613778379 +0100	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
ba867658c143a5bc317e5427351203c1961940ff 0353c96623a6f9ae5140e670906f11e4e4984e2f Mark Seemann <mark@ploeh.dk> 1613778475 +0100	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
0353c96623a6f9ae5140e670906f11e4e4984e2f 048ec257c4179e4ddd87f1dd8d40b300bfd96fb1 Mark Seemann <mark@ploeh.dk> 1613778571 +0100	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
048ec257c4179e4ddd87f1dd8d40b300bfd96fb1 7f369853339dd8043891ebee31de8de1bd61f2fa Mark Seemann <mark@ploeh.dk> 1613778666 +0100	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
7f369853339dd8043891ebee31de8de1bd61f2fa 9bef90d2f5ad6057175d927f070915f22c96f2ed Mark Seemann <mark@ploeh.dk> 1613778762 +0100	rebase -i (pick): Use InMemoryRestaurantDatabase in a test
9bef90d2f5ad6057175d927f070915f22c96f2ed 80aee8bca0fca015b30a13eaaf7ab089513b54d2 Mark Seemann <mark@ploeh.dk> 1613778857 +0100	rebase -i (pick): Delete OptionsRestaurantDatabase
80aee8bca0fca015b30a13eaaf7ab089513b54d2 75f3c562d0e6a0e70220ba496bb0e106220ebe3d Mark Seemann <mark@ploeh.dk> 1613778954 +0100	rebase -i (pick): Delete redundant Test Data Builders
75f3c562d0e6a0e70220ba496bb0e106220ebe3d 7e1f1c06e6237ac8673a0044899c415bed702292 Mark Seemann <mark@ploeh.dk> 1613779050 +0100	rebase -i (pick): Extract TryUpdate helper method
7e1f1c06e6237ac8673a0044899c415bed702292 3190966cc21490c9149690f79a865483723dedf1 Mark Seemann <mark@ploeh.dk> 1613779147 +0100	rebase -i (pick): Rename `res` to `reservation`
3190966cc21490c9149690f79a865483723dedf1 e3c694f4007dda56b3069d5d5111f6419d50cc14 Mark Seemann <mark@ploeh.dk> 1613779243 +0100	rebase -i (pick): Rename `res` to `reservation`
e3c694f4007dda56b3069d5d5111f6419d50cc14 fc0d3ce7028f5b8a65226ef6ef4f94c56af9dcb3 Mark Seemann <mark@ploeh.dk> 1613779340 +0100	rebase -i (pick): Revert "Extrace TryUpdate helper method"
fc0d3ce7028f5b8a65226ef6ef4f94c56af9dcb3 b9740514c39edee27a3d0b245aacaad6d727bd09 Mark Seemann <mark@ploeh.dk> 1613779437 +0100	rebase -i (pick): Add Either
b9740514c39edee27a3d0b245aacaad6d727bd09 762fcdc2a0f04eb8c156dccdd680d1a443938fcd Mark Seemann <mark@ploeh.dk> 1613779534 +0100	rebase -i (pick): Extract TryUpdate method
762fcdc2a0f04eb8c156dccdd680d1a443938fcd 0de38c6d8484491a206e0849326ca78dc8387875 Mark Seemann <mark@ploeh.dk> 1613779631 +0100	rebase -i (pick): Move transaction scope to TryUpdate method
0de38c6d8484491a206e0849326ca78dc8387875 52b4564b11ea8b9b07cc4043c74f9377f38f20d3 Mark Seemann <mark@ploeh.dk> 1613779727 +0100	rebase -i (pick): Extract Update helper method
52b4564b11ea8b9b07cc4043c74f9377f38f20d3 8f935628b8b9e34a8d45e414cf3298889c5183be Mark Seemann <mark@ploeh.dk> 1613779824 +0100	rebase -i (pick): Extract WillAcceptUpdate helper method
8f935628b8b9e34a8d45e414cf3298889c5183be 43dfeaba1089f2d219f5e173b8631468b4ef9650 Mark Seemann <mark@ploeh.dk> 1613779921 +0100	rebase -i (pick): Extract TryCreate helper method
43dfeaba1089f2d219f5e173b8631468b4ef9650 5058ecc73400e5019412bf4825b89ee196d67613 Mark Seemann <mark@ploeh.dk> 1613780017 +0100	rebase -i (pick): Extract ReadReservations period extension method
5058ecc73400e5019412bf4825b89ee196d67613 d3238cd0fd9302ed04de1b12b65bf324c8988315 Mark Seemann <mark@ploeh.dk> 1613780114 +0100	rebase -i (pick): Extract ConfigureRepository helper method
d3238cd0fd9302ed04de1b12b65bf324c8988315 b50ca2d4dac39157b5d1aca5bc27125a4bf980ed Mark Seemann <mark@ploeh.dk> 1613780211 +0100	rebase -i (pick): Extract ConfigureRestaurants helper method
b50ca2d4dac39157b5d1aca5bc27125a4bf980ed 1c6fae1c47a491aa8ef8f928bf0c7b791ea35cb8 Mark Seemann <mark@ploeh.dk> 1613780308 +0100	rebase -i (pick): Extract ConfigureClock helper method
1c6fae1c47a491aa8ef8f928bf0c7b791ea35cb8 a902af8b437730bee1fd203776c6f39d58786318 Mark Seemann <mark@ploeh.dk> 1613780404 +0100	rebase -i (pick): Extract ConfigurePostOffice helper method
a902af8b437730bee1fd203776c6f39d58786318 8e1f1ce0bccb29e42e1b0a5dd089b6904374240d Mark Seemann <mark@ploeh.dk> 1613780501 +0100	rebase -i (pick): Compact code
8e1f1ce0bccb29e42e1b0a5dd089b6904374240d fa0caeb1312d77b7851d67a17216dd7848db74ee Mark Seemann <mark@ploeh.dk> 1613780598 +0100	rebase -i (pick): Move Configure method up
fa0caeb1312d77b7851d67a17216dd7848db74ee 2563131c2d06af8e48f1df2dccbf85e9fc8ddafc Mark Seemann <mark@ploeh.dk> 1613780694 +0100	rebase -i (pick): Extract CreateTokenValidationParameters method
2563131c2d06af8e48f1df2dccbf85e9fc8ddafc aa692596a3b08cd016dfc09e3fa171ccfcb2f1a2 Mark Seemann <mark@ploeh.dk> 1613780790 +0100	rebase -i (pick): Delete Either API
aa692596a3b08cd016dfc09e3fa171ccfcb2f1a2 91d4f315489e6e7936507a1ca106d0ec4a80a28f Mark Seemann <mark@ploeh.dk> 1613780887 +0100	rebase -i (pick): Inline variables
91d4f315489e6e7936507a1ca106d0ec4a80a28f c47471265332d3c4695fd614eb3e076cd2af3a8e Mark Seemann <mark@ploeh.dk> 1613780983 +0100	rebase -i (pick): Reduce duplication in assertion
c47471265332d3c4695fd614eb3e076cd2af3a8e 1124ab28f60b761512171fbcb9413e7bd6189264 Mark Seemann <mark@ploeh.dk> 1613781079 +0100	rebase -i (pick): Reduce duplication in assertion
1124ab28f60b761512171fbcb9413e7bd6189264 44709a2d9274e52de892bb82a01b81a5ddc2a09b Mark Seemann <mark@ploeh.dk> 1613781174 +0100	rebase -i (pick): Rename variable
44709a2d9274e52de892bb82a01b81a5ddc2a09b c512476d92d8aa6fee0c0228405ddf5771cfa00f Mark Seemann <mark@ploeh.dk> 1613781270 +0100	rebase -i (pick): Extract AssertOverbookResponse helper assertion
c512476d92d8aa6fee0c0228405ddf5771cfa00f 35fa101ad871ec1e77c5dc110b36dafdd059ece7 Mark Seemann <mark@ploeh.dk> 1613781365 +0100	rebase -i (pick): Reduce duplication with AssertSuccess helper
35fa101ad871ec1e77c5dc110b36dafdd059ece7 5974d891a00efddcf0077bd12a8e59157b3e265f Mark Seemann <mark@ploeh.dk> 1613781460 +0100	rebase -i (pick): Delete AssertSuccess helper function
5974d891a00efddcf0077bd12a8e59157b3e265f 30bd44e98055da64a16be4010548b7da71d773df Mark Seemann <mark@ploeh.dk> 1613781556 +0100	rebase -i (pick): Extract AssertUrlFormatIsIdiomatic helper assert
30bd44e98055da64a16be4010548b7da71d773df f5dac1fa2ef64d2db28df12a52e104bfdb4fe645 Mark Seemann <mark@ploeh.dk> 1613781651 +0100	rebase -i (pick): Add Create static helper class
f5dac1fa2ef64d2db28df12a52e104bfdb4fe645 2b54bd83ecc1d8464e5d94977103935ad7027a99 Mark Seemann <mark@ploeh.dk> 1613781747 +0100	rebase -i (pick): Inline variable
2b54bd83ecc1d8464e5d94977103935ad7027a99 bdee7089f3dcbeda770136316eddc50f3f8e056c Mark Seemann <mark@ploeh.dk> 1613781842 +0100	rebase -i (pick): Simplify comment
bdee7089f3dcbeda770136316eddc50f3f8e056c df3963967c28a321bf1c0fbd5f4043b95ec99465 Mark Seemann <mark@ploeh.dk> 1613781938 +0100	rebase -i (pick): Add Create function for SmtpOptions
df3963967c28a321bf1c0fbd5f4043b95ec99465 43978fcf43a40cd13b08f3e479c4a5e3d38cbf02 Mark Seemann <mark@ploeh.dk> 1613782033 +0100	rebase -i (pick): Add seats field to Table
43978fcf43a40cd13b08f3e479c4a5e3d38cbf02 ac240c50846c6972b5e52043b2a4294f44a54829 Mark Seemann <mark@ploeh.dk> 1613782131 +0100	rebase -i (pick): Add isStandard field to Table
ac240c50846c6972b5e52043b2a4294f44a54829 0a2ad537bf3ce9fb7e202074da73fdfdfc782241 Mark Seemann <mark@ploeh.dk> 1613782227 +0100	rebase -i (pick): Add reservations array to Table
0a2ad537bf3ce9fb7e202074da73fdfdfc782241 38cd4649552d6195f42bea7e232fcb5b6227e6c6 Mark Seemann <mark@ploeh.dk> 1613782324 +0100	rebase -i (pick): Remove internal ITable interface and imps
38cd4649552d6195f42bea7e232fcb5b6227e6c6 096c3ac73d2e841c1b6b41d3ee542a6bdc0aa2b5 Mark Seemann <mark@ploeh.dk> 1613782420 +0100	rebase -i (pick): Replace Visitor with field access
096c3ac73d2e841c1b6b41d3ee542a6bdc0aa2b5 454fc994583a894a72ccf8cdad5440e6b6f5fe08 Mark Seemann <mark@ploeh.dk> 1613782522 +0100	rebase -i (pick): Replace Visitor with field access
454fc994583a894a72ccf8cdad5440e6b6f5fe08 da8542450e6a08b17f51eea8b535618fefa3d194 Mark Seemann <mark@ploeh.dk> 1613782619 +0100	rebase -i (pick): Replace Visitor with field access
da8542450e6a08b17f51eea8b535618fefa3d194 8b75c578e950c0e790c3d5bdb21d6d237701c299 Mark Seemann <mark@ploeh.dk> 1613782716 +0100	rebase -i (pick): Replace underlying class field with auto-property
8b75c578e950c0e790c3d5bdb21d6d237701c299 59cf24f641cd8bb6b5f2f13c948726a626aea045 Mark Seemann <mark@ploeh.dk> 1613782812 +0100	rebase -i (pick): Add restarant ID to ReadReservation method
59cf24f641cd8bb6b5f2f13c948726a626aea045 bf9a5cbae0e27b7872d33a64da215df46e4d5508 Mark Seemann <mark@ploeh.dk> 1613782909 +0100	rebase -i (pick): Add restarant ID to Update method
bf9a5cbae0e27b7872d33a64da215df46e4d5508 fbb155e4fd8689494a2e834f3c913b37cc8d8da3 Mark Seemann <mark@ploeh.dk> 1613783006 +0100	rebase -i (pick): Add restarant ID to Delete method
fbb155e4fd8689494a2e834f3c913b37cc8d8da3 5ca2ac88c2b8e1cd61996633cd23db0157a85456 Mark Seemann <mark@ploeh.dk> 1613783102 +0100	rebase -i (pick): Add EmailingReservationsRepository
5ca2ac88c2b8e1cd61996633cd23db0157a85456 d66bc89443dc10a418837c0ae5b85e06272bd12b Mark Seemann <mark@ploeh.dk> 1613783199 +0100	rebase -i (pick): Remove PostOffice dependency from Controller
d66bc89443dc10a418837c0ae5b85e06272bd12b c748ba5dc3fa8395b91c7b6672474d5ada8560f8 Mark Seemann <mark@ploeh.dk> 1613783296 +0100	rebase -i (pick): Fix logging bug
c748ba5dc3fa8395b91c7b6672474d5ada8560f8 1374f648c2d5d823a202289a29ccaf6ee785769a Mark Seemann <mark@ploeh.dk> 1613783393 +0100	rebase -i (pick): Name clusters of assertions
1374f648c2d5d823a202289a29ccaf6ee785769a 4c9e781bcdd5c29c2ca9e65ae91e4359c4f1e041 Mark Seemann <mark@ploeh.dk> 1613783488 +0100	rebase -i (pick): Introduce TimeSlot class
4c9e781bcdd5c29c2ca9e65ae91e4359c4f1e041 0030962f24c5c0dc468d69442bdaae497e65151d Mark Seemann <mark@ploeh.dk> 1613783585 +0100	rebase -i (pick): Refactor one method to use TimeSlot
0030962f24c5c0dc468d69442bdaae497e65151d 933953627f203aa1e510d3fa50ac86508fdeaab9 Mark Seemann <mark@ploeh.dk> 1613783682 +0100	rebase -i (pick): Replace Occurrence with TimeSlot in method
933953627f203aa1e510d3fa50ac86508fdeaab9 44c8bcea1c17f58cf9f30702488ac0c15f243818 Mark Seemann <mark@ploeh.dk> 1613783778 +0100	rebase -i (pick): Return TimeSlots from a variant of Schedule
44c8bcea1c17f58cf9f30702488ac0c15f243818 6373973c6074f3ae7067ab48995acceb77646b37 Mark Seemann <mark@ploeh.dk> 1613783875 +0100	rebase -i (pick): Refactor helper assertion to use TimeSlot
6373973c6074f3ae7067ab48995acceb77646b37 77aa91b2d78abfbd7f15c7fc704d6be5ec2b2e55 Mark Seemann <mark@ploeh.dk> 1613783972 +0100	rebase -i (pick): Use new Schedule method at one call site
77aa91b2d78abfbd7f15c7fc704d6be5ec2b2e55 89d53b63f7cd1dbf9b412d1bce9474ce21b9be93 Mark Seemann <mark@ploeh.dk> 1613784067 +0100	rebase -i (pick): Use new Schedule method at one call site
89d53b63f7cd1dbf9b412d1bce9474ce21b9be93 d3dda8be650fb6a76ef3f3a3e264f96c1824ec4e Mark Seemann <mark@ploeh.dk> 1613784162 +0100	rebase -i (pick): Remove old Schedule variation
d3dda8be650fb6a76ef3f3a3e264f96c1824ec4e a174808428f9f749462c8ed5543a5f88a2ec1dab Mark Seemann <mark@ploeh.dk> 1613784259 +0100	rebase -i (pick): Refactor return type of Segment method
a174808428f9f749462c8ed5543a5f88a2ec1dab 7213b9774c7690244e923be35521fd470300a746 Mark Seemann <mark@ploeh.dk> 1613784356 +0100	rebase -i (pick): Delete Occurrence class
7213b9774c7690244e923be35521fd470300a746 56a709234f6172f3ad658527c43184740f24ae19 Mark Seemann <mark@ploeh.dk> 1613784453 +0100	rebase -i (pick): Refactor parametrised test to individual tests
56a709234f6172f3ad658527c43184740f24ae19 39892720099c5aa56a6629a07799218b241ea767 Mark Seemann <mark@ploeh.dk> 1613784549 +0100	rebase -i (pick): Move static mutation out of lambda expression
39892720099c5aa56a6629a07799218b241ea767 ac55cf86c35eaa9228b1b496684e0618cd3369a8 Mark Seemann <mark@ploeh.dk> 1613784646 +0100	rebase -i (pick): Reformat to a single line of code
ac55cf86c35eaa9228b1b496684e0618cd3369a8 2813ffae943685712d9085003b340f2af2573259 Mark Seemann <mark@ploeh.dk> 1613784742 +0100	rebase -i (pick): Unwrap call chain
2813ffae943685712d9085003b340f2af2573259 d1dc37bb53f206b29e7b776567df13c93c9f4042 Mark Seemann <mark@ploeh.dk> 1613784839 +0100	rebase -i (pick): Update Microsoft.AspNetCore.Mvc.Testing NuGet pkg
d1dc37bb53f206b29e7b776567df13c93c9f4042 ab6859e147e10cc7afbaf0e985bdc91862e99887 Mark Seemann <mark@ploeh.dk> 1613784938 +0100	rebase -i (pick): Update JwtBearer NuGet package
ab6859e147e10cc7afbaf0e985bdc91862e99887 ed3ab56303d20328c2c419d1a3d4005aaff9c757 Mark Seemann <mark@ploeh.dk> 1613785037 +0100	rebase -i (pick): Update System.IdentityModel.Tokens.Jwt NuGet pkg
ed3ab56303d20328c2c419d1a3d4005aaff9c757 423b4d16568b22803c901cce4323b416f9fb27cc Mark Seemann <mark@ploeh.dk> 1613785136 +0100	rebase -i (pick): Make legacy Get action synchronous
423b4d16568b22803c901cce4323b416f9fb27cc 2ba50f8295aa0911e4dd97e1021e9eb44a7c4eee Mark Seemann <mark@ploeh.dk> 1613785233 +0100	rebase -i (pick): Make LegacyGet action synchronous
2ba50f8295aa0911e4dd97e1021e9eb44a7c4eee e7ce086e26754b899d169e14fdbc63902bd107b5 Mark Seemann <mark@ploeh.dk> 1613785329 +0100	rebase -i (pick): Make LegacyGet action synchronous
e7ce086e26754b899d169e14fdbc63902bd107b5 65c286eb1d9752c004343979bf1603e432c4c4d3 Mark Seemann <mark@ploeh.dk> 1613785426 +0100	rebase -i (pick): Make LegacyGet action synchronous
65c286eb1d9752c004343979bf1603e432c4c4d3 796835e90c1f54baabf1da78dc0417c92f93a4ce Mark Seemann <mark@ploeh.dk> 1613785523 +0100	rebase -i (pick): Remove redundant code analysis suppression
796835e90c1f54baabf1da78dc0417c92f93a4ce cdda8975afe472735ee247c92073060310711595 Mark Seemann <mark@ploeh.dk> 1613785619 +0100	rebase -i (pick): Rename 'other' variables
cdda8975afe472735ee247c92073060310711595 305d431b5b00965be1d0819d1d9f3459f2b382f0 Mark Seemann <mark@ploeh.dk> 1613785716 +0100	rebase -i (pick): Remove redundant code analysis suppression
305d431b5b00965be1d0819d1d9f3459f2b382f0 2b17f7505bf5e085b75fca1abe075a279fad3651 Mark Seemann <mark@ploeh.dk> 1613785812 +0100	rebase -i (pick): Remove redundant code analysis suppression
2b17f7505bf5e085b75fca1abe075a279fad3651 a6d401dda9f6c6def5ee47c5f684566f10746ca2 Mark Seemann <mark@ploeh.dk> 1613785907 +0100	rebase -i (pick): Rename test method
a6d401dda9f6c6def5ee47c5f684566f10746ca2 b7937af70b70087c66d7093689259b9504443edc Mark Seemann <mark@ploeh.dk> 1613786003 +0100	rebase -i (pick): Change email and name test data
b7937af70b70087c66d7093689259b9504443edc 812b148aad1291d220cbdeabc237ebd4b843e1ad Mark Seemann <mark@ploeh.dk> 1613786098 +0100	rebase -i (pick): Correct typo in variable name
812b148aad1291d220cbdeabc237ebd4b843e1ad 05e64f5a159272db0e31386368165005348c7e64 Mark Seemann <mark@ploeh.dk> 1613786194 +0100	rebase -i (pick): Convert parametrised test to property
05e64f5a159272db0e31386368165005348c7e64 87fefaa0461e8e88f15b47cc37a1bf4676e2d55f Mark Seemann <mark@ploeh.dk> 1613786290 +0100	rebase -i (pick): Promote reservation ID to property parameter
87fefaa0461e8e88f15b47cc37a1bf4676e2d55f 1c36e2d7c0fb46ee8bfb1fdafeed87fa341938ac Mark Seemann <mark@ploeh.dk> 1613786385 +0100	rebase -i (pick): Promote `at` to a property parameter
1c36e2d7c0fb46ee8bfb1fdafeed87fa341938ac a7d0335ee67006c0b8476aea9fbebb7c7121dcb4 Mark Seemann <mark@ploeh.dk> 1613786481 +0100	rebase -i (pick): Promote email to property parameter
a7d0335ee67006c0b8476aea9fbebb7c7121dcb4 af31e639a512266a48c417c2d0be65e38b6b2a8a Mark Seemann <mark@ploeh.dk> 1613786576 +0100	rebase -i (pick): Promote name to property parameter
af31e639a512266a48c417c2d0be65e38b6b2a8a 4252c0a51e7789c22826da7ae5f3892322e01163 Mark Seemann <mark@ploeh.dk> 1613786672 +0100	rebase -i (pick): Format expression to be more consistent
4252c0a51e7789c22826da7ae5f3892322e01163 963a831557ee57f29fe2885c64037660227a46bf Mark Seemann <mark@ploeh.dk> 1613786768 +0100	rebase -i (pick): Make test relative to system clock
963a831557ee57f29fe2885c64037660227a46bf 76790149c7056afeff921259ffa3af8cc4837f02 Mark Seemann <mark@ploeh.dk> 1613786864 +0100	rebase -i (pick): Make test relative to current time
76790149c7056afeff921259ffa3af8cc4837f02 0db19bf7db1ccf3fb9f8a31d8892a1c93d340805 Mark Seemann <mark@ploeh.dk> 1613786959 +0100	rebase -i (pick): Make test relative to current time
0db19bf7db1ccf3fb9f8a31d8892a1c93d340805 1388903fbf873ad6b10c494cebcfc79b45b2aeeb Mark Seemann <mark@ploeh.dk> 1613787055 +0100	rebase -i (pick): Make SigningUrlHelperFactory internal
1388903fbf873ad6b10c494cebcfc79b45b2aeeb b3e70c485ae07e998b5677b3149c641ac2501595 Mark Seemann <mark@ploeh.dk> 1613787151 +0100	rebase -i (pick): Seal remaining Controller classes
b3e70c485ae07e998b5677b3149c641ac2501595 dfd9c79c01bebd49284ea0073c19bfbc919b5268 Mark Seemann <mark@ploeh.dk> 1613787248 +0100	rebase -i (pick): Seal service classes
dfd9c79c01bebd49284ea0073c19bfbc919b5268 78aea06eb9234a788524398f877a081a86df0262 Mark Seemann <mark@ploeh.dk> 1613787345 +0100	rebase -i (pick): Make test relative to current time
78aea06eb9234a788524398f877a081a86df0262 baadccba9dc1343e17005150d0008dda2206d7e2 Mark Seemann <mark@ploeh.dk> 1613787440 +0100	rebase -i (pick): Introduce domain-specific language for time manip.
baadccba9dc1343e17005150d0008dda2206d7e2 289a4057d906bb50a8aeae961dfccdfb128e2ac4 Mark Seemann <mark@ploeh.dk> 1613787536 +0100	rebase -i (pick): Refactor test to use new time DSL
289a4057d906bb50a8aeae961dfccdfb128e2ac4 a19164b029e1daaea4b5db9e33efe74f1cd29b8c Mark Seemann <mark@ploeh.dk> 1613787632 +0100	rebase -i (pick): Simplify test
a19164b029e1daaea4b5db9e33efe74f1cd29b8c 7dc57bc3271a4ea01242b20d7b6ab0005ca6d9bd Mark Seemann <mark@ploeh.dk> 1613787727 +0100	rebase -i (pick): Delete redundant test
7dc57bc3271a4ea01242b20d7b6ab0005ca6d9bd 88858dc183b7f7e7fcf80c9b3c14ae321c353cfe Mark Seemann <mark@ploeh.dk> 1613787823 +0100	rebase -i (pick): Make test relative to current time
88858dc183b7f7e7fcf80c9b3c14ae321c353cfe 640252cec552a58149ced8d24e6b59723173fc31 Mark Seemann <mark@ploeh.dk> 1613787918 +0100	rebase -i (pick): Make test relative to current time
640252cec552a58149ced8d24e6b59723173fc31 f3e5f614087ec0eb70179ff951ab113c46e88e04 Mark Seemann <mark@ploeh.dk> 1613788013 +0100	rebase -i (pick): Make test relative to current time
f3e5f614087ec0eb70179ff951ab113c46e88e04 7792f21901a9f4025818d78277dd8960a54d0bf6 Mark Seemann <mark@ploeh.dk> 1613788109 +0100	rebase -i (pick): Make test relative to current time
7792f21901a9f4025818d78277dd8960a54d0bf6 f2745783cd429e6c153e5385a3d8293c8ca0f067 Mark Seemann <mark@ploeh.dk> 1613788204 +0100	rebase -i (pick): Make test relative to current time
f2745783cd429e6c153e5385a3d8293c8ca0f067 2a480a6b99fdee8d2b33f6c71acf0c8c852b7518 Mark Seemann <mark@ploeh.dk> 1613788300 +0100	rebase -i (pick): Move `at` variable up
2a480a6b99fdee8d2b33f6c71acf0c8c852b7518 529f32c90591bd86449972fef50d9b932a9c2a4b Mark Seemann <mark@ploeh.dk> 1613788395 +0100	rebase -i (pick): Use `at` variable when creating `dto`
529f32c90591bd86449972fef50d9b932a9c2a4b afbd9cbed9c93ea160bb126243251b2843b3231c Mark Seemann <mark@ploeh.dk> 1613788490 +0100	rebase -i (pick): Make test relative to current time
afbd9cbed9c93ea160bb126243251b2843b3231c 8606bd4d206370e0b6a45e28e2aa8ba88a18ecf9 Mark Seemann <mark@ploeh.dk> 1613788586 +0100	rebase -i (pick): Inline reservation quantity in test
8606bd4d206370e0b6a45e28e2aa8ba88a18ecf9 07341ca393035855f1f3d199714b0643a4edcaf0 Mark Seemann <mark@ploeh.dk> 1613788681 +0100	rebase -i (pick): Make SelfHostedApi internal
07341ca393035855f1f3d199714b0643a4edcaf0 56b69dfd0e42290fe0a2ddeed5516296385b1dfa Mark Seemann <mark@ploeh.dk> 1613788776 +0100	rebase -i (pick): Remove null guard
56b69dfd0e42290fe0a2ddeed5516296385b1dfa 9918979225247e1d903391f3691816f004855e4a Mark Seemann <mark@ploeh.dk> 1613788872 +0100	rebase -i (pick): Refactor test to use ClassData
9918979225247e1d903391f3691816f004855e4a f3b79d2b55ea40c7cbf95d0b99c1830ba95a5ffe Mark Seemann <mark@ploeh.dk> 1613788967 +0100	rebase -i (pick): Make test cases relative to current time
f3b79d2b55ea40c7cbf95d0b99c1830ba95a5ffe b1a931953848600f8b277577f923ff5c5e1ec892 Mark Seemann <mark@ploeh.dk> 1613789063 +0100	rebase -i (pick): Rename `date` to `at`
b1a931953848600f8b277577f923ff5c5e1ec892 9b5598384e7d9e29fb1b7a71e7d9623dc0e154e8 Mark Seemann <mark@ploeh.dk> 1613789158 +0100	rebase -i (pick): Make test relative to current date
9b5598384e7d9e29fb1b7a71e7d9623dc0e154e8 47fbfbf3e01ed5030c5b0f4c2815b90fc353e0a8 Mark Seemann <mark@ploeh.dk> 1613789254 +0100	rebase -i (pick): Make test relative to current time
47fbfbf3e01ed5030c5b0f4c2815b90fc353e0a8 e8bf385017248c662e5a98a5bb535e390844e3bf Mark Seemann <mark@ploeh.dk> 1613789349 +0100	rebase -i (pick): Make test cases relative to current date
e8bf385017248c662e5a98a5bb535e390844e3bf e701b362135f1838ad91ea749feef109bab4171f Mark Seemann <mark@ploeh.dk> 1613789444 +0100	rebase -i (pick): Correct a time-relative test
e701b362135f1838ad91ea749feef109bab4171f 4a23f2d0185fde485978c302f2209008eeb2713a Mark Seemann <mark@ploeh.dk> 1613789540 +0100	rebase -i (pick): Seal a few test service classes
4a23f2d0185fde485978c302f2209008eeb2713a cd44fa92eba5f8fad20670d0b220e0ea14cb135d Mark Seemann <mark@ploeh.dk> 1613789636 +0100	rebase -i (pick): Seal DTOs
cd44fa92eba5f8fad20670d0b220e0ea14cb135d 5732aa5e3ea4d32603951128de8c3bbaaf69322d Mark Seemann <mark@ploeh.dk> 1613789732 +0100	rebase -i (pick): Seal test classes
5732aa5e3ea4d32603951128de8c3bbaaf69322d 825a58ded9f0e38418b6429bce2864e99e560005 Mark Seemann <mark@ploeh.dk> 1613789828 +0100	rebase -i (pick): Seal internal classes
825a58ded9f0e38418b6429bce2864e99e560005 130efb31df1ba8189167b9674cedc478758cbd9c Mark Seemann <mark@ploeh.dk> 1613789925 +0100	rebase -i (pick): Consolidate package version
130efb31df1ba8189167b9674cedc478758cbd9c b6f74661c349f8b1b9d8d7f8543c0a78d196341b Mark Seemann <mark@ploeh.dk> 1613790022 +0100	rebase -i (pick): Update Microsoft.NET.Test.Sdk NuGet package
b6f74661c349f8b1b9d8d7f8543c0a78d196341b 9c436f2033fc4fdf4ad8e099c27b348d3c4bcc24 Mark Seemann <mark@ploeh.dk> 1613790123 +0100	rebase -i (pick): Update FsCheck.Xunit NuGet package
9c436f2033fc4fdf4ad8e099c27b348d3c4bcc24 b2bcfd9102692c47017db9a7dea1c860a2a35e54 Mark Seemann <mark@ploeh.dk> 1613790222 +0100	rebase -i (pick): Update coverlet.collector NuGet package
b2bcfd9102692c47017db9a7dea1c860a2a35e54 b2bcfd9102692c47017db9a7dea1c860a2a35e54 Mark Seemann <mark@ploeh.dk> 1613790222 +0100	rebase -i (finish): returning to refs/heads/master
b2bcfd9102692c47017db9a7dea1c860a2a35e54 62f3a5607a279b2c7f8e07ed3487147aa91e9d3e Mark Seemann <mark@ploeh.dk> 1613834399 +0100	checkout: moving from master to 62f3a56
62f3a5607a279b2c7f8e07ed3487147aa91e9d3e a7d15fb1da0f27a6a0d0335310a11c193839bec0 Mark Seemann <mark@ploeh.dk> 1613834457 +0100	checkout: moving from 62f3a5607a279b2c7f8e07ed3487147aa91e9d3e to explode-maitre-d-arguments
a7d15fb1da0f27a6a0d0335310a11c193839bec0 62f3a5607a279b2c7f8e07ed3487147aa91e9d3e Mark Seemann <mark@ploeh.dk> 1613834508 +0100	rebase -i (start): checkout 62f3a56
62f3a5607a279b2c7f8e07ed3487147aa91e9d3e 0bb80682e1da6125be52734a87cd86332355643b Mark Seemann <mark@ploeh.dk> 1613834508 +0100	rebase -i (pick): Show example of exploding MaitreD
0bb80682e1da6125be52734a87cd86332355643b 0bb80682e1da6125be52734a87cd86332355643b Mark Seemann <mark@ploeh.dk> 1613834508 +0100	rebase -i (finish): returning to refs/heads/explode-maitre-d-arguments
0bb80682e1da6125be52734a87cd86332355643b b2bcfd9102692c47017db9a7dea1c860a2a35e54 Mark Seemann <mark@ploeh.dk> 1613834601 +0100	checkout: moving from explode-maitre-d-arguments to master
b2bcfd9102692c47017db9a7dea1c860a2a35e54 74abb89ac93c11354338234b5f657ab0872d7c30 Mark Seemann <mark@ploeh.dk> 1613834738 +0100	checkout: moving from master to interaction-based-testing
74abb89ac93c11354338234b5f657ab0872d7c30 a0c39e2bda76ab88cba5a45cbd922c5ce7948a94 Mark Seemann <mark@ploeh.dk> 1613834859 +0100	rebase -i (start): checkout a0c39e2
a0c39e2bda76ab88cba5a45cbd922c5ce7948a94 0be917895f92a0bff30c4296267c7cf3f85c0d77 Mark Seemann <mark@ploeh.dk> 1613834859 +0100	rebase -i (pick): Introduce internal ReservationsManager class
0be917895f92a0bff30c4296267c7cf3f85c0d77 55a6f81203ef28f7f8bb679286d7c7668ed014e2 Mark Seemann <mark@ploeh.dk> 1613834864 +0100	rebase -i (pick): Extract IReservationsManager interface
55a6f81203ef28f7f8bb679286d7c7668ed014e2 a73a6c106a0f5c8e47d1c8820f36c0a4219b7f52 Mark Seemann <mark@ploeh.dk> 1613834869 +0100	rebase -i (pick): Inject IReservationsManager into Controller
a73a6c106a0f5c8e47d1c8820f36c0a4219b7f52 63f33e2633d5dc69abf81c7da62f2364328a9525 Mark Seemann <mark@ploeh.dk> 1613834873 +0100	rebase -i (pick): Configure ReservationsManager with tables
63f33e2633d5dc69abf81c7da62f2364328a9525 245e3da2e18dc251bc6d07ca7922c915aef5b509 Mark Seemann <mark@ploeh.dk> 1613834879 +0100	rebase -i (pick): Use standard tables instead of communal
245e3da2e18dc251bc6d07ca7922c915aef5b509 a82c44f1fafdc1a99fbfec00bd7ff0dd409e3952 Mark Seemann <mark@ploeh.dk> 1613834884 +0100	rebase -i (pick): Allocate tables to existing reservations
a82c44f1fafdc1a99fbfec00bd7ff0dd409e3952 e773c75c07fa4e4b1bd943e329f3b157d6ad2dd3 Mark Seemann <mark@ploeh.dk> 1613834889 +0100	rebase -i (pick): Extract helper method for table allocation
e773c75c07fa4e4b1bd943e329f3b157d6ad2dd3 2ea7b3f29bb163f7954354389c27c114e249e197 Mark Seemann <mark@ploeh.dk> 1613834893 +0100	rebase -i (pick): Handle seating duration
2ea7b3f29bb163f7954354389c27c114e249e197 5e4c02d9a47bfe50d933d1661ced4c8c6692a4f1 Mark Seemann <mark@ploeh.dk> 1613834898 +0100	rebase -i (pick): Rename method to TrySave
5e4c02d9a47bfe50d933d1661ced4c8c6692a4f1 7ec3eec781946fbbf7c1b2ebfb83817d6615df5c Mark Seemann <mark@ploeh.dk> 1613834904 +0100	rebase -i (pick): Introduce RestaurantManager
7ec3eec781946fbbf7c1b2ebfb83817d6615df5c 38e2b90802b1c943cc6d49a33510cd9707d07bb2 Mark Seemann <mark@ploeh.dk> 1613834909 +0100	rebase -i (pick): Return value from inner manager
38e2b90802b1c943cc6d49a33510cd9707d07bb2 c19387db3c80ecff55bb788ca83ea19e2f48ebcf Mark Seemann <mark@ploeh.dk> 1613834914 +0100	rebase -i (pick): Check that reservation isn't in the past
c19387db3c80ecff55bb788ca83ea19e2f48ebcf 4505f51c74c6831e8e1aacdc0d31356072510911 Mark Seemann <mark@ploeh.dk> 1613834919 +0100	rebase -i (pick): Reject reservations before opening time
4505f51c74c6831e8e1aacdc0d31356072510911 0a28754a56733f162d80d4f125dce3c753513bbe Mark Seemann <mark@ploeh.dk> 1613834924 +0100	rebase -i (pick): Reject reservation after last seating
0a28754a56733f162d80d4f125dce3c753513bbe b3dd0fe97ff5040c32d7a5509654cb6af5acc8db Mark Seemann <mark@ploeh.dk> 1613834930 +0100	rebase -i (pick): Inject reservations manager into controller
b3dd0fe97ff5040c32d7a5509654cb6af5acc8db b3dd0fe97ff5040c32d7a5509654cb6af5acc8db Mark Seemann <mark@ploeh.dk> 1613834930 +0100	rebase -i (finish): returning to refs/heads/interaction-based-testing
b3dd0fe97ff5040c32d7a5509654cb6af5acc8db b2bcfd9102692c47017db9a7dea1c860a2a35e54 Mark Seemann <mark@ploeh.dk> 1613835105 +0100	checkout: moving from interaction-based-testing to master
b2bcfd9102692c47017db9a7dea1c860a2a35e54 c62f3a1dc667fd6d79c91ad74e8972ca63c5014c Mark Seemann <mark@ploeh.dk> 1613835292 +0100	checkout: moving from master to object-data-source-for-big-test
c62f3a1dc667fd6d79c91ad74e8972ca63c5014c 963a831557ee57f29fe2885c64037660227a46bf Mark Seemann <mark@ploeh.dk> 1613835404 +0100	rebase -i (start): checkout 963a831
963a831557ee57f29fe2885c64037660227a46bf 414e1bc8bc264c2751910da693c02621ee84de4b Mark Seemann <mark@ploeh.dk> 1613835404 +0100	rebase -i (edit): Refactor test to use TheoryData
414e1bc8bc264c2751910da693c02621ee84de4b 3c486ac3918b4857e563be8d9c922cb0188729e2 Mark Seemann <mark@ploeh.dk> 1613835477 +0100	commit (amend): Refactor test to use ClassData
3c486ac3918b4857e563be8d9c922cb0188729e2 3c486ac3918b4857e563be8d9c922cb0188729e2 Mark Seemann <mark@ploeh.dk> 1613835599 +0100	rebase -i (finish): returning to refs/heads/object-data-source-for-big-test
3c486ac3918b4857e563be8d9c922cb0188729e2 b2bcfd9102692c47017db9a7dea1c860a2a35e54 Mark Seemann <mark@ploeh.dk> 1613844663 +0100	checkout: moving from object-data-source-for-big-test to master
b2bcfd9102692c47017db9a7dea1c860a2a35e54 b2bcfd9102692c47017db9a7dea1c860a2a35e54 Mark Seemann <mark@ploeh.dk> 1613845821 +0100	reset: moving to HEAD
b2bcfd9102692c47017db9a7dea1c860a2a35e54 8fa3e478e6fd8c1b4fa7a413c40f53d77ee7c470 Mark Seemann <mark@ploeh.dk> 1613995669 +0100	checkout: moving from master to :/Make /res
8fa3e478e6fd8c1b4fa7a413c40f53d77ee7c470 09640995edad1593af7a44fb77562460966d968b Mark Seemann <mark@ploeh.dk> 1613995972 +0100	checkout: moving from 8fa3e478e6fd8c1b4fa7a413c40f53d77ee7c470 to :/Add a schedule link to each day
09640995edad1593af7a44fb77562460966d968b b2bcfd9102692c47017db9a7dea1c860a2a35e54 Mark Seemann <mark@ploeh.dk> 1613996219 +0100	checkout: moving from 09640995edad1593af7a44fb77562460966d968b to master
b2bcfd9102692c47017db9a7dea1c860a2a35e54 2563131c2d06af8e48f1df2dccbf85e9fc8ddafc Mark Seemann <mark@ploeh.dk> 1614328647 +0100	checkout: moving from master to 2563131
2563131c2d06af8e48f1df2dccbf85e9fc8ddafc b2bcfd9102692c47017db9a7dea1c860a2a35e54 Mark Seemann <mark@ploeh.dk> 1614328879 +0100	checkout: moving from 2563131c2d06af8e48f1df2dccbf85e9fc8ddafc to master
b2bcfd9102692c47017db9a7dea1c860a2a35e54 639536fc2e20d6875ba170a7f81b1c4c28b55823 Mark Seemann <mark@ploeh.dk> 1617292851 +0200	checkout: moving from master to 639536fc2e20d6875ba170a7f81b1c4c28b55823
639536fc2e20d6875ba170a7f81b1c4c28b55823 b2bcfd9102692c47017db9a7dea1c860a2a35e54 Mark Seemann <mark@ploeh.dk> 1617292946 +0200	checkout: moving from 639536fc2e20d6875ba170a7f81b1c4c28b55823 to master
b2bcfd9102692c47017db9a7dea1c860a2a35e54 2d25a7d1c7b2e1fc859b48e4985a918af10a72b6 Mark Seemann <mark@ploeh.dk> 1617293191 +0200	checkout: moving from master to 2d25a7d1c7b2e1fc859b48e4985a918af10a72b6
2d25a7d1c7b2e1fc859b48e4985a918af10a72b6 b2bcfd9102692c47017db9a7dea1c860a2a35e54 Mark Seemann <mark@ploeh.dk> 1617293227 +0200	checkout: moving from 2d25a7d1c7b2e1fc859b48e4985a918af10a72b6 to master
b2bcfd9102692c47017db9a7dea1c860a2a35e54 47bc5d3ae30db00e73eebe1b75481d4042e71d77 Mark Seemann <mark@ploeh.dk> 1617293254 +0200	commit: Remove `partial` keyword from class declaration
47bc5d3ae30db00e73eebe1b75481d4042e71d77 47bc5d3ae30db00e73eebe1b75481d4042e71d77 Mark Seemann <mark@ploeh.dk> 1618320463 +0200	reset: moving to HEAD
47bc5d3ae30db00e73eebe1b75481d4042e71d77 9982ffc2003c9ddfb2abedbb6da04194e370a3f4 Mark Seemann <mark@ploeh.dk> 1618407710 +0200	commit: Make CreateHostBuilder private
9982ffc2003c9ddfb2abedbb6da04194e370a3f4 b52db636d551160b98037e9ea7ac1ca01e59a054 Mark Seemann <mark@ploeh.dk> 1618493723 +0200	commit: Correct typo
b52db636d551160b98037e9ea7ac1ca01e59a054 b52db636d551160b98037e9ea7ac1ca01e59a054 Mark Seemann <mark@ploeh.dk> 1618583078 +0200	reset: moving to HEAD
b52db636d551160b98037e9ea7ac1ca01e59a054 8b75c578e950c0e790c3d5bdb21d6d237701c299 Mark Seemann <mark@ploeh.dk> 1619338867 +0200	checkout: moving from master to 8b75c578e950c0e790c3d5bdb21d6d237701c299
8b75c578e950c0e790c3d5bdb21d6d237701c299 fbb155e4fd8689494a2e834f3c913b37cc8d8da3 Mark Seemann <mark@ploeh.dk> 1619425056 +0200	checkout: moving from 8b75c578e950c0e790c3d5bdb21d6d237701c299 to fbb155e4fd8689494a2e834f3c913b37cc8d8da3
fbb155e4fd8689494a2e834f3c913b37cc8d8da3 8b75c578e950c0e790c3d5bdb21d6d237701c299 Mark Seemann <mark@ploeh.dk> 1619425255 +0200	checkout: moving from fbb155e4fd8689494a2e834f3c913b37cc8d8da3 to 8b75c578e950c0e790c3d5bdb21d6d237701c299
8b75c578e950c0e790c3d5bdb21d6d237701c299 d66bc89443dc10a418837c0ae5b85e06272bd12b Mark Seemann <mark@ploeh.dk> 1619445847 +0200	checkout: moving from 8b75c578e950c0e790c3d5bdb21d6d237701c299 to d66bc89443dc10a418837c0ae5b85e06272bd12b
d66bc89443dc10a418837c0ae5b85e06272bd12b b52db636d551160b98037e9ea7ac1ca01e59a054 Mark Seemann <mark@ploeh.dk> 1619449939 +0200	checkout: moving from d66bc89443dc10a418837c0ae5b85e06272bd12b to master
b52db636d551160b98037e9ea7ac1ca01e59a054 6ca8ef44bd0fb4cfeff4a0e777e2d05aefeeea78 Mark Seemann <mark@ploeh.dk> 1619675551 +0200	checkout: moving from master to 6ca8ef44bd0fb4cfeff4a0e777e2d05aefeeea78
6ca8ef44bd0fb4cfeff4a0e777e2d05aefeeea78 b52db636d551160b98037e9ea7ac1ca01e59a054 Mark Seemann <mark@ploeh.dk> 1619688464 +0200	checkout: moving from 6ca8ef44bd0fb4cfeff4a0e777e2d05aefeeea78 to master
b52db636d551160b98037e9ea7ac1ca01e59a054 b52db636d551160b98037e9ea7ac1ca01e59a054 Mark Seemann <mark@ploeh.dk> 1619699163 +0200	reset: moving to HEAD
b52db636d551160b98037e9ea7ac1ca01e59a054 b52db636d551160b98037e9ea7ac1ca01e59a054 Mark Seemann <mark@ploeh.dk> 1619854362 +0200	reset: moving to HEAD
b52db636d551160b98037e9ea7ac1ca01e59a054 b52db636d551160b98037e9ea7ac1ca01e59a054 Mark Seemann <mark@ploeh.dk> 1619855523 +0200	reset: moving to HEAD
b52db636d551160b98037e9ea7ac1ca01e59a054 8b75c578e950c0e790c3d5bdb21d6d237701c299 Mark Seemann <mark@ploeh.dk> 1619875917 +0200	checkout: moving from master to 8b75c578e950c0e790c3d5bdb21d6d237701c299
8b75c578e950c0e790c3d5bdb21d6d237701c299 8b75c578e950c0e790c3d5bdb21d6d237701c299 Mark Seemann <mark@ploeh.dk> 1619875974 +0200	checkout: moving from 8b75c578e950c0e790c3d5bdb21d6d237701c299 to repository-factory
8b75c578e950c0e790c3d5bdb21d6d237701c299 41fe4d0dbd485e3e9aad630fba8b0cfa80ba68b2 Mark Seemann <mark@ploeh.dk> 1619879543 +0200	commit: Introduce IReservationsRepositoryFactory
41fe4d0dbd485e3e9aad630fba8b0cfa80ba68b2 b52db636d551160b98037e9ea7ac1ca01e59a054 Mark Seemann <mark@ploeh.dk> 1619879559 +0200	checkout: moving from repository-factory to master
b52db636d551160b98037e9ea7ac1ca01e59a054 8b75c578e950c0e790c3d5bdb21d6d237701c299 Mark Seemann <mark@ploeh.dk> 1620114805 +0200	checkout: moving from master to 8b75c578e950c0e790c3d5bdb21d6d237701c299
8b75c578e950c0e790c3d5bdb21d6d237701c299 8cd3a78b5fd84d22a3a8596b58b97c7fb7ff0816 Mark Seemann <mark@ploeh.dk> 1620114890 +0200	checkout: moving from 8b75c578e950c0e790c3d5bdb21d6d237701c299 to 8cd3a78b5fd84d22a3a8596b58b97c7fb7ff0816
8cd3a78b5fd84d22a3a8596b58b97c7fb7ff0816 3bfaa4b7f9c5f19f1678d55f41f08524c3071798 Mark Seemann <mark@ploeh.dk> 1620114918 +0200	checkout: moving from 8cd3a78b5fd84d22a3a8596b58b97c7fb7ff0816 to 3bfaa4b7f9c5f19f1678d55f41f08524c3071798
3bfaa4b7f9c5f19f1678d55f41f08524c3071798 b52db636d551160b98037e9ea7ac1ca01e59a054 Mark Seemann <mark@ploeh.dk> 1620125291 +0200	checkout: moving from 3bfaa4b7f9c5f19f1678d55f41f08524c3071798 to master
b52db636d551160b98037e9ea7ac1ca01e59a054 3c486ac3918b4857e563be8d9c922cb0188729e2 Mark Seemann <mark@ploeh.dk> 1621788250 +0200	checkout: moving from master to object-data-source-for-big-test
3c486ac3918b4857e563be8d9c922cb0188729e2 81b33489bcaa1a524438d49a34e1cc62a36d994a Mark Seemann <mark@ploeh.dk> 1621873354 +0200	checkout: moving from object-data-source-for-big-test to 81b3348
81b33489bcaa1a524438d49a34e1cc62a36d994a b52db636d551160b98037e9ea7ac1ca01e59a054 Mark Seemann <mark@ploeh.dk> 1621873640 +0200	checkout: moving from 81b33489bcaa1a524438d49a34e1cc62a36d994a to master
b52db636d551160b98037e9ea7ac1ca01e59a054 b52db636d551160b98037e9ea7ac1ca01e59a054 Mark Seemann <mark@ploeh.dk> 1621876061 +0200	reset: moving to HEAD
b52db636d551160b98037e9ea7ac1ca01e59a054 f729ed9357131c4eb574eae50c789d7cab99ed3d Mark Seemann <mark@ploeh.dk> 1622556450 +0200	checkout: moving from master to f729ed9357131c4eb574eae50c789d7cab99ed3d
f729ed9357131c4eb574eae50c789d7cab99ed3d b52db636d551160b98037e9ea7ac1ca01e59a054 Mark Seemann <mark@ploeh.dk> 1622557541 +0200	checkout: moving from f729ed9357131c4eb574eae50c789d7cab99ed3d to master
b52db636d551160b98037e9ea7ac1ca01e59a054 b52db636d551160b98037e9ea7ac1ca01e59a054 Mark Seemann <mark@ploeh.dk> 1622722957 +0200	reset: moving to HEAD
b52db636d551160b98037e9ea7ac1ca01e59a054 674c6db989fc3f648324dedbd24e33c39c124c28 Mark Seemann <mark@ploeh.dk> 1624181872 +0200	checkout: moving from master to 674c6db989fc3f648324dedbd24e33c39c124c28
674c6db989fc3f648324dedbd24e33c39c124c28 d8167c3925ac48b979341aa8038ddacc6a0d6d31 Mark Seemann <mark@ploeh.dk> 1624181934 +0200	checkout: moving from 674c6db989fc3f648324dedbd24e33c39c124c28 to d8167c3925ac48b979341aa8038ddacc6a0d6d31
d8167c3925ac48b979341aa8038ddacc6a0d6d31 b52db636d551160b98037e9ea7ac1ca01e59a054 Mark Seemann <mark@ploeh.dk> 1624190932 +0200	checkout: moving from d8167c3925ac48b979341aa8038ddacc6a0d6d31 to master
b52db636d551160b98037e9ea7ac1ca01e59a054 8d1fdb4c340516656bad55a69c9a7823996a4e14 Mark Seemann <mark@ploeh.dk> 1624633801 +0200	commit: Update title of book in README
