599 Commits

Author SHA1 Message Date
Bill Wagner
00491910a2 C# 7 language feature updates
Controllers/AccountController:
Replace single line methods with expression bodied members.
Includes constructor, C# 7 feature.

Controllers/CatalogController:
Remove unnecessary ToString() call.
Replace single line methods with expression bodied members.

Extensions/HttpClientExtensions:
Replace single line methods with expression bodied members.

Extensions/SessionExtensions:
Replace single line methods with expression bodied members.

Services/BasketService:
Remove unnecessary ToString() calls.
Add ?? to simplify conditional initialization
Use TryGetValue and out variable initialization to simplify Quantity
calculation

Services/CatalogService:
Use Value<T> generic method instead of dynamic types.
There is a lot of overhead for dynamic and it seems overkill here.

Services/IdentityParser:
Use the pattern matching is expression.
Refactor the LINQ queries to enumerate the collection (and create an
enumerator)
only once. The previous code had 3 enumerations.

Services/Utilities/HttpApiClient:
Remove the 'async' modifier and 'await' statements from methods where
the only asynchronous statement is the final statement of the method,
and
the task from the underlying method can be returned.

Services/Utilities/HttpApiClientWrapper:
Use expression bodied members where applicable.
Remove the 'async' modifier and 'await' statements from methods where
the only asynchronous statement is the final statement of the method,
and
the task from the underlying method can be returned.

ViewComponents/Cart:
Use expression bodied members where applicable.

ViewComponents/CartList:
Use expression bodied members where applicable.
Remove the 'async' modifier and 'await' statements from methods where
the only asynchronous statement is the final statement of the method,
and
the task from the underlying method can be returned.

ViewModels/Annotations/CardExpiration:
Use the out variable initializer to simplify the validation of the
card expiration date.

ViewModels/Basket:
Use property initializer syntax instead of constructor body

ViewModels/CatalogViewModels/IndexViewModel:
Use expression bodied property to return the calculated 'Disabled'
property

