Trning RPT

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 191

INDUSTRIAL TRAINING REPORT

Submitted in partial fulfillment of the award of Degree of Bachelor of Technology

SGPGI Council
FOR
BLOOD TRANSFUSION
Softpro India Computer Technologies Pvt. Ltd
B-15, Sector-f, Opp. Shahara India Bhawan, Kapoorthala, X-ing, Aliganj, Lucknow.
Ph. :+91-05226565114, Website : www.softproindia.org

From: 10-06-2010 To 14-07-2010

Name of officer: Ms. YASHI ASTHANA


Designation: Manager-HR Department: HR

(Prashant kumar mishra)


B.Tech.(C.S.E, IV Year)
Roll No. :0700112081

INTEGRAL UNIVRSITY, LUCKNOW


Kursi Road, Lucknow-226026 Uttar Pradesh (INDIA)
Phone: 0522 2890812, 2890730, 3296117, 64514039
Fax No. :0522-2890809
Web: www.integraluniversity.ac.in
Email: [email protected]

2010
ACKNOWLEDGEMENT

I convey my gratitude and sincere acknowledgement to Mr. S.K.Sir, Mr. Vishal

srivastava, Ms. Yashi Ashthana & Er. Ajay Singh for their guidance and help offered

to me in with adequate information and all required inputs which were of great help for

the completion of this project.

Being renowned organization, it gave me the opportunity to learn the work

carried out here, got a glimpse of new environment & hard work of industrial unit.

I would like to thank them for providing me the necessary assistance as a result

of which I could complete my project work successfully.

Dated:

Lucknow PRASHANT KUMAR MISHRA


Abstract

The project is “SGPGI Council FOR BLOOD TRANSFUSION” Raebareilly Road , Lucknow .

This project is an effort to develop a platform where the users of this portal say donors, patient,
doctor, pathologist, blood keeper, and the administrator of SGPGI can communicate effectively.
Donor can easily get the appointment for blood donation and he has not to wait in queue, as he
has to in the existing system. SGPGI For Blood Transfusion is the project which is provide
online hospitality. It is a web portal project so it is very user friendly. It provide the patient to
directly search the donor. And he asked the health or another related queries to the doctor.

Transfusion medicine is a multidisciplinary area concerned with the proper use of blood and
blood components in the treatment of human diseases.

This project brings a new concept and new features by automating the certain features and
activities of SGPGI. This web portal is providing a common platform to various users by
registering them online and use various features providing in this portal. This project is made as
per the requirement of the SGPGI and particularly for the Blood Transfusion Department.
Table of Contents

1. Project Introduction & Problem Statement 1


2. Objectives of the Project & Initial requirement 2

3. Introduction of the Organization 4


4. Organizational chart .
5. Chronological Training Diary .
6. System Analysis 8
6.1. Business Needs 9
6.2. Objectives 9
6.3. Existing System Description 10

6.4. Proposed System 10


6.5. Benefits 11
6.6. Feasibility Study 12
7. Software Requirement Specification 13
7.1. Objective 14
7.2. Scope 14
7.3. Time Constraints 14
7.4. Requirement Notes/Legends 14
7.5. Requirements 15
7.5.1. Functional Requirements 15
7.5.2. Security Requirements 16
7.5.3. Output Requirements 16
7.6. Data Management 17
7.7. Deployment Requirements 17
7.8. Software Requirement 17
7.9. Hardware Requirement 17
7.10. Training and Documentation 17
7.11. Time Constraints 17
7.12. Support and Maintenance 18
8. System Design 19
8.1. Software process model 20
8.2. Designing Approch 23

8.3. High level design 24


8.4. Entities Involved 25
8.5. Features of SGPGI Council For Blood Transfusion 26
8.6. Modules of SGPGI Council For Blood Transfusion 27
8.7. Tools & technology used 27
8.8. Languages for Programming 27
8.9. Flow Chart 28
8.10. Data flow diagrams 29
8.11. E – R Diagram 31
8.12. Use Case Diagram 32
8.13. Site Map of the SGPGI Council For Blood Transfusion 32
9. Low Level Design 33
10.Module description 49
11.Screen Shots of System 62
12.Testing 92
12.1. Testing Methodology 93
12.1.1. Unit Testing
93
12.1.2. Integration Testing 93
12.1.3. White Box Testing
93
12.1.4. Black Box Testing 94
13.Test cases 95
14.Implementation 103
14.1. Implementation Technologies 104
14.2. Implementation requirement 104
14.3. Uploading of website 104
15.Conclusion 105
16. References 105
Introduction & Problem Statement:

The System should be well equipped with many powerful features and content delivery system that
combines various services, making them an integrated unit. Unlimited users can access the system
anytime & anywhere equipped with an internet connection. The system should be capable of generating
downloadable reports from Database.

Administrative users should be allowed to edit, manipulate the content and their respective master
details using a secure administration area/control panels.

The technology which should be used to develop the site should ensure that downloading is fast,
operation is hassle free with easy maintenance and above all, a highly user friendly application.

The design structure of the entire application should separate the business logic and presentation,
giving complete control over the administration and management of the system.

 Retrieving of records is difficult:

The record retrieving is today very difficult because the data is very larg amount. So the Retrieving is
very difficult.

 Searching is time consuming:

The searching is very time consuming because of the data is larg. And its retrieving is very difficult.

 Processing speed become slow:

The processing speed is very slow. Because of the network problem , virus problem , hardware
problem , some another problem. The data is very large so the problem is also speed become slow.

 Insecure data:
The data is insecure because the hackers are hack the data, today it is very big problem. The security
is very important for everything. To secure the data and another type of security is very important.

Objectives:
The System should be well equipped with many powerful features and content delivery system that
combines various services, making them an integrated unit. Unlimited users can access the system
anytime & anywhere equipped with an internet connection. The system should be capable of generating
downloadable reports from Database.

Administrative users should be allowed to edit, manipulate the content and their respective
master details using a secure administration area/control panels.

The technology which should be used to develop the site should ensure that downloading is
fast, operation is hassle free with easy maintenance and above all, a highly user friendly application.

The design structure of the entire application should separate the business logic and
presentation, giving complete control over the administration and management of the system.

Existing System Description:

 Retrieving of records is difficult.

 Searching is time consuming.

 Processing speed becomes slow.

 Insecure data.

 Reports are not viewed by the users in a proper and systematic way.
Proposed System:

 Secure access of confidential data (user’s details).

 Proper Blood Bank Management.

 24 X 7 availability.

 Better component design to get better performance at peak time.

 Flexible service based architecture will be highly desirable for future extension.

 User Friendliness.

Benefits:

Fast and efficient service: - This system can give the fast service (insertion, deletion, updating, searching
etc.) to the users of the system.

Reduction in workload: - That means all the tasks are done by the system/machine which give the rest
to the human beings.

Fine management: - Our system provide the good management in the records keeping and provide the
good scheduling in the all the operations of the database.
Provide the flexibility in the operations: - We are developing the type system which is able to do all
type of transactions (insertion, deletion, updating, searching etc).

Remove the complexity in the operations: - Our system is providing the real life features to providing
the service since the user of the system in not feel the complexity in its operations.

Provide the long term relationship with the users: - Our system is providing the long term relationship
with the users.

Introduction of the organization:


Softpro India Computer Technologies Pvt. Ltd. is a dynamic new generation software solution as well as
Networking Product Development company. The company develops, markets, sells and supports
software products, web-sites, Network Projects and offers turnkey solutions to the customers

Softpro India Computer Technologies Pvt. Ltd.  Provides programming services, Application
Development and Integration Services, Web Design and Development Services, Search Engine
Optimization Services (SEO) and Back-office services. Softpro India offers customized and flexible IT
solutions, with low costs for international standards, without any reduction or loss in quality, technology
and/or scalability for the client. We treat our clients with courtesy, friendliness and intelligence .

SOFTPRO INDIA PRIVATE LIMITED was founded in 2004 with the mission of “Bridging the technology
gap” .Provides programming services, Application Development and Integration Services, Web Design
and Development Services, Search Engine Optimization Services (SEO) and Back-office services.

SoftPro India Computer Technologies Pvt.Ltd Was Founded in 2004 by group of Tecnocrats Mr. S. K.
Verma from IIT Kanpur (1989 Batch) and Mr. Ajay Singh an Engineering Graduate from IET
Lucknow in electronics Stream (1991 Batch) .

Design Designate Deliver Customized Business Solutions Provide parallel service to support our
customers. Bring IT standards to International Standards.
Initial requirement:

Transfusion medicine is a multidisciplinary area concerned with the proper use of


blood and blood components in the treatment of human diseases. The Department of
Transfusion Medicine at this Institute was established in 1989 as a state-of-art facility to
provide blood transfusion services, to train medical and para-medical personnel in related
areas and to function as an apical medical and research department in the country in this
field. A firm resolve for total dependence on voluntary blood donation and routine
preparation of blood components are principal hallmarks of the department. According to
the principles of Good Manufacturing Practices (GMP) strict adherence to quality control
at all phases of donor selection, donor room procedures, screening and processing of
blood, and serological procedures for grouping and typing of blood are followed.

The Department has taken a lead in starting a postgraduate course in Transfusion


Medicine leading to the award of MD (Immunohematology & Blood Transfusion) for the
first time in the country.

1. Due to large size of data, there was problem to store and retrieve data.

2. When we required blood then we go to hospital. It is long process.

3. It is also create difficulty in generating and showing various reports.

4. As we see today so many kinds of websites that provide hospitality matter like medicine,
blood, problem query.

5. Loading and Unloading of files from the Internet has become a requirement now a days.

6. The users are requesting to donate blood and arrang seminar.

7. Reports are not viewed by the users in a proper and systematic way.

8. Secure access of confidential data (user’s details), means we provide a security like
password protected.
9. Better component design to get performance at peak time

10. Flexible service based architecture will be highly desirable for future extension.

11. We are arranging the seminar facility as users requirement.

SYSTEM ANALYSIS
Business Needs:
Transfusion medicine is a multidisciplinary area concerned with the proper use of blood and
blood components in the treatment of human diseases. The Department of Transfusion Medicine at this
Institute was established in 1989 as a state-of-art facility to provide blood transfusion services, to train
medical and Para-medical personnel in related areas and to function as an apical medical and research
department in the country in this field.

Blood center at SGPGIMS needs at least 100 blood donors every day to meet the
transfusion needs of patients at this hospital and of those at some other major hospitals in
Lucknow. With increase in population and development of more advanced medical and surgical
procedures, the need for blood is ever increasing. There is no substitute for blood. Only blood
donors can help maintain an adequate supply of blood to save the lives of those who need it.

This project brings a new concept and new features by automating the certain features and
activities of SGPGI. This web portal is providing a common platform to various users by registering them
online and use various features providing in this portal. This project is made as per the requirement of
the SGPGI and particularly for the Blood Transfusion Department.

Objectives:
The System should be well equipped with many powerful features and content delivery system that
combines various services, making them an integrated unit. Unlimited users can access the system
anytime & anywhere equipped with an internet connection. The system should be capable of generating
downloadable reports from Database.

Administrative users should be allowed to edit, manipulate the content and their respective
master details using a secure administration area/control panels.

The technology which should be used to develop the site should ensure that downloading is
fast, operation is hassle free with easy maintenance and above all, a highly user friendly application.

