Вы находитесь на странице: 1из 203

Project Report

On

Friendsworld.co.in
For

MCA 4th Semester


(For partial fulfillment of the requirement for the award of the Degree of)

Master in Computer Applications


From

Indira Gandhi National Open University

Submitted By

Ashutosh Thakur
(Enroll. No. 072776930) Under the able guidance of

Mr. Vipul Mishra


(Project Manager In Ducat Consultancy Pvt Ltd Noida)

CERTIFICATE

This is certify that Ashutosh Thakur has carried out the work embodies in this project is entitled Friendsworld.co.in under my guidance and supervision in fulfillment of the requirement for MCA 4th semester Mini Project from IGNOU. The Work in this project is original and I am completely satisfied with this work, and wish her all success in future life.

Mr. Vipul Mishra (Project Manager)

ACKNOWLEDGEMENT

Many persons have contributed to make this project Friendsworld.co.in a reality. I would especially like to express my appreciation to Mr. Ikram for his unstinted support, encouragement and his painstakingly and meticulous effort towards developing this software. I acknowledge the help and cooperation received from all the faculty members of Ducat Academy Noida. Several colleagues and students have contributed directly and indirectly to the contents this software, as they had given me numerous ideas. Their criticism gave me the much-needed hints about the areas that needed elaboration and amendments and also to present them with greater clarity. I sincerely express my gratitude to Mr. Vipul Mishra, the present center manager of Ducat Consultancy Ltd Noida, for his support and help in the final preparation of this Report. Finally, I wish to express my sincere thanks to all my family members, especially my Parents for their constant moral support and Encouragement. I would Welcome Constructive Suggestions to improve this software, which can be implemented in my further attempts.

Thanking you!

Ashutosh Thakur Enrollment No. 072776930

CONTENT

S.NO.

TOPIC

1. 2. 3.

Preface Objective & Scope Of the Project Theoretical Background i. Module Of Friendsworld.co.in

4.

Problem Definition i. ii. Goals That Are Successfully Achieved Demerits Of Existing System

5. 6.

Benefits To User System Analysis i. ii. iii. iv. v. vi. Project Planning Project Scheduling Feasibility Analysis Functional Requirement System Planning PERT Chart

7.

System Design i. ii. Model View Controller (MVC) Benefits Of MVC

iii. iv. v. vi. vii. viii. ix. 8.

Software Engineering Paradigm Input Requirements Output Requirements External Interface Requirements Performance Constraint Design Constraints Acceptance Criteria

Methodology Used i. ii. Introduction Methodology Adopted

9. 10.

System Implementation Platform Used i. ii. iii. iv. v. Graphical User Interface (GUI) Hardware And Software Specification Front End And Back End Security Introduction To ASP.NET Introduction To Database Management System

11.

System Maintenance i. Maintenance Process Model

12.

Life Cycle Of Project i. E-R Diagram

13.

Data Flow Diagram i. ii. Introduction Symbol Used

iii. iv. 14. 15. 16.

0 Level DFD 1 Level DFD

Structure Chart Input And Output Screens Test Reports i. ii. iii. Testing Methodology And Testing Strategies Type Of Testing Techniques Test Case

17.

System Security i. ii. iii. iv. v. User Access Control User Authentication User Authorization User Session Management Exception Handling

18. 19.

Code Data Dictionary i. ii. iii. Database Design And Table Structure Data Structure Definitions, Acronyms And Abbreviation

20.

Conclusion i. ii. Advantages Limitation

21.

Future Scope i. Future Scope And Dependencies

22.

References

i.

Bibliography

PREFACE

When A Computer Software succeeds-when it meets the needs of the people who use it, when it performs flawlessly over along period of time, when it is easy to modify and even easier to use-it can and does change things for the better. But when software fails-when its users are dissatisfied, when it is error prone, when it is difficult to change and even harder to use-bad things can and do happen. We all want to build software that makes things better, avoiding the bad things that lurk in the shadow of failed efforts. To succeed we need discipline when software is designed and built. Many individuals and companies still develop software haphazardly, even as they build systems to service the most advanced technologies of the day. As a result, the quality of the software that we produce suffers and bad things happen. This project report is intended to serve as a guide to the software developed on FRIENDSWORLD.CO.IN. I have tried to follow the principles and rules as suggested by the software engineers as far as possible, in order to make this software a Successful one. The report starts with a comprehensive introduction to the project undertaken as its very First Section. It includes objectives and scope of the project; about the front-end tool used i.e. ASP.Net with C# and the back-end tool i.e. SQL Server 2005. The second part presents and discusses the theoretical background of the project. The third section encompasses all the problems of the software that includes what is expected from the software, the demands and the requirements of the end-users. The fourth part is the System analysis and design section. This part focuses on requirements analysis and specification, analysis issues, detailed procedures and the database designs. In The fifth section, different approaches to formal evaluation and review techniques are explored. The sixth section highlights the methodology adopted for this project. The

seventh part suggests the steps required to implement the software on the user machine. The eighth part discusses the hardware and software requirements of the user machines. The ninth part deals with the cost benefit analysis. The tenth section contains the data flow diagrams. The next section is the flowchart part. The next section is for the entity

relationship diagram of the project. The thirteenth part explains the methodology used for testing. The fourteenth section is the test report. The fifteenth part is the most important part of the project i.e. the code for the software. The sixteenth part is the user manual section. The seventeenth part is the annexure for the topic that includes some details about the organization, the data dictionary, definitions, acronyms and abbreviations used in the report. The final section is the reference part that contains a list of the books and reports that were referred during the development of the project and the report as well. The emphasis in this report is to document the important concepts and techniques used for the successful development of this project. I do hope fervently that, through this report, the readers will get a real picture of what the project is all about. I also wish that may this software satisfies all the needs and requirements of the organization, for which it is meant.

OBJECTIVES & SCOPE OF THE PROJECT

The objective of this software is to completely automate the following processes:

The main objective of the project is to establish a network among the people residing in all over the world. All the information can be easily accessed and shared among the people.

This system provides users to register their various types of profile like social, personal, general, professional.

This system provides users to send a scrap message, images, and music files to their friends. User can maintain the scrap book whatever scraps he has send to users.

The system provides users to upload the photos so that user can maintain own album. This system provides user to join the communities according to their scenario. This system provides the user to maintain their friend list and user can update their friend list.

This system provides user to send invitation to another friend to join the Friendworld.co.in and can add to their friend list for future.

THEORETICAL BACKGROUND

The primary goal of this software is to provide an internet social network service which designed to help users meet new friends and maintain existing relationships. The main goal of the service is to make your social life and that of your friends, more active and stimulating. Friendsworld.co.ins social network can help you both maintain existing relationships and establish new ones by reaching out to people you have never met before who you interact With is entirely up to you.

MODULES OF FRIENDSWORLD.CO.IN

Each Friendsworld.co.in module has different requirements from the others. This section describes the requirements, design, and implementation of each module. This system consists of five modules, which are described below:

Scrap Module Security Module Profile Module Friend Invitation Module Registration Module

Scrap Modulethe scrap module provides facility of sending scrap and receiving scraps.

Security Modulethe security module requires a user to sign on before accessing certain screens, and manages the sign on process

Profile Modulethe profile module enables user to change his/her profile and friends profile. The module facilitate user to maintain various type of profiles like personal, professional, social.

Friend Invitation Modulethe friend invitation module provides feature of sending invitation to his/her friends.

Registration Moduleusing Registration module, a new user can get registered by filling registration forms.

PROBLEM DEFINITION

GOALS THAT ARE SUCCESSFULLY ACHIEVED


Friendsworld.co.in provides User friendly environment. Creating communities, neighborhoods. Sharing emotional or personal feelings with friends or own. Fully customized. Provides the feelings of closeness in spite of being physically separated.

DEMERITS OF EXISTING SYSTEM


In the current working system the user faces so many problems. Some of them are given below: Earlier there was no such social portal which provided such kind of real interaction in terms of exchanging personal profile, or common platform where one could interact with others. Some of the limitations which were faced earlier are: Feelings of loneliness. Lack of customization One could hardly share emotional feelings with one another.

BENEFITS TO USER

Computer software has become a driving force. It is the engine that drives business decisionmaking. The Application is a working demonstration of how to use blueprints principles in a real application design. This document is an online guide to the design and the implementation of the application Enterprise Applications with web technology. Each release of the application maintains consistent design features such as separating logic and presentation, using web component for control and web pages for presentation, using business components, and so on. High-level design features, this document goes deeper into the implementation details of the current application release. This document is provided as an online-only resource so that it may be continually extended and updated. This document begins with a description of the separate applications that the sample application comprises, describes the modular structure of the FRIENDWORLD.CO.IN application, and provides an in-depth description of several pieces of the modules. Conclusively this software will provide following benefits to its users:

Providers the platform to interact to there friends and also fine new friends around the world.

Provides a way to be in touch with loved once. Shows the graphically the upcoming birthdays of you friends so now you dont have to remember your friends birthdays.

Provides the way to send or receives messages form your friends and family member and makes you connected to others even you are far away from him.

Provider some storage space where you can store you memorable memories in the form of photos and videos.

You can do instant chat with your friend easily because it is very easy and user friendly. You can also send or receives photographs with text messages.

SYSTEM ANALYSIS

Requirements analysis is a software engineering task that bridges the gap between system level requirements engineering and software design. Requirements engineering activities result in the specification of softwares operational characteristics (function, data and behavior), indicate softwares interface with other system elements, and establish constraints that software must meet. The most commonly used requirements technique is to conduct a meeting or interview. The first meeting between a software engineer (the analyst) and the customer can be likened to the awkwardness of a first date between two adolescents. Neither person knows what to say or ask; both are worried that they do say will be misinterpreted; both are thinking about where it might lead (both likely have radically different expectations here); both want to get the thing over with, but at the same time, both want it to be a success. Gause and Weinberg suggest that the analyst start by asking CONTEXT-FREE QUESTIONS. That is, a set of questions that will lead to a basic understanding of the problem, the people who want a solution, the nature of the solution that is desired, and the effectiveness of the first encounter itself. The goal of the requirements gathering activity is to collect all relevant information from the customer regarding the product to be developed with a view to clearly understanding the customer requirements and weeding out the incompleteness and inconsistencies in these requirements. The requirements analysis activity is begun by collecting all relevant data regarding the product to be developed from the users of the product and from the customer through interviews and discussions. Data collection is done by taking the copies of the documents involved in its working from the organization.

PROJECT PLANNING

We were supposed develop a social network web site named as FRIENDSWORLD.CO.IN. Friendworld.co.in is an internet social network service designed to help users meet new friends and maintain existing relationships. Working in team reinstates the team for some common guidelines and standard to be followed by all the team members across all the team. For the optimum use of practical time it is necessary that every session is planned. Planning of this project will include the following things:

Topic understanding. Modular break-up of the system. Processor logic for each module. Database requirements.

TOPIC UNDERSTANDING

It is vital to understand the each and every aspect project. So as soon as the project was allocated, we carefully went through the project to identify the requirements of the project. Modular break-up of the system:

Identify the various modules in the system. List them in the right hierarchy. Identify their priority of development.

PROJECT SCHEDULING

Gantt chart is a project scheduling technique. Progress can be represented easily in Gantt chart, by coloring each milestone when completed. The project will start in the month of February and end will end after 4 months at the end May

February

March

April

May

Page | 26

FESIBILITY ANALYSIS

Feasibility study is conducted to select the best system that meets the performance requirements. This entails an identification, description, and evaluation of the candidate system, and the section of the best system for the job.

Many feasibility studies are disillusioning for both user and analyst. First the study often pre-supposes that when feasibility of the documents is being prepared, the analysis is in position to evaluate solutions. Second most studies tend to overlook the confusion inherent in the system development the constraints and the assumed attitudes. If the feasibility study is to serve as decision document, it must answer three key questions:

Is there new and better way to do a job that will benefit the user? What are the cost and saving of the alternatives? What is recommended?

The most successful system projects are not necessary or most visible in business but rather those that truly need user expectations. More projects failed because of inflated expectations than for any other reasons.

There main considerations are involved in feasibility analysis:

Page | 27

TECHNICAL ANALYSIS

Technical feasibility centers on the current system and to what extent it can support the proposed system, it includes current computer system specifications such as hardware, software etc. it also involves financial considerations to accommodate the technical enhancements. If the budget is serious constraint then the project is judged not feasible.

Though the system is developed in the generalized form, which covers all the procedures and operations carried out in any Social networking site. The version used in the system is ASP.Net and MS-SQL Server.

The features embedded in the system are latest and according to the need of the client. Such as creating profile, adding friends and other feature that are required for social networking site. The backend used is the latest Microsoft SQL Server version, which also supports to view the database contents, relationship with the connected database including the primary, foreign key. Any up gradations needed can be easily made in the source code, thus decreasing the headache of changing each and every code. If in near future, the latest version of ASP.Net/ MS-SQL Server to be installed then , the source code handling the connection of the database can easily be modified. The codes are easily compatible for the changes, as the latest version doesn't affect the core code.

MS-SQL Server can manage large amount of data and is simple and secure. Using ASP.NET helps us to design the look of our application and its windows. ASP.NET full open database connectivity (ODBC) with MS-SQL Server, Data accessibility, response and output require less time.

Page | 28

COST ANALYSIS

The cost to conduct investigation was negligible, as the centre manager and teachers of centre provided most of information. The cost of essential hardware and software requirement is not very expensive. Moreover hardware like Pentium I PC and software like ASP.NET and MS-SQL Server2005 are easily available in the market.

BENEFITS AND SAVINGS

Cost of the maintenance of the proposed system is negligible. Money is saved as paper work is minimized. Records are easily entered and retrieved. Time is saved as all the work can be done by a simple mouse click. The proposed system is fully automated and hence easy to use. Since benefits out base the cost, hence our project is economically feasible.

Page | 29

OPERATIONAL FESIBILITY

In this we determine what change will be brought in system, new skills required and other human organization and political aspects. Each user can easily use our site. However it is desirable that the user has the basic knowledge of the computers. Without making any changes in the rules and regulations of the existing system proposed system can easily adopted.

LEGAL FESIBILITY
Our Project does not infringe with known acts, status or any pending legislation. Hence it is legally feasible.

SOCIAL FESIBILITY
Since, the proposed system is inexpensive, easy to use, reduces human errors, fast and simple, hence socially accepted by all organization and institutes being directly affected by it.

Page | 30

FUNCTIONAL REQUIREMENTS

Person should have a Valid E mail ID. There must be a net connection and browser to view the web pages of respective site

Page | 31

SYSTEM PLANNING

PROJECT EVALUATION AND REVIEW TECHNIQUE

INTRODUCTION

Software project managers take the overall responsibility of steering a project to success. This surely is a very hazy job description. But, it is very difficult to objectively describe the job responsibilities of a project manager.

WORK BREAKDOWN STRUCTURE


Work breakdown structure is used to decompose a given task set recursively into small activities. WBS provides a notation for representing the major tasks needed to be carried out in order to solve a problem. The root of the tree is labeled by the problem name. Each node of the tree is broken down into smaller activities that are made the children of the node. Each activity is recursively decomposed into smaller sub-activities until at the leaf level; the activities require approx. two weeks to develop. If a task is broken down into a large number of very small activities, these can be distributed to a large number of engineers. If the activity ordering permits, the solutions to these can be carried out independently. Thus, it becomes possible to develop the product faster. The following figure represents the WBS of application software:

Page | 32

Application software

Requirement s specification

Design

Code

Test

Document

Database part

Graphical user interface part

Database part

Graphical user interface part

Page | 33

#ANALYSIS

*CONCEPTION

-CONCEPTION INITIATION -COMMUNICATION WITH EXPERTS TO UNDERSTAND REQUIREMENTS

*REQUIREMENT ANALYSIS

-FUNCTIONAL REQUIREMENT ANALYSIS ~SCENARIO DEVELOPMENT ~FUNCTIONAL MODELING

-DATA ANALYSIS ~PERSISTENCY REQUIREMENT

-PERFORMANCE ANALYSIS ~LOAD REQUIREMENT ~RESPONSE TIME REQUIREMENT

#DESIGN

Page | 34

*OVERALL DESIGN

*ARCHITECTURAL DESIGN -DATA ANALYSIS -MODULE DECOMPOSITION -PROCESS DESIGN -PROCESS INTERFACE DESIGN

*DETAIL DESIGN -UNIT DESIGN -MODULE DESIGN -MECHANISMS DESIGN -FUNCTIONAL DESIGNS -SUBSYSTEM DESIGN -INTERFACE DESIGN -DFD PREPARATION -MODULE INTERACTION DIAGRAMS PREPARATION

-FLOWCHART PREPARATION -HIERARCHICAL STRUCTURE CHART PREPARATION

#CODING

Page | 35

-MODULE PREPARATION -MODULE IMPLEMENTATION -UTILITIES DEVELOPMENT -NAMESPACE ORGANIZATION -CODING THE FUNCTIONS -IMPLEMENTATION OF MECHANISMS -USER INTERACTION DEVELOPMENT -WORKFLOWS DEVELOPMENT -DEVELOPMENT OF TESTING PROGRAMS

#TESTING -TESTING OF TESTING PROGRAMS -MECHANISMS TESTING -UNIT TESTING -MODULE TESTING -DATA FLOW TESTING -ALGORITHM COMPLIANCE TESTING -STRESS TESTING -ROBUSTNESS TESTING

#DEPLOYMENT

-EXECUTABLE CREATION
Page | 36

-SET UP CREATION -DEPLOYMENT TO STORAGE MEDIA

#DOCUMENTATION

-USER MANUAL DEVELOPMENT -PROJECT REPORT DEVELOPMENT

