The client required a site through which he/she can sell accounts to many users and these users can control/manage all employees working under them. This implies that a single website will work for many organizations that have the same organizational hierarchy. The main entities in this system are:
This site contains three types of users.
Super admin can create and manage accounts of each admin. However, he/she cannot access any data under the admin.
Admin has the permission to create users (for e.g. manager), names (for e.g. employees) and projects. Admin can assign/reassign an employee under a user, assign a project to a user, create notes/calls, appointments, to dos etc. Admin has full control over all users under him. He cannot access the data of any other admin in this site.
Users, created by the admin, can manage projects and names under him. He cannot access the data of any other users in this site.
The main challenge faced in this website was 80% of the pages that worked with Ajax technology and implementation of pop ups in a different way (by implementing asp.net atlas). These pop ups provide better screen management.
The main entities in this site are names and projects. We have implemented all related details of these entities in the names and projects page. So the user can view and process all related details of an entity in a single screen.
The summary of each function is as given below:

Image 1 is the common login page for the 3 types of users (super admin, admin, and user). Each user has a user name and password. After successful login, users will be directed to different home pages as per their user types. Three invalid attempts will block the username and IP for 30 minutes
2.1. Super Admin Home Page
Image2 is the home page of super admin. Here super admin can change the user name and password.

Super admin will have the following options in the top menu of the home page.
Directs to the super admin home page.
This is used to create/edit/delete an account type. On clicking the ‘Account type’ button on the top menu the following screen will appear.

For creating a new account select ‘add new account type’ from the ‘select account type’ drop down menu (as in Image3), fill in the details and click on the ‘Add’ button.
For editing an existing account, select the account type from the drop down menu (as shown in image 4), make appropriate changes and click on the ‘Save’ button.

To delete an existing account, select the account type from the drop down menu (as shown in image 4) and click on the ‘Delete’ button.
Here the super admin can view all the admin accounts and view payment information such as admin name, invoice number, account type, payment date, expiry date, etc. (as in Image5). Super admin can also check the expiry date of each admin user and can send an invoice for the next payment.

Here each admin name is a hyperlink to the corresponding admin’s account information (as in Image 6).

Here super admin can view the login information of each user (as in Image 7). Search option is provided to retrieve the login details of each user.

Here super admin can create/edit/view/delete/block/unblock an admin user. If an admin user is deleted/blocked, then all the user accounts under that admin will be deleted/blocked.
To create an admin user, select ‘Add new user’ from ‘Users’ drop down list, fill in the user name, password, email and select an account type (e.g. Gold, Platinum etc.) from the ‘Account type’ drop down list and click on the ‘Add’ button (as shown in Image 8). This admin account will only be activated when the admin user makes payment through payment gateway (or super admin can unblock this admin user).

To delete an admin user, select the user name from the ‘Users’ drop down list and click on the ‘Delete’ button (as shown in Image 9). If an admin user has been deleted, then all users under this admin will be deleted.
To block an admin user, select the user name from the ‘Users’ drop down and click on the ‘Block’ button (as shown in Image 9). If an admin user has been blocked, then all users under this admin will be blocked.
To block an admin user, select the user name from the ‘Users’ drop down and click on the ‘Block’ button (as shown in Image 9). If an admin user has been blocked, then all users under this admin will be blocked.
Note: The ‘block’ and ‘unblock’ button will appear with respect to the status of admin user. For example when we select a user name and if this user is blocked then ‘unblock’ button will appear otherwise ‘block’ button will appear.

To unblock an admin user, select the user name from the ‘Users’ drop down list and click on ‘Unblock’ button (as shown in Image 10). If an admin user has been unblocked, then all users under this admin will be unblocked.

Here super admin can down load the database backup
Here super admin can import the database backup
Note: Import the database with utmost care. Otherwise the data will be lost.
Here super admin can view the log details of the database import such as file name and import time as shown in Image 11. Super admin can also undo the database import by clicking on ‘import’ button.
Note: Importing the old copy of database will result in the loss of the latest data. So undo database with utmost care.

Super admin can take the backup of the database and import this.
In user home page a user can see his projects, names, to do’s, appointments, notes, etc…as shown in image 11.
Home page contains the following details.
Change Password option is also available in the home page.

Implementation of atlas technology for changing the favorite status of names, projects, deletion of to-do’s, notes and filtering of appointments.
Used to create a new name, project, to do, note/call, appointment, etc.
Clicking on new à name will display Image12.

Here user can type the full name of the employee and click on the ‘OK’ button. The user will then be directed to the names page as in Image 13.

