"Net-Auction"


Summary Possible Extensions and improvements



Yüklə 310,72 Kb.
səhifə2/4
tarix18.01.2019
ölçüsü310,72 Kb.
#100276
1   2   3   4

Summary




    1. Possible Extensions and improvements

There are some extensions and improvements we suggest. Some of them don't need a lot of design and time investment but others do need.



Extensions:

  • Add category hierarchy to improve site navigation and product searching. It may be also an algorithm that will allow creation of new categories and sub-categories accordingly to the type of products.




  • Add administrate pages that allows site administrator to control all tenders, sells and products. Moreover he will be able to enforce rules and to punish not faithful users.




  • Add possibility of immediate selling. For example user that offered high price (over special limit), can by it at this moment without waiting for the tender finish.



  • Add mail confirmation for user registration on site (the platform for this extension is already ready).




  • Allow users to sort products by price.




  • Allow users to add more pictures for product.




  • Allow users to edit and to delete their comments to other users.




  • Allow users to sort other user by sells and rank. And reach users products from user info page.


Improvements:

  • Add web-site symbol.




  • Improve and make graphics more attractive via adding pictures and icons.



    1. Purchased knowledge

One of our personal goals in this project was to get the knowledge of web programming principles, to familiar with building of web-applications and web-sites and to learn C# language principles and syntax. We think that we reached those goals in this project at whole. In the process of building a project we learned the next topics:




  1. Programming on C# language; project environment, objected oriented principles of C#, syntax, built-in classes, built-in objects and user interface tools.



  1. Microsoft SQL; building of data base, relationships, keys and base built-in functionality.



  1. Web programming; principles of HTTP protocol, html objects and syntax, cookies, application and client sessions, authentication forms. We also learned a layer structure in web programming and more.




  1. Microsoft ASP.NET 2 framework; built in objects and classes like dataset and session. We also learned to built user interface and GUI building principles.



  1. Appendix



    1. DAL Details:

Here are details of the DAL functions of hosting tables. On these screenshots you can see function names, its parameters and fill functions names. There are additional standard functions like "insert", "delete" and "update" for all tables that have no such functions in their table adapter.


Clients:




GetClients()

Return all table data

GetOwnerBySerialNumber()


Return client row of product owner by product serial number.

GetClientByClientID()

Return client table row by client ID.

GetClientByNickName()


Return table row by nick name. Nick name is a unique key.

DeleteClient()

Delete the table row by client ID.


Sold Product History:




GetSoldProductsHistory()

Return all table data.

GetHistoryByNewOwnerID()

Return row by new owner ID.

GetHistoryBySellerID()

Return row by seller ID.

InsertHistory()

Add new row to the table.


Products:




GetProducts()

Return all table data.


GetAfterTenderProductsByOwner()


Return product rows of products with "after tender" field sat and belongs to client by its ID.


GetProductsByCategory()


Return all products rows by category.


GetProductBySerialNumber()


Return all products row by serial number.

GetProductsBeforeTenderByOwner()


Return product rows of products with "after tender" and "active" fields not sat and belong to client by its client ID.

GetTenderProducts()


Return product rows of products with "active" fields sat.

GetTenderProductsByCategory()


Return product rows of products with "active" fields sat and belong to specified category.

UpdateImagePath()


Updates field of image path in row with specified serial number.

DeleteProduct()


Delete product by serial number.


Tags vs. Products:





GetTags()


Return all table data.


GetTagsBySerialNumber()


Return all rows with specified serial number.


GetTagBySerialNumberAndTag()


Return row with specified serial number and tag pair. This pair is a complicated unique key.


GetProductsByTag()

Return rows with specified tag and "active" field sat in rows product.


GetProductsByTagAndCategory()


Return rows with specified tag, "active" field sat and specified category in rows product.


InsertTag()


Insert new tag to the table.


UpdateTag()


Updates fields of row by its serial number and tag pair.


Delete()


Delete row by serial number and tag pair.


Tenders:




GetTenders()

Return all table data.

GetActiveTendersByOwnerID()


Return rows by owner ID where "active" field sat in appropriate product.

GetTendersByBidderID()


Return rows with appropriate bidder ID.

GetTendersByCategory()


Return rows with specified category in appropriate product.

GetTendersByClientID()


Return rows with specified client ID in appropriate product owner.

GetTendersByOwnerID()


Return rows with specified client ID in appropriate product owner and "active" field sat in appropriate product.

GetTendersByTenderNumber()


Return row by tender number. Tender number has the same unique number like the product of this tender.

InsertTender()

Insert new row to the table.

UpdateTender()

Update row by tender number.

DeleteByTenderNumber()

Delete by tender number.


Bids per Tender:





GetBidsBerTender()


Return all table data.

GetBidByTenderNumberAndClientID()


Return rows with appropriate tender number and client ID.


GetBidByTenderNumber()


Return rows with appropriate tender number.


GetTendersByTenderNumberByDesc()


Return rows with appropriate tender number sorted by decrease of bid value.



AddBid()


Add new row to the table.

UpdateBid()


Update row with appropriate tender number and new owner ID. This pair: tender number and new owner ID is a complicated unique key.


DeleteByTenderNumber()


Deletes row with appropriate tender number.




Seller vs. Buyers:




GetSellersVSBuyers()


Return all table data.


GetDataByBuyerID()


Return row with appropriate buyer ID.


GetDataBySellerID()


Return row with appropriate seller ID.


InsertSellerVSBuyer()


Add new row to the table.


SetVoted()


