/* * Pre: * Post: If the payment information is valid, submit the shipment */ protected void Submit_Click(object sender, EventArgs e) { Page.Validate("Payment"); //collect information and enter into database if (Page.IsValid) { double length = Convert.ToDouble(Length.Text); double width = Convert.ToDouble(Width.Text); double height = Convert.ToDouble(Height.Text); double weight = Convert.ToDouble(Weight.Text); double cost = Convert.ToDouble(Cost.Text.Substring(1)); Customer customer = DbInterfacePerson.GetCustomer(Session["username"].ToString()); Address deliveryAddress = GetDeliveryAddress(); CreditCard card = GetCreditCard(); double value = 0; if (ItemValue.Text.Length > 0) value = Convert.ToDouble(ItemValue.Text); ShipmentType type = null; if (ShipmentType.SelectedIndex > 0) type = new ShipmentType(Convert.ToInt32(ShipmentType.SelectedValue), ShipmentType.SelectedItem.Text); UtilityClass.ShippingSpeed speed = UtilityClass.ShippingSpeed.Normal; if (ShippingSpeed.SelectedIndex == 1) speed = UtilityClass.ShippingSpeed.Express; else if (ShippingSpeed.SelectedIndex == 2) speed = UtilityClass.ShippingSpeed.Urgent; InsuranceType insurance = null; if (Insurance.SelectedIndex > 0) insurance = new InsuranceType(Convert.ToInt32(Insurance.SelectedValue), Insurance.SelectedItem.Text); Shipment shipment = new Shipment(customer, length, width, height, weight, type, insurance, value, cost, FirstName.Text, LastName.Text, deliveryAddress, card, false, speed); //if successfully added, show confirmation message int id = shipment.AddToDatabase(); if (id != -1) { string trackingNum = GetTrackingNumber(id); ConfirmLabel.Text = "Thank you for using the La Crosse Parcel Service! Your shipment has been registered and is being processed. You will be notified when your shipment is accepted"; MainPage.Visible = false; Confirmation.Visible = true; UtilityClass.SendEmail(customer.email, "Shipment in Processing", "Thank you for using the La Crosse Parcel Service! " + "Your tracking number is " + trackingNum + ". Please visit 138.49.101.81/Account/Login to view your shipment status."); } } }