Given the attached solution, write a database implementation using C# and SQL Server to do the following operations. Create account Create site Create contact, including Key Value pairs Add and remove site to account relationship( many sites, 1 account ) Add and remove contact to account relationship ( many contacts, 1 account ) Update account update contact Update site Obsolete account Obsolete contact Obsolete site All create methods should return the guid for the account as the result and should ignore any passed in guids. Use the types on the object properties for the data column types. In addition, all of the objects ( site, account, contact ) should have an OwnerID field. These are not currently on the data types but should be added. The following convenience methods will also be written: GetSitesForAccount() GetChildAccounts() - This will fetch all accounts that have the same ParentAccountGUID GetContactsForAccount() All interactions will be fully unit tested using NUnit. Unit tests should be written for success and failure scenarios. Failure scenarios would include passing in invalid data parameters, no connection to the db, etc. The work will not be accepted without a full suite of unit tests. The tests should have no dependencies on pre-existing data in the db. That is to say any data that is required for the tests should be a part of the test setup. Expect multiple revisions. We are particular about the work product. The coder should make extensive use of stored procedures, minimizing the amount of code in the classes. Indexes should be added where appropriate to speed data access. Before the coder starts work, there must be sign-off on the methodology for handling the one to many relationships. No 3rd party tools or dlls without prior approval. The delivery is a C# library. No GUI needed.
## Deliverables
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.
2) Deliverables must be in ready-to-run condition, as follows (depending on the nature of the deliverables):
a) For web sites or other server-side deliverables intended to only ever exist in one place in the Buyer's environment--Deliverables must be installed by the Seller in ready-to-run condition in the Buyer's environment.
b) For all others including desktop software or software the buyer intends to distribute: A software installation package that will install the software in ready-to-run condition on the platform(s) specified in this bid request.
3) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement).
A fully working [login to view URL] 2003 solution with database setup scripts.
## Platform
.NET 1.1 SQL 2000