Commit Graph

231 Commits

Author SHA1 Message Date
Steve Smith
1c75f08a33 Add catalogitem update endpoint to public api (#418)
* Initial update endpoint working

* Updated CatalogItem to support more updates; added tests

* Got MediatR domain events working to check for duplicate item names

* Adding reference link

* Remove domain events spike code

* clean up usings
2020-07-10 11:50:46 -04:00
Eric Fleming
f89c20ee64 Update docker compose to include new Public API project (#414)
* Updating docker compose and override to also start the public api

* Update README
2020-06-30 20:52:26 -04:00
Steve Smith
dd5a435cb4 Adding Endpoints with Authorization in separate PublicApi project (#413)
* Adding tests for GetById endpoint

* Updating tests and messages

* Adding paged endpoint and also AutoMapper

* Authenticate endpoint works as bool with tests

* Got JWT token security working with Create and Delete endpoints and Swashbuckle.

* Working on getting cookie and jwt token auth working in the same app
All tests are passing

* Creating new project and moving APIs
Build succeeds; tests need updated.

* all tests passing after moving services to PublicApi project

* Fix authorize attributes

* Uncomment and update ApiCatalogControllerLists tests

Co-authored-by: Eric Fleming <eric-fleming18@hotmail.com>
2020-06-30 11:36:28 -04:00
Eric Fleming
e5e9868003 Refactor startup (#412)
* Removing unused folder

* Refactoring Startup.cs
2020-06-29 14:00:54 -04:00
Steve Smith
b4d0f07c2e Adding API Endpoints for Catalog Items (#410)
* Adding new Endpoints

* update nuget packages

* Modifying API to work well with Swagger.

* Remove Swashbuckle.Core
2020-06-25 16:23:44 -04:00
yigith
3b1339787f 401 fix (#408)
* transfer basket on login

* review page

* unit tests for TransferBasketAsync
2020-06-24 20:48:23 -04:00
yigith
5c0f7fae29 preserve filters while paginating (#405) 2020-06-20 21:35:29 -04:00
Eric Fleming
a0ba412bc8 Adding additional unit tests (#406)
* Creating new test class for RemoveEmptyItems

* Adding tests for AddItemToBasket in BasketService

* Removing unused GetBasketItemCountAsync

* Adding tests for BasketWithItemsSpecification

* Adding CustomerORdersWithItemsSpecification tests

* Adding CatalogFilterPaginatedSpecifciation tests

* Adding CatalogItemsSpecification tests
2020-06-20 21:35:05 -04:00
Eric Fleming
d8848a96fb Carry basket with login (#404)
* Updating Checkout screen to login correctly when checking out

* Cleanup cshtml
2020-06-17 21:14:02 -04:00
yigith
2909132381 adding specification for getting items (#403)
* items specification

* adding specification for items
2020-06-17 20:30:47 -04:00
yigith
40a1bb4b89 Making AddRange async (#399) 2020-06-16 09:11:39 -04:00
yigith
623ec49ed7 Making "any" async (#397)
* Making "any" async

* Removed unused using

Co-authored-by: Eric Fleming <eric-fleming18@hotmail.com>
2020-06-15 13:07:15 -04:00
Eric Fleming
248b8ed632 Prevent negative item orders (#392)
* Pulling changes over from previous branch

* Adding exception and guard clause
2020-06-12 21:06:23 -04:00
David Pine
0af21d22f5 Inspired by dotnet show (#386)
* Changed the order of the projects, Web first to infer as startup.

* Added encapsulated JSON serialization - and moved to System.Text.Json

* Refactored a few minor updates out

Co-authored-by: Eric Fleming <eric-fleming18@hotmail.com>
2020-06-11 15:47:05 -04:00
Eric Fleming
70a919e145 Switching to NuGet Ardalis.Specifications (#389)
- updating to use Ardalis.Specifications package as it is maintained and has a more robust implementation
- Removing all custom specification implementation
- Updating unit tests
2020-06-08 13:31:22 -04:00
Steve Smith
3030e97af6 Migrated some tests to use System.Text.Json (#385)
* Migrated some tests to use System.Text.Json

* Added case insensitive json options to fix broken tests.
2020-05-28 15:48:24 -04:00
Eric Fleming
1176fffa83 Updating packages to their latest versions (#378) 2020-05-14 15:12:11 -04:00
Cédric Michel
92ca22cf8b Feature load improvement (#374)
* use lambda expression  => improve database call

* use lambda instead  for each replace call to repository to reduce call to database

* improve readability and maintainability, and add order by

* clean semicolon

* fix use correct catalog item id
2020-05-13 13:45:52 -04:00
Cédric Michel
516d87aaa1 manage basket checkout after login (#371) 2020-05-06 15:53:52 -04:00
Cédric Michel
fdb4869c0b add FirstAsync in respository (#370)
* add FirstAsync in respository

* use new FirstOrDefaultAsync() method from repository
2020-05-05 10:23:57 -04:00
Eric Fleming
599db2ee26 Removing unneccesary method call (#363) 2020-04-09 16:10:08 -04:00
Cédric Michel
3e228035c0 Feature/respect encapsulation (#349)
* resolve osbsolete method

* put all properties as private, align unit test

* fix version of version in MD, add instruction to install ef tool

* fix url stored
2020-02-03 12:47:59 -07:00
David Henley
0a93e61f03 Rethrow the exception to be caught in Program.cs (#344) 2020-01-07 08:32:25 -07:00
Joni
a382a0f947 Fix typo (#341) 2019-12-26 07:04:23 -07:00
Steve Smith
fa8839e1d8 Minor 3.x Updates (#339)
* remove unnecessary call

* Refactoring test fixture
2019-12-18 16:59:25 -05:00
Eric Fleming
e53117b952 Updating to netcore3.1 (#338)
* Updating to .NET Core 3.1

* Updating nuget packages

* Updating dockerfile for 3.1
2019-12-17 11:08:55 -05:00
mrukas
13fc6ea546 Added possibility to chain includes. (#331)
* Added possibility to chain includes.

* Removed interface.

* Removed the need for generating GUIDs as ids and added tests.
2019-12-16 07:42:04 -07:00
Eric Fleming
9695e9e3ba Adding a ConfigureTestingServices (#335) 2019-12-11 21:59:45 -05:00
Eric Fleming
f3f74a342e Admin page (#324)
* Updates based on documentation

* Getting the build passing

* Getting app functioning

* A few cleanups to confirm it's working as expected

* Fixing functional tests

* Updating dockerfile for 3.0

* Functional Tests now run sequentially

* Updating to latest version of moq

* Adding migration for post 3.0 upgrades

* Removing commented out lines

* Moving address and catalogitemordered configuration in to classes that own them

* Adding admin user

* Adding admin catalog screen

- will also only display menu option if user is logged in as an admin

* WIP - squash this

* Allow user to edit a catalog item

* Adding entry for new service

* Invalidating cache after catalog item update

- also a little bit of cleanup

* Fixing bad merge

* Removing Picture Uri and making Id readonly

* Adjusting style in menu dropdown so all options are shown

* Creating Cache helpers with unit tests
2019-12-10 22:04:59 -05:00
Eric Fleming
29d1497a3f Mediatr example (#325)
* Updates based on documentation

* Getting the build passing

* Getting app functioning

* A few cleanups to confirm it's working as expected

* Fixing functional tests

* Updating dockerfile for 3.0

* Functional Tests now run sequentially

* Updating to latest version of moq

* Adding migration for post 3.0 upgrades

* Removing commented out lines

* Moving address and catalogitemordered configuration in to classes that own them

* Installing MediatR nuget packages

* Configure MediatR in Startup

* Creating GetMyOrders MediatR query and handler

* Adding GetOrderDetails MediatR handler

* Refactoring out default values

* Added tests for GetOrderDetails mediator handler

* Defaulting values on Models for now

* Removing some spaces

* Splitting files

* Splitting out the GetOrderDetails files

* Adding test for GetMyOrders

* restructuing folders

* Using constant
2019-11-15 13:36:51 -05:00
Gregg Miskelly
0fcf43ea78 Update database instructions to work in .NET Core 3.0
In the 3.0 SDK `dotnet ef` needs to be installed. This updates the instructions/tool config to do so.

More info: https://docs.microsoft.com/en-us/ef/core/miscellaneous/cli/dotnet
2019-11-11 09:13:30 -08:00
Eric Fleming
4442015835 Netcore3.0 (#323)
* Updates based on documentation

* Getting the build passing

* Getting app functioning

* A few cleanups to confirm it's working as expected

* Fixing functional tests

* Updating dockerfile for 3.0

* Functional Tests now run sequentially

* Updating to latest version of moq

* Adding migration for post 3.0 upgrades

* Removing commented out lines

* Moving address and catalogitemordered configuration in to classes that own them

* Minor cleanups
2019-11-06 14:17:56 -05:00
Konrad Masalski
d422c42c24 minor code rearange, quantity as optional parameter, removed some unused fields 2019-10-28 22:44:40 +01:00
Moien Tajik
96e16ca3e7 Made AddAsync method fully asynchronous 2019-10-19 01:27:42 +03:30
Eric Fleming
9b7dc2c1ce Reverting package version
- The new version of this package appears to have a bug or no longer compatible with .NET Core 2.2
2019-10-05 13:30:06 -04:00
Eric Fleming
e7b411cb92 Update Microsoft.VS.Web.CodeGeneration.Design 2019-10-04 20:24:24 -04:00
Eric Fleming
4418e36fc5 Updating Microsoft.Web.LibraryManager.Build 2019-10-04 20:23:17 -04:00
Eric Fleming
1ac91c5c8e Updating Microsoft.CodeAnalysis 2019-10-04 20:22:13 -04:00
Eric Fleming
2f1b7fe0db Removing unused interface
Fixes: https://github.com/dotnet-architecture/eShopOnWeb/issues/304
2019-09-20 20:39:12 -04:00
Steve Smith
4127d90b01 Adding docker-compose project (#302) 2019-09-11 23:35:13 -04:00
Eric Fleming
1cf176c107 Update style for when the basket is empty 2019-09-11 21:13:30 -04:00
Ovi
70e009bda2 Allow to remove items from the basket setting quantity to zero 2019-09-11 09:16:00 -04:00
Eric Fleming
c370b8affb Add missing migration (#298) 2019-09-11 08:39:54 -04:00
Sascha Gottfried
11cb67a14a Remove references to namespace "Microsoft.EntityFrameworkCore.*" in order to remove dependencies to EF Core in project ApplicationCore. Remove any packages related to EF Core from ApplicationCore.csproj. 2019-09-02 15:53:37 +02:00
Steve Smith
8e1952158a Update BaseApiController.cs 2019-08-30 10:05:23 -04:00
Eric Fleming
d2e826331b Removing unnecessary class 2019-08-28 20:34:01 -04:00
Eric Fleming
2da7421568 Updating the styles/page layout of the register page 2019-08-28 20:18:20 -04:00
Eric Fleming
4802d078a2 Removing old view and adding the scaffolded Register page so we can apply some styles to it 2019-08-28 19:43:42 -04:00
Eric Fleming
d4993abd5f Rolling back change to use extension method to wiret up config
- The change is a better way to do the configuration, but there is
currently an issue where the Value Objects are not being honored and
being treated like Entitys. When this happens, the container will throw
errors when trying to start up because the entitys are lacking primary
keys (when they don't need them).
2019-08-24 21:55:41 -04:00
Eric Fleming
3165791d82 Marking value objects as "owned" explicitly 2019-08-24 19:39:38 -04:00