The design structure of the entire application should separate the business logic and
presentation, giving complete control over the administration and management of the system.
Existing System Description:
 Retrieving of records is difficult.

 Searching is time consuming.

 Processing speed become slow.

 Insecure data.

 Reports are not viewed by the users in a proper and systematic way

Proposed System:

 Secure access of confidential data (user’s details).

 Proper Blood Bank Management.

 24 X 7 availability

 Better component design to get better performance at peak time

 Flexible service based architecture will be highly desirable for future extension

 User Friendliness.
Define To- Be processes

i. Come up with the solution of the existing problem


ii. Go through the regressive reviews by different business process
iii. Prepared user interface requirements

Develop High Level Design and Low Level Design before Execution
i. Built and design all the processes required by Client
ii. Conducted survey of all Property Dealing Websites and documented realities
iii. Developed the architecture of the Software Solution
iv. Developed the project design in detail for the software developer in company

Benefits:
Fast and efficient service: - This system can give the fast service (insertion, deletion, updating,
searching etc.) to the users of the system.

Reduction in workload :- That means all the tasks are done by the system/machine which give the
rest to the human beings.

Fine management :- Our system provide the good management in the records keeping and provide
the good scheduling in the all the operations of the database.

Provide the flexibility in the operations :- We are developing the type system which is able to do all
type of transactions (insertion, deletion, updating, searching etc).

Remove the complexity in the operations : - Our system is providing the real life features to
providing the service since the user of the system in not feel the complexity in its operations.

Provide the long term relationship with the users : - Our system is providing the long term
relationship with the users
Feasibility Study:
Feasibility study is the measure of how beneficial or practical the development of an information system
will be to an organization. The Feasibility analysis is a cross life cycle activity and should be continuously
performed throughout the system life cycle.

Feasibility tests:

Operational feasibility:

By providing a web based interface for property dealing globally seeker and agent/owner will feel
better. Users will get a very quick service by searching based on various criteria and get details of
properties within seconds. Also client will feel comfortable by reduction of their work. Easy to handle a
large and centralized database. Losing of records will be avoided.

Considering all these factors we can conclude that all the users and end users will be satisfied by the
system.

Technical feasibility:

For the design and development of the system, several software products have been accommodated.

· Database design – MS SQL Server 2005 (Preferred) or any other DBMS.

· Interface design – ASP.NET, FLASH.

· Coding – C# (Preferred) or any other supported Language.

This technology (ASP.NET) has enough efficiency in producing the system. Therefore the project is
technically feasible.

Schedule feasibility:
The duration of time required for the project has been planned appropriately and it is the same as the
duration of time expected by the client. Therefore the website can be delivered to the client within the
expected time duration, satisfying the client. Hence the project is feasible in scheduling.

Economic feasibility:

According to the resources available and the project scheduling process it is estimated that the
expenses allocated for the web application to be developed, by the client is sufficient enough.
Hence the economical factor has been considered feasible.
SOFTWARE REQUIREMENT
SPECIFICATION
1. Objective:
This document represents the various technical and functional requirements analysis of the SGPGI
For Blood Transfusion Web Application and business process requirements of client. This document is
produced prior to Detailed Design and development of the application.  It will be used by the design
team as the baseline for establishing systems design and ultimately the development of the system.

2. Scope:
The scope of SGPGI For Blood Transfusion is to provide efficient searching of Blood donation or retrieval
information from all over the world. SGPGI For Blood Transfusion is also providing a common global
platform for Blood donars and patient which is required the blood and donars which is donate the
blood. The users which is request for the seminar or question to related the health, ask the doctor and
view the reply.

The requirements specified in this document cover the entire necessary and mandatory feature of
application required by the client. The data captured in this process will aid the testing process during
unit testing and deployment.  The software is required to fulfill all the functional requirements to
identify by this document.

3. Time Constraints:
The final deployment of this website will not take place until all functional features has tested. This is
estimated to be done by 20 April 2009.

4. Requirement Notes/Legends

4.1. Priority of requirement:

C Conditionally Required

R Required

O Optional
SM System Maintained

EF External Feature
5. Requirements:

5.1. Functional Requirements:

S.No REQ No. Priority Requirement

1 R1.1 R Users proper Registration and Login

2 R1.2 R Manage profile

3 R1.3 R Download and Upload broucher

4 R1.4. R Refer a friend like email facility

5 R1.5. R View Reports

6 R1.6. R Blood stock Maintenance

7 R1.7. R Users query and reply by the management people

8 R1.8. R Proper suggestions and feedback of the users

Blood Donation Camp Requests i.e seminar


9 R1.9. R

10 R1.10. R Proper updations and modification on daily basis

11 R1.11. R Administrator will create user


12 R1.12. R Patient will search the donor and contact them.

13 R1.13. R Proper Blood test information will be maintained.

14 R1.14. R Proper Reporting will be done.

15 R1.15 R Donor will request for donating blood

Security Requirements:

S.No No. Priority Requirement

Authentication & security should be maintained.

1 R2.2 R

2 R2.3 R Database security in effective & non redundant manner.

1.1. Output Requirement:


S.No No. Priority Requirement

1 R5.3.1 R Result are shown properly on screen

User Friendly interface easy to operate the system &


fetch the records.
2 R5.3.2. R

6. Data Management:
This project brings a new concept and new features by automating the certain features and
activities of SGPGI. This web portal is providing a common platform to various users by
registering them online and use various features providing in this portal. This project is made as
per the requirement of the SGPGI and particularly for the Blood Transfusion Department.
7. Deployment Requirements:

7.1 Software Requirement:

 Client on Internet: Web Browser, Operating System (any).


 Client on Intranet: Client Software, Web Browser, Operating System (any).
 Web Server: IIS 6 or higher, Operating System (windows server).
 Application framework: Microsoft .NET Framework 2.0.
 Data Base Server: MS SQL SERVER 2005, Operating System (windows Server).
 Development End: Visual Studio 2005 (ASP.NET, HTML, JavaScript), MS SQL
SERVER 2005, OS (Windows Server), Web Server (IIS 6 or higher).

7.2 Hardware Requirement:

Client - Side:
Browser Processor RAM Disk Space

Internet Explorer6.0 or higher Pentium 4 128 MB 1 GB

Server - Side:
Web server Database Processor RAM Disk Space

IIS 6 or Higher SQL SERVER 2005 Pentium 4 2GB 120 GB

7.3 Training and Documentation

Training on the System would be provided by SPI for the 10 days after deployment of the website.
No extra fee would be charged for the training and documentation. Documentation on all the modules
and functionality will be provided by SPI at the time of deployment.
7.4 Time Constraints:
The final deployment of this website will not take place until all functional features has tested. This
is estimated to be done by 20 April 2009.

8. Support and Maintenance:

One year free support for rectifying system bugs including front end and beck end will be provided.
During warranty period Software Engineers will be responsible for removing bugs and improving it. After
one year support can be extended @ 20% of the total product deployment cost.

SYSTEM DESIGN
Software Process Model followed:

SPIRAL MODEL:

The Spiral Model is one that couples the iterative nature of prototyping with controlled and systematic
aspect of linear sequential or waterfall model. It provides the potential for rapid development of
incremental versions of the system. Here it is used for successful development of Sales and Product
Management System.
Figure:

Software Development Process moves throughout these four phase until the Software is not
implemented .In the last phase (Customer Evaluation), End User evaluates the product, and gives
the comments according to requirement. On basis Software either goes forward in the phases or
for implementation process.

Phase Steps:
Spiral Model consists of four phases:

 Planning
 Risk Analysis
 Engineering
 Customer Evolution

Planning:
 Development of a comprehensive backlog list.
 Definition of the delivery date and functionality of one or more releases.
 Selection of the release most appropriate for immediate development.
 Mapping of product packets (objects) for backlog items in the selected release.
 Definition of project team(s) for the building of the new release.
 Assessment of risk and appropriate risk controls.
 Review and possible adjustment of backlog items and packets.
 Validation or reselection of development tools and infrastructure.
 Estimation of release cost, including development, collateral material, marketing, training, and
rollout.

Risk Analysis:

The Development phase is an iterative cycle of development work. The management determines that
time, competition, quality, or functionality is met, iterations are completed and the closure phase
occurs. This approach is also known as Concurrent Engineering. Development consists of the following
macro processes:

 Meeting with teams to review release plans.


 Distribution, review and adjustment of the standards with which the product will conform.
 Iterative Sprints, until the product is deemed ready for distribution

Engineering:

 The whole team and product management are present and participate.
 The review can include customers, sales, marketing and others.
 Review covers functional, executable systems that encompass the objects assigned to that team
and include the changes made to implement the backlog items.
 The way backlog items are implemented by changes may be changed based on the review.
 New backlog items may be introduced and assigned to teams as part of the review, changing the
content and direction of deliverables.
 The time of the next review is determined based on progress and complexity. The Sprints usually
have duration of 1 to 4 weeks.

Customer Evolution:
When the management team feels that the variables of time, competition, requirements, cost, and
quality concur for a new release to occur, they declare the release “closed” and enter this phase. This
phase prepares the developed product for general release. Integration, system test, user
documentation, training material preparation, and marketing material preparation are among closure
tasks.

System designing approaches:

Top – Down designing:

The top - down designing approach started with major components of the system. It is a stepwise
refinement which starts from an abstract design, in each steps the design is refined two or more
concrete levels until we reach a level where no – more refinement is possible or not needed.

Bottom – Up designing:

In bottom – up designing the most basic and primitive components are designed first, and we proceed to
higher level components. We work with layers of abstractions and abstraction are implemented until the
stage is reached where the operations supported by the layer is complete.
Approach we are following:

In this project we are following Mixed Approach i.e. A combination of top – down and bottom
– up. We are developing some of the components using top – down designing approach (e.g. the
WebPages) and the some components in bottom – up designing approach (e.g. the middle tier
classes).
HIGH LEVEL DESIGN
Entities Involved:
The website is basically dealing with following categories of users.

o Donor
o Patient
o Administrator
o Doctor
o Pathologist
o Blood Keeper

Feature of SGPGI for Blood Transfusion:

To provide common place for all users . The users of this website are Donors , Patient ,
Doctors, Pathologists, Blood keeper.

 Users will be providing facilities to refer a friend.

 Users will be providing facilities to Download and Upload Broacher.

 Users will be providing facilities to request for a seminar for blood donation camp .

 Donors and patient will give queries , suggestions and feedback.


 Donors will be able to view their test report.

 Patient will search the donors and directly contact to them.

 Every users have their own profile which they can manage by themselves.

 Administrator have overall control over the system.

 Accurate and fast information access

 User friendly.

 Secured website.

Modules of the System:

1. Registration/Login Module

2. Users Services Module

3. Management Services Module

4. Blood Stock Maintenance

5. Administrator Module

6. Report Module

Tools & technology used:

1. Microsoft .NET framework 2.0 as Application architecture.


2. Visual Studio 2008
3. Microsoft SQL Server 2005 for back end database.
4. Microsoft IIS 6 (Internet Information Services) as web server to host our website.
5. The Real Estate Web Application will be tested on Windows XP platform.
6. Photoshop CS2, Fireworks and Swishmax for graphics and picture editing and designing.

Languages for Programming:

1. C# for ASP.NET.
2. JavaScript for Client side validation.

Flow Chart:
Home Page

Admin Yes
Login /
Registration
New
Doctor Pathologist Blood keeper user
No
login
User and
password No
correct

Can
View personal / user
medical detail added
yes

Provide services about View


blood and another personal/medi edit Edit record
health related cal detail

DATA FLOW DIAGRAM


Context Level

Donors/Patient
Reply
1LEVEL DFD

USERS  DONORS
PATIENTS
DOCTORS
PATHALOGISTS
BLOOD KEEPER

ER-DIAGRAM
1
Use Case Diagram:

Reply View Create Upload


queries View seminar/ Reply seminar/
queries user broacher
Blood donation Blood donation Blood test
Camp request Camp request Name entry
View reply for
Seminar/Blood Create
Donation camp report

Request for Blood test


Seminar/Blood Category
entry
Donation camp

View
Other queries report
To doctors Admin
View reply Blood
Of queries group
entry
By doctors
Pathologist
Submit
SGPGI View blood
queries
Council Stock outward
entry
Download For Blood
broacher Transfusion
View blood
Donor stock inward
Refer a entry
friend
Blood stock
feedback Outward entry

Blood
Other queries Keeper Blood stock
To doctors inward entry

View reply
Of queries View refer
Patient Donor report
By doctors
Doctor
Download Upload
broacher broacher

Request for View reply for Reply


Refer a Search Seminar/Blood Seminar/Blood queries
feedback View
friend donor Donation camp Donation camp queries
Site Map of the SGPGI Council For Blood Transfusion:
LOW LEVEL DESIGN
Class Design

Table Name : Login_Details

Class Name: Login

Methods :

public bool ValidateMember(string userid, string password, out string usertype)

public bool GetQuestion(string userid)

public bool VerifyHintAnswer (string userid, string hintanswer)

public bool ResetPassword(string userid, string password)

public bool SaveLoginInfo(string usertype, string userid, string password)

S No Fields Name Size Constraints Datatype Description


1 Type_of_user 10 Not Null varchar It shows the type of user like :-

Donors,patient,doctors,blood
keeper,pathologists.

2 User_ id 50 Not Null varchar It holds the id of the user.

3 Password 50 Not Null varchar It hold the password of the user

Table Name: Users Registration Login Details


Class Name : User Registration Login Details
public bool SaveLoginDetails (string userid, string username, string security question, string your answer,
datetime date, e-mail id, alternate e-mail id )

public bool UpdateLoginDetails(string userid, string username, string security question, string your
answer, datetime date, e-mail id, alternate e-mail id)

public bool DeleteLoginDetails(string userid)


public bool CheckAge (string userid, datetime dob)

public dataset GetLogindetail(string userid)

public dataset Getdetail(datetime date)

S No Fields Name Size Constraints Datatype Description

1 User_id 50 Not Null varchar It holds the id of the user.

2 User_Name 100 Not Null varchar It holds the name of the user

2 Security_ 100 Not Null varchar It holds the security questions


Questions

3 Your_Answer 120 Not Null varchar It holds the answer of the questions

4 Date_of_ Not Null datetime It holds the date of birth.


Birth

5 e-mail_id 100 Not Null varchar It holds the email id

6 Alternate_ 100 Not Null varchar It holds the alternate e-mail id

e-mail_id

7 date Not Null datetime It hold the current date


Users Registration Personal Details

Class Name : User Registration Personal Details

Methods:
public bool SavePersonalDetails (string userid, string username, string fathername, string surname,
string sex, string maritalstatus, string occupation, string education, string address1, string address2,
string pincode, string country, string state, string city, string phoneno1, string phoneno2, string
mobileno, string faxno )

public bool UpdatePersonalDetails(string userid, string username, string fathername, string surname,
string sex, string maritalstatus, string occupation, string education, string address1, string address2,
string pincode, string country, string state, string city, string phoneno1, string phoneno2, string
mobileno, string faxno)

public bool DeletePersonalDetails(string userid)

public dataset GetPersonalDetails(string userid)

Fields Name Size Constraints Datatype Description

S No

1 User_Id 50 Not Null varchar It holds the id of the user.

2 User_name 100 Not null varchar It hold the name of the user

3 Fathe_ Name 50 Not Null varchar It holds the father name.

4 Surname 50 Not Null varchar It holds the surname .


5 Sex 10 Not Null varchar It holds the sex.

6 Marital_Status 20 Not Null varchar It holds the marital status.

7 Occupation 20 Not Null datetime It holds the status.

8 Education 20 Not Null varchar It holds the education.

9 Address_1 100 Not Null varchar It holds the address1

10 Address_2 100 Not Null varchar It holds the address2

11 Pin_Code 10 Not Null varchar It holds the pin code

12 Country 30 Not Null varchar It holds the country

13 State 30 Not Null varchar It holds the state

14 City 30 Not Null varchar It holds the city

15 Phone _no _1 20 Not Null varchar It holds the phone no1

16 Phone_no_2 20 Not Null varchar It holds the phone no2

17 Mobile_no 20 Not Null varchar It holds the mobile no

18 Fax_No 20 Not Null varchar It holds the fax no.

Users Registration Medical Details


Class Name : Users Registration Medical Details

Methods:
public bool SaveMedicaldetails(string userid, string username, string weight, string bloodgroup, string
ques1, string ques 2, string lastdonate, string diseaseid)

public bool UpdateMedicaldetails (string userid, string username, string weight, string bloodgroup,
string ques1, string ques 2, string lastdonate, string diseaseid)

public bool DeleteMedicaldetails(string userid)

public bool VerifyWeight(string userid)

public dataset GetMedicalDetail(string userid)

public dataset GetMedicalDetail(string groupid)

S No Fields Name Size Constraints Datatype Description

1 User_id 50 Not Null varchar It holds the id of the user.

2 User_name 100 Not null varchar It holds the name of the user.

3 weight Not Null int It hold weight of the user.

4 Blood_group 10 Not Null varchar It holds the blood group.

5 Have_you_donate 10 Not Null varchar It holds the question asked


_ previously

6 How_many_times 10 Not Null varchar It holds the question asked

7 Las_ Donate Not Null datetime It holds the last donation

8 Disease_id 10 Not Null int It holds the disease id

Disease Master
Class Name : Disease master
Methods:

public bool SaveDiseaseMaster(string diseasename)

public bool UpdateDiseaseMaster(string diseaseid)

public bool DeleteDiseaseMaster(string diseaseid)

public dataset GetDiseaseDetail(string diseaseid )

S No Fields Name Size Constraints Datatype Description

1 Disease_id Not Null int It holds the disease id

2 Disease_Nam 50 Not Null varchar It holds the disease name


e
Blood Group Detail Master

Class Name : BloodGroupMaster


Module :

public bool SaveBloodGroupMaster (string bloodgroupname)

public bool UpdateBloodGroupMaster (string bloodgroupid)

public bool DeleteBloodGroupMaster (string bloodgroupid)

public dataset GetBloodGroupMaster (string bloodgroupid )

S No Fields Name Size Constraints Datatype Description

1 Blood_group_ Not Null int It hold the id of the blood group


id

2 Blood_group_ 50 Not Null varchar It holds the blood group name


name

Blood Test Detail Master

Class Name : BloodTestDetailMaster


Method:

public bool SaveBloodTestDetail(string bloodtestname)

public bool UpdateBloodTest(string bloodtestid, string bloodtestname)

public bool DeleteBloodTest(string bloodtestid)

public dataset GetBloodTest(string bloodtestid )


S No Fields Name Size Constraints Datatype Description

1 Test_id Not Null Int It hold the id of the test.

2 Test_name 50 Not Null varchar It hold the test name.


Blood Test Category Detail

Class Name : BloodTestCategoryDetail


Method:

public bool SaveBloodTestCategoryDetail(string testid, string categoryid, string categoryname, string


method, string units, string referenceranges)

public bool UpdateBloodTestCategory( string testid, string categoryname, string method, string units,
string referenceranges)

public bool DeleteBloodTestCategory (string testid, string categoryid)

public dataset GetBloodTestCategory (string testid, string categoryid )

public dataset GetBloodTestCategory(datetime date)

public dataset GetBloodTestCategory(datetime todate, datetime fromdate)

S No Fields Name Size Constraints Datatype Description

1 Test_id Not Null int It hold the id of the test

2 Category_id Not Null int It hold the id of the category

3 Category 50 Not Null varchar It hold the category name


_name

4 Method 50 Not Null varchar It hold the method name of the test.

5 Units 100 Not Null varchar It hold the units of the blood

6 References_ 100 Not Null varchar It hold the ref ranges.


Ranges

7 Date Not null datetime It hold the current date


Donor Test Report/Result

Class Name : BloodTestCategoryDetail


Method:

public bool SaveResult(string userid, string testid, string categoryid, string result, datetime testdate,
string labno, string referringdoctor, string remark, datetime reportdate)

public dataset GetBloodTestResult (string testid, datetime date)

public dataset GetBloodTestResult(string testid )

public dataset GetBloodTestResult (string userid)

public dataset GetBloodTestResult (datetime date)

public dataset GetBloodTestResult(datetime todate, datetime fromdate)

S No Fields Name Size Constraints Datatype Description

1 Result_id Not Null int It hold the id of learner.

2 Donor_id Not Null int It hold the donor id.

3 Test _id Not Null int It hold the test id.

4 Category_id Not Null int It hold the category id.

5 Result 100 Not Null varchar It hold the result of the test.

6 Test_Date Not Null datetime It hold the test date.

7 Lab_No. 10 Not Null varchar It hold the lab no.

8 Referring_ 50 Not Null varchar It hold the referring doctor.


Doctor

9 Remark 100 Not Null varchar It hold the remarks.

10 Report_Date Not Null datetime It holds the report date.


Blood Stock Detail

Class Name : BloodStockDetail


Method:

public bool InwardStock(string groupid, string units, datetime date, string remark, string eoq)

public dataset InwardStockStatus(string groupid, datetime date)

public dataset InwardStockStatus(datetime date)

public dataset GetStockDetail (string groupid)


public dataset AvailableStock(string group)

public dataset AvailableStock(string group,datetime todate, datetime fromdate)

S No Fields Name Size Constraints Datatype Description

1 Blood_Stock_id Not Null int It hold the id of the blood stock.

2 Blood_group_i Not Null int It hold the id of blood group.


d

3 Blood_Units 50 Not Null varchar It hold the units of blood.

4 Date Not Null datetime It hold the current date

5 Action(S/R) 1 Not Null char It hold the action


(Submitted/Retrieval)

6 Remark 200 Not Null varchar It hold the remark.

7 EOQ(Economic 10 Not Null varchar It hold the eoq


Order
Quantity)

Blood Outgoing
Class Name: Blood Outgoing
Method:

public bool Save OutwardStock(string groupid, string units, string userid, string personname,)

public dataset OutwardStock(string groupid, datetime date)

public dataset OutwardStock(string groupid)

public dataset OutwardStock (string userid)

public dataset OutwardStock (datetime date)

public dataset OutwardStock(datetime todate, datetime fromdate)


S No Fields Name Size Constraints Datatype Description

1 Blood_group_id Not Null Int It hold the id of blood group

2 Units 50 Not Null varchar It hold the units of blood

3 User_id 50 Not Null varchar It hold the id of user

4 Person_Name 50 Not Null varchar It hold the person name

5 Date Not Null datetime It hold the current date

6 Action(S/R) 1 Not Null char It holds the action i.e.


Submitted/Retrieval

7 Delivering_ 50 Not Null varchar It holds the delivering authority.


Authority
User Feedback

Class Name: User Feedbak


Method:

public bool SaveFeedback(string userid, string username, string feedback)

public dataset GetFeedback(string userid)

public dataset GetFeedbackDate(datetime date)

S No Fields Name Size Constraints Datatype Description

1 Use_ id 50 Not Null varchar It hold the id of the user.

1 User_name 100 Not Null varchar It hold the name of the user.

2 feedback 100 Not Null varchar It hold the feedback

User Suggestions

Class Name: User Suggestions


Method:

public bool SaveSuggestions(string userid, string username, string suggestions)

public dataset GetSuggestions(string userid)

public dataset GetSuggestionsDate(string date)


S No Fields Name Size Constraints Datatype Description

1 User_id 50 Not Null varchar It hold the id of the user.

1 User_name 100 Not Null varchar It hold the name of the user.

2 suggestions 100 Not Null varchar It hold the suggestions.


Donors/Patient Request for Blood Donation Camp
Class Name : Blood Donation Camp

Method:
public bool SaveBloodDonationCamp(string userid, string username, string orgname, string seminartitle,
string seminarlocation, datetime requestdate, datetime date, string remark)

public bool GetDetail(string userid)

public bool GetDetailRequestDate(datetime date)

S No Fields Name Size Constraints Datatype Description

1 User_id 10 Not Null varchar It hold the id of the user.

2 User_name 50 Not Null varchar It hold the name of the user.

3 Name_of_ 50 Not Null varchar It hold the name of organization.


organization

4 Seminar_title 50 Not Null varchar It hold the seminar topic

5 Seminar_ 50 Not Null varchar It hold the seminar location


location

6 Seminar_ Not Null datetime It hold the seminar request date


request_date

7 Seminar_date Not Null datetimed It hold the seminar date

8 Remark 100 Not Null varchar It hold the remarks.


Donors/Patient Queries

Class Name : Donors/Patient Queries


Method:

public dataset SaveQueries(string userid, string username, datetime date, string queryasked)

public dataset GetQueriesId(string userid)

public dataset GetQueriesDate(datetime date)

S No Fields Name Size Constraints Datatype Description

1 User_ id 10 Not Null varchar It hold the id of the user.

2 User_name 50 Not Null varchar It hold the name of the user.

3 Query_id Not Null int It hold the id of query.

4 Query_Date Not Null datetime It hold the query date.

5 Query_asked 100 Not Null varchar It shows the query asked.


Donors/Patient Reply

Class Name : Donors/Patient Reply


Method:

public bool QueryReply(string userid)

public bool SaveReply(styring userid, string username, string doctorname, string queryid, string reply,
datetime date)

public dataset GetReplyDetail(string userid)

public dataset GetReplyDate(datetime date)

S No Fields Name Size Constraints Datatype Description

1 User_ id 10 Not Null varchar It hold the id of the user.

2 User_name 50 Not Null varchar It hold the name of the user.

3 Docto_ name 50 Not Null varchar It hold the doctor name

4 Query_id 10 Not Null int It hold the query id

5 Reply 100 Not Null varchar It hold the query reply

6 Date Not Null datetime It hold the date.


Upload Material

Class Name: Upload Material


Method :

public bool SaveMaterial(string userid, string username,string materialpath, string materialdesc, string
filepath)

public dataset GetDetail(string materialid)

public dataset GetDetail(datetime date)

S No Fields Name Size Constraints Datatype Description

1 User_id 100 Not Null varchar It hold the id of the user.

2 User_name 50 Not Null varchar It hold the name of the user.

3 Material_ 100 Not Null varchar It hold the material description.


Description

4 File_path 50 Not Null varchar It stores the path of file i.e. location

5 Material_id Not Null int It hold the id of material.

6 Date Not Null datetime It hold the current date


Connection Manager Class

Class Name: ConnectionManager

Description: This class provides interface for data access from database.

Fields:

Private SqlConnection connectionDB // Connection object

Private SqlCommand command //Command object

Private SqlDataAdapter dataadapter //DataAdapter object

Private DataSet data_set //Data set object

Private string ConnectionStr

// string variable to store connection string.

Private string ExceptionInfo

// string variable to store exception message if any exception occurs.

SqlTransaction objTransaction //Transaction object

Properties:

Public string ConnectionString

// Set only property to set ConnectionString

Public string GetException

//Get only property to get Exception message if any exception occurs.

Methods:

Public DataSet GetDataSet(string Query, string AliasName);

Description: Method used gets multiple records from from database into a dataset.

Inputs: String SQL Query and Virtual table name.

Output: DataSet
Public bool NonQuery(string Query)

Description: Method to execute insert/update/detete sql queries.

Inputs: String SQL Query to execute.

Output: True/False

Public object GetScaler(string Query)

Description: Method to Execute Scaler Sql Query.

Inputs: String SQL Query to execute.

Output: Object
Login Manager Class

Class Name: LoginManager

Description: This class used to manage Login related work.

Fields:

Private ConnectionManager objConnection // object of ConnectionManager Class

Private string ExceptionInfo // string variable to store exception message if


any exception occurs.

Properties:

Public string GetException


//Get only property to get Exception message if any exception occurs.

Methods:

Public bool AddLoginInfo(string userid, string password,char usertype);

Description: Method used to add login details of user.

Inputs: String userid selected by user, string password given by user and char type of user (A/O/C).

Output: True/False

Public bool ValidateUser(string userid, string password)

Description: Method to validates user on basis of userid and password passed as paramerters.

Inputs: String userid selected by user, string password given by user.

Output: True/False

Public bool ChangePassword(string userid, string oldpassword, string newpassword)

Description: Method to change password by user on basis of userid.

Inputs: String userid, old password to validate user and new passoword to be changed.

Output: True/False
Public bool ResetPassword(string userid)

Description: Method to reset password by administrator on basis of userid.

Inputs: String userid.

Output: True/False

Tables Used: Login_Info

S No Fields Name Size Null/Not Null Data type Description

1. User_Id 10 Not null Varchar Primary key

2. User_Password 20 Not null Varchar

3. User_Type 1 Not null Char O for operator/ A for


administration / C for
Client
User Manager Class

Class Name: UserManager

Description: This class provides interface for data access from database.

Fields:

Private ConnectionManager objConnection // object of ConnectionManager Class

Properties:

Methods:

Public bool AddLoginInfo(string userid, string password,char usertype);

Description: Method used to add login details of user.

Inputs: String userid selected by user, string password given by user and char type of user (A/O/C).

Output: True/False

Public bool ValidateUser(string userid, string password)

Description: Method to validates user on basis of userid and password passed as paramerters.

Inputs: String userid selected by user, string password given by user.

Output: True/False

Public bool ChangePassword(string userid, string oldpassword, string newpassword)

Description: Method to change password by user on basis of userid.

Inputs: String userid, old password to validate user and new passoword to be changed.

Output: True/False

Public bool ResetPassword(string userid)

Description: Method to reset password by administrator on basis of userid.


Inputs: String userid.

Output: True/False

Tables Used: Login_Info

S No Fields Name Size Null/Not Null Data type Description

1. User_Id 10 Not null Varchar Primary key

2. User_Password 20 Not null Varchar

O for operator/ A for


administration / C for
3. User_Type 1 Not null Char Client
MODULE DESCRIPTION

1. User Registration and Login Module


This module is responsible for registration of various users like Donors , Patient , Doctors,
Pathologists, Blood Keeper . The registration includes login details , personal details and medical details.

The Login is responsible for handling login related information of user. It has user friendly GUI
interface which provides all the required information with minimum efforts.

The Login has the responsibility to allow only authenticated users to login to the website. It keeps
check over the entry of the user. It provides flexibility to the users even in the case when the user
forgets his password. However the module has no provision to display the password if the user forgets
his password for security reasons.

The module consists of procedures to handle the storage ,updation and deletion of records of a
particular userid. It also consists of methods for authenticating the user. The authentication can be by
matching the password against user id or by matching the hint question and hint answer. It is also
responsible for fetching the hint question if the user forgets the password.

Features

 It has features responsible for saving, updating and deleting Login Details of users.
 It has user friendly and clear features to reveal its features.
 It retrieves and provides information in fast and efficient manner.

Benefits

The module provides the benefit of creating a first step check over the users. All the users have to go
through this check and if he passes this check, then only he will be allowed to access the useful features
of the website. It keeps track of the category of the user and based on the category appropriate
homepage of the user i.e. after the user is authenticated then if the user is a learner then he is
redirected to Learner’s home page and if he is a trainer then he is redirected to the trainer’s home page.

Methodology

The module is developed using the Object Oriented approach. The module is developed in three distinct
phases – Graphical User Interface (GUI), the coding (class level design) and database creation with
testing. GUI is done using Visual Studio 2005 and VC# using Cascading StyleSheets (CSS). GUI is designed
keeping easy user interface in mind. Different controls are used for data entry and checking feature.

The LoginManager class is designed as per the requirements of the project. All the properties are
matched with the corresponding fields of database tables. The properties of the class are kept public so
that it can be integrated with the form text fields in GUI forms.

2. Users Services Module


This module is responsible for handling various activities of users like:

Donors Services :

 Give Queries

 Give Suggestions

 Refer Friend

 Download Educational Broacher

 Get Blood Test

Patient Services :

 Give Queries

 Give Suggestions

 Refer Friend

 Download Educational Broacher

 Request for Blood Donation Camp


2. Management Services Module

Management includes users like Doctors, Pathologists and Higher Level Authorities whose
activities are :

Doctors Services:

 Give Queries Reply

 Give Suggestions Reply

 Refer Friend

 Upload Educational Broacher


 Send Reports

Pathologists Services:

 Conduct Blood Test

 Store Blood Test Information.

 Forward Blood Test Report to Doctors and Management.

 Download Educational Broacher

Blood Keeper Services:

 Information About Blood Group

 Information About Blood Test

 Information About Blood Test Category

 Download Educational Broacher


4Administrator Module

This module is responsible for:-

 Creating Users

 View/Edit Donors Details

 View/Edit Patient Details

 View/Edit Blood Test Report

5. Blood Stock Maintenance


This module is responsible for maintenance of blood stock which will be maintained like:

 Checking of Blood Incoming.

 Checking of Blood Outgoing.

 Checking of Blood Incoming and Blood Outgoing of a particular user.

6. Report Module
 Donor Detail Report

 Donor Test Detail Report

 Donor Blood Test Result Report

 Patient Detail Report

 Users Queries / Suggestions Report

 Blood Stock Detail Report

 Blood Stock Detail on the basis of particular Blood Group

 Blood Incoming detail Report

 Blood Outgoing detail Report


 Doctors/Pathologists/Blood Keeper Report

SCREEN SHOTS OF
SYSTEM
TESTING
Testing Methodology

This module is tested by the following testing methods

 Unit Testing
 Integration Testing
 White Box Testing
 Black Box Testing

Unit Testing:

Unit testing is a procedure used to validate that individual units of source code are working properly.
A unit is the smallest testable part of an application. In procedural programming a unit may be an
individual program, function, procedure, etc., while in object-oriented programming, the smallest unit is
a method, which may belong to a base/super class, abstract class or derived/child class.

Ideally, each test case is independent from the others; mock or fake objects as well as test harnesses
can be used to assist testing a module in isolation. Unit testing is typically done by software developers
to ensure that the code they have written meets software requirements and behaves as the developer
intended.

Unit testing provides a sort of living documentation of the system. Developers looking to learn what
functionality is provided by a unit and how to use it can look at the unit tests to gain a basic
understanding of the unit API.

