473 Commits

Author SHA1 Message Date
dsanz
7a63490558 Add the sql implementation for the storage of Integration events. 2017-03-22 16:10:46 +01:00
dsanz
696610ed36 Fix #129 Post_update_product_price_and_catalog_and_basket_list_modified test failing 2017-03-22 09:57:08 +01:00
Cesar De la Torre
bb39e5fd6e Minor comment change 2017-03-21 12:58:07 -07:00
Cesar De la Torre
cb4da9864d Dispatching Domain Events right before DbContext SaveChanges() so side effects from additional Domain Event Handlers are included within the same transaction 2017-03-21 12:55:33 -07:00
Eduard Tomàs
cc98475182 Merge pull request #126 from BillWagner/csharp7-on-mvcapp
C# 7 language feature updates
2017-03-21 13:32:05 +01:00
dsanz
8a689c45f2 Add Delete and Create actions to the CatalogController. 2017-03-21 13:10:40 +01:00
RamonTC
ec71fbb5ae Remove async await issue comments 2017-03-21 12:52:59 +01:00
RamonTC
8c6d880f18 Remove async await issue comments
Thanks for the review!
2017-03-21 12:51:25 +01:00
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
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
1e47a3378f Merge domain events to DEV 2017-03-14 19:04:59 +01:00
Ramón Tomás
c8f0776f1f Added domain events in Ordering Api 2017-03-14 18:02:28 +01:00
DESKTOP-V1VLQ15\dsanz
f6b2335518 Fix issue with tests and Authorize attribute 2017-03-14 14:15:34 +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
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
Javier Suárez Ruiz
f185824d70 Revert "ViewModelLocator now connects view models to views, rather than NavigationService." 2017-03-12 12:10:50 +01: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
dsanz
5b38a49f11 Add Basket handler and subscription to events. Change in EventBus to use broker and one message queue per microservice http://www.rabbitmq.com/tutorials/tutorial-four-dotnet.html 2017-03-10 13:17:16 +01:00
Javier Suárez Ruiz
bf1ae4a814 Merge pull request #85 from dotnet/xamarin
ViewModelLocator now connects view models to views, rather than NavigationService.
2017-03-10 08:37:06 +01:00
Cesar De la Torre
f2999a46fb Added docker-compose.prod.yml for testing with Xamarin app in remote devices, like in a WiFi, of for running the Web Apps from remote Browsers.
Start the solution with:
docker-compose -f docker-compose.yml -f docker-compose.prod.yml up -d

Also, some clean-up.
2017-03-09 21:49:45 -08:00
Cesar De la Torre
0aaa85ee0c Merge pull request #104 from dotnet/xamarin-update
Changed project error message language
2017-03-09 13:04:40 -08:00
Cesar De la Torre
3e795ac3ce Revert "Revert "Removes Docker profile from launchSettings.json"" 2017-03-09 12:50:41 -08:00
Cesar De la Torre
ee13198242 Revert "Removes Docker profile from launchSettings.json" 2017-03-09 11:59:29 -08:00