ViewModels/Order:
Use property initializer syntax.
2017-03-20 14:18:20 -04:00
Cesar De la Torre
aee1ac6a06 Domain Event Handlers refactored with some missing cases 2017-03-18 22:01:05 -07:00
Cesar De la Torre
3ed136b00f Domain Event Handlers are now grouped by Domain Events, as any Domain Event could have 'n' handlers related. 2017-03-18 11:44:18 -07:00
Cesar De la Torre
c7e317413e Refactoring Domain Events 2017-03-17 18:36:34 -07:00
etomas
cfecbc5dba Merge branch 'dev' of https://github.com/dotnet/eShopOnContainers into dev 2017-03-17 16:28:13 +01:00
etomas
9fdb5e6c96 FailingMiddleware for Ordering API 2017-03-17 16:28:05 +01:00
dsanz
a0da160a77 Merge from origin/dev to dev 2017-03-17 16:11:58 +01:00
dsanz
e996593d32 Add functional test for integration events. Implement IDisposable for EventBusRabbitMQ. 2017-03-17 15:57:57 +01:00
Ramón Tomás
bbc1481979 Removed event file from catalog api csproj 2017-03-17 13:20:52 +01:00
Ramón Tomás
15d0e98dd1 Merge branch 'polly-integration' into dev 2017-03-17 13:14:07 +01:00
Ramón Tomás
ddb03a0aa8 Refactoing HttpClientApi 2017-03-17 13:12:34 +01:00
Ramón Tomás
cb3f682872 Created Retry and CircuitBreaker policies for MVC App 2017-03-17 10:00:18 +01:00
Cesar De la Torre
5a374e97b5 Refactoring Integration Events so they cannot be confused with Domain Events 2017-03-16 18:59:20 -07:00
Cesar De la Torre
b9c1778d9d Refactoring Domain Events so it is clear and differenciated versus Integration Events 2017-03-16 18:52:02 -07:00
Cesar De la Torre
6f6f09e11e Minor refactoring on the Event Bus IntegrationEventLog 2017-03-16 15:54:01 -07:00
dsanz
33335eb230 Change in integration event publication fow as agreed. Flow is 1- start transaction 2- modify catalog iin db 3- add event to db 4- close transaction 5- publish event 6- update event state in db 2017-03-16 16:08:55 +01:00
dsanz
c8df9a232a Refactoring integration events: move event bus implementation to building block projects. 2017-03-16 13:30:01 +01:00
Cesar De la Torre
8423c8bb63 Larger Refactoring of IntegrationEvents 2017-03-15 18:42:47 -07:00
Cesar De la Torre
e41ce96f81 Minor refactoring related to the ProductPriceChanged integration event 2017-03-15 14:50:10 -07:00
dsanz
faf4ada8ac Fix unit tests 2017-03-15 15:32:13 +01:00
dsanz
f12f0c4ffa Fix merge issue 2017-03-15 15:18:06 +01:00
dsanz
d35cefb887 Fix merge issue. 2017-03-15 15:04:13 +01:00
DESKTOP-V1VLQ15\dsanz
6bd17ead80 Merge branch 'dev' of https://github.com/dotnet/eShopOnContainers into dev 2017-03-15 14:57:18 +01:00
DESKTOP-V1VLQ15\dsanz
0c4f8a49dd WebMVC and WebSPA show now a changed price in the basket list 2017-03-15 14:57:08 +01:00
Ramón Tomás
dbb4be8e47 Update ordering scenarios 2017-03-14 19:05:22 +01:00
Ramón Tomás
1e47a3378f Merge domain events to DEV 2017-03-14 19:04:59 +01:00
Ramón Tomás
9669d433a6 Added unit tests for entity domain events 2017-03-14 18:58:27 +01:00
Ramón Tomás
c8f0776f1f Added domain events in Ordering Api 2017-03-14 18:02:28 +01:00
DESKTOP-V1VLQ15\dsanz
f03cf0e8f1 Merge branch 'integration-events-rmq' into dev 2017-03-14 16:54:19 +01:00
DESKTOP-V1VLQ15\dsanz
8a9492e573 Add catalog test. 2017-03-14 16:52:33 +01:00
DESKTOP-V1VLQ15\dsanz
f6b2335518 Fix issue with tests and Authorize attribute 2017-03-14 14:15:34 +01:00
DESKTOP-V1VLQ15\dsanz
23fcfd0dc4 Fix merge issue. 2017-03-14 12:17:05 +01:00
DESKTOP-V1VLQ15\dsanz
f1ffb95abf Merge branch 'dev' into integration-events-rmq
# Conflicts:
#	docker-compose.override.yml
#	eShopOnContainers-ServicesAndWebApps.sln
2017-03-14 11:50:28 +01:00
dsanz
254d479582 Renaming. 2017-03-14 09:54:30 +01:00
dsanz
f502c2388f Add persistence of published integration events for Catalog (the only microservice publishing integration events by the moment). 2017-03-14 09:47:36 +01:00
Cesar De la Torre
b07677ae83 Updates for the docker-compose production env. 2017-03-13 16:43:40 -07:00
Cesar De la Torre
73a15629d8 Moving docker-compose.prod.yml under the docker-compose.yml node in the docker-compose.dcproj 2017-03-13 16:15:48 -07:00
Cesar De la Torre
1e34a39422 Updated image 2017-03-13 13:26:05 -07:00
Cesar De la Torre
73c4eb89b8 Updated README with image including Cloud infrastructure in the future 2017-03-13 13:15:19 -07:00
etomas
c3444287ec Fixes order checkout (#53) 2017-03-13 12:43:56 +01:00
dsanz
4e5e32c6aa Add old price property for the basket in the WebMVC 2017-03-13 12:15:41 +01:00
dsanz
6617981303 Fix for #80 2017-03-13 11:34:25 +01:00
dsanz
172367d9d1 Connect to the rabbitmq container using settings. 2017-03-13 11:03:35 +01:00
Cesar De la Torre
4818f68902 Merge pull request #114 from dotnet/revert-85-xamarin
Revert "ViewModelLocator now connects view models to views, rather than NavigationService."
2017-03-12 11:44:05 -07:00
Javier Suárez Ruiz
f185824d70 Revert "ViewModelLocator now connects view models to views, rather than NavigationService." 2017-03-12 12:10:50 +01:00
Cesar De la Torre
d7ab4d89d4 Added ESHOP_PROD_EXTERNAL_DNS_NAME_OR_IP to .env and docker-compose.prod.yml for production config so it does not impact to the localhost config. 2017-03-11 15:28:57 -08:00
Cesar De la Torre
69e5fe9f21 Using ${ESHOP_EXTERNAL_DNS_NAME_OR_IP} from docker-compose.override.yml, as well. Notice that when using "localhost" from the browser URL using the MVC app, you'd need to use the 10.0.75.1 IP in a "Docker for Windows" environment.
Other than that, update the .env file with your IP or DNS name, and use that from the brower and the ${ESHOP_EXTERNAL_DNS_NAME_OR_IP} in all the docker-compose files.
2017-03-11 14:49:55 -08:00
Cesar De la Torre
71987d03f7 Using the ".env" file for default environment variables like the ESHOP_EXTERNAL_DNS_NAME_OR_IP=192.168.88.248 2017-03-11 13:25:45 -08:00
etomas
12ecc78a18 Solves #112 2017-03-10 21:51:48 +01:00
dsanz
4d1269b8f2 Add handler logic for basket repository. Add Post to CatalogController (only for price update). 2017-03-10 18:34:58 +01:00