We have a table with Characteristics
The type of the characteristics are number , text , (yes/no/Uknown).
each characteristic is bind to a Line of Business -LOB (e.g. motor products have their own characteristics)
We should be able to select a product from a table of products according to the LOB and update it’s characteristics .
We characteristics needs and approval in order to be shown in the webpage and we need to be able to save old versions of characteristics.
The user should be able to:
add/edit/delete characteristics per LOB
update the characteristic of each product
Approve the changes
and select different products of same LOB to create a matrix of comparison
This should be done using angular.js
2 projects are required, the client part and the server part. The client part is written in AngularJS and is a view that we can access using the following code from a module configuration:
$[login to view URL]('/ProductsComparer/:entityId?', {
templateUrl: 'path/to/[login to view URL]',
controller: 'ProductsComparerController'
})
The entityId parameter is supplied the products will be filtered by the corresponding entity (provider) and the specific Line of Business
Through Angular you must use the $http service to communicate with the server side. I will explain the details of the view.
The server is written in ASP .NET Web Api. We need a tickets controller that the client part will access. There should be a distinct business logic part in the code (ideally exposed through an interface) that the controller calls and does all the processing. If the business logic part needs to interact with the database it calls a data access layer part that persists the data and handles the database connection (ideally it should also be exposed through an interface).
The reason we require this architecture is because your code will be incorporated into our solutions which follow the same structure