![]() |
MS Visual C# Applications: |
|
Introduction to Serialization |
|
|
|
This application follows the Georgetown Cleaning Services that primarily demonstrated the use of various Windows controls such as the date picker, the time picker, and bitmap buttons. One of the issues that was not dealt with was the ability to save the customers orders. In this application, after a customer's order has been processed, we will allow the user to save it. |
|
|
[STAThread]
static void Main()
{
Application.Run(new OrderProcessing());
}
|
![]() |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

private void dtpTimeLeft_ValueChanged(object sender, System.EventArgs e)
{
DateTime dateLeft = this.dtpDateLeft.Value;
DateTime timeLeft = this.dtpTimeLeft.Value;
DateTime time9AM = new DateTime(timeLeft.Year, timeLeft.Month, timeLeft.Day, 9, 0, 0);
// If the customer leaves clothes before 9AM...
if( timeLeft <= time9AM )
{
// ... then they should be ready the same day after 5PM
this.dtpDateExpected.Value = dateLeft;
this.dtpTimeExpected.Value = new DateTime(dateLeft.Year, dateLeft.Month, dateLeft.Day, 17, 0, 0);
}
else
{
// If the clothese were left after 9AM, they will be availablethe following morning at 8AM
this.dtpDateExpected.Value = new DateTime(dateLeft.Year, dateLeft.Month, dateLeft.Day + 1);
this.dtpTimeExpected.Value = new DateTime(dateLeft.Year, dateLeft.Month, dateLeft.Day + 1, 8, 0, 0);
}
}
|
internal void CalculateTotal()
{
decimal unitPriceShirts = 0.00M, unitPricePants = 0.00M, unitPriceItem1 = 0.00M,
unitPriceItem2 = 0.00M, unitPriceItem3 = 0.00M, unitPriceItem4 = 0.00M;
decimal subTotalShirts = 0.00M, subTotalPants = 0.00M, subTotalItem1 = 0.00M,
subTotalItem2 = 0.00M, subTotalItem3 = 0.00M, subTotalItem4 = 0.00M;
int qtyShirts = 1, qtyPants = 1, qtyItem1 = 1,
qtyItem2 = 1, qtyItem3 = 1, qtyItem4 = 4;
decimal cleaningTotal = 0.00M, taxRate = 0.00M, taxAmount = 0.00M, netPrice = 0.00M;
// Retrieve the unit price of this item
// Just in case the user types an invalid value, we are using a try...catch
try
{
unitPriceShirts = decimal.Parse(this.txtShirtsUnitPrice.Text);
}
catch(FormatException )
{
MessageBox.Show("The value you entered for the price of shirts is not valid" +
"\nPlease try again");
}
// Retrieve the number of this item
// Just in case the user types an invalid value, we are using a try...catch
try
{
qtyShirts = int.Parse(this.txtShirtsQuantity.Text);
}
catch(FormatException )
{
MessageBox.Show("The value you entered for the number of shirts is not valid" +
"\nPlease try again");
}
try
{
unitPricePants = decimal.Parse(this.txtPantsUnitPrice.Text);
}
catch(FormatException )
{
MessageBox.Show("The value you entered for the price of pants is not valid" +
"\nPlease try again");
}
try
{
qtyPants = int.Parse(this.txtPantsQuantity.Text);
}
catch(FormatException )
{
MessageBox.Show("The value you entered for the number of pants is not valid" +
"\nPlease try again");
}
try
{
unitPriceItem1 = decimal.Parse(this.txtItem1UnitPrice.Text);
}
catch(FormatException )
{
MessageBox.Show("The value you entered for the price is not valid" +
"\nPlease try again");
}
try
{
qtyItem1 = int.Parse(this.txtItem1Quantity.Text);
}
catch(FormatException )
{
MessageBox.Show("The value you entered is not valid" +
"\nPlease try again");
}
try
{
unitPriceItem2 = decimal.Parse(this.txtItem2UnitPrice.Text);
}
catch(FormatException )
{
MessageBox.Show("The value you entered for the price is not valid" +
"\nPlease try again");
}
try
{
qtyItem2 = int.Parse(this.txtItem2Quantity.Text);
}
catch(FormatException )
{
MessageBox.Show("The value you entered is not valid" +
"\nPlease try again");
}
try
{
unitPriceItem3 = decimal.Parse(this.txtItem3UnitPrice.Text);
}
catch(FormatException )
{
MessageBox.Show("The value you entered for the price is not valid" +
"\nPlease try again");
}
try
{
qtyItem3 = int.Parse(this.txtItem3Quantity.Text);
}
catch(FormatException )
{
MessageBox.Show("The value you entered is not valid" +
"\nPlease try again");
}
try
{
unitPriceItem4 = decimal.Parse(this.txtItem4UnitPrice.Text);
}
catch(FormatException )
{
MessageBox.Show("The value you entered for the price is not valid" +
"\nPlease try again");
}
try
{
qtyItem4 = int.Parse(this.txtItem4Quantity.Text);
}
catch(FormatException )
{
MessageBox.Show("The value you entered is not valid" +
"\nPlease try again");
}
// Calculate the sub-total for this item
subTotalShirts = qtyShirts * unitPriceShirts;
subTotalPants = qtyPants * unitPricePants;
subTotalItem1 = qtyItem1 * unitPriceItem1;
subTotalItem2 = qtyItem2 * unitPriceItem2;
subTotalItem3 = qtyItem3 * unitPriceItem3;
subTotalItem4 = qtyItem4 * unitPriceItem4;
// Calculate the total based on sub-totals
cleaningTotal = subTotalShirts + subTotalPants + subTotalItem1 +
subTotalItem2 + subTotalItem3 + subTotalItem4;
taxRate = decimal.Parse(this.txtTaxRate.Text);
// Calculate the amount owed for the taxes
taxAmount = cleaningTotal * taxRate / 100;
// Add the tax amount to the total order
netPrice = cleaningTotal + taxAmount;
// Display the sub-total in the corresponding text box
this.txtShirtsSubTotal.Text = subTotalShirts.ToString("F");
this.txtPantsSubTotal.Text = subTotalPants.ToString("F");
this.txtItem1SubTotal.Text = subTotalItem1.ToString("F");
this.txtItem2SubTotal.Text = subTotalItem2.ToString("F");
this.txtItem3SubTotal.Text = subTotalItem3.ToString("F");
this.txtItem4SubTotal.Text = subTotalItem4.ToString("F");
this.txtCleaningTotal.Text = cleaningTotal.ToString("F");
this.txtTaxAmount.Text = taxAmount.ToString("F");
this.txtNetPrice.Text = netPrice.ToString("F");
}
|
private void txtShirtsQuantity_Leave(object sender, System.EventArgs e)
{
CalculateTotal();
}
|
private void txtPantsQuantity_Leave(object sender, System.EventArgs e)
{
CalculateTotal();
}
|
private void txtItem1Quantity_Leave(object sender, System.EventArgs e)
{
if( this.cboItem1.Text != "None" )
CalculateTotal();
else
MessageBox.Show("Make sure you select an item in the combo box");
}
|
private void txtItem2Quantity_Leave(object sender, System.EventArgs e)
{
if( this.cboItem2.Text != "None" )
CalculateTotal();
else
MessageBox.Show("Make sure you select an item in the combo box");
}
|
private void txtItem3Quantity_Leave(object sender, System.EventArgs e)
{
if( this.cboItem3.Text != "None" )
CalculateTotal();
else
MessageBox.Show("Make sure you select an item in the combo box");
}
|
private void txtItem4Quantity_Leave(object sender, System.EventArgs e)
{
if( this.cboItem4.Text != "None" )
CalculateTotal();
else
MessageBox.Show("Make sure you select an item in the combo box");
}
|
private void txtTaxRate_Leave(object sender, System.EventArgs e)
{
CalculateTotal();
}
|
private void btnClose_Click(object sender, System.EventArgs e)
{
Close();
}
|
private void btnReset_Click(object sender, System.EventArgs e)
{
// Reset the controls
this.txtCustomerName.Text = "";
this.txtCustomerPhone.Text = "";
this.txtShirtsUnitPrice.Text = "1.25";
this.txtShirtsQuantity.Text = "0";
this.txtShirtsSubTotal.Text = "0.00";
this.txtPantsUnitPrice.Text = "1.95";
this.txtPantsQuantity.Text = "0";
this.txtPantsSubTotal.Text = "0.00";
this.cboItem1.Text = "None";
this.txtItem1UnitPrice.Text = "0.00";
this.txtItem1Quantity.Text = "0";
this.txtItem1SubTotal.Text = "0.00";
this.cboItem2.Text = "None";
this.txtItem2UnitPrice.Text = "0.00";
this.txtItem2Quantity.Text = "0";
this.txtItem2SubTotal.Text = "0.00";
this.cboItem3.Text = "None";
this.txtItem3UnitPrice.Text = "0.00";
this.txtItem3Quantity.Text = "0";
this.txtItem3SubTotal.Text = "0.00";
this.cboItem4.Text = "None";
this.txtItem4UnitPrice.Text = "0.00";
this.txtItem4Quantity.Text = "0";
this.txtItem4SubTotal.Text = "0.00";
this.txtCleaningTotal.Text = "0.00";
this.txtTaxRate.Text = "5.75";
this.txtTaxAmount.Text = "0.00";
this.txtNetPrice.Text = "0.00";
this.txtCustomerName.Focus();
}
|
|
|
||
| Home | Copyright © 2004-2011 FunctionX | Next |
|
|
||