PERT CHART

PERT shows precedence relationships among the tasks and various stages of a project. By the helps of PERT chart, a project manager can identify the activities and the Page | 37

amount of time they require, show

their interrelationships, specify their sequence, and

have a meant of monitoring progress on the project. PERT makes use of tasks. Like milestone charts, it shows achievements. These achievements however are not task achievements. They are terminal achievements, called EVENTS.

Each activity/Task of the project is represented by a directional are (more commonly known as arrow) pointing in the direction of progress in this project. The circles represent the beginning or completion of a task. The nodes at the network ( also referred as events ) establish the relationship among the different activities of the project. The rules are available for construction networks:

Each activity is represented by one and only one arrow in the network. Each action must be identifying by two distinct nodes.

This is the table of Activity and its estimated time duration, which are used to accomplish the project FRIENDSWORLD.CO.IN.

Activity
A: Study B: Analysis C: Form Design

Preprocessor(s)
A B

Duration (In Days)


15 15 8 Page | 38

D: Coding and Testing E: Database Design F: Connectivity G: Test with Database H: Documentation I: Error trapping J: Final Test

C B D, E F C F, H I, J

12 8 10 15 10 10 10

5 E A 1 2 B 3 C 4 8 D 6 F 8 G 9 I 1 0 J 1 1

15

12

10
15 H 7

10

10

10

Page | 39

SYSTEM DESIGN

Page | 40

MODEL VIEW CANTROLLER (MVC)


This software based on concept of the Model View Controller (MVC) design pattern. MVC gives you a nice separation between your data (model), logic/business layer (controller) and display (view). In theory, this allows you to change individual layers without affecting the other layers. You could have a configurable data source (SQL, XML, etc.) or have various controllers depending on the user (admin, anon, etc.) or have various views (console, webform, winform). MVC makes it really easy to implement change which is what programming in the real world is all about. These three objects are known as Model, View and Controller.

VIEW View is the graphical data presentation (outputting) irrespective of the real data processing. View is the responsible for look and feel, some custom formatting, sorting etc. View is completely isolated from actual complex data operations. For example, online product catalog view is completely separated from database connection, query, tables etc. It simply gets final row-data from the model and puts some cosmetics and formatting before displaying it in browser. View provides interface to interact with the system. The beauty of MVC approach is that it supports any kind of view, which is challenging in todays distributed and multi-platform environment. A MVC model can have multiple views, which are controlled by controller. View interface can be of WEB-FORMS, HTML, XML/XSLT, XTML, and WML or can be Windows forms etc.

MODEL

Page | 41

The domain-specific representation of the information on which the application operates. Domain logic adds meaning to raw data (e.g., calculating whether today is the user's birthday, or the totals, taxes, and shipping charges for shopping cart items). Many applications use a persistent storage mechanism (such as a database) to store data. MVC does not specifically mention the data access layer because it is understood to be underneath or encapsulated by the Model.

CONTROLLER

Page | 42

Controller is responsible for Notice of action. Controller responds to the mouse or keyboard input to command model and view to change. Controllers are associated with views. User interaction triggers the events to change the model, which in turn calls some methods of model to update its state to notify other registered views to refresh their display.

BENEFITS OF MVC DESIGN


Following are the few of the benefits of MVC design pattern.

Since MVC handles the multiple views using the same enterprise model it is easier to maintain, test and upgrade the multiple system. It will be easier to add new clients just by adding their views and controllers. Since the Model is completely decoupled from view it allows lot of flexibilities to design and implement the model considering reusability and modularity. This model also can be extended for further distributed application.

It is possible to have development process in parallel for model, view and controller.

SOFTWARE ENGINEERING PARADIGM


Page | 43

In our project I have used Prototype model. The basic idea here is that instead of freezing the requirements before a design or coding can proceed, a throwaway prototype is built to understand the requirements. This prototype is developed based on the currently known requirements. Development of the prototype obviously undergoes design, coding and testing. But each of these phases is not done very formally or thoroughly. By using this prototype, the client can get an "actual feel" of the system, since the interactions with prototype can enable the client to better understand the requirements of the desired system. Prototyping is an attractive idea for complicated and large systems for which there is no manual process or existing system to help determining the requirements. In such situations letting the client "plan" with the prototype provides invaluable and intangible inputs which helps in determining the requirements for the system. It is also an effective method to demonstrate the feasibility of a certain approach. This might be needed for novel systems where it is not clear those constraints can be met or that algorithms can be developed to implement the requirements. The process model of the prototyping approach is shown in the figure below.

PROTOTYPING MODEL
Page | 44

The basic reason for little common use of prototyping is the cost involved in this built-ittwice approach. However, some argue that prototyping need not be very costly and can actually reduce the overall development cost. The prototype is usually not complete systems and many of the details are not built in the prototype. The goal is to provide a system with overall functionality. In addition, the cost of testing and writing detailed documents are reduced. These factors help to reduce the cost of developing the prototype. On the other hand, the experience of developing the prototype will very useful for developers when developing the final system. This experience helps to reduce the cost of development of the final system and results in a more reliable and better designed system.

ADVANTAGES OF PROTOTYPING

Users are actively involved in the development. It provides a better system to users, as users have natural tendency to change their mind in specifying requirements and this method of developing systems supports this user tendency. Since in this methodology a working model of the system is provided, the users get a better understanding of the system being developed. Errors can be detected much earlier as the system is mode side by side. Quicker user feedback is available leading to better solutions.

DISADVANTAGES OF PROTOTYPING

Page | 45

Leads to implementing and then repairing way of building systems. Practically, this methodology may increase the complexity of the system as scope of the system may expand beyond original plans.

INPUT REQUIREMENTS
Page | 46

FOR LOGIN:
User Email ID which has to be registered in Frindsworld.co.in Password related to that user Email ID which is used to login. before Login.

FOR INVITING FRIENDS:


User Email ID which you want to invite. For sending a request for add me as a friend just simply select the user and send request to add me.

FOR REQUESTING PASSWORD IF THE PASSWORD ID NOT REMEMBERED:


Only by confirming the User ID user will automatically receives a mail with there password if they not remember there password.

FOR UPDATE YOUR PROFILE:


Just login with your User ID click on your profile then click on edit and simply edit your profile detail.

Page | 47

OUTPUT REQUIREMENTS

Person should have a valid Email ID which is registered in friendsworld.co.in There must be a net connection and browser to view the web pages of respective site.

EXTERNAL INTERFACE REQUIREMENTS


Page | 48

The user interface of software is responsible for all the interactions with the user. Almost every software has a user interface. Many users often judge a software product based on its user interface. An interface that is difficult to use leads to higher level of user errors and ultimately leads to user dissatisfaction. Users become particularly irritated when a system behaves in unexpected ways i.e. issued commands do not carry out actions according to the intuitive expectations of the user. Therefore, sufficient care and attention should be paid to the design of the user interface of any software product. Development of a good user interface usually takes significant portion of the total system development effort. This software is developed keeping in mind the basic characteristics of a good user interface. Some features of this software can be stated as:-

It is very easy to learn. It does not require its users to memorize commands. Neither the users are asked to remember information from one screen to another while performing various tasks using the interface.

The time and user effort necessary to initiate and execute different commands is minimal.

It is very attractive to use. It catches user attention and fancy. It is a Graphicalbased user interface.

The users can seek guidance and online help when they either forget a command or are unaware of some features of the software.

PERFORMANCE CONSTRAINTS

Page | 49

For 100 Entries in the database it takes 2-3 seconds approximately.

DESIGN CONSTRAINTS

SOFTWARE CONSTRAINTS

The software is to run under Windows Operating System or above versions.

HARDWARE CINSTRAINTS

The software will run on an Intel Workstation with 32 MB RAM, Running on Windows.

ACCEPTANCE CRITERIA

Page | 50

Before finally implementing the software at the users site, the developer must demonstrate that the system works on the source data and other information. The developer will have to show through Test Cases that all the conditions and requirements are satisfied.

Page | 51

Page | 52

INTRODUCTION
A software life cycle is the series of identifiable stages that a Software product undergoes during its lifetime. The first stage in the life Cycle of any software product is usually the feasibility study stage. The Subsequent stages are: Requirement analysis and specification, design, coding, testing and maintenance. Each of these stages is called a life cycle Phase. A life cycle model represents all the activities required to make a software product transit through its life cycle phases. It also captures the order in which these activities are to be undertaken. The most strict life cycle model used is the Classical Life Cycle Model. However, in any practical software development work, it is not possible to strictly follow the classical waterfall model from every phase to its preceding phases.

METHODOLOGY ADOPTED
Structured system analysis techniques had been adopted for the analysis of the algorithm and software development. Structured system design techniques had been adopted for the design of the algorithm and software development. Prototyping model for initial implementation had been used for early testing and module development. Prototyping model had been used for the development of the Graphical User Interface. Incremental Model had been used for the development of the software. Structured development life cycle had been used for this project. PERT chart is the primary Tool used for system planning.

Page | 53

Project cost had been estimated as a function of comparing the cost of similar available products, effort estimation on the project, resources acquired for the project and COCOMO Model as the theoretical reference. Test plan was created to form the strategy of testing. This includes the decision of testing techniques, decision of testing tools, and decision of milestones when the testing will commence.

ANALYSIS METHODS

Structured system analysis techniques are used for the analysis of algorithm and development.

Background analysis: concept of mining and about the algorithm is learned through research papers on Internet and experts theory.

Fact-finding: facts about the algorithm are collected from the books and Internet.

Fact analysis: facts are analyzed through different examples related to algorithm.

DFDs and flowchart are used to model the algorithm and logic design.

Page | 54

DESIGN METHODS

Structured design techniques are used to design the software. An activity of all phases of a project is the walk-through. It is an interchange of ideas among the team members. In design walk-through, the purpose is to recognize as many problems in the software as possible while they are still paper tigers

Activity diagram are used then to define the behavior of mechanism.

Layering has been done to refine the architecture. Initially, two layers are introduced, system layer and application layer.

Demo version is created on these lines of design techniques to demonstrate the feasibility of design methods.

Database design is according to the implementation of algorithms.

Page | 55

CODING METHODS

Event driven programming language ASP.Net had been used for coding the modules and programs.

Structured English and pseudo-codes are used to closely refine the mechanisms using the facility of defined objects.

Various stubs had been used to facilitate incremental coding followed by testing.

The basic philosophy followed at this stage: code one line followed by rigorous testing.

Integrated development environment of .Net had been used for the development of various modules in integrated manner.

Incremental compilation had been used to compile and test on which work was in progress.

Stepwise refinement technique had been used to code the modules.

Page | 56

TESTING METHODS

Structured testing tools had been used for testing the programs.

Small programs are developed to test the individual modules.

Each module is tested by the development of appropriate functionality.

Groups of people were assigned to test the software functionality.

The same group is responsible to test the reliability of software by using various inputs and techniques, on various parts and functionalities.

The group had done Alpha testing.

Software is distributed to doctors and scientist to Beta-test the entire software.

Page | 57

Page | 58

SYSTEM IMPLEMENTATION

Direct Implementation Method is used to implement the system at the users site. No special Equipment (Hardware Device) is required to install the Software. The only requirement is the user must have an Internet Connection.

Page | 59

Page | 60

FRIENDSWORLD.CO.IN SPECIFICATION

The system specification is the final work produced by the system and requirements engineer. It serves as the foundation for hardware engineering, software engineering, database engineering and human engineering. Once requirements have been gathered explore each requirements in relationship to others, examine requirements for consistency, omissions and ambiguity.

GRAPHICAL USER INTERFACE (GUI)

GUI offers a standard look and feel to application, thus reducing development and learning time. Through this a user understands easily. An attractive GUI influence the mind of user. GUI is an application environment that can work with graphical objects.

Page | 61

HARDWARE AND SOFTWARE SPECIFICATIONS

HARWARE SPECIFICATIONS

It is recommended that the minimum configuration for clients is as appended below:Suggested Configuration of Windows clients:

Microprocessor Ram Hard Disk

: Pentium-2 class processor, 450 megahertz MHz) : 128 MB of RAM : 2.5 gigabytes (GB) on installation drive, which Includes 500 MB on system drive.

CD ROM Drive

: 52 X CD ROM Drive

SOFTWARE SPECIFICATION

Operating System RDBMS Front End

: Windows XP : SQL Server 2005 : Microsoft Visual Studio ASP.NET

Page | 62

FRONT END AND BACK END

FRONT END

We use rich set of validation controls provided by ASP.NET and where we not achieved this through validation control we implemented JavaScript for all the Client side validations. We usually use lot of client side validation not server side. The form is not submitted until user fills in correct data. It is extremely useful to restrict mistakes by user.

ACTIVER SERVER PAGES (ASP.NET)

User friendly GUI Separation of work (designing & coding) Written once run anywhere Middle-Tier Asp.Net APIs

Page | 63

BACK END

We have used SQL Server as the Back End.SQL Server provides efficient/effective solution for major database tech.

Large database and space management. Many concurrent database users. High transaction processing requirement High Availability Industry accepted standards Manageable security Portability

SQL-SERVER

Security Performance Scalability Reliability Support RDMS concepts

Page | 64

FRONT END AND BACK END SECURITY

FRONT END SECURITY

This security level is developed or designed by the s/w developer or designer. S/he provides her/his s/w the security for the system, by considering many factors regarding to the particular s/w. In this software following are used to provide security.

LOGIN CHECKING

There are two logins are provided in this software one for user and another for admin. In order to avail the services of user have to provide a valid id and password and only after entering correct id and password user will get entry otherwise they will be blocked from accessing any services of this site. Similarly a login check is provided for admin that check credentials for admin which can do any admin job. In this way, security has been provided for both user section and admin section. There is also provision to change the password in case password is known by other. Password recover section provides users to recover their password whenever they have forgotten their password.

Page | 65

BACK END SECURITY

In this particular software our back end used is Sql-Server. So all the inbuilt security aspects provided by the Sql-Server database is used as it is. It will provide the strong feature of security so that it will be difficult to change, modify any personal or university data. Information is vital to success, but when damaged or in the wrong hands, it can threaten success. Sql-Server provides extensive security features to safe guard your information from both unauthorized viewing and intentional or inadvertent damage. This security is provided by granting or revoking privileges on a person- by- person and privilege-by-privilege basis.

Page | 66

INTRODUCTION TO ASP.NET

ASP.NET offers a novel programming model and infrastructure that facilitates a powerful new class of applications. ASP.NET is a compiled. NET-based environment, so one can author applications in any .NET compatible language, including Visual Basic, C# and Jscript.NET. Developers can effortlessly access the advantage of these technologies, which consist of a managed Common Language Runtime environment, type safety, inheritance, and so on. With the aid of Microsoft Visual Studio.NET Web development become easier. Web Forms permits us to build powerful forms-based Web pages. When building these pages, we can use Web Forms controls to create common UI elements and program them for common tasks. These controls permit us to rapidly build up a WebForm. Web services enable the exchange of data in client-server or server-server scenarios, using standards like HTTP, SOAP (Simple Object Access Protocol) and XML messaging to move data across firewalls. XML provides meaning to data, and SOAP is the protocol that allows web services to communicate easily with one another. Web services are not tied to a particular component technology or object-calling convention. As a result, programs written in any language, using any component model, and running on any operating system can access Web services.

Page | 67

ADVANTAGES Of ASP.NET
ASP.NET IS PART OF THE .NET FRAMEWORK
The .NET Framework comprises over 3,400 classes that we can employ in our ASP.NET applications. We can use the classes in the .NET Framework to develop any type of applications. Since ASP.NET is part of the .NET Framework, we can do all these things from within an ASP.NET page. While ASP Classic pages are formed with scripting languages such as VBScript and JavaScript. ASP.NET pages are formed with full-blown programming languages such as Visual Basic and C#. And whereas there are five standard objects accessible in the ASP Classic Framework (the Request, Response, Application, Session, and Server objects), there are over 3,400 standard objects in the .NET Framework that we can use in an ASP.NET page.

ASP.NET PAGES ARE COMPILED


When an ASP.NET page is first requested, it is compiled and cached on the server. This means that an ASP.NET page performs very rapidly. All ASP.NET code is compiled rather than interpreted, which permits early binding, strong typing, and just-intime (JIT) compiling to native code.

XML-BASED
ASP.NET configuration settings are stored in XML-based files, which are human readable and writable. Each one of our applications can have a different configuration file and we can extend the configuration scheme according to our necessities. Page | 68

CODE-BEHIND LOGIC
The main problem with ASP Classic pages is that an *.asp page does not yield modularized code. Both HTML and Script are present in a single page. But Microsoft's ASP.NET implementation contains a new-fangled method to break up business logic code from presentation code. Each ASPX created in Visual Studio has an equivalent class written in a .NET compliant language such as C#. This class consists of event handlers, initialization code and other supporting code for the user interface in the ASPX file. The C# file that hold this class is called the code-behind file and affords the ASPX file's programmatic implementation.

ASP.NET PAGES ARE BUIT WITH SERVER CONTROLS


We can easily build complex Web pages by bring together the pages out of ASP.NET server controls. For example, by adding validation controls to a page, we can easily validate form data.

Page | 69

INTODUCTION OF DATABASE MANAGEMENT SYSTEM

A database is a collection of interrelated data. The collection of data must be logically coherent with some inherent meaning. A database is designed and built for a specific purpose, keeping in mind the needs of the applications that are going to use it and end users of those applications. It is managed by a software package known a database management system (DBMS). A DBMS is a software system that enables users to record and maintain database. It provides an environment where in data can be stored and retrieved from database easily and must efficiently. The data can be any thing that is deemed to be of significant to the organization, the system is serving.

WHAT IS .NET?
.NET is set of common services which can be used from a number of languages and have the following specialties: These services are executed in the form of intermediate code that is independent of the underlying architecture. They operate in the runtime (Common Language Runtime), which manages resources and monitors applications execution.

The .NET frameworks are a multi-language environment for building, deploying, and running web services and applications. The Microsoft .NET platform provides .NET infrastructure and tools to build and operate a new generation of services.

Page | 70

SQL-SERVER 2005

In recent years, Database Management System (DBMS) have established themselves as primary means of data storage for information system ranging from large commercial transaction to PC desktop application. At the heart of todays most of the information system is Relational Database System (RDBMS).

Have been the workhouse for data management operation for over a decade and continue to evolve and mature, providing sophisticated storage, retrieval and distribution function to enterprise wide data processing and management system compared to the file system, RDBMS provides organization with capability to easily integrate and leverage the massive amount of operational data into meaningful data.

The evolution of high-powered database engine such as SQL Server 2005 has faster the development of advance enabling technology including client/server ,data warehousing and online processing ,all of which comprise the core todays state of art information system. A database is an organized collection of related information. Any meaningful data is called information. A database management system is a collection of interrelated data a set of programs to access that data.

The SQL Server architecture in this section is generic architecture that applies all platforms on which SQL run. These may be different platform, but the fundamentals are same. Physically in its simplest form, an SQL database is nothing more than a set of files on the disk. The physical relation of these files is irrelevant to the function of the database.

Page | 71

Logically the database is divided into a set of user account, each of which is identified by username and password unique to the database. Tables and objects are owned one by one of these. SQL Server maintains its own list of authorized user and their associated privileged, manages memory cache paging; control locking for concurrent resource usage; dispatch and schedules users request ; manages space usage within its table space structure.

Page | 72

SQL SERVER-2005 ARCHITECTURE


SQL FILES
There are major three sets of files on the disk that compose database: 1) Database File 2) Control File 3) Redo Files

The most common is the database files where the data resides. The control and the redo logs support the functioning of the architecture itself. All of these sets of files be present, open and available to SQL Server for any data on database to be usable all these files are binary files.

MEMORY
SQL Server uses the memory of the system to turn the user process and to cache data objects. There are major areas used by SQL Server : memory that is shared by all process against the data and the database memory that is local to each individual user process.

SYSTEM MEMORY
SQL Server database wide system memory is known as the SGA (System Global SQL Shared Area). The data and control structures in SGA are sharable and all SQL Server background process uses them.

Page | 73

SYSTEM MAINTENANCE

System maintenance denotes any changes made to a software product after it has been delivered to the customer. Maintenance is inevitable for almost any kind of product. However, most products need maintenance due to the wear and tear caused by use. On the other hand, software products do not need maintenance on this count, but need maintenance to correct errors, enhance features, port to new platforms, etc. Software maintenance is becoming an important activity of large number of organizations. This is no surprise, given the rate of hardware obsolescence, the immortality of a software product per se, and the demand of the user community to see Page | 74

the existing software products run on newer platforms, run in newer environments, and/or with enhanced features. When the hardware platform changes and a software product perform some low-level functions, maintenance is necessary. Also, whenever the support environment of a software changes, the software product requires re-work to cope with the newer interface. Thus, every software product continues to evolve after its development through maintenance efforts. Maintenance covers a wide range of activities including correcting, coding and designing errors, updating documentation and test data and upgrading user support. Enhancement means adding, modifying or re-developing the code to support changes in the specifications. It is necessary to keep up with the changing user needs and the operational environment. The software is designed with the view of easy updating to the software. Future advancements can be done easily through the review of product. The software architecture is strong enough to provide enhancement in functionality, performance and reliability. Functions in the software are designed in such away that they dynamically update on addition of new and revised modules.

To append new features in this software, the databases for student details, examination details are sufficient enough for the task. Thus the software is capable enough of being enhanced easily whenever requires by the user. GATHER CHANGE REQUIREMENTS

ANALYZE CHANGE REQUIREMENTS

DEVISE CODE CHANGE STRATEGIES

MAINTENANCE PROCESS MODEL

APPLY CODE CHANGE STRATEGIES TO THE OLD ONE

UPDATE DOCUMENTS

INTEGRATE AND TEST

Page | 75

Page | 76

ENTITY RELATIONSHIP DIAGRAM

Page | 77

Page | 78

DATA FLOW DIAGRAM

INTRODUCTION
Page | 79

The DFD also known as the Bubble Chart is a simple graphical formalism that can be used to represent a system in terms of the input data to the system. Various processing carried out on these data, and the output data generated by the system. The main reason why the DFD technique is so popular is probably because of the fact that DFD is a very simple formalism-it is simple to understand and use. A DFD uses a very limited number of primitive symbols to represent the functions performed by a system and the data flow among these functions. Starting with a set of high-level functions that a system performs, a DFD model hierarchically represents various sub functions. The five different types of primitive symbols used for constructing DFDs are:

SYMBOLS USED
PROCESS

A function is represented using a circle. This symbol is called a process or a bubble. Bubbles are annotated with the names of the corresponding functions.

EXTERNAL ENTITY

Page | 80

An external entity such as a librarian, a library member, etc. is represented by a rectangle. The external entities are essentially those physical entities external to the software system that interact with the system by inputting data to the system or by consuming the data produced by the system. In addition to the human users, the external entity symbols can be used to represent external hardware and software such as application software.

DATA FLOW

A directed arc or an arrow is used as a data flow symbol. A data flow symbol represents the data flow occurring between two processes, or between an external entity and a process, in the direction of the data flow arrow. Data flow symbols are usually annotated with the corresponding data names.

DATA STORE

Page | 81

A data store represents a logical file. It is represented using two parallel lines. A logical file can represent either a data store symbol, which can represent either a data structure, or a physical file on disk. Each data store is connected to a process by means of a data flow symbol. The direction of the data flow arrow shows whether data is being read from or written into a data store. A arrow flowing in or out of a data store implicitly represents the entire data of the data store and hence connecting to a data store need not be annotated with the name of the corresponding data items.

OUTPUT SYMBOL

The output symbol is used when a hard copy is produced and the user of the copies cannot be clearly specified or there are several users of the output.

CONTEXT DIAGRAM

Page | 82

The context diagram is the most abstract data flow representation of a system. It represents the entire system as a single bubble. This bubble is labeled according to the main function of the system. The various external entities with which the system interacts and the data flows occurring between the system and the external entities are also represented.

LEVEL 0 DFD

FIRST LEVEL DFD

Page | 83

To develop the level 1 DFD, examine the high-level functional requirements. If there are between three to seven high-level functional requirements, then these can be directly represented as bubbles in the level 1 DFD. We can then examine the input data to these functions and the data output by these functions, and represent them approximately in the diagram.

LEVEL 1 DFD

Page | 84

STRUCTURE CHART

Page | 85

MAIN MENU

SUBMENU

LOGUP GENERAL DETAILS FORM PERSONAL DETAILS FORM PROFESSSINAL DETAILS FORM SOCIAL DETAILS FORM LOGIN USERID PASSWORD SCRAPBOOK SEND SCRAP RECEIVE SCRAP DELETE SCRAP INVITE FRIENDS SEND INVITATION PHOTOS ADD PHOTO ALBUM DELETE PHOTO ALBUM SEND PHOTO ALBUM VIDEOS Page | 86

ADD VIDEOS DELETE VIDEOS SEND VIDEOS

Page | 87

Page | 88

TESTING METHODOLOGY AND TESTING STRATEGIES


Page | 89

There are following rules that can serve well as testing objectives: Testing is a process of executing a program with the intent of finding an error. A good test case is one that has a high probability of finding an as-yet-undiscovered error. A successful test is one that uncovers as-yet-undiscovered error.

TESTING STRATEGIES
UNIT TESTING

In unit testing I have testing a single program module in an isolated environment. Testing of the processing procedures is the main focus. Integration Testing Because of interfaces among the system modules, we use integration testing. In other words it ensures that the data moving between the modules is handled as intended.

Page | 90

SYSTEM TESTING
During system testing the system is used experimentally to ensure that the software does not fail i.e. it will run according to its specifications and in the way users expect. Special test data are input for the processing and the results examine. A limited number of users try to use it in unforeseen ways. It is preferable to discover any surprise before the organization implements the system and depend upon it. In many organizations persons other than those who wrote the original programs to ensure more complete and unbiased testing and more reliable testing perform testing. The norms that were followed during the phase were that after the developer of the software has satisfied regarding every aspect of the software under consideration he is required to release the program source code. A setup name release is used to copy the name file from the developers user area to a project area in the directory named with developer user name. Here the entire final testing used to be done by persons other than the developer himself .if some changes were desired in the program the developer were required to use another setup. Retrieve, which copied back the latest version of the program to developer areas. As in this system data is entered at different levels I considered providing various types of checks like range check, validity check, completeness check etc. in different data entry screens according to the requirements. Since the user are not familiar to the new system the data screens were designed in such a way that were: Consistent Easy to use Page | 91

Has a fast response time

System testing is the testing of the system against its initial objective. It is done either in a simulated environment or in live environment. TEST REVIEW Test review is the process that ensures that testing is carried out as planned. Test review decides whether or not the program is ready to be shipper out for implementation SECURITY TESTING Security testing attempt to verify that protection mechanism built into a system will, in fact, protect it form penetration mechanisms.

TYPES OF TESTING TECHNIQUES


White box testing Black box testing

WHITE BOX TESTING


White box test focus on the program control structure. Test cases are derived to ensure that all statement in the program has been executed at least once during testing and that all logical condition has been exercised. Basic path testing, a white box testing, makes use of program graph to derive the set of linearly independent test that will ensure coverage.

Page | 92

CODING TESTING

Condition testing is tests case design method that exercise the logical conditions contain in a program module. A simple condition is a Boolean variable or a relational expression.

BRANCH TESTING

I have used Branch testing that is probably for compound condition, the true and false (in project i.e. null values) for each branch.

DATA FLOW TESTING

I have used data flow testing due to check the path of program according to the locations of definitions and uses of variables in the program.

LOOP TESTING

In our project I have use only simple loop. And I have use m pass through the loop where m<n.

Page | 93

BLACK BOX TESTING

Black box testing focuses on the functional requirements of the software. That is, blackbox testing enable the software engineer to derive set of input conditions that will fully exercise all functional requirements for a program.

GRAPH-BASE TESTING METHOD

I have used graph-based testing method for removing errors associated with relationships. The first step in this testing is to understand the objects that are modeled in software and the relationship that connect these objects.

EQUIVALENCE PARTITIONING

This testing is used for the following reason: Specific numeric values Range of values Set of related values Boolean condition

Page | 94

BOUNDARY VALUE ANALYSIS

Boundary value analysis is a test case design technique that complements equivalence partitioning. Rather than selecting any element of equivalence class the selection of test cases at the edges of the class. Rather than focusing solely on the input condition, The point of equivalence partitioning as: An input condition specifies a range boundary by values a and b, test cases should be design with values a and b and just above and just below a and b. An input condition specific a number of values, test cases should be developed that exercise the minimum and maximum number

ACCEPTENCE TESTING

When the function test was completed, we involved the user to make sure that the system worked according to the users expectation. Thus the user did the final acceptance test.

Page | 95

TEST CASES

TEST CASE

DESCRIPTION

DESIRED RESULT

ACTUAL RESULT

RTest1

Checking of availability of ID which user wants to create

If ID is available then a message is displayed ID is available Otherwise the displayed message ID already exits.

If ID is available then a message is displayed ID is available Otherwise the displayed message ID already exits. If password is less than seven characters then a message is displayed password should be of minimum seven characters with at least one non alphabetic character

RTest2

The password which user enters for his/her corresponding ID should be of minimum seven characters with at least one non alphabetic character.

If password is less than seven characters then a message is displayed Password should be of minimum seven characters with at least one non alphabetic character.

Page | 96

RTest3

The user is supposed to fill all the mandatory fields when he / she register for new user. All the details which are filled by the user should to be stored to the database.

If any of the required field is left empty then relatively warning message is displayed. The details are stored in the database only if all the details are valid and ID is available otherwise their corresponding message(s) is (are) displayed. If any user access any option it would be able to roll back , or move foreword

If any of the required field is left empty then relatively warning message is displayed. The details are stored in the database only if all the details are valid and ID is available otherwise their corresponding message(s) is (are) displayed. If any user access any option it would be able to roll back , or move foreword

RTest4

HTest1

All options should be access through home page.

CHTests1

A user can change the password of his / her account.

A user can change the password of his / her account. The user needs to reenter password and enter new desired password with one confirm password field.

A user can change the password of his / her account. The user needs to reenter password and enter new desired password with one confirm password field.

Page | 97

BNTest1

A user can navigate When a user click through the links or on a button or link buttons. then it should perform the corresponding functionality.

When a user click on a button or link then it should perform the corresponding functionality.

LSTest1

User ID should display on page.

If a user login through ID and password, it user ID display on page.

If a user login through ID and password, it user ID display on page.

SNTest1

Session expired after specific time.

If user does not use any control or navigate then after specific time his / her session expired.

If user does not use any control or navigate then after specific time his / her session expired.

ADTest1

Advertisement display on screen can be display according to its preference.

If customer wants to give preference to his / her advertisements, it could be given.

If customer wants to give preference to his / her advertisements, it could be given.

ADMTest1

Administrator could modify details and database.

Admin update movies details and also database according to his / her requirements

Admin update movies details and also database according to his / her requirements

Page | 98

Page | 99

SYSTEM SECURITY

USER ACCESS CONTROL

Security comprises user authentication, implying user identification (against defined users) and users authorization indicating actions and permissions within the application. The application will incorporate security for all the modules in a hierarchal form. These levels are required to be identified by the application owners. The users will be classified in groups and each group will b provided access to identify screens and reports. This access will be across different modules. The group authorization right will also define whether they are permitted to view the information only or can modify it as well.

USER AUTHENTICATION

Every registered user will have a login ID and password. The system administrator, using the functionality provided by login control module, will create new login Ids and maintain existing Ids using the user registration screen. Whenever a new user is registered, a new login ID and password will be created. Users can change their own passwords. The passwords will not be displayed on the screen while they are being entered into the application.

Page | 100

USER AUTHORIZATION

For data entry and modification, permissions will be defined for the entry screens. Administrator and Users both will be having different screens and different access rights. Administrator would be able to manage different operations and functions whereas a registered user would be able to access all the features available on the website.

USER SESSION MANAGEMENT

The USERNAME of the user will be displayed on the next page, and any item needed on the different page will also be maintained using Session management. Browser Session will expire and terminate user session after a certain period of inactivity. The following data will be maintained throughout an active session.

EXCEPTION HANDLING
Validations will be enforced at the UI as well as the business layer of application. If errors occur, appropriate messages will be displayed to the user for taking necessary action. These errors will be handled by the application using Visual Studio Exception Handling.

Page | 101

Page | 102

Login.aspx.cs
using using using using using using using using using using using using using System; System.Configuration; System.Data; System.Linq; System.Web; System.Web.Security; System.Web.UI; System.Web.UI.HtmlControls; System.Web.UI.WebControls; System.Web.UI.WebControls.WebParts; System.Xml.Linq; Ducat.Forever.Database; Ducat.Forever.UI;

public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void btn_logon_Click(object sender, ImageClickEventArgs e) { WebSession session = WebSession.Login(TextBox1.Text, TextBox2.Text); if (session != null) { Session["user_session"] = session.GetUserId; Session["emailid"] = TextBox1.Text; FormsAuthentication.RedirectFromLoginPage(TextBox1.Text, false); } else { //lbl_error.Visible=true; //lbl_error.Text = "Invalid Password or Emailid"; Response.Write("UserID or Password Wrong..."); Response.Write ("Enter Correct UserID and Password..."); } } protected void btn_forgetpass_Click(object sender, EventArgs e) { Response.Redirect("Password_Recovery/Password_Recovery.aspx");

Page | 103

} protected void btn_joinnow_Click(object sender, EventArgs e) { Response.Redirect("Account/NewAccount.aspx"); } protected void TextBox2_TextChanged(object sender, EventArgs e) { } }

Page | 104

Home.aspx.cs
<%@Page ValidateRequest="false" Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="home.aspx.cs" Inherits="home" Title="Untitled Page" %> <asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server"> <script language="javascript" type="text/javascript"> function enter(tx) { if(tx.value=="Enter email address") { tx.value=""; } } function out(tx) { if(tx.value=="") { tx.value="Enter email address"; } } </script> <table style="height: 50px;font-size:small" frame="void"> <tr> <td style="width:99px;margin-right:200px; height: 208px;"> <table style="margin-top:5px;margin-bottom:250px;marginleft:130px;margin-right:450px;background-color:White; width: 575px; height: 174px;" id="TABLE1" cellpadding="0" cellspacing="0"> <tr > <td colspan="6" style="text-align:left;width:600px"><asp:Label ID="lbl" Text="Welcome," Font-Size="Small" runat="server"></asp:Label> <asp:Label ID="lbluser" Font-Size="Large" runat="server"></asp:Label></td> </tr> <tr style="border-width:5px;border-color:Black" > <td colspan="5" style="text-align:left;border-width:thick" onmouseout="this.style.backgroundColor='white'" onmouseover="this.style.backgroundColor='#cccfff' "> Set Your Status Here </td><td style="border-width:5px; border-color:Black" ></td> </tr> <tr>

Page | 105

<td align="left" style="font-family:MS Sans Serif; font-size:xxsmall;width:100px"><asp:LinkButton ID="linkscrap" runat="server" Text="scrap" OnClick="linkscrap_Click"></asp:LinkButton>&nbsp;&nbsp;&nbsp;&nbsp;&nb sp;&nbsp; <asp:LinkButton ID="LinkButton13" runat="server" onclick="LinkButton13_Click">scraptips</asp:LinkButton> </td><td align="left" style="font-family:MS Sans Serif; fontsize:xx-small;width:100px"><asp:LinkButton ID="LinkButton1" runat="server" Text="photos" OnClick="LinkButton1_Click"></asp:LinkButton></td><td align="left" style="font-family:MS Sans Serif; font-size:xxsmall;width:100px"><asp:LinkButton ID="LinkButton2" runat="server" Text="fans"></asp:LinkButton></td><td align="left" style="fontfamily:MS Sans Serif; font-size:xx-small;width:100px"><asp:LinkButton ID="LinkButton3" runat="server" Text="message" OnClick="LinkButton3_Click"></asp:LinkButton></td><td align="left" style="font-family:MS Sans Serif; font-size:xxsmall;width:100px"><asp:LinkButton ID="LinkButton4" runat="server" Text="photo of me"></asp:LinkButton></td> </tr> <tr> <td style="height:5px;" align="left" ><asp:ImageButton ID="imgscrap" ImageUrl="~/myimage/p_scrap.gif" Width="20px" Height="20px" runat="server" OnClick="imgscrap_Click" /><asp:Label ID="lblscrap" runat="server"></asp:Label></td><td align="left"><asp:ImageButton ID="Image1" runat="server" ImageUrl="~/myimage/photos.gif" Width="20" Height="20" /><asp:Label ID="lblphoto" runat="server"></asp:Label></td><td align="left"><asp:ImageButton ID="Image2" ImageUrl="~/image/fans.gif" runat="server" /><asp:Label ID="lblfans" runat="server"></asp:Label></td><td align="left"><asp:ImageButton ID="Image3" runat="server" ImageUrl="~/image/i_letter.gif" OnClick="Image3_Click" /><asp:Label ID="lblmessage" runat="server"></asp:Label></td><td align="left"><asp:ImageButton ID="Image4" runat="server" ImageUrl="~/image/myphoto.gif" /><asp:Label ID="lblmyphoto" runat="server"></asp:Label></td> </tr> <tr> <td colspan="7" style="text-align:left; height: 35px;"> <b>Today's fortune:</b>You are very expressive and positive in words, act and feeling </td > </tr> </table> <br /> <br /> <br /> <br /> <br /> </td> <td style="margin-left:50px; height: 208px;"> <br /> <br />

Page | 106

<table style="width:200px; background-color:White;height:150px;marginright:200px; z-index: 102; left: 791px; position: absolute; top: 132px;"> <tr> <td style="text-align:left"> My Friends <asp:Label ID="lblfriendlist" runat="server"></asp:Label> </td> </tr> <tr style="background-color:#cccfff"> <td> <asp:Repeater ID="Repeater2" runat="server" OnItemCommand="Repeater2_ItemCommand"> <HeaderTemplate> <table> </HeaderTemplate> <ItemTemplate> <tr> <a href='home.aspx?userid=<%#Eval("userid")%>'><asp:Image Height="40px" Width="40px" ID="im" runat="server" ImageUrl='< %#Eval("imagename")%>' /></a> <br /> <a href='home.aspx?userid=<%#Eval("userid")%>'><%#Eval("fid") %></a> </tr> </ItemTemplate> <FooterTemplate> </table> </FooterTemplate> </asp:Repeater> </td> </tr> <tr> <td> </td> </tr> <tr> <td><asp:LinkButton ID="link" runat="server" Text="view all >>" onclick="link_Click1"></asp:LinkButton></td><td>&nbsp;</td> </tr> </table> </td> <td style="height: 208px"> <table> <tr> <td> </td>

Page | 107

</tr> </table> </td> </tr> </table> <table runat="server" id="addlist" style="margin-right:1000px;marginleft:1px;margin-top:1px;border-style:solid;margin-bottom:200px; zindex: 103; left: 19px; position: absolute; top: 648px;"> <tr> <td colspan="2" valign="middle"><b>Invite Friends</b><asp:RegularExpressionValidator ID="regular" runat="server" ControlToValidate="txtemailid" ValidationExpression="\w+([+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" ErrorMessage="*" ValidationGroup="friend"></asp:RegularExpressionValidator></td> </tr> <tr> <td colspan="2" style="height: 26px"><asp:TextBox onclick="enter(this)" onblur="out(this)" ID="txtemailid" runat="server" Text="Enter email address" ValidationGroup="friend" ></asp:TextBox> </td> </tr> <tr> <td style="height: 26px"> <asp:LinkButton ID="lnkbadd" runat="server" ValidationGroup="friend" OnClick="Button_Invite_Click" Text="Add" ForeColor="black" FontBold="true" BorderStyle="solid"></asp:LinkButton> </td> <td style="height: 26px; width: 89px;"><a id="hplink" ><b> More >></b></a></td> </tr> </table> <table id="frndtable" runat="server" style="position:absolute; left: 192px; top: 371px; z-index: 101;"> <tr> <td> <table runat="server" style="margin-right:300px;marginleft:20px;border-style:solid;margin-bottom:500px"> <tr> <td > <asp:Repeater ID="Repeater1" runat="server" OnItemCommand="Repeater1_ItemCommand"> <HeaderTemplate>

Page | 108

<table border="2" > <tr > <td colspan="6" > <center><u><b> FriendShip Invitation </b></u></center> </td> </tr> <tr > <td style="width:30"><u><b>InvitationId</b></u></td><td><u><b>Sender</b></ u></td><td style="text-align:left;width:140px"><u><b> DateOfInvitation</b></u></td><td style="textalign:left;width:140px"><u><b>Message</b></u></td><td ><u><b>Accept</b></u></td><td><u><b>Reject</b></u></td> </tr> </HeaderTemplate> <ItemTemplate > <tr > <td style="text-align:left" ><asp:Label ID="lblinvitation_id" runat="server" Text='<%#Eval("invitation_id") %>'></asp:Label></td> <td style="text-align:left" ><asp:Label ID="lblsender" Text='< %#Eval("userid") %>' runat="server"></asp:Label></td><td style="textalign:left;" ><asp:Label ID="lbldoi" Text='<%#Eval("doi") %>' runat="server"></asp:Label> </td> <td style="text-align:left" >Invites for friendship</td><td><asp:LinkButton ID="lnbaccept" CommandName="accept" Text="Yes" runat="server"></asp:LinkButton></td><td><asp:LinkButton ID="lnbreject" CommandName="reject" Text="No" runat="server"></asp:LinkButton></td> </tr> </ItemTemplate> <FooterTemplate> </table> </FooterTemplate> </asp:Repeater> </td> </tr> </table> </td> </tr> </table> </asp:Content>

Page | 109

ViewAllFriend.aspx.cs

<%@ Page Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="ViewAllFriend.aspx.cs" Inherits="ViewAllFriend" Title="Untitled Page" %> <asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server"> <asp:DataList RepeatColumns="5" RepeatDirection="Horizontal" ID="DataList1" runat="server"> <ItemTemplate> <a href='home.aspx?userid=<%#Eval("userid")%>'><asp:Image Height="80px" Width="80px" ID="im" runat="server" ImageUrl='< %#Eval("imagename")%>' /></a> <br /> <br /> <a href='home.aspx?userid=<%#Eval("userid")%>'Text='<%#Eval("fid") %>'></a> </ItemTemplate> </asp:DataList> </asp:Content>

Web.config
Page | 110

<?xml version="1.0"?> <!-Note: As an alternative to hand editing this file you can use the web admin tool to configure settings for your application. Use the Website->Asp.Net Configuration option in Visual Studio. A full list of settings and comments can be found in machine.config.comments usually located in \Windows\Microsoft.Net\Framework\v2.x\Config --> <configuration> <configSections> <sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> <sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> <section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/> <sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> <section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="Everywhere"/> <section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/> <section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/> <section name="roleService" type="System.Web.Configuration.ScriptingRoleServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/></sectionGroup></sectionGroup> </sectionGroup></configSections> <appSettings> <add key="dbtype" value="sqlserver"/>

Page | 111

<add key="connectionstring" value="Data Source=.;Initial Catalog=orkut;Integrated Security=True"/> <add key="maxconnection" value="2000"/> </appSettings> <connectionStrings> </connectionStrings> <location path="Password_Recovery"> <system.web> <authorization> <allow users="*"/> </authorization> </system.web> </location> <location path="Password_Recovery.aspx"> <system.web> <authorization> <allow users="*"/> </authorization> </system.web> </location> <location path="account"> <system.web> <authorization> <allow users="*"/> </authorization> </system.web> </location> <location path="image"> <system.web> <authorization> <allow users="*"/> </authorization> </system.web> </location> <location path="images"> <system.web> <authorization> <allow users="*"/> </authorization> </system.web> </location> <system.web> <!-Set compilation debug="true" to insert debugging symbols into the compiled page. Because this affects performance, set this value to true only during development. --> <compilation debug="true"> <assemblies> <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>

Page | 112

<add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> <add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> <add assembly="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/></assemblies></compilation> <!-The <authentication> section enables configuration of the security authentication mode used by ASP.NET to identify an incoming user. --> <authentication mode="Forms"> <forms loginUrl="login.aspx" defaultUrl="home.aspx"></forms> </authentication> <authorization> <deny users="?"/> </authorization> <!-The <customErrors> section enables configuration of what to do if/when an unhandled error occurs during the execution of a request. Specifically, it enables developers to configure html error pages to be displayed in place of a error stack trace. <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm"> <error statusCode="403" redirect="NoAccess.htm" /> <error statusCode="404" redirect="FileNotFound.htm" /> </customErrors> --> <pages> <controls> <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> <add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/></controls></pages> <httpHandlers> <remove verb="*" path="*.asmx"/> <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> <add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory,

Page | 113

System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> <add verb="GET,HEAD" path="ScriptResource.axd" validate="false" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/></httpHandlers> <httpModules> <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/></httpModules></system.web> <system.net> <mailSettings> <smtp deliveryMethod="PickupDirectoryFromIis"> </smtp> </mailSettings> </system.net> <system.codedom> <compilers> <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CSharp.CSharpCodeProvider,System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="4"> <providerOption name="CompilerVersion" value="v3.5"/> <providerOption name="WarnAsError" value="false"/></compiler> <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.VisualBasic.VBCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="4"> <providerOption name="CompilerVersion" value="v3.5"/> <providerOption name="OptionInfer" value="true"/> <providerOption name="WarnAsError" value="false"/></compiler></compilers></system.codedom> <system.webServer> <validation validateIntegratedModeConfiguration="false"/> <modules> <remove name="ScriptModule"/> <add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/></modules> <handlers> <remove name="WebServiceHandlerFactory-Integrated"/> <remove name="ScriptHandlerFactory"/> <remove name="ScriptHandlerFactoryAppServices"/> <remove name="ScriptResource"/> <add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory,

Page | 114

System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> <add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> <add name="ScriptResource" verb="GET,HEAD" path="ScriptResource.axd" preCondition="integratedMode" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/></handlers></system.webServer> <runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="System.Web.Extensions" publicKeyToken="31bf3856ad364e35"/> <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/></dependentAssembly> <dependentAssembly> <assemblyIdentity name="System.Web.Extensions.Design" publicKeyToken="31bf3856ad364e35"/> <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/></dependentAssembly></assemblyBinding></runtime> </configuration>

MasterPage.master.cs
Page | 115

<%@ Master Language="C#" AutoEventWireup="true" CodeFile="MasterPage.master.cs" Inherits="MasterPage" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>Untitled Page</title> <script language="javascript" type="text/javascript">

</script> <style type="text/css"> .style1 { height: 40px; width: 76px; } .style2 { width: 38px; } </style> </head> <body bgcolor="#cccfff"> <form id="form1" runat="server"> <div> <table bgcolor="#cccfff" style="margin-top:0px"> <tr> <td colspan="2" style="height: 48px"> <table bgcolor="#cccfff" id="TABLE1" style="width:960px;margin-top:1px;height:10px; backgroundcolor: #9999FF"> <tr> <td class="style1"> <asp:ImageButton ID="ImageButton1" Font-Size="X-Small" runat="server" ImageUrl="~/image/friendworld_logo.bmp"/></td>

<td class="style2"> <asp:LinkButton ID="LinkButton1" ForeColor="white" Size="Small" runat="server" OnClick="LinkButton1_Click">Home</asp:LinkButton></td>

Font-

Page | 116

<asp:LinkButton ID="LinkButton2" ForeColor="white" FontSize="small" runat="server" OnClick="LinkButton2_Click">Profile</asp:LinkButton></td> <td> <asp:LinkButton ID="LinkButton3" ForeColor="white" FontSize="Small" runat="server" OnClick="LinkButton3_Click">ScrapBook</asp:LinkButton></td> <td> <asp:LinkButton ID="LinkButton4" ForeColor="white" FontSize="Small" runat="server">Friends</asp:LinkButton></td> <td> <asp:LinkButton ID="LinkButton6" ForeColor="white" FontSize="Small" runat="server">Communities</asp:LinkButton></td> <td> <asp:Label ID="lblurl" Font-Size="Large" runat="server" Text="Label" Font-Bold="True"></asp:Label></td> <td> <asp:TextBox ID="txturl" Font-Size="X-Small" Width="140px" runat="server"></asp:TextBox></td> <td> &nbsp;<asp:LinkButton ID="linksignout" ForeColor="white" Font-Size="Small" runat="server" Text="LogOut" OnClick="linksignout_Click"></asp:LinkButton></td> <td> &nbsp;</td> </tr> <tr> <td colspan="9"> <asp:TextBox ID="txtnotification" BackColor="Aqua" ForeColor="Brown" style="text-align:center;font-style:oblique; top: 109px; left: 16px; position: absolute;" runat="server" Height="25px" ReadOnly="true" Wrap="true" Width="800px" Visible="false" ontextchanged="txtnotification_TextChanged"></asp:TextBox> <asp:Button ID="buthide" runat="server" Visible="false" Text="hide" Font-Bold="true" OnClick="buthide_Click" /> </td> </tr> </table> <center> <asp:SiteMapPath ID="SiteMapPath1" runat="server" FontNames="Verdana" Font-Size="0.8em" PathSeparator=" : "> <PathSeparatorStyle Font-Bold="True" ForeColor="#990000" /> <CurrentNodeStyle ForeColor="#333333" /> <NodeStyle Font-Bold="True" ForeColor="#990000" /> <RootNodeStyle Font-Bold="True" ForeColor="#FF8000" /> </asp:SiteMapPath> </center> </td>

<td>

Page | 117

<td style="height: 48px"></td> </tr> <tr> <td style="height: 363px"> <table bgcolor="white" style="Left: 8px; width: 100px; position: absolute; top: 152px; height: 348px" id="TABLE2" > <tr> <td colspan="2"> <img id="imguser" runat="server" height="80" style="width: 90px" /><br /> <asp:Label ID="lbluser" runat="server" ForeColor="blue" FontBold="false" Font-Size="X-Small"></asp:Label> </td> </tr> <tr> <td colspan="2" >--------------</td> </tr> <tr> <td style="width: 91px;height:30px"> <asp:Image ID="Image1" Width="17" runat="server" ImageUrl="~/IMAGE/p_profile.gif" /></td> <td> <asp:LinkButton ID="LinkButton9" Font-Size="x-Small" runat="server" OnClick="LinkButton9_Click1" >Profile</asp:LinkButton></td> </tr> <tr> <td style="width: 91px;height:30px"> <asp:Image ID="Image2" Width="17" runat="server" ImageUrl="~/IMAGE/p_scrap.gif" /></td><td> <asp:LinkButton ID="LinkButton10" Font-Size="x-Small" runat="server" OnClick="LinkButton10_Click1" >scrapbook</asp:LinkButton></td> </tr> <tr> <td style="width: 91px;height:30px"> <asp:Image ID="Image3" Width="17" runat="server" ImageUrl="~/IMAGE/p_camera.gif" /></td> <td> <asp:LinkButton ID="LinkButton11" Font-Size="x-Small" runat="server">photo</asp:LinkButton></td> </tr> <tr> <td style="width: 91px;height:30px"> <asp:Image ID="Image4" runat="server" Width="17" ImageUrl="~/IMAGE/b11.gif" /></td> <td><asp:LinkButton ID="LinkButton12" Font-Size="x-Small" runat="server">Videos</asp:LinkButton></td> </tr>

Page | 118

<tr> <td style="height:30px; width: 91px;"><img id="testimg" runat="server" src="myimage/testimonial.jpg" width="17" /></td> <td><asp:LinkButton ID="lnkbtestimonial" runat="server" Text="testimonials" ></asp:LinkButton></td> </tr> <tr> <td colspan="2" style="height:0px"><b>------------------</b></td> </tr> <tr> <td style="height:30px; width: 91px;"><img id="Img1" runat="server" src="myimage/lists.gif" width="17" /></td> <td><asp:LinkButton ID="lnkblist" runat="server" Text="lists"></asp:LinkButton></td> </tr> <tr> <td style="height:30px; width: 91px;"><img id="Img2" runat="server" src="myimage/updates.png" width="13" /></td> <td><asp:LinkButton ID="lnkbupdates" runat="server" Text="updates"></asp:LinkButton></td> </tr> <tr> <td style="width: 91px; height: 78px;"> <asp:Image ID="Image5" runat="server" Width="17" ImageUrl="~/image/i_letter.gif" /> </td> <td style="height: 78px" ><asp:LinkButton ID="LinkButton5" FontSize="x-Small" runat="server" OnClick="LinkButton5_Click">Messages</asp:LinkButton></td> </tr> </table> </td> <td style="height: 363px;width:1070px"> <center> <asp:contentplaceholder id="ContentPlaceHolder1" runat="server"> <br <br <br <br <br <br <br <br <br <br <br <br <br <br <br <br /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> />