Unit test cases embody characteristics that are critical to the success of the unit. These characteristics
can indicate appropriate/inappropriate use of a unit as well as negative behaviors that are to be trapped
by the unit. A unit test case, in and of itself, documents these critical characteristics, although many
software development environments do not rely solely upon code to document the product in
development. On the other hand, ordinary narrative documentation is more susceptible to drifting from
the implementation of the program and will thus become outdated (e.g. design changes, feature creep,
relaxed practices to keep documents up to date).

Integration Testing:
It is sometimes called I&T i.e. Integration and testing, it is the phase of software testing in which
individual software modules are combined and tested as a group. It follows unit testing and precedes
system testing. Integration testing takes as its input modules that have been unit tested, groups them in
larger aggregates, applies tests defined in an integration test plan to those aggregates, and delivers as its
output the integrated system ready for system testing.The purpose of integration testing is to verify
functional, performance and reliability requirements placed on major design items.

These "design items", i.e. assemblages (or groups of units), are exercised through their interfaces
using black box testing, success and error cases being simulated via appropriate parameter and data
inputs. Simulated usage of shared data areas and inter-process communication is tested and individual
subsystems are exercised through their input interface. Test cases are constructed to test that all
components within assemblages interact correctly, for example across procedure calls or process
activations, and this is done after testing individual modules, i.e. unit testing.

White Box Testing:

White-box testing, sometimes called glass-box testing, is a test case design method that uses the
control structure of the procedural design to derive test cases. Using white-box testing methods, the
software engineer can derive test cases that

(1) guarantee that all independent paths within a module have been exercised at least once,

(2) exercise all logical decisions on their true and false sides,

(3) execute all loops at their boundaries and within their operational bounds, and

(4) exercise internal data structures to ensure their validity.

A reasonable question might be posed at this juncture: "Why spend time and energy worrying about
(and testing) logical minutiae when we might better expend effort It is not possible to exhaustively test
every program path because the number of paths is simply too large. White-box tests can be designed
only after a component-level design (or source code) exists. The logical details of the program must be
available. Ensuring that program requirements have been met?" Stated another way, why don't we
spend all of our energy on black-box tests? The answer lies in the nature of software defects:

• Logic errors and incorrect assumptions are inversely proportional to the probability that a program
path will be executed. Errors tend to creep into our work when we design and implement function,
conditions, or control that are out of the mainstream. Everyday processing tends to be well understood
(and well scrutinized), while "special case" processing tends to fall into the cracks.
• We often believe that a logical path is not likely to be executed when, in fact, it may be executed on a
regular basis. The logical flow of a program is sometimes counterintuitive, meaning that our unconscious
assumptions about flow of control and data may lead us to make design errors that are uncovered only
once path testing commences.

• Typographical errors are random. When a program is translated into programming language source
code, it is likely that some typing errors will occur. Many will be uncovered by syntax and type checking
mechanisms, but others may go undetected until testing begins. It is as likely that a typo will exist on an
obscure logical path as on a mainstream path. Each of these reasons provides an argument for
conducting white-box tests. Black box testing, no matter how thorough, may miss the kinds of errors
noted here. White box testing is far more likely to uncover them.

Black Box Testing:


Black-box testing, also called behavioral testing, focuses on the functional requirements of the
software. That is, black-box testing enables the software engineer to derive sets of input conditions that
will fully exercise all functional requirements for a program. Black-box testing is not an alternative to
white-box techniques. Rather, it is a complementary approach that is likely to uncover a different class
of errors than white-box methods.

Black-box testing attempts to find errors in the following categories:

(1) incorrect or missing functions,

(2) interface errors,

(3) errors in data structures or external data base access,

(4) behavior or performance errors, and

(5) initialization and termination errors.

Unlike white-box testing, which is performed early in the testing process, blackbox testing tends to be
applied during later stages of testing. Because black-box testing purposely disregards control structure,
attention is focused on the information domain. Tests are designed to answer the following questions:

• How is functional validity tested?

• How is system behavior and performance tested?


• What classes of input will make good test cases?

• Is the system particularly sensitive to certain input values?

• How are the boundaries of a data class isolated?

• What data rates and data volume can the system tolerate?

• What effect will specific combinations of data have on system operation?

By applying black-box techniques, we derive a set of test cases that satisfy the following criteria:

(1) test cases that reduce, by a count that is greater than one, the number of additional test cases that
must be designed to achieve reasonable testing and

(2) test cases that tell us something about the presence or absence of classes of errors, rather than an
error associated only with the specific test at hand.
TEST CASES
Test Id : 1001 Test date :22-04-2010

Purpose : Testing of unit ‘LoginManager’ responsible for Login of User

Identifie Function/Procedur Parameter Expected Actual Remark


r e Values Result Result
(correct/bug
)
P001 ValidateUser Userid=”hashim” ‘donor’ ‘donor’ Correct

Passwd=”shakeel”
P002 ValidateUser Userid=”patient” ‘patient’ ‘patient’ Correct

Passwd=”medicine

P003 ValidateUser Userid=”vinay” ‘doctor’ ‘doctor’ Correct

Passwd=”kumar”

P004 ValidateUser Userid=”ajay” ‘ Admin” ‘Admin” Correct

Passwd=” admin”

P005 ValidateUser Userid=”anurag” ‘blood ‘blood Correct


keeper’ keeper’
Passwd=”sahay”

P006 ValidateUser Userid=”amit” ‘pathalogist ‘pathalogist’ Correct



Passwd=”kumar”

P007 ValidateUser Userid=”spi” ‘not ‘not Incorrect


authorised’ authorisaed
Passwd=”lko” ’

P008 ValidateUser Userid=”sahara” ‘’ ‘’ Correct

Passwd=”lkO”

P009 ValidateUser Userid=”123” ‘’ ‘’ Correct

Passwd=”shr”

P010 GetQuestion Userid=”SPI” “state” “state” Correct

P011 GetQuestion Userid=”sPi” “state” “state” Correct

P012 GetQuestion Userid=”” Null Null Correct

GetQuestion Userid=”sahara” Null Null Correct

P013

VerifyHintAnswer Userid=”SPI” True True Correct


P014 HintAns=”up”

VerifyHintAnswer Userid=”sPi” True True Correct

P015 HintAns=”up”

VerfiyHintAnswer Userid=”spi” True True Correct

P016 HintAns=”up”

VerifyHintAnswer Userid=”spi” False False Correct

P017 HintAns=”Up”

VerifyHintAnswer Userid=”spi” False False Correct

P018 HintAns=”UP”

VerfiyHintAnswer Userid=”Lotus” False False Correct

P019 HintAns=”up”

P020 VerifyHintAnswer Userid=”spi” False False Correct

HintAns=””

P021 VerifyHintAnswer Userid=”” False False Correct

HintAns=””

P022 VerifyHintAnswer Userid=”” False False Correct

HintAns=”up”

P023 DeleteLoginInfo Userid=”SPI” True True Correct

P024 DeleteLoginInfo Userid=”sPi” True True Correct

P025 DeleteLoginInfo Userid=”spi” True True Correct

P026 DeleteLoginInfo Userid=”sahara” False False Correct

P027 DeleteLoginInfo Userid=”” False False Correct


IMPLEMENTAION
Implementation Technologies:
The objective of this project is to develop an online property dealing website. When the user types
in the URL of the website in the address field of the browser, a Web Server is contacted to get the
requested information. In the .NET Framework, IIS (Internet Information Service) acts as the Web Server.
The sole task of a Web Server is to accept incoming HTTP requests and to return the requested resource
in an HTTP response. The first thing IIS does when a request comes in is to decide how to handle the
request. Its decision is based upon the requested file's extension. For example, if the requested file has
the .asp extension, IIS will route the request to be handled by asp.dll. If it has the extens ion of .aspx,
.ascx, etc, it will route the request to be handled by ASP.NET Engine.

Relation between IIS and ASP.NET

The ASP.NET Engine then gets the requested file, and if necessary contacts the database through
ADO.NET for the required file and then the information is sent back to the Client’s browser. Above figure
shows how a client browser interacts with the Web server and how the Web server handles the request
from client.

Implementation requirement:
1. A registered domain name is required for our website.
2. Web space on webserver to host the website. So we need a webhosting service also.
3. The hosting server must have .NET framework and MS SQL SERVER 2005 installed.
Uploading of website:
The website must be uploaded to a web server connected to the Internet in order to be
accessed on the Web. We use any FTP client program to connect to your host in order to upload
(transfer) your web site (files and other documents) to the server. And we restore the backup of
our database on the remote server.

CODING PART
Classes

1) CONNECTION MANAGER:-
using System;

using System.Data;

using System.Configuration;

using System.Linq;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.HtmlControls;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Xml.Linq;

using System.Data.OleDb;

/// <summary>

/// Summary description for ConnectionManager

/// </summary>

public class ConnectionManager

public OleDbConnection connection = new OleDbConnection();

public OleDbCommand command = new OleDbCommand();

public OleDbDataAdapter dataadapter1 = new OleDbDataAdapter();

public OleDbDataAdapter dataadapter = new OleDbDataAdapter();

public DataSet ds = new DataSet();

public DataSet ds2 = new DataSet();

public ConnectionManager()
{

//

// TODO: Add constructor logic here

//

public void Connect()

connection.ConnectionString = //"Provider =
Microsoft.Jet.OleDb.4.0;Data Source=C:\\test.mdb";

@"Provider=sqloledb;initial catalog=sgpgi;data
source=.\sqlexpress;integrated security=sspi";

command.Connection = connection;

dataadapter.SelectCommand = command;

public DataSet getdataset(string query,string aliasname)

command.CommandText = query;

dataadapter.Fill(ds,aliasname);

return ds;

/* public OleDbDataReader GetReader(string query)

command.CommandText = query;

if(connection.State==ConnectionState.Closed)

connection.Open();

OleDbDataReader dr= command.ExecuteReader();

return dr;
}*/

}
2) LOGIN:-

using System;

using System.Collections;

using System.Data;

using System.Configuration;

using System.Linq;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.HtmlControls;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;

using System.Data.OleDb;

using System.Collections.Generic;

using System.Text;

using System.Web.SessionState;

/// <summary>

/// Summary description for logion

/// </summary>

public class login : System.Web.UI.Page

public ConnectionManager cm = new ConnectionManager();

public string pas;

public login()

cm.Connect();

public bool save(string uusername, string ppassword, string Hint_ques)

try

if (uusername != "" && ppassword != "")

cm.command.CommandText = "select * from Login";

cm.dataadapter.Fill(cm.ds, "a1");
DataRow dr = cm.ds.Tables["a1"].NewRow();

dr["User_id"] = uusername;

dr["Passwd"] = ppassword;

dr["Hint_ques"] = Hint_ques;

//dr["date"] = DateTime.Now.Date;

cm.ds.Tables["a1"].Rows.Add(dr);

OleDbCommandBuilder builder = new


OleDbCommandBuilder(cm.dataadapter);

cm.dataadapter.Update(cm.ds.Tables["a1"]);

return true;

else

return false;

catch (Exception ex)

return false;

public bool chekuser(string username)

try

if (username != "")