When clicking on the newly added name, it will be directed to the name record page (info tab) as in Image14.

Implementation of atlas technology for changing the favorite status (such as favorite, private, show) and the filtering of names

There are 7 sub controls in the name record page as follows:
Name profile: Here the user can update the details of the newly created name. For this user can fill in the details and click on the ‘OK’ button.
This is a sub control used to add/edit name details like title, first name, last name, middle name and suffix.
The ‘Customize’ button used to customize the display of name profiles or project profile, i.e. the user can either show or hide fields of name record and project record.
This is a Drop down list used to select different combinations of first name, middle name, last name and suffix as the display name.
This Sub control is used to select groups from a list. The users can also add/edit groups added by him.
This sub control is used to select settings for the corresponding name. Options available are ‘Hide in the dropdown list’, ‘Show as Favorite’ and ‘Mark as private’.
This sub control allows users to add new job titles.
This sub control will display the address details. User can update this address from this control.
Related projects: Here the user can view the projects related to the selected name. User can also relate his project to this name.
Recent history: This is a list of items that contains top 10 items from history along with the date. History contains completed appointments, completed to dos, notes/calls etc. Item name is a hyperlink and it directs to the detailed view of history item. At the top of this sub control there is a link to show the full history page. This link is used to see the full list of history items.
Top to dos: This is a list of To Do’s posted under that name record along with the due date. There is a check box on each list item. A user can disable a To Do by clicking on the check box. Users can sort this list in ascending or descending order of the due date. There is also an option to add a new To Do.
Related Contacts: This is a text area available for entering new notes/calls. Two radio buttons are available at the top to select either note or call. A button “Save to History” is available to save the note/call entered into history.
New note/call: Here the user can update the details of the newly created name. For this user can fill in the details and click on the ‘OK’ button.
Appointments: The user can view details of appointments by clicking on each appointment. There is also an option to filter appointments by the current day, two days, three days, one-week, etc. A link ‘new’ is available on the top of this control to add a new appointment.
Implementation of atlas technology for editing name, show as, groups, job title, deletion of to do’s, save note/call, related contacts and filtering of appointments. We arranged all the sub screens in a special type of pop up using asp.net atlas technology. Here we have implemented all related topics of names in a single screen.




To create a new estimate, click on the ‘Add new estimate’ link as seen in image 17. Then the following window (image 18) will appear. Fill in the details and click on the ‘Save’ button to save the estimate. Use the ‘Add’ button to add more items to the estimate.

Clicking on the estimate name in Image 17 direct the user to the details of that estimate (Image 19). The user can take a printout of that estimate or email it.

This tab contains a text area, where a user can enter free form comments and save it as To Do, Email, Appointment or Note under a selected name (see Image 20).
Note: Use Save/Add button to save the details and cancel/close button to close the pop up window.

Handling of pop ups (using asp.net atlas technology) as shown in the screen above while managing add/edit to-do, appointment, note/call or send email.
This is the third tab and it is a detailed view of the Recent History Control. Subject name is a hyperlink and it directs to the detailed view of the items in history. At the top of this sub control, there is a link to add a file to history. Here the user can also filter the history items such as notes/calls, to do’s, appointments, etc. (see image 21)
Clicking on new à project will display Image22.

Here type in a project name and click on the ‘OK’ button. Then the project page will appear. (See Image 23)

Click on the newly created project name to go to the project record page (see image 24)
Changing the status (favorite, show, private) of projects using asp.net atlas technology.

The project record page contains 6 controls.
1) Project profile: Project profile is used to add/edit a project record.
2) Related contacts: Same as in names except that this contact is related to the project selected.
3) Recent history: Same as in names except that this history is related to the project selected.
4) To do: Same as in names except that the to do’s here are related to the project selected.
5) Note/ Call: Same as in names except that this note/call is related to the project selected.
6) Appointment: Same as in names except that these appointments are related to the project selected.
Implementation of Asp.net atlas technology for editing project status, project type, settings create to-dos etc. Here, we have also implemented the entire controls related to the entity project in this screen.
Clicking on new > note will display Image25.
Here the user can type description, select a name related to that note and/or project related to that note, date, select whether it is a note/call and click on the ‘Save’ button to save the note/call.

Clicking on new > to do will display Image26
Here user can type a subject, description, select a name to whom the to do project must be assigned, due date, to do time and click on the ‘OK’ button to save the to do.

Clicking on new > appointment will display Image27.
First the user can fill the details in appointment tab.
Here, the user can type an appointment subject, select a name related to that appointment and/or project related to that appointment, from date, to date, from time, to time and click on the ‘OK’ button to save the appointment.

If the user wants to repeat this appointment, he can click on the ‘Repeating’ tab before clicking the ‘OK’ button. Then the screen will appear as in image 28.

Here the user can select the repeat type and number of times to repeat and then click on the ‘OK’ button.
Clicking on the ‘names’ item in top menu will show a screen as in Image 29.
It contains one drop down (named view) for filtering the names displayed in a below grid and one link – Save as CSV. Save as CSV is a button used to save the current grid view to a CSV file. The View button contains options like All Names, Hidden Names, Private Names, etc.
This control is used to display names with other information like company, phone, email, address, city, state and zip. There are two check boxes available to choose a name, private, show/hide. One image button is available for each row to make this name as favorite or not. A user can view the names assigned to him, or the names created by him. In this list each ‘show as’ filed is a hyper link to the name record page.

Clicking on the ‘projects’ item in top menu will show a screen as in Image 30.
This contains a drop down for filtering the projects displayed in a below grid and two buttons - ‘Save as CSV’ that is used to save the current grid view to a CSV file and ‘add new project’ that is used to create a new project. The dropdown contains options like All Names, Hidden Names, Private Names, etc.
There are three image buttons available to choose a name private, show/hide and favorite. A user can view the projects assigned to him, or the projects created by him. In this list each ‘project name’ filed is a hyper link to the project record page.

Clicking on the ‘calendar’ item in top menu will show a screen as in Image 31.
The Calendar page contains a graphical representation of Appointments like a calendar. There are four sub pages/tabs. In all tabs/pages, an appointment is a hyper link to appointment details that the user can edit. The different sub pages are:
Here we have implemented the event calendar (show appointments) of daily, weekly and monthly events in the same format of a calendar and the user can view the appointments at a glance.
Contains appointments of one day and split by hour. (see Image 31).

Contains appointments of one week and split by date and hour (see Image 32).

View appointments for one month (see Image 33).

This is a grid view of calendar items/ Appointments. Here each appointment name is a hyperlink to the appointment details that the user can edit. (See image 34).
Clicking on to do will display a screen as in Image 34

This is a list of To Do's with Subject, Name, Project and Date Due. There is a check box on each item in the list. A user can disable a To Do by clicking on the check box. There is a drop down available to filter the contents. The dropdown options are All, Completed, Main and Private. In the top bar, there is a 'save to list' button available to save the current list into a CSV file. Subject field is a hyperlink that directs to the 'To Do' details and here the user can update the details. 'Click here to enter new to do' is used to add a new to do.
In the print report page, a user can take reports about Appointments, Project Lists, To Do’s and Projects.
Used to search the details with some text as input.
After successful login the admin user will be directed to the corresponding home page (see Image 35). An Admin user home page is same as user home page and has some additional functionality. The top menu items are,

This is the same as in the user page. (See image 35).
This will show a window like image 36.

This is same as in user section and the difference is that an admin user can view/edit the details of names either created by him or by users under him.
Here admin user can delete a name or assign a name to a user. (See image 37).
Select ‘select one’ from the first drop down list (from Image 37). Then all names under this admin user will be displayed. Then click on the ‘edit’ image corresponding to the name one wants to delete. Then the name appears on the text box named ‘Names’. Click on the delete button to delete the selected name.
Select ‘select one’ from the first drop down list (from Image 37). Then all names under this admin user will be displayed. Then click on the ‘edit’ image corresponding to the name one wants to assign. Then the name appears on the text box named ‘Names’. After that select the user name from the drop down named ‘assign to’ and click on the button ‘Assign user’.

This is the same as in the user section. The only difference is that an admin user can view/edit the details of projects either created by him or by users under him.
Here the admin user can remove a project or assign a project to a user (See image 38).
To assign a project to a user: - Select the project name from the drop down named ‘project’ and select the user name from dropdown named ‘user’ and click on the ‘assign’ button.
To remove a project: - Select the project name from the drop down named ‘project’ and click on the ‘remove’ button.

Admin can view his account information like user name, account type, maximum users, expiry date and remaining user accounts (See Image 39).

Admin user can view the login details of users under him (see Image 40).

Here, the admin users can create/ edit/ block/unblock/delete a user (see Image 41).

Here admin user can view the details of all users under him (see Image 42).
In this screen clicking on ‘view info’ image will direct to the details of that user.

This is the same as in the user page
This is the same as in the user page
This is the same as in the user page
This is the same as in the user page
The site has been running smoothly for the past six months.