Sets field "voted" on parameter value ("IsVoted"), in appropriate row. Seller ID and buyer ID is a unique key pair.





Feedbacks vs. Clients:





GetFeedbackVSClient()

Return all table data.

GetFeedbackByTargetID()

Return row with appropriate target ID.

InsertFeedback()

Add new row to the table.


    1. Methods description:


AuthenticationBLL:

This class provides Authentication process. All methods works with ClientsTableAdapter if it has no different description .




IsAlreadyPresent

Parameters:

String Nick – user nick name, Password – user password.

Return:

true – user is already present in data base, false – otherwise.

Description:

Checks user presence in users data base.




GetClientByNick_Password

Parameters:

String Nick – user nick name, Password – user password.

Return:

ClientsRow

Description:

returns ClientsRow (Row of Clients Table with such Nick & Pass) or null.


ClientsBLL:

This class provides Clients management. All methods works with ClientsTableAdapter if it have no different description . The ClientID & Nick are unique.




IsNickAvailable

Parameters:

String Nick – user nick name

Return:

bool true – user is not already present in data base, and this Nick is legal for new user, false – otherwise.

Description:

Checks the ability of using this Nick for a new user.




GetClientByNickName

Parameters:

String Nick – user nick name

Return:

ClientsRow

Description:

returns ClientsRow (Row of Clients Table with such Nick ) or null.




GetClientByClientID

Parameters:

Guid ClientID

Return:

ClientsRow

Description:

returns ClientsRow (Row of Clients Table with such ID) or null.



GetOwnerBySerialNumber

Parameters:

Guid SerialNumber (Serial number of Product)

Return:

ClientsRow

Description:

returns ClientsRow (Row of Clients Table ) of the client, who is owner of product with given Serial Number.




AddNewClient

Parameters:

string FName, string LName, string Email, string Nick, string CreditCard, string ExpiredDate, string Phone,string Country, string Province, string Addr, string City, string Zip, string Pass, string Cache

Return:

bool true – user was successfully added, false – otherwise.

Description:

Adds new Client (ClientsRow) to the ClientsTable. ID generates automatic by database.




StringToInt

Parameters:

string str, int start_index

Return:

int

Description:

The method for Internal usage, converts string to integer, beginning from specified index




UpdateClient

Parameters:

Guid ClientID, string FName, string LName, string Email, string Nick, string CreditCard, string ExpiredDate,

string Phone, string Country, string Province, string Addr, string City, string Zip, string Pass, string Cache



Return:

bool true – user was successfully updated, false – otherwise.

Description:

Updates Client data (ClientsRow) in the ClientsTable



The follow function uses SellersVsBuyersBll.

UpdateClientRank

Parameters:

string ClientID,string AutorID,int NewRate

Return:

bool true if succeeded, false – otherwise.

Description:

Cheks the possibility of Client with AutorID, to rate the Client with ClientID(It is possible only once after all times where the Author has bayed some product from Client), updates the Client

Rate ant sets appropriated rate pucture (RankImage). Turns off the possibility of rating till next baying.




GetAllClients

Parameters:

none

Return:

ClientsDataTable

Description:

Returns all Clients in the database.


ProductsBLL:

This class provides Products management. All methods works with ProductsTableAdapter if it have no different description. Assumed, that every product has only one owner (one of Clients).




GetAllProducts

Parameters:

none

Return:

ProductsDataTable

Description:

Returns all Products in the database.




GetAfterTenderProductsByOwner

Parameters:

Guid OwnerID

Return:

ProductsDataTable

Description:

Returns all unsold Products of owner with given ID after it's tenders are finished




GetProductBySerialNumber

Parameters:

Guid SerialNumber – Serial Number of the product

Return:

ProductsRow

Description:

Returns the Product data(ProductsRow) of Product with such Serial Number




GetProductByCategory

Parameters:

string Category

Return:

ProductsDataTable

Description:

Returns all Products in the database with given Category.




GetProductsBeforeTenderByOwner

Parameters:

Guid OwnerID

Return:

ProductsDataTable

Description:

Returns all Products of owner with given ID where it's tenders are not started yet. Those products data are editable before it's tenders begin.


AddNewProduct

Parameters:

string ItemTitle(image name), string Category,

System.Guid OwnerID,int Quantity( positive),

bool AfterTender(true, where it's tender is over), string Image, string ItemLocation(Country), string ShipsTo(Country),

string Description, string Condition



Return:

Guid –ID, generated by database, of added product

Description:

Adds new Product (ProductsRow) to the ProductsTable.




UpdateProduct

Parameters:

Guid SerialNumber, string ItemTitle(image name),

string Category, int Quantity, bool AfterTender (true, where it's tender is over), string img, string NavigationPath (not used (null)), string ItemLocation(Country), string ShipsTo(Country), string Description, string TagsList (all tags for search, token by space), string Condition, bool Active (true ,where its tender is opened)



Return:

bool true if succeeded, false – otherwise.

Description:

Adds existent Product's data (ProductsRow) in the ProductsTable.




UpdateImagePath

Parameters:

Guid SerialNumber, string ImagePath

Return:

bool true if succeeded, false – otherwise.

Description:

Updates the Image path of Product with given Serial Number.

The Path is related to MainProjectFolder\Upload\ folder.






DeleteProduct

Parameters:

Guid SerialNumber

Return:

bool true if succeeded, false – otherwise.

Description:

Removes Product's data (ProductsRow) from the ProductsTable.

Assumes that the Product has no Tender.




Yüklə 310,72 Kb.

Dostları ilə paylaş:
1   2   3   4




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©muhaz.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin