CIS407a ilabs (all ilabs 1-7)

Ace your studies with our custom writing services! We've got your back for top grades and timely submissions, so you can say goodbye to the stress. Trust us to get you there!


Order a Similar Paper Order a Different Paper

All files are located in the subdirectory of
the website. The website should function as follows: You should have a page
that, when run, displays a page showing the text “Greetings and
Salutations. I will master ASP.NET in this course.” You should also have a
second page that is the annual salary calculator that properly calculates the
annual salary, given an hourly rate and the number of hours projected to be
worked in a year. Once you have verified that both pages work, save your
website, zip up all files, and submit in the Dropbox.

 

Please watch the tutorial before beginning the
iLab.

 

Table of Contents

 

Tutorial Part 1

 

Tutorial Part 2

 

Tutorial Part 3

 

Tutorial Part 4

 

Play00:00MuteFullscreen

 

Transcript

 

iLab Steps

 

NOTE

 

Submit your assignment to the Dropbox, located
at the top of this page. For instructions on how to use the Dropbox, read these
step-by-step instructions.

 

(See the Syllabus section “Due Dates for
Assignments & Exams” for due dates.)

 

In this iLab, you will create an Annual Salary
Calculator ASP.NET Web application using Visual Studio.NET.

 

For the iLabs, you will use the Microsoft
Visual Studio software application. You have two options for using this application:

 

You may use a copy of Visual Studio that is
installed on your local PC. If you do not already have this software, there is
a link in the Syllabus (in the Textbook and Required Materials section) that
you can follow to obtain a copy at low or no cost through the Student
Software Fulfillment Center.

 

or

 

You may run Visual Studio over the Web from
the iLab (Citrix) server. Instructions for using the iLab (Citrix) server
are on the iLab page under Course Home.

 

Throughout this course, you will be creating a
Web application for a fictitious company called ACIT (Academy of Computing and
Information Technology). To get familiar with the development environment,
follow the Lab Steps to create a simple Annual Salary Calculator ASP.NET Web
application. You will be adding to this application each week.

 

Overview of Fictitious Company

 

Image of Academy of Computing and Innovation
Technology

 

The Academy of Computing and Information
Technology is a mid-size indie (independent) film studio that is in need of a
payroll system. We have outgrown our current system, a simple spreadsheet, to
the extent that it takes three people over one week to pay everyone on a timely
basis.

 

Overview of Our Company

 

We have over 2,000 full-time and part-time
employees. We produce comedy, fiction, and science fiction films with budgets
of $250K–$20 million. We have produced over 50 films since we first began 20
years ago.

 

We are very profitable and have strong links
to many of the industry’s most powerful people.

 

Current Payroll System

 

Our current system consists of mostly manual
processing using an MS Excel spreadsheet to control who gets paid.

 

The system consists of the three payroll staff
members reviewing each of the full-time staff members’ wages, calculating how
many hours they worked based on their hourly rate, and paying them by issuing a
check.

 

The check needs to be entered in another
worksheet for each of the people who were paid so that we can tell when it went
out, how much it was for, and if it was cashed or not. If a [Date_Cashed] is
entered, we deduct that amount from our working payroll capital account to
track how much money we have for payroll.

 

This process is then repeated for all
part-time staff and independent contractors.

 

Our Needs

 

We need a more automated way to pay our staff.
We need to use the same logical flow as a basis, yet improve on it by having a
way to

 

easily calculate the projected annual salary
based on rate and number of hours;

 

search, enter, update, and delete staff and
independent employee information in one place;

 

search, enter, update, and delete payroll
automation information for the employee to set up recurring payments or
one-time payments;

 

produce reports to show the following: (a)
summary of who got paid per week, (b) summary of all payments per week, (c)
details of any employee to-date (allow entry of a specific employee ID);

 

allow transactions to be rolled back in case
we pay someone too much;

 

make use of transaction processing in case the
system unexpectedly shuts down;

 

ensure the system is secure (logins required);

 

allow only authorized payroll personnel to
control all aspects of the system;

 

allow only authorized payroll personnel to
view transactions and user activity;

 

allow only authorized payroll personnel to
e-mail reports to users using the e-mail on file; and

 

incorporate error handling into all processes
in the system and e-mail any errors to the technical support people.

 

Required Software

 

Microsoft Visual Studio.Net

 

Access the software at https://lab.devry.edu.

 

Steps: 1, 2, and 3

 

STEPs 1–3: Create Website and Home Page

 

Please watch this video for a similar example
to the one we are doing. It introduces event handlers, getting data from
textboxes, performing basic calculations, and formatting the output to be
displayed:

 

In this iLab, we will learn how to create a
simple ASP.NET Web application using Microsoft Visual Studio.NET. The
application will display the text “Hello, World” on the home page.

 

1. Open Microsoft Visual Studio.

 

Image of main screen

 

2. Create a new ASP.NET website called
“PayrollSystem.”

 

To do this, select File -> New -> Web
Site

 

Image of navigation to new website option

 

You will get the following screen which shows
Visual Basic.

 

Image of Visual Basic screen new web site menu

 

Select Visual C# template on the left of your
screen if it is not already selected. Notice that your screen will now show
Visual C# instead of Visual Basic.

 

image of new website screen with Visual C#
selected

 

Click Browse at the bottom of the screen to
change Web Location, if necessary to get the screen below.

 

image of new web location

 

Notice that my Web Location is now different.

 

Select ASP.NET Empty project and click OK to
get the screen below.

 

image of empty project screen

 

Right-click on the project name from Solution
Explorer, then select Add->Add New Item to get the following screen.

 

Image of Add New Item navigation screen

 

Image of new item screen

 

Select Web Form, accept Default.aspx file, and
click Add to get:

 

Image of default code screen

 

Click Design at the bottom left-hand of the
window to show the following:

 

Image of Design View screen

 

Edit the Default.aspx file (the home page for
your site) to add the message “Greetings and Salutations. I will master
ASP.NET in this course.”

 

To do this, if necessary, click the Design
button below the editing window to switch to Design view, then click in the
editing window and type ” Greetings and Salutations. I will master ASP.NET
in this course.” (without the quotes) to get the following screen.

 

Image of Design View screeen with test

 

Click the Save button on the toolbar to save
the changes to Default.aspx.

 

STEPs 4–5: Start Debugging; NOTE: Citrix users
have different steps!

 

3. To ensure that everything is working
properly, click the Start Debugging button on the toolbar, or press the F5 key
on the keyboard, or pull down the Debug menu and select Start Debugging.

 

Image of debugging screen

 

Save and run by Right-Click-> Run from
Browser.

 

Image of menu option for debugging

 

Press Yes.

 

Image of message to save file

 

Click the Start Debugging button on the
toolbar, or press the F5 key on the keyboard, or pull down the Debug menu and
select “Start Debugging.”

 

Image of blank debugging screen

 

Image of start debugging option selected

 

Image of debugging not enabled message

 

Notice that this time the project build and
website validation started.

 

If the Debugging Not Enabled dialog box
appears, select the option to add or modify the Web.config file to enable
debugging and click OK. You should only have to do this the first time you
debug the site.

 

You will get a clean run just as you did
previously. Your output screen looks like the screen below.

 

Image of output screen

 

NOTE: To execute the application, you have
these options:

 

If you are using Citrix, press CTRL + F5 to
Start Without Debugging. You will not be deducted points for this part.

 

If you are using a standalone version, press
F5 to Start with Debugging, or you can press CTRL + F5 to Start Without
Debugging.

 

Create the Salary Calculator Form

 

1. Right click on the Project name. Choose
Add, then Select Web Form to get the screen below.

 

Image of Add Web Form menu

 

And you get the Add New Item screen, shown
below.

 

Image of result Add new item screen

 

2. Select the name of the form you will add
frmSalaryCalculator.aspx. Make sure “Place code in separate file” is
checked and “Select master page” is unchecked.

 

You will create a Web-based salary calculator
on this new page.

 

Click the Design view.

 

Add the Tools Window using View-> Toolbox.

 

Image of Toolbox option selected

 

Image of toolbox menu

 

3. You can choose to adjust the ToolBox to tab
with Solution Explorer to look like the following screen.

 

Image of blank screen when toolbox to tab is
adjusted

 

You will create a Web-based salary calculator
on this new page.

 

To do this, open the aspx page in Design view
and, from the Toolbox, drag a label into the form, click after the label and
add about 5 spaces, then drag a textbox control after the label.

 

Press Enter after the textbox to put the
cursor on the next line.

 

Add another label and textbox below the first
set and press Enter.

 

Then add a button control. Finally, on the
last line, add another label. Your form should look like the screen displayed
below.

 

Image of calculator screen with labels and
button

 

4. If necessary, add the Property Window as
shown in the screen below, using View->Properties Window.

 

Image of Property Window

 

5. Now we will modify the page to add proper
labels and give the textboxes names.

 

Change the text displayed in each label so
that the first label displays Annual Hours; the second label should display
Rate; and the third label should display $.

 

To change the text displayed, click on the
label control. This causes the property window to show all properties of the
label, then change the Text property of the control in the Properties window.

 

Set the ID property of the top textbox to
txtAnnualHours.

 

Set the ID property of the second textbox to
txtPayRate. Set the ID of the bottom label (the one we set the text property to
“$”) to lblAnnualSalary. (Note: We set these IDs as we will be
accessing the control values from the C# code. You can set the button ID and
the other two labels’ ID properties as well, but we won’t be accessing them
from our code.)

 

Change the button text to display Calculate
Salary. (Hint: To change the text displayed as the button label, change the
Text property of the button.) The ID of the button should be
btnCalculateSalary.Your form should now look like the screen displayed below.

 

Image of calculator screen with blank values

 

This code will be called each time the user
presses the button. It is important to remember that code in the code behind
page executes on the server, not on the user’s browser. This means that when
the button is pressed, the page is submitted back to the Web server and is
processed by the ASP.Net application server on the Web server. It is this code
(between the { and } in this method) that will execute on the server. Once it
is done executing, the page will be sent back to the browser. Any changes we
make to the page or controls on the page will be shown to the user in the
updated page.

 

In this method, add code that will get the
text in the txtAnnualHours text box, convert it to a Double, and store it in a
double variable.

 

Add code that will get the text from the
txtPayRate text box, convert it to a Double, and store it in another variable.

 

Create a third variable of type Double and set
its value to the annual hours variable value multiplied by the rate double
variable value.

 

Take this resulting value and convert it to a
string (text), and update the lblAnnualSalary Text property with this new
string.

 

Let’s look at a similar example. After
reviewing this example, write the code needed to calculate the annual salary.

 

CostOfRoom Calculator is the alternate
example, which demonstrates the skills you need to complete this assignment.
See video at the top of this lab document and screenshots below.

 

What follows is an example of code-behind the
Calculate button for the CostOfRoom Calculator:

 

Code-behind the calculate button

 

A control’s property can be accessed by simply
using the control ID followed by a . followed by the name of the property. For
example, the value stored in the Text property of the txtAnnualHours control
can be accessed by using this: txtAnnualHours.Text. Text properties on controls
are of type string.

 

The output of the CostOfRoom calculator is
shown in the screen below with Length, Width, Cost Per Square Unit labels and
input boxes, and the Calculations button.

 

Image of output CostOfRoom Calculator with
length, width, cost per square unit values and calculations.

 

Use small values for length and width.

 

Use large values for length and width and see
the formatting of the output.

 

Image of CostOfRoom calculator with revised
values for length, width, cost per square unit and calculations.

 

To convert a string to a Double you can use
the Convert class. If we had a string variable called str1 and a double
variable called myNumber, the C# code to convert this would be as follows:

 

When converting from one type to another, we
are assuming that the value stored in the type being converted is compatible
with the type with which we are converting. In the example above, if the value
stored in str1 was not a type compatible with a Double (for example, tiger), an
error would be raised.

 

All of the base types in C# (double, int etc)
have a ToString() method that you can call. If you had a double variable that
you wanted to convert to a string and set that string to my label’s text, you
would do the following:

 

This would take whatever value was stored in
the myNumber Double and convert it to a string.

 

Set your new form as the start page by
clicking once on the form name in the Solution Explorer and then right-clicking
on the form name and selecting Set as Start Page. You can now test your
application and make sure it works correctly as you did with the Hello World
form above. You can switch back and forth between which form runs when you run
your application by setting the different forms as the start page. The final
result should look something like the screen below with the Annual Hours, Pay
Rate, Calculate Salary button, and result.

 

Image of result screen Annual Hours, Pay Rate,
Calculate Salary button, and result.

 

Once you have verified that your project
works, save your project, zip all files, and submit in the Dropbox.

 

NOTE: Please download and review the Doc
Sharing files Web Lab and Citrix.zip, which contain information on how to FTP
to the University website and how to use Citrix for the assignments.

 

 

iLab 2 of 7: User Input Pages

In this lab, we will demonstrate how to create
an ASP.NET Web application having a single form with five text boxes and a
Submit button. We will use the form to send information to a second form where
data from the first form will be displayed. We will also add a main navigation
page with two different ways of linking to other pages.

 

Please watch the tutorial before beginning the
iLab.

 

Table of Contents

 

Tutorial: Part 1

 

Tutorial: Part 2

 

Tutorial: Part 3

 

Tutorial: Part 4

 

Tutorial: Part 5

 

Tutorial: Part 6

 

Tutorial: Part 7

 

Tutorial: Part 8

 

Play00:00MuteFullscreen

 

Transcript

 

Deliverables

 

NOTE

 

Submit your assignment to the Dropbox, located
at the top of this page. For instructions on how to use the Dropbox, read these
step-by-step instructions.

 

(See the Syllabus section “Due Dates for
Assignments & Exams” for due dates.)

 

All files are located in the subdirectory of
the website. The website should function as follows: When you run the website,
you will be presented with a page (frmMain) that allows you to go to the
different parts of the website that you are developing. You will be able to go
to the Annual Salary Calculator that we added last week and to the data entry
form for personnel this week. When you go to the personnel data entry page, you
should be able to enter data in the frmPersonnel form and have it displayed in
the frmPersonnelVerified form. Your salary calculator will also be available
from the main page and will calculate properly when you enter data. Each page
should link back to the main page via the ACIT logo hyperlink. Once you have
verified that it works, save your website, zip up all files, and submit in the
Dropbox. Each page (except frmMain) will include the ACIT logo that is
hyperlinked back to frmMain.

 

Required Software

 

Microsoft Visual Studio.Net

 

Access the software at https://lab.devry.edu.

 

Steps: 1, 2, and 3

 

Lab Steps

 

STEP 1: Create Web Forms

 

Open the payroll system website from Lab 1.

 

2. Create a new form called frmPersonnel. To
do this, pull down the website menu, select Add New Item, then type
frmPersonnel.aspx for the name.

 

And you will get the following screen:

 

Change Default.aspx to frmPersonnel.aspx.

 

And get the following Screen:

 

3. Go to the Design mode of the form by
clicking the Design tab (as opposed to the Source tab).

 

4. From the ToolBox, drag and drop an Image
control.

 

5. Next, right click on the Project folder
name in the Solution folder. Click Add-> New Folder and name the folder
Images.

 

6. Right click on the Images folder and choose
Add->Existing item. We will add our logo to our Images folder. Be sure to
choose All Files from the Files of Type and navigate to where you saved the
image. The logo image is located in Doc Sharing in our course for you to
download to your own machine or upload to Citrix.

 

7. After you have loaded the logo to the
project, select the image control on your page.

 

8. On the Properties window, choose the
ImageURL property and the ellipse to the right of this property to open a
Browse dialog box and add the ACITLogo to the page.

 

9. The Logo should appear on your page as
shown.

 

10. From the ToolBox, drag-and-drop a Panel
control underneath the logo image.

 

11. Click the A/Z button in the Properties
dialog so that all of the properties are sorted alphabetically.

 

12. Change the height property of the Panel to
250px and the width to 300px. To do this, select the Panel, then go to the
Properties pane (usually in the lower right corner of the Visual Studio.NET
Design view; if you don’t see it, click the View Properties window OR press the
F4 key). Scroll down the list, then type the value in for each property.

 

13. Change the panel’s HorizontalAlign
property to left.

 

14. Save your work!

 

15. From the ToolBox, drag-and-drop five
Labels and five TextBoxes onto the Panel. To make each Label/TextBox pair
appear on a separate line, put the cursor after each TextBox, then press the
[ENTER] key (much like you would a with a word processing program).

 

Rename the Label’s properties as defined
below. You can do this by selecting each Label, scrolling to the property, and
then typing in the value.

 

Property Value

 

Label1 – Text First Name:

 

Label2 – Text Last Name:

 

Label3 – Text Pay Rate:

 

Label4 – Text Start Date:

 

Label5 – Text End Date:

 

Rename each TextBox’s property as defined
below. You can do this by selecting each TextBox, scrolling to the property,
and then typing in the value.

 

Property Value

 

TextBox1 – (ID) txtFirstName

 

TextBox2 – (ID) txtLastName

 

TextBox3 – (ID) txtPayRate

 

TextBox4 – (ID) txtStartDate

 

TextBox5 – (ID) txtEndDate

 

Change each button’s ID and Text properties as
defined below. You can do this by selecting each button, scrolling to the
property, and then typing in the value.

 

Property Value

 

Button1 – (ID) btnSubmit

 

Button1 – Text Submit

 

Button2 – (ID) btnCancel

 

Button2 – Text Cancel

 

Save your work!

 

16. If you would like, you can make the labels
the same size by selecting the first label, pressing and holding Control, and
selecting the rest of the labels. Then, choose Format-> Make Same Size
->Width as shown below:

 

17. When we click the Submit button, we want
the contents of the form to be passed to another form. In the Solution
Explorer, right click on the project name and choose Add-> Add New Item.
Choose Web Form and name the form frmPersonnelVerified.aspx.

 

18. On this form, we will add an image and
panel like the previous form. Within the panel, add a label and a textbox. The
width of the panel should be 650 and the height 250. The label should say
Information to Submit. The textbox ID should be txtVerifiedInfo. Also, change
the TextMode Property of the textbox to MultiLine, the height to 80, and the
width to 400.

 

Click the Design tab for the
frmPersonalVerified.aspx, and add a Label and a TextBox. Set the properties as
follows:

 

Property Value

 

Label – Text Information to submit

 

Textbox – (ID) txtVerifiedInfo

 

Textbox – Height 80px

 

Textbox – Width 400px

 

Textbox – TextMode Multiline

 

19. Next, we will write the code that will
load the information from the frmPersonnel page to the frmPersonnelVerified
page. Be sure that your cursor is not selecting the panel. Double click on the
blank part of the page to open the page_load event handler and add the
following code.

 

20. Return to the frmPersonnel Web page, click
the btnSubmit button, go to the PostBackUrL property and set it to
frmPersonalVerified.aspx by clicking the ellipse to the right of the property
to open a Browse dialog, and click frmPersonalVerified.aspx there. This will
insert the correct path to the PostBackUrl Property.

 

21. Test your Web page. On the
frmPersonnel.aspx page, right click and choose View in Browser. Test the
application with test data and press Submit. You should see your test data
appear in the frmPersonnelVerified page.

 

STEP 2: Adding Navigation

 

22. Add a new Web form called frmMain.aspx

 

Add the ACIT Logo to the top of the form and a
panel below the image with height = 350 and width = 500.

 

Add an ImageButton control, then, space over,
and next, add a LinkButton.

 

23. For the Image button, you will need to
download an image from the Internet or create an image yourself. Right click on
the Images folder and choose Add->Existing item and browse to add the image that
you want to use as part of your project.

 

24. Click on the ImageButton and the ImageUrl
property. Then, select the image that you added to the project. Modify the text
of the LinkButton to Annual Salary Calculator.

 

25. Set the PostBackURL property for the image
and the link to the frmSalaryCalculator.aspx from last week.

 

26. Right click on the frmMain.aspx and choose
Set As Start Page.

 

27. Test your Web page. Press F5, or click the
Start Debugging (Citrix users, press Start Without Debugging) button on the
toolbar, or pull down the Debug menu and select Start Debugging. Test your
link. Does it take you to the Annual Salary Calculator page?

 

NOTE: To execute the application, you have
these options:

 

If you are using Citrix, press CTRL + F5 to
Start Without Debugging. You will not be deducted points for this part

 

If you are using a standalone version, press
F5 to Start with Debugging, or you can press CTRL + F5 to Start Without
Debugging.

 

On your own:

 

Repeat this process to create an image and
link for the frmPersonnel.aspx page. Remember to set the PostbackURL
properties.

 

On the frmPersonnel page, make the ACIT logo
be a link that will take the user to the frmMain page. Use an ASP.Net Hyperlink
control to do this task.

 

Update the frmPersonnel, frmPersonnelVerified,
and frmSalaryCalculator to include the ACIT logo at the top of each page with
the logo set as a hyperlink that will return to the frmMain page.

 

On the frmPersonnel page, make it so that if
the user presses the Cancel button, then that user is taken back to the
frmMain.

 

STEP 3: Verify and Submit

 

28. Save your work and run the project. You
should be able to go to both areas of your site and enter the information in
the pages. Your calculator should properly calculate without errors, and then
on the frmPersonel Web page, you can click the Submit button and have it
display in the frmPersonalVerified Web page. Once you have verified that it
works, save your project, zip up all files, and submit in the Dropbox.

 

NOTE: Make sure that you include comments in
the C# code where specified (where the “//Your comments here” is
mentioned), or else a 5-point deduction per item (form, class, function) will
be made. This includes code that you will be creating in the coming weeks. To
comment on the code, you basically put two forward slashes to start the
comment; anything after the slashes on that line is disregarded by the
compiler. Then, type a brief statement on what is happening in the line under
it. Comments show professionalism and are a must in systems. As a professional
developer, comments will set you apart from others and make your life much
easier if maintenance and debugging are needed.

 

 

ilab 3

 

iLab 3 of 7: User Activity Monitoring (30
points)

In this lab, we will demonstrate how to save
user activity data in a database. We will be creating a new form to display the
user activity data, a new dataset to contain the data, a data access class to
structure the code, and a function within the data access class to save users’
activity data when users visit the Personnel form page (frmPersonnel.aspx). We
will also be adding server side validation to the frmPersonnel form you added
in the previous lab and update the main menu for the new functionality.

 

Please watch the tutorial before beginning the
iLab.

 

Table of Contents

 

Tutorial: Part 1

 

Tutorial: Part 2

 

Tutorial: Part 3

 

Tutorial: Part 4

 

Play00:00MuteFullscreen

 

Transcript

 

Deliverables

 

NOTE

 

Submit your assignment to the Dropbox, located
at the top of this page. For instructions on how to use the Dropbox, read these
step-by-step instructions.

 

(See the Syllabus section “Due Dates for
Assignments & Exams” for due dates.)

 

All files are located in the subdirectory of
the project. The project should function as specified: When you visit the
Personnel form page (frmPersonnel.aspx), a record should be saved in the
tblUserActivity table with the IP address, form name accessed (frmPersonnel),
and the date accessed. When you click the View Activity button, you should see
at least one record with this information. When the user goes to the
frmPersonnel web form and enters data, the following business rules are to be
enforced.

 

Fields may not be empty or filled with spaces.
If any field is empty, turn that field background color to yellow and add
to/create an error message to be shown in the error label.

 

The end date must be greater than the start
date. If the end date is less than the start date turn both date fields yellow
and add to/create an error message to be shown in the error label.

 

If all fields validate properly, then the
session state items should be set properly and the user should see the
frmPersonnelVerified form with all the values displayed. You will also add a
new item to frmMain that will take the user to the new frmUserActivity form you
added. Add the proper link and a hyperlinked image to allow the user to select
this new option. Once you have verified that everything works, save your website,
zip up all files, and submit it to the Dropbox.

 

Required Software

 

Microsoft Visual Studio.Net

 

Access the software at https://lab.devry.edu.

 

Steps: 1, 2, and 3

 

Lab Steps

 

STEP 1: Step Title

 

1. Open Microsoft Visual Studio.NET.

 

2. Open the PayrollSystem website by clicking
on it in the Recent Projects list, or by pulling down the File menu, selecting
Open Website, navigating to the folder where you previously saved the
PayrollSystem, and clicking Open.

 

3. Download the PayrollSystem_DB.accdb file
from Doc Sharing and save it on your local computer. (Note: your operating
system may lock or block the file. Once you have copied it locally, right click
on the file and select Properties and then Unblock if available). Then add it
to the PayrollSystem website as follows: In Visual Studio, in the Solution
Explorer click Website, Add Existing Item, then navigate to the
PayrollSystem_DB.accdb file you downloaded, and click the Add button.

 

Make sure you select file types, which include
*.accdb, *.accdb, etc. Otherwise, you will not be able to see the database file
to select.

 

4. Now we need to create a new connection to
the PayrollSystem_DB.accdb. To begin, click View Server Explorer.

 

5. When the Server Explorer toolbox appears,
click the Connect to Database button.

 

6. When the Add Connection dialog appears,
click the Change button. In the Change Data Source dialog, select MS Access
Database File; Uncheck Always use this Selection; then click OK.

 

Press Continue to get the following screen.

 

7. Click the Browse button to navigate to the
PayrollSystem_DB.accdb file in your website folder, then click Open. (NOTE: Be
sure you select the PayrollSystem_DB.accdb file in your PayrollSystem website
folder, not the one you originally downloaded from Doc Sharing!) Click Test
Connection. You should receive a message that the test connection succeeded.
Click OK to acknowledge the message, then click OK again to close the Add
Connection dialog.

 

8. The PayrollSystemDB.accdb should be added
to the Server Explorer. Expand the database, then expand the Tables entry under
the database until you see tblUserActivity. Leave the Server Explorer window
open for now as you will be returning to it in a moment.

 

9. Create a new dataset by selecting
Website-> Add New Item. Under Templates, select the Dataset item. Enter
dsUserActivity.xsd for the name. Click Add.

 

10. If the following message appears, select
Yes. You want to make this dataset available to your entire website.

 