{
cm.command.CommandText = "select User_id from login";

cm.dataadapter.Fill(cm.ds, "a1");

DataRow[] dr = cm.ds.Tables["a1"].Select("User_id = '" +


username + "'");

if (dr.Length > 0)

return true;

else

return false;

else

return false;

catch (Exception ex)

return false;

public bool verifyuser(string username, string password)

try

cm.command.CommandText = "select User_id,Passwd from Login";

cm.dataadapter.Fill(cm.ds, "a1");

DataRow[] dr = cm.ds.Tables["a1"].Select("User_id = '" + username


+ "'AND Passwd ='" + password + "'");
if (dr.Length > 0)

return true;

else

return false;

catch (Exception ex)

return false;

public bool getdetail(string username)

try

cm.command.CommandText = "Select * from login where uusername = '"


+ username + "'";

cm.dataadapter.Fill(cm.ds, "c");

DataRow dr = cm.ds.Tables["c"].Rows[0];

if (cm.ds.Tables["c"].Rows.Count > 0)

pas = dr["ppassword"].ToString();

return true;

}
else

return false;

catch (Exception ex)

return false;

public bool updatedetail(string username, string password)

try

//cm.command.CommandText = "update login set ppassword = '" +


password + "' where uusername = '" + username + "'";

cm.command.CommandText = "update login set ppassword = '" +


password + "' where uusername = '" + username + "'";

cm.connection.Open();

int result = cm.command.ExecuteNonQuery();

cm.connection.Close();

if (result > 1)

return true;

else

return false;

catch (Exception ex)

{
return false;

public bool deletedetail(string username, string password)

try

cm.command.CommandText = "delete from login where uusername = '" +


username + "'";

cm.connection.Open();

int result = cm.command.ExecuteNonQuery();

cm.connection.Close();

if (result > 1)

return true;

else

return false;

catch (Exception ex)

return false;

public static bool getdetail(string query, GridView grdbind, string


aliasname)

DataSet dataset;

ConnectionManager newcm = new ConnectionManager();


newcm.Connect();

dataset = newcm.getdataset(query, aliasname);

grdbind.DataSource = dataset.Tables[aliasname];

grdbind.DataBind();

if (dataset.Tables[aliasname].Rows.Count > 0)

return true;

else

return false;

public DataSet getdetail1(string username)

DataSet ds1;

ds1 = cm.getdataset("select
Fathe_Name,Surname,Sex,Marital_Status,Occupation,Education,Address_1,Address_2
,Pin_Code,Country,State,City,Phoneno1,Phoneno2,Mobile_no,Fax_No from
userpersonalregdetail where User_Id='" + username + "'", "a");

if (ds1.Tables["a"].Rows.Count > 0)

return ds1;

else

return null;

}
public bool regsave2(string userid, string username, string securityques,
string yourans, string dob, string email, string alteremail)

try

if (userid != "" && username != "")

cm.command.CommandText = "select * from userlogindetail";

cm.dataadapter.Fill(cm.ds, "a1");

DataRow dr = cm.ds.Tables["a1"].NewRow();

dr["User_id"] = userid;

dr["User_Name"] = username;

dr["Security_Questions"] = securityques;

dr["Your_Answer"] = yourans;

dr["Date_of_Birth"] = dob;

dr["emai_id"] = email;

dr["Alternate_email_id"] = alteremail;

dr["date"] = DateTime.Now;

cm.ds.Tables["a1"].Rows.Add(dr);

OleDbCommandBuilder builder = new


OleDbCommandBuilder(cm.dataadapter);

cm.dataadapter.Update(cm.ds.Tables["a1"]);

return true;

else

return false;
}

catch (Exception ex)

return false;

public bool regsave1(string usertype, string userid, string passwd, string


hintques, string yourans)

try

if (userid != "" && passwd != "")

cm.command.CommandText = "select * from login";

cm.dataadapter.Fill(cm.ds, "a1");

DataRow dr = cm.ds.Tables["a1"].NewRow();

dr["Type_of_user"] = usertype;

dr["User_id"] = userid;

dr["Passwd"] = passwd;

dr["Hint_ques"] = hintques;
dr["Hint_answ"] = yourans;

cm.ds.Tables["a1"].Rows.Add(dr);

OleDbCommandBuilder builder = new


OleDbCommandBuilder(cm.dataadapter);

cm.dataadapter.Update(cm.ds.Tables["a1"]);

return true;

else

return false;

catch (Exception ex)

return false;

public int chekusertype(string username)

try

cm.command.CommandText = "select Type_of_user from login where


User_id ='" + username + "'";
cm.dataadapter.Fill(cm.ds, "a1");

DataRow[] dr = cm.ds.Tables["a1"].Select("Type_of_user = '" + 'p'


+ "'");

if (dr.Length > 0)

return 1;

DataRow[] dr1 = cm.ds.Tables["a1"].Select("Type_of_user = '" + 'd'


+ "'");

if (dr1.Length > 0)

return 2;

DataRow[] dr2 = cm.ds.Tables["a1"].Select("Type_of_user = '" + 'a'


+ "'");

if (dr2.Length > 0)

return 3;

DataRow[] dr3 = cm.ds.Tables["a1"].Select("Type_of_user = '" + 'c'


+ "'");

if (dr3.Length > 0)

{
return 4;

DataRow[] dr4 = cm.ds.Tables["a1"].Select("Type_of_user = '" + 'b'


+ "'");

if (dr4.Length > 0)

return 5;

DataRow[] dr5 = cm.ds.Tables["a1"].Select("Type_of_user = '" + 'o'


+ "'");

if (dr5.Length > 0)

return 6;

else

return 7;

catch (Exception ex)

return 5;

}
}

public bool personalsave(string userid, string Fathername, string


surrname, string Occupation, string education, string maritalstatus, string
sex, string Address1, string Address2, string pincode, string country, string
state, string city, string phoneno1, string phoneno2, string mobileno, string
faxno)

try

if (userid != "" && Fathername != "")

cm.command.CommandText = "select * from userpersonalregdetail


";

cm.dataadapter.Fill(cm.ds, "a1");

DataRow dr = cm.ds.Tables["a1"].NewRow();

dr["User_id"] = userid;

dr["Fathe_Name"] = Fathername;

dr["Surname"] = surrname;

dr["Sex"] = sex;

dr["Marital_Status"] = maritalstatus;

dr["Occupation"] = Occupation;

dr["Education"] = education;

dr["Address_1"] = Address1;

dr["Address_2"] = Address2;

dr["Pin_Code"] = pincode;

dr["Country"] = country;

dr["State"] = state;
dr["City"] = city;

dr["Phoneno1"] = phoneno1;

dr["Phoneno2"] = phoneno2;

dr["Mobile_no"] = mobileno;

dr["Fax_No"] = faxno;

cm.ds.Tables["a1"].Rows.Add(dr);

OleDbCommandBuilder builder = new


OleDbCommandBuilder(cm.dataadapter);

cm.dataadapter.Update(cm.ds.Tables["a1"]);

return true;

else

return false;

catch (Exception ex)

return false;

}
public bool Donor_med_save(string userid, string username, string weight,
string disease, string Bloodid, string donatedprev, string times, string
lastdonate)

try

if (userid != "" && username != "")

cm.command.CommandText = "select * from userregmedicaldetail";

cm.dataadapter.Fill(cm.ds, "a1");

DataRow dr = cm.ds.Tables["a1"].NewRow();

dr["User_id"] = userid;

dr["User_name"] = username;

dr["weight"] = weight;

dr["Blood_id"] = Bloodid;

dr["donated_previously"] = donatedprev;

dr["times"] = times;

dr["lastdonate"] = lastdonate;

dr["Disease_id"] = disease;

cm.ds.Tables["a1"].Rows.Add(dr);

OleDbCommandBuilder builder = new


OleDbCommandBuilder(cm.dataadapter);

cm.dataadapter.Update(cm.ds.Tables["a1"]);

return true;

else

return false;
}

catch (Exception ex)

return false;

public bool update_personal_detail(string username, string fathername,


string sex, string marital, string occu, string edu, string add1, string add2,
string pin, string country, string state, string city, string phon1, string
phone2, string mobile, string fax)

//try

//{

//cm.command.CommandText = "update login set ppassword = '" + password


+ "' where uusername = '" + username + "'";

cm.command.CommandText = "update userpersonalregdetail set Fathe_Name


= '" + fathername + "', Sex='" + sex + "', Marital_Status='" + marital + "',
Occupation='" + occu + "',Education='" + edu + "',Address_1='" + add1 +
"',Address_2='" + add2 + "',Pin_Code='" + pin + "',Country='" + country +
"',State='" + state + "',City='" + city + "',Phoneno1='" + phon1 + "'
,Phoneno2='" + phone2 + "',Mobile_no='" + mobile + "',Fax_No='" + fax + "'
where User_Id = '" + username + "'";

cm.connection.Open();
int result = cm.command.ExecuteNonQuery();

cm.connection.Close();

if (result > 0)

return true;

else

return false;

// }

/* catch (Exception ex)

return false;

}*/

public bool savefeedback(string username, string feedback)

try

if (username != "")

cm.command.CommandText = "select * from User_Feedback";

cm.dataadapter.Fill(cm.ds, "a1");

DataRow dr = cm.ds.Tables["a1"].NewRow();

dr["User_id"] = username;

dr["feedback"] = feedback;

cm.ds.Tables["a1"].Rows.Add(dr);

OleDbCommandBuilder builder = new


OleDbCommandBuilder(cm.dataadapter);

cm.dataadapter.Update(cm.ds.Tables["a1"]);

return true;
}

else

return false;

catch (Exception ex)

return false;

public bool save_Blood_entry(string bloodtestname)

try

if (bloodtestname != "")

cm.command.CommandText = "select * from


Blood_Test_Detail_Master";

cm.dataadapter.Fill(cm.ds, "a1");

DataRow dr = cm.ds.Tables["a1"].NewRow();

dr["Test_name"] = bloodtestname;

cm.ds.Tables["a1"].Rows.Add(dr);

OleDbCommandBuilder builder = new


OleDbCommandBuilder(cm.dataadapter);

cm.dataadapter.Update(cm.ds.Tables["a1"]);

return true;
}

else

return false;

catch (Exception ex)

return false;

public bool save_Blood_category_entry(string testid, string testcatname,


string testmethod, string units, string referencerange, string date)

try

if (testid != "")

cm.command.CommandText = "select * from


Blood_Test_Category_Detail";

cm.dataadapter.Fill(cm.ds, "a1");

DataRow dr = cm.ds.Tables["a1"].NewRow();

dr["Test_id"] = testid;

dr["Category_name"] = testcatname;
dr["Method"] = testmethod;

dr["Units"] = units;

dr["References_Ranges"] = referencerange;

dr["Date"] = date;

cm.ds.Tables["a1"].Rows.Add(dr);

OleDbCommandBuilder builder = new


OleDbCommandBuilder(cm.dataadapter);

cm.dataadapter.Update(cm.ds.Tables["a1"]);

return true;

else

return false;

catch (Exception ex)

return false;