Page | 119

<br /> <br /> <br /> <br /> </asp:contentplaceholder> </center> </td> </tr> </table> </div> </form> </body> </html>

WebUserControl.ascx

Page | 120

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="WebUserControl.ascx.cs" Inherits="WebUserControl" %> <script language="javascript" type="text/javascript"> // <!CDATA[ function TABLE1_onclick() { } // ]]> </script> &nbsp;<table bgcolor="white" width="450px" id="TABLE1" > <tr> <td> <asp:LinkButton ID="LinkButton1" BorderWidth="2" Width="100px" ForeColor="blue" Font-Size="Small" Font-Bold="true" Text="General" runat="server" OnClick="LinkButton1_Click"/></td> <td > <asp:LinkButton ID="LinkButton2" BorderWidth="2" Width="100px" ForeColor="#0000FF" Font-Size="Small" Font-Bold="true" Text="Social" runat="server" OnClick="LinkButton2_Click" /></td> <td> <asp:LinkButton ID="LinkButton3" BorderWidth="2" ForeColor="blue" Width="100px" Font-Size="Small" Font-Bold="true" Text="Professional" runat="server" OnClick="LinkButton3_Click" /></td>

</tr> </table>

Global.asax

Page | 121

<%@ Application Language="C#" %> <script runat="server"> void Application_Start(object sender, EventArgs e) { Ducat.Forever.UI.WebFactroy.Load_Application(); } void Application_End(object sender, EventArgs e) { // Code that runs on application shutdown } void Application_Error(object sender, EventArgs e) { // Code that runs when an unhandled error occurs } void Session_Start(object sender, EventArgs e) { // Code that runs when a new session is started } void Session_End(object sender, EventArgs e) { // Code that runs when a session ends. // Note: The Session_End event is raised only when the sessionstate mode // is set to InProc in the Web.config file. If session mode is set to StateServer // or SQLServer, the event is not raised. } </script>

Account_Registration_Failure.aspx.cs
Page | 122

using using using using using using using using using using

System; System.Data; System.Configuration; System.Collections; System.Web; System.Web.Security; System.Web.UI; System.Web.UI.WebControls; System.Web.UI.WebControls.WebParts; System.Web.UI.HtmlControls;

public partial class account_Account_Registration_Failure : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void LinkButton1_Click(object sender, EventArgs e) { Response.Redirect("~/Login.aspx"); }

Account_Registration_Notification.aspx.cs

Page | 123

using using using using using using using using using using

System; System.Data; System.Configuration; System.Collections; System.Web; System.Web.Security; System.Web.UI; System.Web.UI.WebControls; System.Web.UI.WebControls.WebParts; System.Web.UI.HtmlControls;

public partial class account_Account_Registration_Notification : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void LinkButton1_Click(object sender, EventArgs e) { Response.Redirect("~/Login.aspx"); } }

Account_User_Professional_Detail.aspx.cs

Page | 124

using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Collections; public partial class account_Account_user_professional_detail : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void buttSubmit_Click(object sender, EventArgs e) { Hashtable ht = (Hashtable)Session["parameter"]; ht.Add("education", txteducation.Text); ht.Add("college", txtcollege.Text); ht.Add("degree", ddldgree.SelectedItem.Value); ht.Add("year", ddlyear.SelectedItem.Value); ht.Add("occupation", txtoccupation.Text); ht.Add("industry", ddlindustry.SelectedItem.Value); ht.Add("sub_industry", ddlsub_industry.SelectedItem.Value); ht.Add("company", txtcompany.Text); ht.Add("company_webpage", txtcompany_webpage.Text); ht.Add("title", txttitle.Text); ht.Add("work_email", txtwork_email.Text); ht.Add("job_detail", txtjob_description.Text); ht.Add("work_phone", txtwork_phone.Text); ht.Add("career_skill", txtcareer_skill.Text); ht.Add("career_interest", txtcareer_interest.Text); Account obj = new Account(); bool flag= obj.Insert_User_details(ht, "Insert_row");

if (flag) { ; } else { Response.Redirect("Account_Registration_Notification.aspx")

Response.Redirect("Account_Registration_Failure.aspx");

Page | 125

} protected void ddldgree_SelectedIndexChanged(object sender, EventArgs e) { } }

Account_User_Social_Detail.aspx.cs

Page | 126

using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Collections; public partial class account_Account_User_Social_detail : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { ddlchildren.Focus(); if (ViewState["userid"] == null) { string userid = Request.QueryString["userid"]; ViewState["userid"] = userid;

} protected void buttsubmit_Click(object sender, EventArgs e) { Hashtable ht = (Hashtable)Session["parameter"]; Account obj = new Account(); //bool flag= obj.Insert_InTo_User_Social_Detail(ViewState["userid"].ToString(), ddlchildren.SelectedItem.Value, ddlenthancity.SelectedItem.Value, ddlreligion.SelectedItem.Value, ddlsexual.SelectedItem.Value, ddlsmoking.SelectedItem.Value, ddldrinking.SelectedItem.Value, ddlpets.SelectedItem.Value, ddlliving.SelectedItem.Value, txthometown.Text, txtaboutme.Text, txtpassion.Text, txtsports.Text, txtactivity.Text, txtmusic.Text, txttvshows.Text, txtmovie.Text); ht.Add("children", ddlchildren.SelectedItem.Value); ht.Add("enthencity", ddlenthancity.SelectedItem.Value); ht.Add("religion", ddlreligion.SelectedItem.Value); ht.Add("sexual_mode", ddlsexual.SelectedItem.Value); ht.Add("smoking", ddlsmoking.SelectedItem.Value); ht.Add("drinking", ddldrinking.SelectedItem.Value); ht.Add("pets", ddlpets.SelectedItem.Value); ht.Add("living", ddlliving.SelectedItem.Value); ht.Add("hometown", txthometown.Text); ht.Add("about_self", txtaboutme.Text); ht.Add("passions", txtpassion.Text); ht.Add("sports", txtsports.Text); ht.Add("activity", txtactivity.Text); ht.Add("music", txtmusic.Text); ht.Add("tv_shows", txttvshows.Text);

Page | 127

ht.Add("movies", txtmovie.Text); Session["parameter"] = ht; Response.Redirect("Account_user_professional_detail.aspx"); } }

MasterPage.Master.cs

Page | 128

using using using using using using using using using using

System; System.Data; System.Configuration; System.Collections; System.Web; System.Web.Security; System.Web.UI; System.Web.UI.WebControls; System.Web.UI.WebControls.WebParts; System.Web.UI.HtmlControls;

public partial class account_MasterPage : System.Web.UI.MasterPage { protected void Page_Load(object sender, EventArgs e) { } }

NewAccount.aspx.cs

Page | 129

using using using using using using using using using using using

System; System.Data; System.Configuration; System.Collections; System.Web; System.Web.Security; System.Web.UI; System.Web.UI.WebControls; System.Web.UI.WebControls.WebParts; System.Web.UI.HtmlControls; System.Collections;

public partial class account_NewAccount : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { txtuserid.Focus(); } protected void butsubmit_Click(object sender, EventArgs e) { Account obj = new Account(); string gender=null; // string status=null; if(radiomale.Checked) gender=radiomale.Text; else if(radiofemale.Checked) gender=radiofemale.Text; string dob=ddldate.SelectedItem.Value+"/"+ddlmonth.SelectedIndex.ToString() +"/"+ddlyear.SelectedItem.Value; Hashtable ht = new Hashtable(); ht.Add("userid", txtuserid.Text); ht.Add("password", txtpassword.Text); ht.Add("emailid", txtemailid.Text); ht.Add("alternativeemailid", txtalternative_emailid.Text); ht.Add("fname",txtfname.Text); ht.Add("lname",txtlname.Text); ht.Add("gender",gender); ht.Add("status",ddlstatus.SelectedItem.Value); ht.Add("dob",dob); ht.Add("city",ddlcity.SelectedItem.Value); ht.Add("state",ddlstate.SelectedItem.Value); ht.Add("postalcode",txtpostalcode.Text); ht.Add("country",ddlcounty.SelectedItem.Value); if (FileUpload1.HasFile) { ht.Add("image", "usephoto/" + txtuserid.Text + ".jpg");

Page | 130

FileUpload1.SaveAs(Server.MapPath("../usephoto/") + txtuserid.Text + ".jpg"); FileUpload1.SaveAs(Server.MapPath("../scrapbook/usephoto/" ) + txtuserid.Text + ".jpg"); } else { ht.Add("image", "usephoto/" + "notavailble.JPG"); } bool flag = obj.IsUserExists(txtuserid.Text,txtemailid.Text); if (!flag) { Session["parameter"] = ht; Response.Redirect("Account_user_social_detail.aspx? userid='" + txtuserid.Text + "'"); } else {

txtuserid.Text = ""; txtemailid.Text = ""; lblerror.Visible = true; lblerror.ForeColor = System.Drawing.Color.Red; lblerror.Text = "<b> Emailid or UserId already Exists</b>"; } } protected void ddldate_SelectedIndexChanged(object sender, EventArgs e) { } protected void radiomale_CheckedChanged(object sender,EventArgs e) { } }

Account.cs
using using using using using System; System.Data; System.Configuration; System.Web; System.Web.Security;

Page | 131

using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using Ducat.Forever.Database; using System.Collections; /// <summary> /// Summary description for Account /// </summary> public class Account { public bool IsUserExists(string userid,string emailid) { bool flag=false; Connection con=ConnectionPool.GetConnection(); DataSet ds= con.GetDataSet("select * from user_login_detail where userid='"+userid+"' or emailid='"+emailid+"'"); ConnectionPool.FreeConnection(con); if(ds.Tables[0].Rows.Count>0) { flag=true; } else { flag=false; } return(flag); } public bool Insert_User_details(Hashtable ht, string query) { Connection con = ConnectionPool.GetConnection(); bool flag= con.Insert_Rows_InTo_Tables(query, ht); return(flag);

/* public bool Create_New_Account(string userid, string password, string emailid,string fname,string lname,string gender,string status,DateTime dob,string city,string state,string postalcode,string country) { bool flag= IsUserExists(userid); if(flag) {

Page | 132

string query1="insert into user_login_detail values('"+userid+"','"+password+"','"+emailid+"')"; Connection con=ConnectionPool.GetConnection(); int i= con.ExecuteNonQuery(query1); string query2="insert into user_general_detail values('"+fname+"','"+lname+"','"+gender+"','"+status+"','"+dob+"','"+ city+"','"+state+"','"+postalcode+"','"+country+"','"+userid+"')"; try { i = con.ExecuteNonQuery(query2); } catch { i= con.ExecuteNonQuery("delete from user_login_detail where userid='" + userid + "'"); } finally { ConnectionPool.FreeConnection(con); } } return(flag);

}*/

public bool Insert_InTo_User_Social_Detail(string userid,string children,string enthancity,string religion,string sex,string smoke,string drink,string pet,string living,string home,string about,string passion,string sports,string activity,string music,string tv,string movie) { bool flag=false; string query="insert into user_social_detail values('"+children+"','"+enthancity+"','"+religion+"','"+sex+"','"+smo ke+"','"+drink+"','"+pet+"','"+living+"','"+home+"','"+about+"','"+pas sion+"','"+sports+"','"+activity+"','"+music+"','"+tv+"','"+movie+"',' "+userid+"')"; Connection con=ConnectionPool.GetConnection(); try { int i= con.ExecuteNonQuery(query); flag=true; } catch { flag=false; } finally { ConnectionPool.FreeConnection(con);

Page | 133

} return(flag); }

Current_User.cs
using using using using using System; System.Data; System.Configuration; System.Web; System.Web.Security;

Page | 134

using using using using using

System.Web.UI; System.Web.UI.WebControls; System.Web.UI.WebControls.WebParts; System.Web.UI.HtmlControls; Ducat.Forever.Database;

/// <summary> /// Summary description for Current_User /// </summary> public class Current_User { public static int Get_Total_Scrap(string userid) { Connection con = ConnectionPool.GetConnection(); object obj= con.ExecuteScalar("select count(*) from scrap_detail where to_user='" + userid + "'"); ConnectionPool.FreeConnection(con); return (int.Parse(obj.ToString())); } public static string Get_currentuserphoto(string userid) { Connection con = ConnectionPool.GetConnection(); object obj = con.ExecuteScalar("select imagename from image_table where userid='" + userid + "'"); ConnectionPool.FreeConnection(con); return (obj.ToString()); } }

FriendInvitation.cs
using using using using System; System.Data; System.Configuration; System.Web;

Page | 135

using using using using using using

System.Web.Security; System.Web.UI; System.Web.UI.WebControls; System.Web.UI.WebControls.WebParts; System.Web.UI.HtmlControls; Ducat.Forever.Database;

public class friend { string userid; public string SetUserId { set { userid = value; } } private static bool Validate_EmailId(string emailid) { bool flag = false; Connection con = ConnectionPool.GetConnection(); object obj= con.ExecuteScalar("select count(*) from user_login_detail where emailid='" + emailid + "'"); ConnectionPool.FreeConnection(con); //....................................................... Connection con1=ConnectionPool.GetConnection(); DataSet ds=con1.GetDataSet("select userid from user_login_detail where emailid='"+emailid+"'"); ConnectionPool.FreeConnection(con1); //....................................................... Connection con2 = ConnectionPool.GetConnection(); DataSet dss = con2.GetDataSet("select userid from user_login_detail where emailid='" + emailid + "'"); ConnectionPool.FreeConnection(con2); //.................................................. Connection con3 = ConnectionPool.GetConnection(); int inviteid=(int) con3.ExecuteScalar("select count(*) from friend_invitation where userid='"+HttpContext.Current.Session["user_session"].ToString()+"' and invited_emailid='"+emailid+"' or userid='"+dss.Tables[0].Rows[0] [0].ToString()+"' and invited_emailid='"+HttpContext.Current.Session["emailid"].ToString() +"'"); ConnectionPool.FreeConnection(con3); //..................................................

Page | 136

Connection con4 = ConnectionPool.GetConnection(); int id=(int)con4.ExecuteScalar("select count(*) from friend_detail where fid='" + HttpContext.Current.Session["user_session"].ToString()+ "'and userid='"+ds.Tables[0].Rows[0][0].ToString()+"'"); ConnectionPool.FreeConnection(con4); if (obj != null && id==0 && inviteid==0) { flag = true; } else { flag = false; } return (flag);

} public bool Send_Invitation_to_User(string emailid) { bool status ; status = Validate_EmailId(emailid); if (status) { Connection con = ConnectionPool.GetConnection(); string query="insert into friend_invitation values('"+userid+"','"+emailid+"',default,default)"; con.ExecuteNonQuery(query); ConnectionPool.FreeConnection(con); } return (status); } public DataTable Fetch_FriendList(string userid) { Connection con= ConnectionPool.GetConnection(); //DataSet ds= con.GetDataSet("select fid from friend_detail where userid='" + userid + "'"); DataSet ds=con.GetDataSet("select * from image_table im right join friend_detail fd on fd.fid=im.userid where fd.userid='"+userid+"'"); ConnectionPool.FreeConnection(con); return (ds.Tables[0]); } public friend() {

Page | 137

} public DataTable Find_Invitation_List(string emailid) { Connection con = ConnectionPool.GetConnection(); string query = "select userid,doi,invitation_id from friend_invitation where invited_emailid='" + emailid + "' and status=0"; DataSet ds=new DataSet(); ds=con.GetDataSet(query); return (ds.Tables[0]); } public int Accept_Friendship(RepeaterItem item) { Connection con = ConnectionPool.GetConnection(); string reciever = userid; Label sender = (Label)item.FindControl("lblsender"); Connection con1 = ConnectionPool.GetConnection(); object obj= con1.ExecuteScalar("select emailid from user_login_detail where userid='" + userid + "'"); ConnectionPool.FreeConnection(con1); string query1 = "update friend_invitation set status=1 where userid='" + sender.Text + "' and invited_emailid='"+obj+"'"; int i= con.ExecuteNonQuery(query1); DateTime dof = DateTime.Now; string query2 = "insert into friend_detail(fid,userid) values('" + reciever + "','" + sender.Text + "')"; string query3 = "insert into friend_detail (fid,userid) values('" + sender.Text + "','" + reciever + "')"; i = con.ExecuteNonQuery(query2); i = con.ExecuteNonQuery(query3); Label invitationlbl = (Label)item.FindControl("lblinvitation_id"); string query = "delete from friend_invitation where invitation_id=" + invitationlbl.Text + ""; i = con.ExecuteNonQuery(query); ConnectionPool.FreeConnection(con); int ctr = Count_Friend(); return (ctr); } public void Reject_Friendship(RepeaterItem item) { Connection con = ConnectionPool.GetConnection(); Label invitationlbl=(Label)item.FindControl("lblinvitation_id");

Page | 138

string query = "delete from friend_invitation where invitation_id=" + invitationlbl.Text + ""; int i= con.ExecuteNonQuery(query); ConnectionPool.FreeConnection(con);

} public int Count_Friend() { Connection con = ConnectionPool.GetConnection(); DataSet ds= con.GetDataSet("select * from friend_detail where userid='" +userid+ "'"); return (ds.Tables[0].Rows.Count); }

MailMessage.cs
using using using using using System; System.Data; System.Configuration; System.Web; System.Web.Security;

Page | 139

using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using Ducat.Forever.Database; using System.Net.Mail; public class MailMessage_class { public void Send_Message(string touser, string fromuser, string subject, string body) { //Connection con = ConnectionPool.GetConnection(); //string query1 = "select emailid from user_login_detail where userid='" + touser + "'"; //string query2="select emailid from user_login_detail where userid='" + fromuser + "'"; //DataSet ds1 = con.GetDataSet(query1); //ConnectionPool.FreeConnection(con); //con=ConnectionPool.GetConnection(); //DataSet ds2=con.GetDataSet(query2); //ConnectionPool.FreeConnection(con); //string to_address = ds.Tables[0].Rows[0][0].ToString(); //MailAddress to = new MailAddress(to_address); //MailAddress from = new MailAddress(ds1.Tables[0].Rows[0] [0].ToString()); //con = ConnectionPool.GetConnection(); //string query3="insert into MailMessage_detail values('"+touser+"','"+fromuser+"','"+System.DateTime.Now.ToString() +"','"+subject+"','"+body+"')"; //int i = con.ExecuteNonQuery(query3); //ConnectionPool.FreeConnection(con); //MailMessage mail = new MailMessage(from,to); //mail.Subject = subject; //mail.Body = body; //SmtpClient client = new SmtpClient(); //client.Send(mail); } }

PasswordRecovery.cs

Page | 140

using using using using using using using using using using

System; System.Data; System.Configuration; System.Web; System.Web.Security; System.Web.UI; System.Web.UI.WebControls; System.Web.UI.WebControls.WebParts; System.Web.UI.HtmlControls; Ducat.Forever.Database;

/// <summary> /// Summary description for _1 /// </summary> using System.Net.Mail; public class Password_Recovery_Class { private string Fetch_Password(string userid) { Connection con = ConnectionPool.GetConnection(); string query = "select password from user_login_detail where userid='" + userid + "'"; object obj = con.ExecuteScalar(query); ConnectionPool.FreeConnection(con); return (obj.ToString()); } public bool Recover_Password(string emailid,string userid) { bool flag = false; string password = Fetch_Password(userid); MailAddress to = new MailAddress(emailid); MailAddress from = new MailAddress("raj@foreverfun.com"); MailMessage mail = new MailMessage(from, to); mail.Subject = "your password has been sent to you"; mail.Body = "password is=" + password; SmtpClient client = new SmtpClient("smtp"); try { client.Send(mail); flag = true; } catch (Exception exp) {

Page | 141

flag = false; } return (flag); } }

GeneralProfile.cs

using System;

Page | 142

using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using Ducat.Forever.Database; using Ducat.Forever.UI; public static class GeneralProfile { static string userid; public static string setuserid { set { userid = value; } } public static void GeneralProfile_Bind_formview(FormView formview) { Connection con= ConnectionPool.GetConnection(); DataSet ds = con.GetDataSet("select * from user_general_detail where userid='"+userid+"'"); ConnectionPool.FreeConnection(con); formview.DataSource = ds; formview.DataBind();

} public static void GeneralProfile_UpdateProfile(FormView formview) { TextBox txtlname, txtfname, txtcity, txtstate, txtdob, txtpostalcode; DropDownList ddlcountry, ddlstatus, ddlgender; txtfname = (TextBox)formview.Row.FindControl("txtfname"); txtlname = (TextBox)formview.Row.FindControl("txtlname"); txtcity = (TextBox)formview.Row.FindControl("txtcity"); txtstate = (TextBox)formview.Row.FindControl("txtstate"); txtdob = (TextBox)formview.Row.FindControl("txtdob"); txtpostalcode = (TextBox)formview.Row.FindControl("txtpostalcode"); ddlstatus = (DropDownList)formview.Row.FindControl("ddlstatus"); ddlgender = (DropDownList)formview.Row.FindControl("ddlgender"); ddlcountry = (DropDownList)formview.Row.FindControl("ddlcountry");

Page | 143

string query = "update user_general_detail set fname='" + txtfname.Text + "',lname='" + txtlname.Text + "',gender='" + ddlgender.SelectedItem.Value + "',status='" + ddlstatus.SelectedItem.Value + "',dob='" + txtdob.Text + "',city='" + txtcity.Text + "',state='" + txtstate.Text + "',postalcode='" + txtpostalcode.Text + "',country='" + ddlcountry.SelectedItem.Value + "' where userid='"+userid+"'"; Connection con = ConnectionPool.GetConnection(); int i= con.ExecuteNonQuery(query); ConnectionPool.FreeConnection(con); GeneralProfile_Bind_formview(formview); } }

PersonalProfile.cs
using using using using using System; System.Data; System.Configuration; System.Web; System.Web.Security;

Page | 144

using using using using using

System.Web.UI; System.Web.UI.WebControls; System.Web.UI.WebControls.WebParts; System.Web.UI.HtmlControls; Ducat.Forever.Database;

public class PersonalProfile { static string userid; public static string setuserid { set { userid = value; } } public static void PersonalProfile_Update(FormView formview) { TextBox txtheadline, txtheight, txtself_remark,txtremark_afdate,txtremark_apast,txtremark_abedroom,txt ideal_match; DropDownList ddlecolor, ddlhcolor,ddlbest_remark; txtheadline = (TextBox)formview.Row.FindControl("txtheadline"); txtself_remark = (TextBox)formview.Row.FindControl("txtself_remark"); txtheight = (TextBox)formview.Row.FindControl("txtheight"); ddlecolor = (DropDownList)formview.Row.FindControl("ddlecolor"); ddlhcolor = (DropDownList)formview.Row.FindControl("ddlhcolor"); ddlbest_remark = (DropDownList)formview.Row.FindControl("ddlbest_remark"); txtremark_afdate = (TextBox)formview.Row.FindControl("txtremark_afdate"); txtremark_apast = (TextBox)formview.Row.FindControl("txtremark_apast"); txtremark_abedroom = (TextBox)formview.Row.FindControl("txtremark_abedroom"); txtideal_match = (TextBox)formview.Row.FindControl("txtideal_match"); string query="update user_personal_detail set headline='"+txtheadline.Text+"',self_remark='"+txtself_remark.Text+"', height='"+txtheight.Text+"',ecolor='"+ddlecolor.SelectedItem.Value+"', hcolor='"+ddlhcolor.SelectedItem.Value+"',best_remark='"+ddlbest_remar k.SelectedItem.Value+"',remark_about_fdate='"+txtremark_afdate.Text+"'

Page | 145

,past_remark='"+txtremark_apast.Text+"',remark_about_bedroom='"+txtrem ark_abedroom.Text+"',ideal_match='"+txtideal_match.Text+"'"; Connection con = ConnectionPool.GetConnection(); int i= con.ExecuteNonQuery(query); ConnectionPool.FreeConnection(con); formview.ChangeMode(FormViewMode.ReadOnly); } public static void PersonalProfile_bind(FormView formview, string userid) { string query ="select * from user_personal_detail where userid='"+userid+"'"; Connection con = ConnectionPool.GetConnection(); DataSet ds= con.GetDataSet(query); ConnectionPool.FreeConnection(con); formview.DataSource = ds; formview.DataBind(); } }

ProfessionalProfile.cs

using System; using System.Data; using System.Configuration;

Page | 146

using using using using using using using

System.Web; System.Web.Security; System.Web.UI; System.Web.UI.WebControls; System.Web.UI.WebControls.WebParts; System.Web.UI.HtmlControls; Ducat.Forever.Database;

public class ProfessionalProfile { static string userid; public static string setuserid { set { userid = value; } } public static void ProfessionalProfile_Bind_formview(FormView formview) { Connection con = ConnectionPool.GetConnection(); DataSet ds = con.GetDataSet("select * from user_professional_detail where userid='" + userid + "'"); ConnectionPool.FreeConnection(con); formview.DataSource = ds; formview.DataBind();

} public static void ProfessionProfile_UpdateProfile(FormView formview) { TextBox txteducation, txtcollege, txtoccupation, txtcompany, txtcompany_webpage, txttitle,txtwork_email,txtjob_description,txtwork_phone,txtcareer_skil l,txtcareer_interest; DropDownList ddldegree, ddlyear, ddlindustry,ddlsub_industry; txteducation = (TextBox)formview.Row.FindControl("txteducation"); txtcollege = (TextBox)formview.Row.FindControl("txtcollege"); txtoccupation = (TextBox)formview.Row.FindControl("txtoccupation"); txtcompany = (TextBox)formview.Row.FindControl("txtcompany"); txtcompany_webpage = (TextBox)formview.Row.FindControl("txtcompany_webpage"); txttitle = (TextBox)formview.Row.FindControl("txttitle"); txtwork_email = (TextBox)formview.Row.FindControl("txtwork_email");

Page | 147

txtjob_description = (TextBox)formview.Row.FindControl("txtjob_description"); txtwork_phone = (TextBox)formview.Row.FindControl("txtwork_phone"); txtcareer_skill = (TextBox)formview.Row.FindControl("txtcareer_skill"); txtcareer_interest = (TextBox)formview.Row.FindControl("txtcareer_interest"); ddldegree = (DropDownList)formview.Row.FindControl("ddldgree"); ddlyear = (DropDownList)formview.Row.FindControl("ddlyear"); ddlindustry = (DropDownList)formview.Row.FindControl("ddlindustry"); ddlsub_industry = (DropDownList)formview.Row.FindControl("ddlsub_industry"); string query = "update user_professional_detail set education='" + txteducation.Text + "',college='" + txtcollege.Text + "',degree='" + ddldegree.SelectedItem.Value + "',year='" + ddlyear.SelectedItem.Value + "',occupation='" + txtoccupation.Text + "',industry='" +ddlindustry.SelectedItem.Value + "' ,sub_industry ='" + ddlsub_industry.SelectedItem.Value + "',company='" + txtcompany.Text + "',company_webpage='" + txtcompany_webpage.Text + "',title='"+txttitle.Text+"',work_email='"+txtwork_email.Text+"',job_d etail='"+txtjob_description.Text+"',work_phone='"+txtwork_phone.Text+" ',career_skill='"+txtcareer_skill.Text+"',career_interest='"+txtcareer _interest.Text+"' where userid='" + userid + "'"; Connection con = ConnectionPool.GetConnection(); int i = con.ExecuteNonQuery(query); ConnectionPool.FreeConnection(con); formview.ChangeMode(FormViewMode.ReadOnly); ProfessionalProfile_Bind_formview(formview); } }

SocialProfile.cs

using System; using System.Data;

Page | 148

using using using using using using using using

System.Configuration; System.Web; System.Web.Security; System.Web.UI; System.Web.UI.WebControls; System.Web.UI.WebControls.WebParts; System.Web.UI.HtmlControls; Ducat.Forever.Database;

public class SocialProfileClass { static Connection con; static DataSet SocialProfile_Update_static_dataset;

public static void SocialProfile_Update(FormView FormView1,string string_loc_userid) { TextBox txthometown, txtaboutme, txtpassions, txtsports, txtactivity, txtmusic, txttvshows, txtmovies; DropDownList ddlchildren, ddlenthencity, ddlreligion, ddlsexual, ddlsmoking, ddldrinking, ddlpets, ddliving; ddlchildren = (DropDownList)FormView1.Row.FindControl("ddlchildren"); string str = ddlchildren.SelectedItem.Value; ddlenthencity = (DropDownList)FormView1.Row.FindControl("ddlenthencity"); ddlreligion = (DropDownList)FormView1.Row.FindControl("ddlreligion"); ddlsexual = (DropDownList)FormView1.Row.FindControl("ddlsexual"); ddlsmoking = (DropDownList)FormView1.Row.FindControl("ddlsmoking"); ddldrinking = (DropDownList)FormView1.Row.FindControl("ddldrinking"); ddlpets = (DropDownList)FormView1.Row.FindControl("ddlpets"); ddliving = (DropDownList)FormView1.Row.FindControl("ddlliving"); txthometown = (TextBox)FormView1.Row.FindControl("txthometown"); txtaboutme = (TextBox)FormView1.Row.FindControl("txtaboutme"); txtpassions = (TextBox)FormView1.Row.FindControl("txtpassions"); txtsports = (TextBox)FormView1.Row.FindControl("txtsports");

Page | 149

txtactivity = (TextBox)FormView1.Row.FindControl("txtactivities"); txtmusic = (TextBox)FormView1.Row.FindControl("txtmusic"); txttvshows = (TextBox)FormView1.Row.FindControl("txttvshows"); txtmovies = (TextBox)FormView1.Row.FindControl("txtmovies"); string query = "update user_social_detail set children='" + ddlchildren.SelectedItem.Value + "',enthencity='" + ddlenthencity.SelectedItem.Value + "',religion='" + ddlreligion.SelectedItem.Value + "', sexual_mode='" + ddlsexual.SelectedItem.Value + "',smoking='" + ddlsmoking.SelectedItem.Value + "',drinking='" + ddldrinking.SelectedItem.Value + "',pets='" + ddlpets.SelectedItem.Value + "',living='"+"na"+"',hometown='" + txthometown.Text + "',about_self='" + txtaboutme.Text + "',passions='" + txtpassions.Text + "',sports='" + txtsports.Text + "',activity='" + txtactivity.Text + "',music='" + txtmusic.Text + "',tv_shows='" + txttvshows.Text + "',movies='" + txtmovies.Text + "' where userid='" + string_loc_userid + "'"; Connection con = ConnectionPool.GetConnection(); int i = con.ExecuteNonQuery(query); ConnectionPool.FreeConnection(con); } }

ScrapBook.cs

using using using using

System; System.Data; System.Configuration; System.Web;

Page | 150

using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using Ducat.Forever.Database; using Ducat.Forever.UI; using System.IO; public static class ScrapBook { static Connection con; static DataSet ScrapBook_static_dataset; static string ScrapBook_static_userid; public static void ScrapBook_SetUserId(string loc_Userid) { ScrapBook_static_userid = loc_Userid;

} public static void ScrapBook_BindUserScrap(Repeater repeater) { con = ConnectionPool.GetConnection(); ScrapBook_static_dataset = con.GetDataSet("select scrapid,scrap_message,from_user, doa,imageurl from scrap_detail where to_user= '" + ScrapBook_static_userid + "' order by doa desc"); ConnectionPool.FreeConnection(con); //return (ScrapBook_static_dataset); repeater.DataSource = ScrapBook_static_dataset.Tables[0]; repeater.DataBind(); } public static string GetImageUrl() { con = ConnectionPool.GetConnection(); ScrapBook_static_dataset= con.GetDataSet("select imageurl from scrap_detail where to_user=" + ScrapBook_static_userid + ""); ConnectionPool.FreeConnection(con); return (ScrapBook_static_dataset.Tables[0].Rows[0] [0].ToString()); } public static string ScrapBook_Counter() { Connection con = Ducat.Forever.Database.ConnectionPool.GetConnection(); ScrapBook_static_dataset = con.GetDataSet("select * from scrap_detail where to_user='" +ScrapBook_static_userid + "'"); ConnectionPool.FreeConnection(con);

Page | 151

return (ScrapBook_static_dataset.Tables[0].Rows.Count.ToString()); } public static DataSet ScrapBook_Get_Rows(int ScrapBook_loc_top) { string str_loc_query = "select top " + ScrapBook_loc_top + " * from scrap_detail where to_user='" + ScrapBook_static_userid + "'"; Connection connection_loc_con = ConnectionPool.GetConnection(); ScrapBook_static_dataset= connection_loc_con.GetDataSet(str_loc_query); return (ScrapBook_static_dataset); } public static void ScrapBook_Delete_Scrap(RepeaterItem item) { Label lbl = (Label)item.FindControl("lblscrapid"); Connection con = ConnectionPool.GetConnection(); string query = "delete from scrap_detail where scrapid='" +lbl.Text + "'"; int i = con.ExecuteNonQuery(query); ConnectionPool.FreeConnection(con);

} public static void ScrapBook_DeleteAll_Scrap(Repeater repeater) { int ctr = repeater.Items.Count; for (int i = 0; i < ctr; i++) { CheckBox chk; Label lbl; chk = (CheckBox)repeater.Items[i].FindControl("chk"); if (chk.Checked) { lbl = (Label)repeater.Items[i].FindControl("lblscrapid"); Connection con = ConnectionPool.GetConnection(); string query = "delete from scrap_detail where scrapid=" + lbl.Text; int j = con.ExecuteNonQuery(query); ConnectionPool.FreeConnection(con); } }

Page | 152

} public static void ScrapBook_Reply_Scrap(RepeaterItem item) { TextBox txt; txt = (TextBox)item.FindControl("txtmessage"); Label lbl = (Label)item.FindControl("lblsender"); string current_date = System.DateTime.Now.ToString(); string query; if(lbl.Text.Equals("self")) query = "insert into scrap_detail (imageurl,scrap_message,to_user,from_user)values ('" + "usephoto/" + HttpContext.Current.Session["user_session"].ToString() + ".jpg" + "','" + txt.Text + "','" + HttpContext.Current.Session["user_session"].ToString() + "','self')"; query = "insert into scrap_detail (imageurl,scrap_message,to_user,from_user)values ('" + "usephoto/" + HttpContext.Current.Session["user_session"].ToString() + ".jpg" + "','" + txt.Text + "','" + lbl.Text + "','" + HttpContext.Current.Session["user_session"].ToString() + "')"; Connection con = ConnectionPool.GetConnection(); int i = con.ExecuteNonQuery(query); ConnectionPool.FreeConnection(con); } public static void ScrapBook_SelectAllScrap(Repeater repeater) { int ctr = repeater.Items.Count; for (int i = 0; i < ctr; i++) { CheckBox chk; chk = (CheckBox)repeater.Items[i].FindControl("chk"); chk.Checked = true; } } public static void ScrapBook_SelectNone(Repeater repeater) { int ctr = repeater.Items.Count; for (int i = 0; i < ctr; i++) { CheckBox chk; chk = (CheckBox)repeater.Items[i].FindControl("chk"); chk.Checked = false; else

Page | 153

} } public static void ScrapBook_SendScrapSelf(string loc_query) { Connection con = ConnectionPool.GetConnection(); int i = con.ExecuteNonQuery(loc_query); ConnectionPool.FreeConnection(con);

FriendHome.aspx.cs

using using using using using

System; System.Data; System.Configuration; System.Collections; System.Web;

Page | 154

using using using using using

System.Web.Security; System.Web.UI; System.Web.UI.WebControls; System.Web.UI.WebControls.WebParts; System.Web.UI.HtmlControls;

public partial class Friend_homet : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { string userid = Request.QueryString["fid"]; Session["friend_id"] = userid; lblscrap.Text = "(" + Current_User.Get_Total_Scrap(userid).ToString() + ")"; lbluser.Text = userid; friend frnd = new friend(); frnd.SetUserId = userid; //DataTable dt = frnd.Find_Invitation_List(Session["emailid"].ToString()); //if (dt.Rows.Count > 0) //{ // // frndtable.Visible = true; // Repeater1.DataSource = dt; // Repeater1.DataBind(); //} int ctr = frnd.Count_Friend(); lblfriendlist.Text = "(" + ctr.ToString() + ")"; DataTable dt1 = frnd.Fetch_FriendList(userid); Repeater1.DataSource = dt1; Repeater1.DataBind();

} } protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e) { LinkButton link = (LinkButton)e.Item.FindControl("lnkb"); string userid = link.Text; Session["user_session"] = userid; Response.Redirect("home.aspx?fid=" + userid + ""); } protected void linkscrap_Click(object sender, EventArgs e)

Page | 155

{ g()); } } ScrapBook.ScrapBook_SetUserId(Session["friend_id"].ToStrin Response.Redirect("~/ScrapBook/scrapbook.aspx");

Compose.aspx.cs
using using using using using using using using System; System.Data; System.Configuration; System.Collections; System.Web; System.Web.Security; System.Web.UI; System.Web.UI.WebControls;

Page | 156

using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using Ducat.Forever.Database; public partial class Mailmessage_compose : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { SiteMapPath smp =(SiteMapPath) Page.Master.FindControl("SiteMapPath1"); smp.Visible = false; if (!Page.IsPostBack) { lbluser.Text = Session["emailid"].ToString(); Connection con = ConnectionPool.GetConnection(); string userid = Session["user_session"].ToString(); string query = "select fid from friend_detail where userid='" + userid + "'"; DataSet ds = con.GetDataSet(query); ConnectionPool.FreeConnection(con); for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { DropDownList1.Items.Add(ds.Tables[0].Rows[i] [0].ToString()); } } } protected void LinkButton5_Click(object sender, EventArgs e) { bool flag=false; string fromuser = Session["user_session"].ToString(); string absolute_path=null; if(FileUpload1.HasFile) { string path=Server.MapPath("~/image/"); FileUpload1.SaveAs(path+FileUpload1.FileName); flag=true; absolute_path=path+FileUpload1.FileName; } string string string string

touser = DropDownList1.SelectedItem.Value; subject = txtsubject.Text; message = txtmessage.Text; query=null;

Page | 157

query = "insert into scrap_detail (imageurl,scrap_message,to_user,from_user)values ('" + "usephoto/" + HttpContext.Current.Session["user_session"].ToString() + ".jpg" + "','" + txtmessage.Text + "','" + touser + "','" + HttpContext.Current.Session["user_session"].ToString() + "')"; //if(flag) //{ // query="insert into scrap_detail values('"+absolute_path+"','"+ DateTime.Now+"','"+message+"','"+touser+"','"+fromuser+"')"; //} //else //{ // query="insert into scrap_detail values(default,'"+ DateTime.Now+"','"+message+"','"+touser+"','"+fromuser+"')"; //} Connection con = ConnectionPool.GetConnection(); try { int i = con.ExecuteNonQuery(query); lblnotification.Visible = true; lblnotification.Text = "Scrap Sent Successfully!"; txtmessage.Text = ""; txtsubject.Text = ""; } catch { lblnotification.Visible = true; lblnotification.Text = "Scrap Sending Failure Error"; } finally { ConnectionPool.FreeConnection(con); }

} protected void LinkButton6_Click(object sender, EventArgs e) { txtmessage.Text = ""; txtsubject.Text = ""; } protected void LinkButton4_Click(object sender, EventArgs e) {

Page | 158

} protected void LinkButton2_Click(object sender, EventArgs e) { table1.Visible = false; } }

MailMessage.aspx.cs
using using using using using using System; System.Data; System.Configuration; System.Collections; System.Web; System.Web.Security;

Page | 159

using using using using using

System.Web.UI; System.Web.UI.WebControls; System.Web.UI.WebControls.WebParts; System.Web.UI.HtmlControls; Ducat.Forever.Database;

public partial class Mailmessage_MailMessage : System.Web.UI.Page { int ctr = 0; protected void Page_Load(object sender, EventArgs e) { SiteMapPath smp = (SiteMapPath)Page.Master.FindControl("SiteMapPath1"); smp.Visible = false; if(Session["emailid"]!=null || Session["user_session"]!=null) { string emailid = Session["emailid"].ToString(); string userid = Session["user_session"].ToString(); } } protected void LinkButton4_Click(object sender, EventArgs e) { Response.Redirect("~/MailMessage/compose.aspx"); } protected void LinkButton2_Click(object sender, EventArgs e) GridView1.Visible = true; string query = "select to_user,scrap_message,doa from scrap_detail where from_user='" + Session["user_session"].ToString() + "'"; bind(query); if (ctr > 0) { lblmessage.Visible = true; lblmessage.Text = "List Of Scraps Sent"; } else { lblmessage.Visible = true; lblmessage.Text = "No Scrap Found"; } } protected void GridView1_SelectedIndexChanging(object sender, GridViewSelectEventArgs e) { } {

Page | 160

public void bind(string query) { Connection con = ConnectionPool.GetConnection(); DataSet ds = con.GetDataSet(query); GridView1.DataSource = ds.Tables[0]; GridView1.DataBind(); ctr = ds.Tables[0].Rows.Count; ConnectionPool.FreeConnection(con); } protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e) { GridView1.PageIndex = e.NewPageIndex; string query = "select to_user,scrap_message,doa from scrap_detail where from_user='" + Session["user_session"].ToString() + "'"; bind(query); } protected void GridView1_Sorting(object sender, GridViewSortEventArgs e) { GridView1.Sort(e.SortExpression,SortDirection.Ascending); string query = "select to_user,scrap_message,doa from scrap_detail where from_user='" + Session["user_session"].ToString() + "'"; bind(query); } protected void LinkButton1_Click(object sender, EventArgs e) { GridView1.Visible = true;

string query = "select from_user,scrap_message,doa from scrap_detail where to_user='" + Session["user_session"].ToString() + "'"; bind(query); if (ctr > 0) { lblmessage.Visible = true; lblmessage.Text = "List Of Scraps Recieved"; } else { lblmessage.Visible = true;

Page | 161

} }

lblmessage.Text = "No Scrap found";

Password_Recovery.aspx.cs
using using using using using using System; System.Data; System.Configuration; System.Collections; System.Web; System.Web.Security;

Page | 162

using using using using using

System.Web.UI; System.Web.UI.WebControls; System.Web.UI.WebControls.WebParts; System.Web.UI.HtmlControls; Ducat.Forever.Database;

public partial class Password_Recovery_Password_Recovery : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { txtuser.Focus(); //txtemailid.Focus(); } protected void lnkbsubmit_Click(object sender, EventArgs e) { lblerror.Visible = true; string query="select count(*) from user_login_detail where userid='"+txtuser.Text+"'and alternative_emailid='"+txtemailid.Text+"'"; Connection con = ConnectionPool.GetConnection(); object obj1 = con.ExecuteScalar(query); int ctr = 0; if (obj1 != null) ctr =(int) obj1; if (ctr > 0) { Password_Recovery_Class obj = new Password_Recovery_Class(); bool flag = obj.Recover_Password(txtemailid.Text, txtuser.Text); if (flag) { lblerror.Text = "Your password sent to your emailid"; }

else { } } else { }

lblerror.Text = "Unable to send Password";

lblerror.Text = "Invalid userid or emailid";

Page | 163

txtuser.Text = ""; txtemailid.Text = ""; } }

GeneralProfile.aspx.cs

using using using using using

System; System.Data; System.Configuration; System.Collections; System.Web;

Page | 164

using using using using using using

System.Web.Security; System.Web.UI; System.Web.UI.WebControls; System.Web.UI.WebControls.WebParts; System.Web.UI.HtmlControls; Ducat.Forever.Database;

public partial class Profile_General_Profile_GeneralProfile : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { if (Session["userfriend"] != null) { string userid = Session["userfriend"].ToString(); GeneralProfile.setuserid = userid; GeneralProfile.GeneralProfile_Bind_formview(FormView1) } else { string userid = Session["user_session"].ToString(); GeneralProfile.setuserid = userid; GeneralProfile.GeneralProfile_Bind_formview(FormView1) } } }

protected void FormView1_ModeChanging(object sender, FormViewModeEventArgs e) { if (e.NewMode.ToString().Equals("Edit")) { FormView1.ChangeMode(FormViewMode.Edit); } else if(e.NewMode.ToString().Equals("ReadOnly")) { FormView1.ChangeMode(FormViewMode.ReadOnly);

Page | 165

} GeneralProfile.GeneralProfile_Bind_formview(FormView1);

} protected void FormView1_ItemUpdating(object sender, FormViewUpdateEventArgs e) { GeneralProfile.GeneralProfile_UpdateProfile(FormView1); FormView1.ChangeMode(FormViewMode.ReadOnly); GeneralProfile.GeneralProfile_Bind_formview(FormView1);

} protected void FormView1_PageIndexChanging(object sender, FormViewPageEventArgs e) { } }

PersonalProfile.aspx.cs

using using using using using

System; System.Data; System.Configuration; System.Collections; System.Web;

Page | 166

using using using using using

System.Web.Security; System.Web.UI; System.Web.UI.WebControls; System.Web.UI.WebControls.WebParts; System.Web.UI.HtmlControls;

public partial class Profile_Personal_Profile_PersonalProfile : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { if (Session["userfriend"] != null) { string userid = Session["userfriend"].ToString(); PersonalProfile.setuserid = userid; PersonalProfile.PersonalProfile_bind(FormView1, } else { string userid = Session["user_session"].ToString(); PersonalProfile.setuserid = userid; PersonalProfile.PersonalProfile_bind(FormView1, } } } protected void FormView1_ItemUpdating(object sender, FormViewUpdateEventArgs e) {

userid);

userid);

PersonalProfile.PersonalProfile_Update(FormView1); PersonalProfile.PersonalProfile_bind(FormView1, Session["user_session"].ToString()); } protected void FormView1_ModeChanging(object sender, FormViewModeEventArgs e) { if (e.NewMode.ToString().Equals("Edit")) FormView1.ChangeMode(FormViewMode.Edit); else if (e.NewMode.ToString().Equals("ReadOnly")) FormView1.ChangeMode(FormViewMode.ReadOnly);

Page | 167

PersonalProfile.PersonalProfile_bind(FormView1, Session["user_session"].ToString()); } protected void FormView1_PageIndexChanging(object sender, FormViewPageEventArgs e) { } }

ProfessionalProfile.aspx.cs

using using using using using

System; System.Data; System.Configuration; System.Collections; System.Web;

Page | 168

using using using using using

System.Web.Security; System.Web.UI; System.Web.UI.WebControls; System.Web.UI.WebControls.WebParts; System.Web.UI.HtmlControls;

public partial class Profile_ProfessionalProfile : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { if (Session["userfriend"] != null) { string userid = Session["userfriend"].ToString(); ProfessionalProfile.setuserid = userid; ProfessionalProfile.ProfessionalProfile_Bind_formview( FormView1); } ProfessionalProfile.setuserid = Session["user_session"].ToString(); ProfessionalProfile.ProfessionalProfile_Bind_formview(Form View1); } } protected void FormView1_PageIndexChanging(object sender, FormViewPageEventArgs e) { } protected void FormView1_ModeChanging(object sender, FormViewModeEventArgs e) {

if(e.NewMode.ToString().Equals("Edit")) FormView1.ChangeMode(FormViewMode.Edit); else if(e.NewMode.ToString().Equals("ReadOnly")) FormView1.ChangeMode(FormViewMode.ReadOnly); ProfessionalProfile.ProfessionalProfile_Bind_formview(FormView

1); } protected void FormView1_ItemUpdating(object sender, FormViewUpdateEventArgs e)

Page | 169

{ ; } ProfessionalProfile.ProfessionProfile_UpdateProfile(FormView1)

Editsocial.aspx.cs

using using using using using

System; System.Data; System.Configuration; System.Collections; System.Web;

Page | 170

using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using Ducat.Forever.Application; using Ducat.Forever.Database; using Ducat.Forever.UI; public partial class localfolder_Editsocial : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) Bind_User_Social_Detail(); } protected void ucl_Load(object sender, EventArgs e) { } protected void ucl_Load1(object sender, EventArgs e) { } protected void FormView1_ModeChanging(object sender, FormViewModeEventArgs e) { if (e.NewMode.ToString().Equals("Edit")) { FormView1.ChangeMode(FormViewMode.Edit); } else FormView1.ChangeMode(FormViewMode.ReadOnly); Bind_User_Social_Detail(); } protected void FormView1_ItemUpdating(object sender, FormViewUpdateEventArgs e) { string uid = Session["user_session"].ToString(); SocialProfileClass.SocialProfile_Update(FormView1, uid); FormView1.ChangeMode(FormViewMode.ReadOnly); Bind_User_Social_Detail();;

} public void Bind_User_Social_Detail() { Connection con = ConnectionPool.GetConnection();

Page | 171

DataSet ds= con.GetDataSet("select * from user_social_detail"); ConnectionPool.FreeConnection(con ); FormView1.DataSource = ds; FormView1.DataBind();

} protected void FormView1_PageIndexChanging(object sender, FormViewPageEventArgs e) { } }

Profile.aspx.cs

using using using using using using using

System; System.Data; System.Configuration; System.Collections; System.Web; System.Web.Security; System.Web.UI;

Page | 172

using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; public partial class Profile_Profile : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (Session["userfriend"] != null && Session["userfriend"].ToString()!=Session["user_session"].ToString()) { LinkButton lk = (LinkButton)Master.FindControl("LinkButton5"); lk.Visible = false; Image im = (Image)Master.FindControl("Image5"); im.Visible = false; } else {

LinkButton lk = (LinkButton)Master.FindControl("LinkButton5"); lk.Visible = true; Image im = (Image)Master.FindControl("Image5"); im.Visible = true; } } protected void ucl_Load(object sender, EventArgs e) { } }

Popupwindow.aspx.cs
using using using using using using System; System.Data; System.Configuration; System.Collections; System.Web; System.Web.Security;

Page | 173

using using using using

System.Web.UI; System.Web.UI.WebControls; System.Web.UI.WebControls.WebParts; System.Web.UI.HtmlControls;

public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void Button1_Click(object sender, EventArgs e) { //string path=Session["aa"].ToString(); //Response.Redirect("Scrapbook.aspx?fid=" + path); //Server.Transfer("scrapbook.aspx");] //Response.Write("<script>window.close()</script>");

} protected void Button1_Click1(object sender, EventArgs e) { Session["aa"] = FileUpload1.PostedFile.FileName; Response.Write("<script>window.opener.location.href=window.ope ner.location.href;self.close();</script>"); } }

Scrapbook.aspx.cs
using using using using using using using using System; System.Data; System.Configuration; System.Collections; System.Web; System.IO; System.Web.Security; System.Web.UI;

Page | 174

using using using using

System.Web.UI.WebControls; System.Web.UI.WebControls.WebParts; System.Web.UI.HtmlControls; Ducat.Forever.Database;

public partial class scrapbook : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) {

if (Session["aa"] != null) { TextBox txt = (TextBox)Page.Master.FindControl("txturl"); txt.Text = Session["aa"].ToString(); img.Visible = true; int width = 80; int height = 80; img.Width = width; img.Height = height; img.Src = txt.Text;

} if (Session["userfriend"] != null && Session["userfriend"].ToString() != Session["user_session"].ToString()) { LinkButton lk = (LinkButton)Master.FindControl("LinkButton5"); lk.Visible = false; Image im = (Image)Master.FindControl("Image5"); im.Visible = false; } else { LinkButton lk = (LinkButton)Master.FindControl("LinkButton5"); lk.Visible = true; Image im = (Image)Master.FindControl("Image5"); im.Visible = true; } if (!IsPostBack) { ScrapBook.ScrapBook_BindUserScrap(repeater1);

Page | 175

} }

protected void bb(object source, EventArgs e) { DropDownList ddlist=(DropDownList)repeater1.Controls[0].FindControl("DropDownList1" ); int index = ddlist.SelectedIndex; int ctr = 0; if (index == 1) ctr = 3; else if (index == 2) ctr = 5; else if (index == 3) ctr = 10; DataSet dataset_loc_ds = ScrapBook.ScrapBook_Get_Rows( ctr); repeater1.DataSource = dataset_loc_ds.Tables[0]; repeater1.DataBind(); } protected void repeater1_ItemCommand(object source, RepeaterCommandEventArgs e) { if (e.CommandName.Equals("Delete")) { ScrapBook.ScrapBook_Delete_Scrap(e.Item); ScrapBook.ScrapBook_BindUserScrap(repeater1); } else if (e.CommandName.Equals("Display")) { LinkButton link1, link2; TextBox txt; txt = (TextBox)e.Item.FindControl("txtmessage"); txt.Visible = true; link1 = (LinkButton)e.Item.FindControl("link"); link1.Visible = true; } else if (e.CommandName.Equals("Reply")) { ScrapBook.ScrapBook_Reply_Scrap(e.Item);

Page | 176

ScrapBook.ScrapBook_BindUserScrap(repeater1); } else if (e.CommandName.Equals("Select_all")) { ScrapBook.ScrapBook_SelectAllScrap(repeater1); } else if (e.CommandName.Equals("Select_none")) { ScrapBook.ScrapBook_SelectNone(repeater1); } else if (e.CommandName.Equals("Delete_all")) { ScrapBook.ScrapBook_DeleteAll_Scrap(repeater1); ScrapBook.ScrapBook_BindUserScrap(repeater1);

} }

protected void link_post_scrap_Click(object sender, EventArgs e) { string message = txtscrap.Text; string current_user = Session["user_session"].ToString(); string current_time = DateTime.Now.ToString(); string query; TextBox txturl = (TextBox)Page.Master.FindControl("txturl"); if (txturl.Text.Length > 0 || txtscrap.Text.Length > 0) { if (txturl.Text.Length > 0) { FileInfo fi = new FileInfo(txturl.Text); fi.CopyTo(AppDomain.CurrentDomain.BaseDirectory+"S crapbook\\scrapimage\\"+Path.GetFileName(txturl.Text),true); string path = "scrapimage/" + Path.GetFileName(txturl.Text); if (Session["userfriend"] != null) { query = "insert into scrap_detail (imageurl,scrap_message,to_user,from_user)values ('" + "usephoto/" +

Page | 177

current_user + ".jpg" + "','" + path + "','" + Session["userfriend"].ToString() + "','" + current_user + "')"; } else { query = "insert into scrap_detail (imageurl,scrap_message,to_user,from_user)values ('" + "usephoto/" + current_user + ".jpg" + "','" + path + "','" + current_user + "','self')"; } txturl.Text = string.Empty; img.Src = string.Empty; Session["aa"] = null; } else { if (Session["userfriend"] != null) { query = "insert into scrap_detail (imageurl,scrap_message,to_user,from_user)values ('" + "usephoto/" + current_user + ".jpg" + "','" + message + "','" + Session["userfriend"].ToString() + "','" + current_user + "')"; } else { query = "insert into scrap_detail(imageurl,scrap_message,to_user,from_user) values('" + "usephoto/" + current_user + ".jpg" + "','" + message + "','" + current_user + "','self')"; } } ScrapBook.ScrapBook_SendScrapSelf(query); txtscrap.Text = ""; txturl.Text = ""; ScrapBook.ScrapBook_BindUserScrap(repeater1); img.Visible = false; txtpreview.Visible = false; img.Visible = false; } } protected void link_preview_Click(object sender, EventArgs e) { TextBox tt =(TextBox) Page.Master.FindControl("txturl"); if (tt.Text != "") { img.Visible = true;

Page | 178

int width = 80; int height = 80; img.Width = width; img.Height = height; img.Src = tt.Text; } if(txtscrap.Text!="") { //TextBox1.Attributes.Add("style", "overflow :hidden"); txtpreview.Visible = true; int width = 670; int height = 50; txtpreview.Attributes.Add("style", "overflow:hidden"); txtpreview.Width = width; txtpreview.Height = height; txtpreview.Text = txtscrap.Text; } //tt.Text = "";

} protected void link_photo_Click(object sender, EventArgs e) { Response.Write("<script>window.open('popupwindow.aspx',null,'h eight=230,width=500,resizable=no,scrollbars=no,top=150,left=150,toolba r=no,menubar=no')</script>"); }

protected void txtpreview_TextChanged(object sender, EventArgs e) { } protected void scrap_tips_Click(object sender, EventArgs e) { Response.Write("<script>window.open('scraptip.htm',null,'heigh t=450, width=450,status=yes, resizable=no,left=150px, scrollbars=yes, toolbar=no,menubar=no')</script>");

} protected void repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)

Page | 179

{ =null)

if (Session["userfriend"] != null && Session["user_session"]! {

if (Session["userfriend"].ToString() != Session["user_session"].ToString()) { if (e.Item.ItemType == ListItemType.Header) { LinkButton delsel1 = (LinkButton)e.Item.FindControl("LinkButton2"); delsel1.Visible = false; LinkButton delsel2 = (LinkButton)e.Item.FindControl("LinkButton3"); delsel2.Visible = false; LinkButton delsel3 = (LinkButton)e.Item.FindControl("LinkButton4"); delsel3.Visible = false; LinkButton delsel4 = (LinkButton)e.Item.FindControl("LinkButton5"); delsel4.Visible = false;

} if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)

{ CheckBox ck1 = (CheckBox)e.Item.FindControl("chk"); ck1.Visible = false; LinkButton reply = (LinkButton)e.Item.FindControl("LinkButton1"); reply.Visible = false; Label lbl=(Label)e.Item.FindControl("lblsender"); if (lbl.Text != Session["user_session"].ToString()) { LinkButton lnkdel=(LinkButton)e.Item.FindControl("linkdelete"); lnkdel.Visible = false;

Page | 180

} }

if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) { Label lblmessage=(Label) e.Item.FindControl("lblmessage"); if (lblmessage.Text.Contains(".")|| lblmessage.Text.Contains(".jpg")) { lblmessage.Visible = false; Image imgscrap = (Image)e.Item.FindControl("imgscrap"); imgscrap.Visible = true; } }

} }

Scraptip.htm
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>orkut - Formatting Tips</title>

Page | 181

<link rel="SHORTCUT ICON" href="http://img2.orkut.com/favicon.ico" type="image/x-icon"> <script type="text/javascript"> var JSHDF = {}; JSHDF['CGI.POST_TOKEN'] = '963A3003D130B6233332AA72BD0E17E6'; JSHDF['Page.signature.raw'] = 'S7WVkk7fvASRmYbJc5CuZ\x2FMbsUE='; JSHDF['photosLabel'] = 'photos'; JSHDF['scrapsLabel'] = 'scraps'; JSHDF['inviteToChat'] = 'invite to chat'; JSHDF['sendIM'] = 'chat'; JSHDF['friendsListLabel'] = '\x3C?cs #trans ph TERM ?\x3E\x3Cspan id=\x22inlsearchterm1\x22 style=\x22fontweight:bold\x3B\x22\x3E\x3C\x2Fspan\x3E\x3C?cs #trans \x2Fph ?\x3E in my friends list'; JSHDF['searchOrkutLabel'] = 'Search for \x3C?cs #trans ph TERM ?\x3E\x3Cspan id=\x22inlsearchterm2\x22 style=\x22fontweight:bold\x3B\x22\x3E\x3C\x2Fspan\x3E\x3C?cs #trans \x2Fph ?\x3E in all orkut'; JSHDF['uid'] = '8284806768728322334'; JSHDF['home'] = '\x2FHome.aspx'; JSHDF['main'] = '\x2FMain'; JSHDF['LinkInterstitial.Label.warning'] = 'Are you sure you want to visit this website?'; JSHDF['LinkInterstitial.Label.continue'] = 'continue'; JSHDF['LinkInterstitial.Label.cancel'] = 'cancel'; JSHDF['clientHashSeparator'] = '$'; </script> <base target="_top"></base> <link href="http://img3.orkut.com/css/gen/base033.css" rel="stylesheet" type="text/css"> <link href="http://img4.orkut.com/css/gen/castroskin016.css" rel="stylesheet" type="text/css"> <script src="http://img4.orkut.com/js/gen/common037.js" type="text/javascript"></script> <script src="http://img4.orkut.com/js/gen/in_frame011.js" type="text/javascript"></script> <style type="text/css"> .style1 { height: 56px; } </style> </head> <body style="padding: 10px"> <div id="mboxfullr" style="margin-right: 0px"> <table cellpadding="0" cellspacing="0" border="0" class="module" ><tr> <td class="style1"> <h2 style="font-family: Arial; font-size: x-large; font-weight: bold; color: #800080"> <img alt="" src="friendworld_logo.bmp" /></h2> <h2 style="font-family: Arial; font-size: x-large; fontweight: bold; color: #800080">

Page | 182

&nbsp;</h2> <h2 style="font-family: Arial; font-size: x-large; fontweight: bold; color: #800080">Scraps To Friends</h2> </td><td class="style1" ></td></tr> <tr><td class="boxmidlrg" > <table class="listlight" border="0" cellpadding="2" cellspacing="2" width="100%"> <tr> <td> Now, you can paste in photos, videos, audio, and flash widgets in scraps to your friends. Here's how: </td> </tr> <tr> <td> <ul class="bullets"> <li>Add images<br> Copy and paste urls ending in .jpg, .gif, .png or .bmp and the image will appear in the scrap.<br> for example, http://example.com/example.jpg </li> <li>Add videos from YouTube<br> Copy and paste the url and the video will appear in the scrap.<br> for example, http://youtube.com/watch?v=videoid </li> <li>Add podcast/audio<br> Copy and paste the url of an audio file and an audio player will appear in the scrap.<br> for example, http://example.com/example.mp3 </li> <li>Add html-embeddable objects<br> Create or upload your content at sites such as photobucket.com, imageshack.com, rockyou.com or slide.com. Copy and paste the html embed code to share it with your friends.<br> </li> </ul> </td> </tr> </table> </td><td class="boxmidr" ></td></tr> <tr><td class="botl"></td><td class="botr"></td></tr> <tr><td class="botl">&nbsp;</td><td class="botr">&nbsp;</td></tr></table> <table cellpadding="0" cellspacing="0" border="0" class="module" ><tr><td class="topl_g"> <h2 style="font-family: Arial; font-size: x-large; font-weight: bold; color: #800080">Scraps To Everyone</h2> </td><td class="topr_g" ></td></tr> <tr><td class="boxmidlrg" >

Page | 183

<table class="listlight" border="0" cellpadding="2" cellspacing="2" width="100%"> <tr> <td>b - ="100%"> <tr> <td>b - <b>bold</b></td> <td>u - <u>underline</u></td> <td>i - <i>italic</i></td> <td width="17%">8) - <img alt="" border="0" src="http://img1.orkut.com/img/smiley/i_cool.gif" width="15" height="15" ></td> <td width="17%">:( - <img alt="" border="0" src="http://img4.orkut.com/img/smiley/i_sad.gif" width="15" height="15" ></td> <td width="16%">:x - <img alt="" border="0" src="http://img2.orkut.com/img/smiley/i_angry.gif" width="15" height="15" ></td> </tr> <tr> <td>:) - <img alt="" border="0" src="http://img1.orkut.com/img/smiley/i_smile.gif" width="15" height="15" ></td> <td>;) - <img alt="" border="0" src="http://img3.orkut.com/img/smiley/i_wink.gif" width="15" height="15" ></td> <td>:D - <img alt="" border="0" src="http://img4.orkut.com/img/smiley/i_bigsmile.gif" width="15" height="15" ></td> <td>:o - <img alt="" border="0" src="http://img1.orkut.com/img/smiley/i_surprise.gif" width="15" height="15" ></td> <td>:P - <img alt="" border="0" src="http://img3.orkut.com/img/smiley/i_funny.gif" width="15" height="15" ></td> <td>/) - <img alt="" border="0" src="http://img3.orkut.com/img/smiley/i_confuse.gif" width="15" height="15" ></td> </tr> <tr> <td><font color="aqua">aqua</font></td> <td><font color="blue">blue</font></td> <td><font color="#f0c0a0">fuchsia</font></td> <td><font color="#ffd700">gold</font></td> <td><font color="gray">gray</font></td> <td><font color="green">green</font></td> </tr> <tr> <td><font color="lime">lime</font></td> <td><font color="maroon">maroon</font></td> <td><font color="navy">navy</font></td> <td><font color="olive">olive</font></td> <td><font color="orange">orange</font></td>

Page | 184

<td><font color="pink">pink</font></td> </tr> <tr> <td><font color="purple">purple</font></td> <td><font color="red">red</font></td> <td><font color="silver">silver</font></td> <td><font color="teal">teal</font></td> <td><font color="#ff00ff">violet</font></td> <td><font color="yellow">yellow</font></td> </tr> <tr> <td colspan="6"> <div class="listdivi ln"></div> </td> </tr> <tr> <td colspan="6"> <ul class="bullets"> <li>To change the font color of your text, type the name of the color you wish to use in brackets.</li> <li>To show an emoticon, type the key shown above for each emoticon in brackets.</li> <li>To make text bold, italic, or underlined, use [b], [i] and [u] accordingly.</li> <li>To make a word a link, use <?cs #trans ignore ?>[link]...[/link]<? cs #trans /ignore ?></li> <li>I am [red]feeling[/red] [b][i]lucky[/i][/b] ! [:)] --&gt; I am <span style="color:red">feeling</span> <b><i>lucky</i></b> ! <img src="http://img1.orkut.com/img/i_smile.gif"></li> <li>[link=http://www.foreverfun.com]orkut[/link] --&gt; orkut [<a href="http://www.foreverfun.com">http://www.orkut.com</a>]</li> <li>[link]http://www.foreverfun.com[/link] --&gt; <a href="http://www.foreverfun.com">http://www.orkut.com</a></li> </ul> </td> </tr> </table> </td><td class="boxmidr" ></td></tr> <tr><td class="botl"></td><td class="botr"></td></tr></table> <div class="listdivi ln"></div> <div class="parabtns"> <span class="lf"> <span class="grabtn"><a href="javascript:void(0);" onclick="javascript:window.close(); return false;" class="btn">close</a></span><span class="btnboxr"><img src="http://img1.orkut.com/img/b.gif" alt="" height="1" width="5"></span> </span> </div> </body> </html>

Page | 185

Default2.aspx.cs

using System; using System.Data; using System.Configuration;

Page | 186

using using using using using using using

System.Collections; System.Web; System.Web.Security; System.Web.UI; System.Web.UI.WebControls; System.Web.UI.WebControls.WebParts; System.Web.UI.HtmlControls;

public partial class Default2 : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } }

Page | 187

DATABASE DESIGN

Page | 188

DATABASE DESIGN AND TABLE STRUCTURE

DATA STRUCTURE

Page | 189

FRIEND DETAIL

FRIEND INVITATION

IMAGE

MAIL MESSAGE DETAIL

Page | 190

SCRAP DETAIL

USER ALBUM

USER GENERAL DETAIL


Page | 191

USER LOGIN DETAIL

USER PERSONAL DETAIL


Page | 192

USER PROFESSION DETAIL

USER SOCIAL DETAIL


Page | 193

DEFINITIONS, ACRONYMS AND ABBREVIATIONS

Page | 194

The following definitions and abbreviations may be used in this document:

Analysis

The requirements gathering process is intensified and focused specifically on software.

Coding

The design must be translated into machine readable form. The code generation step performs this task.

Data store:

A logical construct used to depict data that is being recorded during manual and automated processes. Data stores are organized by logical data groupings without regard to the storage medium

DFD

Data Flow Diagram-A diagram that shows the inputs and outputs of a process and the data stores that store the data.

Design

The software design actually a multi-step process that focuses on four distinct attributes of a program: the data structure, software architecture, interface representations and procedural details.

Input Output PERT Process

Data provided to a process Data produced by a process Project Evaluation and Review Technique. A series of steps taken to accomplish a specific action or produce a specific result based on the input to those steps and the state of the system at the time of that input.

RAM SIO SRS Testing Unit Testing

Random Access Memory System Input/output Selection Software Requirements Specifications It focuses on the logical internals of the software. The project is divided into small units and then the testing is done on each unit separately. Page | 195

White-Box Testing

It is a test case design method that uses the control the structure of the procedural design to derive test cases.

Page | 196

CONCLUSION

Page | 197

ADVANTAGES
All the procedure in this project is automatic accept the entry of data from the user. The project gives the user-friendly environment, which gives the way of working in more efficient manner.

LIMITATIONS
This system cant provide on line video conferencing. This system not providing chat facility. This system not provides the facility to users so that they can set various types of themes and send interesting themes to their friends. This system not making scrap in different languages.

Page | 198

FUTURE SCOPE

Page | 199

This software can be easily upgraded in the future. And also include many more features for existing system.

In future this system will provide online video conferencing bringing people together who are geographically separated.

Friendworld.co.in will provide greater level of customizations suitable to users requirements.

In future user can maintain their play list and any friend of that user can get that play list.

In future there will be privacy policy so that valid user in only permissible to enter anothers profile and cant change their profile.

DEPENDENCIES

Page | 200

It doesnt matter how efficiently the application works, if the bandwidth is not sufficient the transaction will take more time then expected. .Net Framework for execution environment and Ado.Net Provides for database connectivity. IIS server is required for the application. Although this software is architecturally independent but following hardware resources are required. For i.e. any IBM compatible PC or any other workstation with mouse support and relevant software

Page | 201

BIBLIOGRAPHY

BOOKS
Page | 202

ASP .Net By Peter Norton Mastering ASP.Net TECHMEDIA Learn ASP.Net in 21 days TMH Black book ASP.Net.

LIBRARY
MSDN
MSDN Library Visual Studio .Net release The MSDN Library is the essential reference for developers, with more than a gigabyte of technical programming information; including sample code, documentation, technical articles, the Microsoft Developer Knowledge Base, and anything else we might need to develop solutions that implement Microsoft technology.

WEBSITE
www.apollohospital.com www.ducatindia.com www.ministryofhealth.com

Page | 203