11. If the TableAdapter Configuration Wizard
dialog appears, click Cancel. (We will be configuring a Data Adapter for this
dataset later in C# code, so we do not need to run this wizard.)

 

12. Drag-and-drop the tblUserActivity table
from the Server Explorer window into the dsUserActivity dataset in the editor
window.

 

NOTE: If you see a message that says your
connection uses a local data file that is not in the current project, that
indicates you did not select the correct PayrollSystem_DB.accdb file when you
created your data connection. To fix this problem, click No, then right-click
on PayrollSystemDB.accdb in the Server Explorer window and choose Modify
Connection. Click the Browse button, navigate to the PayrollSystemDB.accdb file
that is in your PayrollSystem website folder, and click Open. Test the
connection, then click OK.

 

Click the Save icon on the toolbar to save the
dsUserActivity.xsd dataset.

 

(You can now close the Server Explorer window
if you wish.)

 

13. Create a new class to contain the C# code
that will access this dataset. To do so, click Website, Add New Item. In the
Add New Item dialog, select the Class template, and enter clsDataLayer for the
name. Make sure the Language is set to Visual C#. Click Add.

 

14. If the following message appears, select
Yes. You want to make this class available to everything in your solution.

 

15. Add the following to the top of your
class, below any other using statements created for you by Visual Studio.

 

Add to top of class

 

// Add your comments here

 

using System.Data.OleDb;

 

using System.Net;

 

using System.Data;

 

16. Add the following three functions inside
the squiggly braces for the public class clsDataLayer class, above the
beginning of the public clsDataLayer() constructor and save the class.

 

Class

 

// This function gets the user activity from
the tblUserActivity

 

public static dsUserActivity
GetUserActivity(string Database)

 

{

 

// Add your comments here

 

dsUserActivity DS;

 

OleDbConnection sqlConn;

 

OleDbDataAdapter sqlDA;

 

// Add your comments here

 

sqlConn = new
OleDbConnection(“PROVIDER=Microsoft.ACE.OLEDB.12.0;” + “Data
Source=” + Database);

 

// Add your comments here

 

sqlDA = new OleDbDataAdapter(“select *
from tblUserActivity”, sqlConn);

 

// Add your comments here

 

DS = new dsUserActivity();

 

// Add your comments here

 

sqlDA.Fill(DS.tblUserActivity);

 

// Add your comments here

 

return DS;

 

}

 

// This function saves the user activity

 

public static void SaveUserActivity(string
Database, string FormAccessed)

 

{

 

// Add your comments here

 

OleDbConnection conn = new
OleDbConnection(“PROVIDER=Microsoft.ACE.OLEDB.12.0;” +

 

“Data Source=” + Database);

 

conn.Open();

 

OleDbCommand command = conn.CreateCommand();

 

string strSQL;

 

strSQL = “Insert into tblUserActivity
(UserIP, FormAccessed) values (‘” +

 

GetIP4Address() + “‘, ‘” +
FormAccessed + “‘)”;

 

command.CommandType = CommandType.Text;

 

command.CommandText = strSQL;

 

command.ExecuteNonQuery();

 

conn.Close();

 

}

 

// This function gets the IP Address

 

public static string GetIP4Address()

 

{

 

string IP4Address = string.Empty ;

 

foreach (IPAddress IPA in

 

Dns.GetHostAddresses(HttpContext.Current.Request.UserHostAddress))
{

 

if (IPA.AddressFamily.ToString() ==
“InterNetwork”) {

 

IP4Address = IPA.ToString();

 

break;

 

}

 

}

 

if (IP4Address != string.Empty) {

 

return IP4Address;

 

}

 

foreach (IPAddress IPA in
Dns.GetHostAddresses(Dns.GetHostName())) {

 

if (IPA.AddressFamily.ToString() ==
“InterNetwork”) {

 

IP4Address = IPA.ToString();

 

break;

 

}

 

}

 

return IP4Address;

 

}

 

STEP 2: frmUserActivity, frmPersonnel, frmMain

 

17. Create a new web form called
frmUserActivity. Switch to Design Mode and add the ACIT logo to the page as an
ImageButton and link it back to frmMain. Below the image button add a panel. To
the panel, add a Label and GridView (found under the Toolbox, Data tab) having
the following properties.

 

Property Value

 

Label – Text User Activity

 

GridView – (ID) grdUserActivity

 

18. Go to the Page_Load method by double
clicking an empty space on the page and add the following code.

 

Page_Load method for frmUserActivity.aspx

 

if (!Page.IsPostBack) {

 

// Declares the DataSet

 

dsUserActivity myDataSet = new
dsUserActivity();

 

// Fill the dataset with what is returned from
the function

 

myDataSet =
clsDataLayer.GetUserActivity(Server.MapPath(“PayrollSystem_DB.accdb”));

 

// Sets the DataGrid to the DataSource based
on the table

 

grdUserActivity.DataSource =
myDataSet.Tables[“tblUserActivity”];

 

// Binds the DataGrid

 

grdUserActivity.DataBind();

 

}

 

19. Open the frmMain form, add a new link
button and image button to point to the new frmUserActivity. Find an image to
use for the image button and add the new option as View User Activity.

 

20. Go to the frmMain Page_Load and add the
following code.

 

frmMain.aspx Page_Load code

 

// Add your comments here

 

clsDataLayer.SaveUserActivity(Server.MapPath(“PayrollSystem_DB.accdb”),
“frmPersonnel”);

 

21. In the Solution Explorer, right click on
the frmMain.aspx form and select Set As Start Page. Run your project. When you
open the project, a record should be saved in the tblUserActivity table with
the IP address, form name accessed (frmPersonnel), and the date accessed. When
you click the View Activity button, you should see at least one record with
this information.

 

23. You will now add server side validation
code to the frmPersonnel page. Currently, when the Submit button is pressed,
the frmPersonnelVerified page is displayed. This is because the
frmPersonnelVerified page is set as the Submit button’s PostBackUrl property.
Instead of having the page go directly to the frmPersonnelVerified page when
the Submit button is pressed, we want to do some server side validation. If any
of the validation rules fail, we will redisplay the frmPersonnel page with the
fields in question highlighted in yellow with an error message displayed.

 

First, it is important to understand what is
currently happening when the submit button is pressed. This is causing a
postback of the form to the frmPersonnelVerified form. When this postback
happens, all of the data in the fields on the frmPersonnel form are sent to the
frmPersonnelVerified form as name value pairs. In the Page_Load code of
frmPersonnelVerified these values are picked up from the Request object and
displayed. Each name value pair will be in the Request object as the ID of the
control containing the value and the value itself. We can pass data between
pages by using Session state instead. In order to do validation on the values
but still have the values visible on the frmPersonnelVerified page, we will
need to change not only the PostBack URL of the frmPersonnel page but also how
the frmPersonnelVerified form is getting the data—it will need to get it from
Session state rather than from the Request object.

 

In order to do this, we will make the
following changes.

 

Clear the Submit button PostBackURL Property
on the frmPersonnel form. Remove the value in the PostBackUrl that is
highlighted.

 

In the btnSubmit_Click event handler get each
value from the data entry fields and set Session state items for each.
(instructions below)

 

Change the frmPersonnelVerified code behind to
get the values from the Session state items you created in the previous step.
(instructions below)

 

When you are done with these steps, you should
be able to enter data on the frmPersonnel data entry form and then click the
Submit button. The frmPersonnelVerified page should then be displayed with the
values that were in the data entry fields on frmPersonnel.

 

23. Add a label to the frmPersonnel form with
an ID of lblError. Do not place the label to the right or left of any of the
controls on the form. Add it below the controls or above the controls. The text
property of this label should be set to an empty string.

 

24. Add code to perform server side validation
in response to the submit button being clicked. Here are the business rules we
want to enforce (remember this will be server C# code in the frmPersonnel code
behind): Fields may not be empty or filled with spaces. If any field is empty,
turn that field background color to yellow and add to/create an error message
to be shown in the error label. The end date must be greater than the start
date. If the end date is less than the start date, turn both date fields yellow
and add to/create an error message to be shown in the error label. If all
fields validate properly then the session state items should be set properly
and the user should see the frmPersonnelVerified form with all the values
displayed.

 

frmPersonnel.aspx Lab Hints

 

1. The server side validation should be in the
Submit button’s event handler. There is a Trim method on the string object that
will automatically remove spaces from the beginning and end of a string. To
test if txtFirstName is empty or filled with spaces, use the following code.

 

if
(Request[“txtFirstName”].ToString().Trim() == “”)

 

2. To set the background color of the
txtFirstName field, use the following code.

 

txtFirstName.BackColor =
System.Drawing.Color.Yellow;

 

3. To set a value in session state and
redirect the response to the frmPersonnelVerified.aspx do the following.
txtFirstName is the key and txtFirstName.Text is the value.

 

Session[“txtFirstName”] =
txtFirstName.Text;

 

//Need to set session variables for all text
boxes

 

Response.Redirect(“frmPersonnelVerified.aspx”);

 

4. You may want to create variables to work
with for validation rather than using the Request item objects directly.

 

To turn a string into a DateTime object you
can use the DateTime method Parse. If you had a date value stored in a string
called strDate, you could turn it into a DateTime object like this.

 

DateTime myDateTimeObject =
DateTime.Parse(strDate);

 

You can compare two DateTime objects by using
the DateTime.Compare method. If you had two DateTime objects called dt1 and dt2
you can check to see if dt1 is greater than dt2 by doing this.

 

if (DateTime.Compare(dt1,dt2) > 0)

 

DateTime.Compare will return a 0 if the two
dates are equal, a 1 if dt1 is greater than dt2, and a -1 if dt1 is less than
dt2.

 

If you put in an invalid date for either of
the date fields, you will get an exception/server error when trying to parse
the values. We will address this in a later lab—for now make sure you enter
valid dates (valid meaning a date in the form of mm/dd/yyyy).

 

5. An example of the code you might want to
use to test if the end date is after the start date follows.

 

DateTime startDate =
DateTime.Parse(Request[“txtStartDate”]);

 

DateTime endDate =
DateTime.Parse(Request[“txtEndDate”]);

 

if (DateTime.Compare(startDate, endDate) >
0)

 

{

 

txtStartDate.BackColor =
System.Drawing.Color.Yellow;

 

txtEndDate.BackColor =
System.Drawing.Color.Yellow;

 

Msg = Msg + “The end date must be a later
date than the start date.”;

 

//The Msg text will be displayed in
lblError.Text after all the error messages are concatenated

 

validatedState= false;

 

//Boolean value – test each textbox to see if
the data entered is valid, if not set validState=false.

 

//If after testing each validation rule, the
validatedState value is true, then submit to frmPersonnelVerified.aspx, if not,
then display error message

 

}

 

else

 

{

 

txtStartDate.BackColor =
System.Drawing.Color.White;

 

txtEndDate.BackColor =
System.Drawing.Color.White;

 

}

 

Remember to clear the PostBackURL property of
the Submit button!

 

frmPersonnelVerified.aspx Lab Hints

 

When using the Session state in frmPersonnel.aspx
for txtFirstName, you used the following code:
Session[“txtFirstName”] = txtFirstName.Text;

 

To get this same value back from the session
we use the key and the Session object in the Page_Load of
frmPersonnellVerified.aspx (instead of using Request, use Session) as follows.

 

Session[“txtLastName”].ToString()

 

STEP 3: Verify and Submit

 

23. View the video above on what functions
your lab should have so far.

 

24. Run your project. When you open the
project and go to the main menu form a record should be saved in the
tblUserActivity table with the IP address, form name accessed (frmPersonnel),
and the date accessed. When you click the View Activity button you should see
at least one record with this information. The validation and error display
should work for entering data. All navigation and hyperlinks should work.

 

Once you have verified that it works, save
your project, zip up all files, and submit in the Dropbox.

 

image showing computer screen: Please enter
first name

 

image showing computer screen: Please enter
last name

 

image showing computer screen: end date must
be greater than start date

 

NOTE: Make sure you include comments in the
code provided where specified (where the ” //Your comments here” is
mentioned) and for any code you write, or else a five-point deduction per item
(form, class, function) will be made. You basically put two forward slashes,
which start the comment; anything after the // on that line is disregarded by
the compiler. Then type a brief statement describing what is happening in the
following code. Comments show professionalism and are a must in systems. As a
professional developer, comments will set you apart from others and make your
life much easier if maintenance and debugging are needed.

 

ilab 4

 

iLab 4 of 7: Web Forms with Database
Interaction (30 points)

iLab Overview

 

In this lab, we will start with the form that
we created in Week 2 (frmPersonnel) and add functionality to INSERT records
into a database table and SELECT records for display to the user. We will
create a typed dataset, a Data Layer class, several functions to access the
data, and a connection to a database. We also will add a search form to allow
the user to search records in the database and display the results of that
search.

 

Please watch the tutorial before beginning the
iLab.

 

Lab Tutorial Video

 

Play00:00MuteFullscreen

 

Transcript

 

Deliverables

 

NOTE

 

Submit your assignment to the Dropbox, located
at the top of this page. For instructions on how to use the Dropbox, read these
step-by-step instructions.

 

(See the Syllabus section “Due Dates for
Assignments & Exams” for due dates.)

 

All files are located in the subdirectory of
the project. The project should function as specified: When you press the
Submit button in frmPersonnel, a record should be saved in the tblPersonnel
table having the FirstName, LastName, PayRate, StartDate, and EndDate that you
entered on the form. Add a search feature to the project. Update your main
navigation page with the new options. Once you have verified that it works,
save your website, zip up all files, and submit it in the Dropbox.

 

Required Software

 

Microsoft Visual Studio.Net

 

Access the software at https://lab.devry.edu.

 

Steps: 1, 2, and 3

 

Lab Steps

 

STEP 1: Data Layer

 

Open Microsoft Visual Studio.NET.

 

Click the ASP.NET project called PayrollSystem
to open it.

 

Open the clsDataLayer class and add the
following function:

 

// This function saves the personnel data

 

public static bool SavePersonnel(string
Database, string FirstName, string LastName,

 

string PayRate, string StartDate, string
EndDate)

 

{

 

bool recordSaved;

 

try {

 

// Add your comments here

 

OleDbConnection conn = new
OleDbConnection(“PROVIDER=Microsoft.ACE.OLEDB.12.0;” +

 

“Data Source=” + Database);

 

conn.Open();

 

OleDbCommand command = conn.CreateCommand();

 

string strSQL;

 

// Add your comments here

 

strSQL = “Insert into tblPersonnel ”
+

 

“(FirstName, LastName, PayRate,
StartDate, EndDate) values (‘” +

 

FirstName + “‘, ‘” + LastName +
“‘, ” + PayRate + “, ‘” + StartDate +

 

“‘, ‘” + EndDate + “‘)”;

 

// Add your comments here

 

command.CommandType = CommandType.Text;

 

command.CommandText = strSQL;

 

// Add your comments here

 

command.ExecuteNonQuery();

 

// Add your comments here

 

conn.Close();

 

recordSaved = true;

 

} catch (Exception ex) {

 

recordSaved = false;

 

}

 

return recordSaved;

 

}

 

4. In the frmPersonnelVerified form, go to the
Page_Load() event and add the following code after the existing code (but still
in the Page_Load event handler):

 

// Add your comments here

 

if
(clsDataLayer.SavePersonnel(Server.MapPath(“PayrollSystem_DB.accdb”),

 

Session[“txtFirstName”].ToString(),

 

Session [“txtLastName”].ToString(),

 

Session [“txtPayRate”].ToString(),

 

Session [“txtStartDate”].ToString(),

 

Session [“txtEndDate”].ToString()))

 

{

 

txtVerifiedInfo.Text = txtVerifiedInfo.Text +

 


The information was successfully
saved!”;

 

}

 

else

 

{

 

txtVerifiedInfo.Text = txtVerifiedInfo.Text +

 


The information was NOT saved.”;

 

}

 

5. Add comments for all code containing // Add
your comments here.

 

6. Test your work to make sure that no errors
occur! (Make sure to put in valid date values for the date data entry fields).

 

STEP 2: Data Display and Search

 

7. Using the skills that you learned in Week
3, create a new DataSet for the tblPersonnel table (call the DataSet
dsPersonnel).

 

8. Using the skills that you learned in Week
3, create a new function called GetPersonnel in the clsDataLayer class. This
function should retrieve all data from the tblPersonnel table and return it in
the form of a dsPersonnel DataSet. Use the GetUserActivity function as an
example.

 

9. Create a new Web form called
frmViewPersonnel.

 

10. Using the skills that you learned in Week
3, add a GridView control (called grdViewPersonnel) to the form. This GridView
control will be used to display data from the tblPersonnel table. Add the ACIT
logo at the top of the page and make sure it links back to frmMain.

 

11. Add the following code to the Page_Load()
function in frmViewPersonnel.

 

if (!Page.IsPostBack)

 

{

 

//Declare the Dataset

 

dsPersonnel myDataSet = new dsPersonnel();

 

//Fill the dataset with shat is returned from
the method.

 

myDataSet =
clsDataLayer.GetPersonnel(Server.MapPath(“PayrollSystem_DB.accdb”));

 

//Set the DataGrid to the DataSource based on
the table

 

grdViewPersonnel.DataSource =
myDataSet.Tables[“tblPersonnel”];

 

//Bind the DataGrid

 

grdViewPersonnel.DataBind();

 

}

 

12. Return to the frmPersonnel Web form and
add a button ((ID) = btnViewPersonnel, Text = View Personnel) which, when
clicked, will display form frmViewPersonnel.

 

13. Open the frmPersonnelVerified form and add
a button ((ID) = btnViewPersonnel, Text = View Personnel) which, when clicked,
will display form frmViewPersonnel. NOTE: This is the same button with the same
functionality that you added to form frmPersonnel in the previous step. Also,
add a new link and linked image to frmMain called View Personnel that will go
to the new frmViewPersonnel page you created.

 

Let’s test the View Personnel page. Start your
program in Internet Explorer. Click on Add New Employee and add yourself to the
database and press Submit. Once you are on the personnel verified form, click
the View Personnel button. You should see the data that you just entered.

 

14. You will now add a Search feature to allow
the user to find and display data. The user will enter a last name and the Web
application will display the grid of employees with all employees that match
that last name.

 

15. Create a new Web form called
frmSearchPersonnel. Add the hyperlinked ACIT logo to this page. Also, add a new
item on frmMain (with a Link button and Image button) called Search Personnel.

 

16. On the frmSearchPersonnel form, add a
label that displays “Search for employee by last name:”. Next to the
label, add a text box with an ID of txtSearch. Add a button with an ID of
btnSearch and set the text of the button to “Search”.

 

17. When the frmSearchPersonnel Search button
is pressed, the frmViewPersonnel is displayed. At this point, no searching is
actually happening, but you have the forms that you need and the navigation is
working. Now you can focus on the coding that you will need to do to have the
grid only display matching employees.

 

18. Before calling the GetPersonnel method
that you added previously in the lab, you will need to get the value that is in
the Request[“txtSearch”] item. When the form posts the search page
results to the frmViewPersonnel, the name value pair for the search value is
passed as part of the Request object. This value will need to be assigned to a
string variable. To do this task, add the following line of code in the code
block below to the Page_Load function in frmViewPersonnel after the line:
dsPersonnel myDataSet = new dsPersonnel();

 

string strSearch =
Request[“txtSearch”];

 

Then, modify the call of the GetPersonnel
function one line below to add the strSearch as one of the arguments:

 

myDataSet =
clsDataLayer.GetPersonnel(Server.MapPath(“PayrollSystem_DB.accdb”),
strSearch);

 

19. Modify the GetPersonnel method that you
added in the clsDataLayer.cs class to include a new parameter called strSearch
of type string. Add string strSearch as an argument to the function as below:

 

public static dsPersonnel GetPersonnel(string
Database, string strSearch)

 

Then modify the sqlDA select statement within
the GetPersonnel function to test if a value is entered for a search parameter.

 

if (strSearch == null ||
strSearch.Trim()==””)

 

{

 

sqlDA = new OleDbDataAdapter(“select *
from tblPersonnel”, sqlConn);

 

}

 

else

 

{

 

sqlDA = new OleDbDataAdapter(“select *
from tblPersonnel where LastName = ‘” + strSearch + “‘”,
sqlConn);

 

}

 

20. Test the search so that when you enter a
last name, employees with that last name are returned. Make sure that when you
access frmViewPersonnel and you are not searching, all employees are returned.

 

STEP 3: Test and Submit

 

Run your project and test it as follows:

 

The frmMain form should be displayed first.

 

Click on the Add New Employee hyperlink to go
to the frmPersonnel data entry form. Click the View Personnel button on this
form. The frmViewPersonnel form should be displayed in the browser, but at this
point, there should not be very many personnel listed.

 

Use the Back button in your Web browser to
return to the frmPersonnel form and enter some personnel data for a few
employees, similar to the following:

 

Now, click the Submit button. The frmPersonnelVerified
form should be displayed, showing the data you entered, and you should get a
message saying that the data were successfully saved, like this example.

 

You should be able to view the employee
records by clicking the View Personnel link on the home page.

 

Test the Search feature and make sure that
entering no search string returns all of the data and that typing in a last
name will return all employees with the same last name.

 

NOTE: Make sure that you include comments in
the code provided where specified (where the ” // Your comments here”
line appears) and for any code that you write, or else a 5-point deduction per
item (form, class, function) will be made.

 

ilab 5

 

iLab 5 of 7: Transaction Processing (30
points)

This week, we will use the .NET
OleDbTransaction functions to either commit a set of changes to the database,
if all of them were done correctly, or to roll back all of the changes if there
was an error in any one of them. We will first modify the code that we created
last week so that it will save personnel data in the database in two steps;
first by inserting a personnel record for a new employee, and then by updating
that record to fill in the start and end dates. This two-step approach is not
really needed in this simple case, but we will use it to simulate a more
complex database transaction that would have to be done in multiple steps, such
as one involving more than one table or even more than one database. We will
then see what happens when there is an error in the second operation (the
update), allowing a record to be created containing incomplete information: not
a good result! We will fix the problem by wrapping both operations (the insert
and the update) into a single transaction that will be committed (made
permanent) only if both operations succeed

Writerbay.net

Looking for top-notch essay writing services? We've got you covered! Connect with our writing experts today. Placing your order is easy, taking less than 5 minutes. Click below to get started.


Order a Similar Paper Order a Different Paper