public bool save_Seminar_request(string userid, string orgname, string


title, string location, string reqdate, string date, string message)
{

try

if (userid != "")

cm.command.CommandText = "select * from


Blood_Donation_Camp_Request";

cm.dataadapter.Fill(cm.ds, "a1");

DataRow dr = cm.ds.Tables["a1"].NewRow();

dr["User_id"] = userid;

dr["Name_of_organization"] = orgname;

dr["Seminar_title"] = title;

dr["Seminar_location"] = location;

dr["Seminar_request_date"] = reqdate;

dr["Seminar_date"] = date;

dr["Remark"] = message;

dr["Request_status"] = 'n';

cm.ds.Tables["a1"].Rows.Add(dr);

OleDbCommandBuilder builder = new


OleDbCommandBuilder(cm.dataadapter);

cm.dataadapter.Update(cm.ds.Tables["a1"]);

return true;

else

return false;

catch (Exception ex)


{

return false;

public DataSet viewSeminarReq()

DataSet ds1;

ds1 = cm.getdataset("select * from Blood_Donation_Camp_Request", "a");

if (ds1.Tables["a"].Rows.Count > 0)

return ds1;

else

return null;

public bool SaveSeminarRep(string userid, string reply, DateTime dat)

try

if (userid != "" && reply != "")

cm.command.CommandText = "select * from Seminar_Reply ";

cm.dataadapter.Fill(cm.ds, "a1");

DataRow dr = cm.ds.Tables["a1"].NewRow();

dr["User_id"] = userid;
dr["Reply"] = reply;

dr["Date"] = dat;

cm.ds.Tables["a1"].Rows.Add(dr);

OleDbCommandBuilder builder = new


OleDbCommandBuilder(cm.dataadapter);

cm.dataadapter.Update(cm.ds.Tables["a1"]);

return true;

else

return false;

catch (Exception ex)

return false;

}
public bool Reqstatus(string userid)

// try

// {

//cm.command.Commandt = "update login set ppassword = '" + password +


"' where uusername = '" + username + "'";

cm.command.CommandText = "update Blood_Donation_Camp_Request set


Request_status ='r' where User_id ='" + userid + "' ";

cm.connection.Open();

int result = cm.command.ExecuteNonQuery();

cm.connection.Close();

if (result > 0)

return true;

else

return false;

/* }

catch (Exception ex)

return false;

}*/

public DataSet viewSeminarReply(string userid)

DataSet ds1;
ds1 = cm.getdataset("select * from Seminar_Reply where User_id='" +
userid + "' ", "a");

if (ds1.Tables["a"].Rows.Count > 0)

return ds1;

else

return null;

public DataSet getdetail2(string username)

DataSet ds1;

ds1 = cm.getdataset("select * from userlogindetail where User_id='" +


username + "'", "a");

if (ds1.Tables["a"].Rows.Count > 0)

return ds1;

else

return null;

public bool findage(string dat)

try

{
DateTime dat1 = DateTime.Parse(dat);

int current = Convert.ToInt32(DateTime.Now.Year);

int dob = Convert.ToInt32(dat1.Year);

int age = current - dob;

if (age > 18 && age < 46)

return true;

else

return false;

catch(Exception e)

return false;

}
3) QUERY;-

using System;

using System.Data;

using System.Data.OleDb;

using System.Configuration;

using System.Linq;
using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.HtmlControls;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Xml.Linq;

using System.Web.SessionState;

using System.Text;

/// <summary>

/// Summary description for Query

/// </summary>

public class Query : System.Web.UI.Page

public ConnectionManager cm = new ConnectionManager();

public string pas;

public Query()

cm.Connect();

public bool savequery(string userid, char querytype, DateTime dat, string


query)

try

{
if (userid != "" && query != "")

cm.command.CommandText = "select * from Users_Queries ";

cm.dataadapter.Fill(cm.ds, "a1");

DataRow dr = cm.ds.Tables["a1"].NewRow();

dr["User_id"] = userid;

dr["Query_type"] = querytype;

dr["Query_Date"] = dat;

dr["Query_asked"] = query;

dr["Query_status"] = 'n';

cm.ds.Tables["a1"].Rows.Add(dr);

OleDbCommandBuilder builder = new


OleDbCommandBuilder(cm.dataadapter);

cm.dataadapter.Update(cm.ds.Tables["a1"]);

return true;

else

return false;

catch (Exception ex)

return false;
}

public DataSet viewquery()

DataSet ds1;

ds1 = cm.getdataset("select * from Users_Queries where


Query_type='q'", "a");

if (ds1.Tables["a"].Rows.Count > 0)

return ds1;

else

return null;

public bool savereply(string userid, string reply, DateTime dat)

try

if (userid != "" && reply != "")

cm.command.CommandText = "select * from Users_Reply ";

cm.dataadapter.Fill(cm.ds, "a1");

DataRow dr = cm.ds.Tables["a1"].NewRow();

dr["User_id"] = userid;

dr["Reply"] = reply;

dr["Date"] = dat;
cm.ds.Tables["a1"].Rows.Add(dr);

OleDbCommandBuilder builder = new


OleDbCommandBuilder(cm.dataadapter);

cm.dataadapter.Update(cm.ds.Tables["a1"]);

return true;

else

return false;

catch (Exception ex)

return false;

public bool querystatus(string userid)

// try

// {
//cm.command.Commandt = "update login set ppassword = '" + password +
"' where uusername = '" + username + "'";

cm.command.CommandText = "update Users_Queries set Query_status ='r'


where User_id ='" + userid+ "' ";

cm.connection.Open();

int result = cm.command.ExecuteNonQuery();

cm.connection.Close();

if (result > 0)

return true;

else

return false;

/* }

catch (Exception ex)

return false;

}*/

public DataSet viewReply(string userid)

DataSet ds1;

ds1 = cm.getdataset("select * from Users_Reply where


User_id='"+userid+"' ", "a");
if (ds1.Tables["a"].Rows.Count > 0)

return ds1;

else

return null;

public DataSet viewBloodAppReq()

DataSet ds1;

ds1 = cm.getdataset("select * from Users_Queries where


Query_type='r'", "a");

if (ds1.Tables["a"].Rows.Count > 0)

return ds1;

else

return null;

public DataSet forgetPassWord(string userid ,string ques)

DataSet ans;

ans = cm.getdataset("select * from Login where User_id='" + userid +


"' and Hint_ques='" + ques + "' ", "a");
if (ans.Tables["a"].Rows.Count>0)

return ans;

else

return null;

}
4) UPLOAD:-

using System;

using System.Data;

using System.Data.OleDb;

using System.Configuration;

using System.Linq;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.HtmlControls;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Xml.Linq;

using System.Web.SessionState;
using System.Text;

/// <summary>

/// Summary description for upload

/// </summary>

public class upload : System.Web.UI.Page

public ConnectionManager cm = new ConnectionManager();

public string pas;

public upload()

cm.Connect();

public bool saveupload(string MaterialDesc, string Path)

try

if (Path != "")

string ss;

ss = Session["username"]+" ";

cm.command.CommandText = "select * from Upload_Material";

cm.dataadapter.Fill(cm.ds, "a1");

DataRow dr = cm.ds.Tables["a1"].NewRow();
dr["User_id"] = ss;

dr["Material_Description"] = MaterialDesc;

dr["File_path"] = Path;

dr["Date"] = DateTime.Now;

//dr["date"] = DateTime.Now.Date;

cm.ds.Tables["a1"].Rows.Add(dr);

OleDbCommandBuilder builder = new


OleDbCommandBuilder(cm.dataadapter);

cm.dataadapter.Update(cm.ds.Tables["a1"]);

return true;

else

return false;

catch (Exception ex)

return false;

public DataSet viewmaterial()

DataSet ds1;

ds1 = cm.getdataset("select * from Upload_Material", "a");

if (ds1.Tables["a"].Rows.Count > 0)
return ds1;

else

return null;

}
5) DONOR SEARCH:-

using System;

using System.Data;

using System.Configuration;

using System.Linq;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.HtmlControls;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Xml.Linq;

/// <swummary>

/// Summary description for DonorSearch

/// </summary>

public class DonorSearch

{
public ConnectionManager cm = new ConnectionManager();

public DonorSearch()

cm.Connect();

public DataSet getDonorDetail1(string state, string city, string bldgrp)

DataSet ds1;

ds1 = cm.getdataset("Select
l.Type_of_user,ld.User_name,ld.emai_id,pd.Sex,pd.Address_1,pd.Phoneno1,pd.Mobi
le_no,pd.Pin_Code,md.lastdonate from login l,userlogindetail
ld,userpersonalregdetail pd,userregmedicaldetail md where
l.User_id=ld.User_id and ld.User_id=pd.User_id and pd.User_id=md.User_id and
md.Blood_id='" + bldgrp + "'and pd.State='" + state + "'and pd.City='" + city
+ "'", "a");

if (ds1.Tables["a"].Rows.Count > 0)

return ds1;

else

return null;

}
6) DONOR REGISTRATION;-

using System;

using System.Data;

using System.Data.OleDb;

using System.Configuration;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.HtmlControls;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

/// <summary>

/// Summary description for DonorRegistration

/// </summary>

public class DonorRegistration

public ConnectionForm connectionform = new ConnectionForm();

public DonorRegistration()

{
connectionform.Connect();

public bool donor_registration(string uname, string username, string


password, string dob, string gender,string sstate,string ccity,string aarea,
string bloodgroup, string weight, string mobileno, string residence, string
office, string eemail)

try

if (uname != "" && username != "" && password != "" && dob != ""
&& gender != "" && bloodgroup != "" && weight != "" && mobileno != "" &&
residence != "" && office != "" && eemail != "")

connectionform.command.CommandText = "select * from


donor_registration ";

connectionform.dataadapter.Fill(connectionform.data_set,
"AD1");

DataRow data_row =
connectionform.data_set.Tables["AD1"].NewRow();

data_row["name"] = uname;

data_row["username"] = username;

data_row["password"] = password;

data_row["date_of_birth"] = dob;

data_row["gender"] = gender;

data_row["state"] = sstate;

data_row["city"] = ccity;

data_row["area"] = aarea;

data_row["blood_group"] = bloodgroup;

data_row["weight"] = weight;

data_row["mobile_no"] = mobileno;

data_row["residence"] = residence;
data_row["office"] = office;

data_row["email"] = eemail;

connectionform.data_set.Tables["AD1"].Rows.Add(data_row);

OleDbCommandBuilder CommandBuilder = new


OleDbCommandBuilder(connectionform.dataadapter);

connectionform.dataadapter.Update(connectionform.data_set.Tables["AD1"]);

return true;

else

return false;

catch (Exception ex)

return false;

public bool validate_user(string struser_id, string strpassword)

try

DataRow[] dataRowArray = null;

DataRow data_row = null;

connectionform.command.CommandText = "select * from admin";

connectionform.dataadapter.Fill(connectionform.data_set, "l1");

dataRowArray = connectionform.data_set.Tables["l1"].Select("uname
= '" + struser_id + "'");
if (dataRowArray.Length > 0)

data_row = dataRowArray[0];

if (strpassword.Equals(data_row["password"].ToString()))

return true;

else

return false;

else

return false;

catch (Exception ex)

return false;

public bool save_seminardetail(string c_name, string org, string s_topic,


string s_location, string request_date, string seminar_date, string message)

try

{
if (c_name != "" && org != "" && s_topic != "" && s_location != ""
&& request_date != "" && seminar_date != "" && message != "")

connectionform.command.CommandText = "select * from seminar ";

connectionform.dataadapter.Fill(connectionform.data_set,
"AD1");

DataRow data_row =
connectionform.data_set.Tables["AD1"].NewRow();

data_row["clientname"] = c_name;

data_row["organization"] = org;

data_row["seminar_topic"] = s_topic;

data_row["seminar_location"] = s_location;

data_row["seminar_request_date"] = request_date;

data_row["seminar_date"] = seminar_date; ;

data_row["message"] = message;

connectionform.data_set.Tables["AD1"].Rows.Add(data_row);

OleDbCommandBuilder CommandBuilder = new


OleDbCommandBuilder(connectionform.dataadapter);

connectionform.dataadapter.Update(connectionform.data_set.Tables["AD1"]);

return true;

else

return false;

catch (Exception ex)

return false;
}

public bool validatedonor_user(string struser_id, string strpassword)

try

DataRow[] dataRowArray = null;

DataRow data_row = null;

connectionform.command.CommandText = "select * from


donor_registration";

connectionform.dataadapter.Fill(connectionform.data_set, "l1");

dataRowArray =
connectionform.data_set.Tables["l1"].Select("username = '" + struser_id +
"'");

if (dataRowArray.Length > 0)

data_row = dataRowArray[0];

if (strpassword.Equals(data_row["password"].ToString()))

return true;

else

return false;

else

{
return false;

catch (Exception ex)

return false;

}
7) DISEASE:-

using System;

using System.Collections;

using System.Data;

using System.Configuration;

using System.Linq;

using System.Web;

using System.Web.Security;

using System.Web.UI;
using System.Web.UI.HtmlControls;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Xml.Linq;

using System.Data.OleDb;

using System.Collections.Generic;

using System.Text;

using System.Web.SessionState;

/// <summary>

/// Summary description for disease

/// </summary>

public class disease : System.Web.UI.Page

public ConnectionManager cm = new ConnectionManager();

public string pas;

public disease()

cm.Connect();

public bool savedisease(string dieseasename)

try

{
if (dieseasename != "")

cm.command.CommandText = "select * from Disease_Master";

cm.dataadapter.Fill(cm.ds, "a1");

DataRow dr = cm.ds.Tables["a1"].NewRow();

dr["Disease_Name"] = dieseasename;

cm.ds.Tables["a1"].Rows.Add(dr);

OleDbCommandBuilder builder = new


OleDbCommandBuilder(cm.dataadapter);

cm.dataadapter.Update(cm.ds.Tables["a1"]);

return true;

else

return false;

catch (Exception ex)

return false;

}
8) BLOOD STOCK DETAIL:-

using System;

using System.Data;

using System.Configuration;

using System.Linq;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.HtmlControls;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Xml.Linq;

using System.Data.OleDb;

using System.Web.SessionState;

/// <summary>
/// Summary description for BloodStockDetail

/// </summary>

public class BloodStockDetail

public ConnectionManager cm = new ConnectionManager();

public BloodStockDetail()

cm.Connect();

//

// TODO: Add constructor logic here

//

public bool InwardStock(string groupid, string units, string dat, string


remark, string eoq, char action)

try

if (groupid != "" && units != "")

cm.command.CommandText = "select * from Blood_Stock_Detail";

cm.dataadapter.Fill(cm.ds, "a1");

DataRow dr = cm.ds.Tables["a1"].NewRow();

dr["Blood_group_id"] = groupid;

dr["Blood_Units"] = units;

dr["Date"] = dat;

dr["ActionSr"] = action;

dr["Remark"] = remark;
dr["EOQ"] = eoq;

cm.ds.Tables["a1"].Rows.Add(dr);

OleDbCommandBuilder builder = new


OleDbCommandBuilder(cm.dataadapter);

cm.dataadapter.Update(cm.ds.Tables["a1"]);

return true;

else

return false;

catch (Exception ex)

return false;

public bool save_blood_entry(string bgrpname)

try

if (bgrpname != "")

{
cm.command.CommandText = "select * from
Blood_Group_Detail_Master";

cm.dataadapter.Fill(cm.ds, "a1");

DataRow dr = cm.ds.Tables["a1"].NewRow();

dr["Blood_group_name"] = bgrpname;

cm.ds.Tables["a1"].Rows.Add(dr);

OleDbCommandBuilder builder = new


OleDbCommandBuilder(cm.dataadapter);

cm.dataadapter.Update(cm.ds.Tables["a1"]);

return true;

else

return false;

catch (Exception ex)

return false;

public DataSet getdetailblood1(string groupid, DateTime dat)


{

DataSet ds1;

ds1 = cm.getdataset("select * from Blood_Stock_Detail where


Blood_group_id='" + groupid + "'and ActionSr='s'and Date='" + dat + "' ",
"a");

if (ds1.Tables["a"].Rows.Count > 0)

return ds1;

else

return null;

public DataSet getdetailblood2(DateTime dat)

DataSet ds1;

ds1 = cm.getdataset("select * from Blood_Stock_Detail where Date='" +


dat + "'and ActionSr='s'", "a");

if (ds1.Tables["a"].Rows.Count > 0)

return ds1;

else

return null;

public DataSet getdetailblood3(string groupid)

DataSet ds1;
ds1 = cm.getdataset("select * from Blood_Stock_Detail where
Blood_group_id='" + groupid + "'and ActionSr='s'", "a");

if (ds1.Tables["a"].Rows.Count > 0)

return ds1;

else

return null;

public DataSet getdetailbloodout1(string groupid, DateTime dat)

DataSet ds1;

ds1 = cm.getdataset("select * from Blood_Stock_Detail where


Blood_group_id='" + groupid + "'and ActionSr='r'and Date='" + dat + "' ",
"a");

if (ds1.Tables["a"].Rows.Count > 0)

return ds1;

else

return null;

public DataSet getdetailbloodout2(DateTime dat)

DataSet ds1;
ds1 = cm.getdataset("select * from Blood_Stock_Detail where Date='" +
dat + "'and ActionSr='r'", "a");

if (ds1.Tables["a"].Rows.Count > 0)

return ds1;

else

return null;

public DataSet getdetailbloodout3(string groupid)

DataSet ds1;

ds1 = cm.getdataset("select * from Blood_Stock_Detail where


Blood_group_id='" + groupid + "'and ActionSr='r'", "a");

if (ds1.Tables["a"].Rows.Count > 0)

return ds1;

else

return null;

public bool save_test_result(string DonorName, string testId, string


catId, string result, string testDate, string lab, string doctor, string
remark)

try

if (DonorName != "")
{

cm.command.CommandText = "select * from Donor_Test_Result";

cm.dataadapter.Fill(cm.ds, "a1");

DataRow dr = cm.ds.Tables["a1"].NewRow();

dr["Donor_id"] = DonorName;

dr["Test_id"] = testId;

dr["Category_id"] = catId;

dr["Result"] = result;

dr["Test_Date"] = testDate;

dr["Lab_No"] = lab;

dr["Referring_Doctor"] = doctor;

dr["Remark"] = remark;

dr["Report_Date"] = DateTime.Now;

cm.ds.Tables["a1"].Rows.Add(dr);

OleDbCommandBuilder builder = new


OleDbCommandBuilder(cm.dataadapter);

cm.dataadapter.Update(cm.ds.Tables["a1"]);

return true;

else

return false;

catch (Exception ex)

return false;
}

public DataSet getTestResult(string user)

DataSet ds1;

ds1 = cm.getdataset("select * from Donor_Test_Result where


Referring_Doctor='" + user + "'", "a");

if (ds1.Tables["a"].Rows.Count > 0)

return ds1;

else

return null;

public DataSet getTestResult2(string user)

DataSet ds1;

ds1 = cm.getdataset("select * from Donor_Test_Result where Donor_id


='" + user + "'", "a");

if (ds1.Tables["a"].Rows.Count > 0)

return ds1;

else
return null;

public int Bloodstatusin(int groupid)

try

DataSet ds3;

ds3 = cm.getdataset("select sum(Blood_Units) from


Blood_Stock_Detail where Blood_group_id='" + groupid + "'and ActionSr='s' ",
"a");

int s_sum = Convert.ToInt32(ds3.Tables["a"].Rows[0]


[0].ToString());

return s_sum;

catch (Exception ex)

return -1;

public int Bloodstatusout(int groupid)

{
try

DataSet ds4;

ds4 = cm.getdataset("select sum(Blood_Units) from


Blood_Stock_Detail where Blood_group_id='" + groupid + "'and ActionSr='r' ",
"ar");

int sum2 = Convert.ToInt32(ds4.Tables["ar"].Rows[0]


[0].ToString());

return sum2;

catch (Exception ex)

return -1;

public DataSet getstaus(int groupid)

DataSet dsAvailability;

dsAvailability = cm.getdataset("select Remark,(select Blood_Units


where Blood_group_id=" + groupid + " and ActionSr='s') as Inward,(select
Blood_Units where Blood_group_id=" + groupid + " and ActionSr='r') as
Outward,Date,(select sum(Blood_Units) from Blood_Stock_Detail where
Blood_group_id='" + groupid + "'and ActionSr='s') as InwardTotal,(select
sum(Blood_Units) from Blood_Stock_Detail where Blood_group_id='" + groupid +
"'and ActionSr='r') as OutwardTotal from Blood_Stock_Detail where
Blood_group_id ='" + groupid + "'", "GroupAvailabilityDetails");

if (dsAvailability.Tables["GroupAvailabilityDetails"].Rows.Count > 0)

return dsAvailability;
else

return null;

}
ENHANCEMENT SCOPE

• This project is prepared keeping in mind that this system will be used by many users and
very effective system is used in this project.

• Number of users will increased in future then also with a very few enhancement it will be
able to work properly.

• Database gives facility to add new fields , delete old fields , update ,increase width and
size . So whenever required these operations and changes can be easily applied.

• New contents and new features can be easily added by applying little work or whenever
it will be required in future.
SUGGESTIONS

• This project develops a platform where blood donors ,patients,doctors,and the


administration of SGPGI can effectively communicate. If number of users’ increases in
future, there might be some problem, which can be removed out with a little
enhancement.

• The project eliminates the flaws of the existing system by providing fast effective and
accurate processing .

• The overheads for the donors ,patients, and the doctors get effectively reduced by the
implementation of this project.

• When some extra features will needed in the system, it can be implemented with a little
enhancement
Conclusion: - The initial requirements of the blood transfusion department are
satisfied by this project. The donor can easily take appointments and view his
blood test details through this portal.

The basic requirement of the patient to search the donor is effectively fulfilled.
He can search the donor on the basis of city and blood group very easily.

Administrator which is the most authoritative entity of this project, can edit and
view all the reports and details, can create various users like, give appointments
for blood donation to donor .He can also give dates for seminar requests made by
different users.

Doctor can discharge the duties like Disease entry, uploading brochures, replying
queries of users. Similarly, the blood keeper can keep an eye on the stock status
as well as incoming and outgoing of the blood using this portal. The pathologist
can easily made reports regarding the blood test using this portal.

Some other interesting features like refer a friend, a mail service can be
implemented
References:

[1] ASP.NET and Web Development Overview,

http://msdn.microsoft.com/en-us/library/4w3ex9c2.aspx

[2] Microsoft Visual Studio Overview,

http://en.wikipedia.org/wiki/Microsoft_Visual_Studio#Visual_Studio_2005

[3] Microsoft SQL Server 2005,

http://en.wikipedia.org/wiki/Microsoft_SQL_Server

[4] 3-Tier System Architecture,

http://en.wikipedia.org/wiki/Multitier_architecture

[5] Introduction to ADO.NET,

http://en.wikipedia.org/wiki/ADO.NET

[6] Load Testing using Apache JMeter Testing Tool,

http://jakarta.apache.org/jmeter/

[7] Introduction to .NET Architecture,

http://www.devtopics.com/what-is-net/

[8] Common Language Infrastructure Definition,

http://en.wikipedia.org/wiki/Common_Language_Infrastructure

[9] AJAX – Bridging the Thin-Client Performance Gap,

http://www.ironspeed.com/articles/ajax-bridging%20the%20thinclient% 20performance
%20gap/article.aspx
[10] 3-Tier Architecture

http://www.c-sharpcorner.com/

You might also like