private void btnCreateUser_Click(object sender, EventArgs e) { bool userInfoIsValid = ValidateUserInformation(); if (!userInfoIsValid) { return; } UserAccount newUser = new UserAccount(txtUsername.Text, txtUserPassword.Text, false); newUser.EmailAddress = txtEmailAddress.Text; newUser.FirstName = txtFirstName.Text; newUser.LastName = txtLastName.Text; newUser.PhoneNumber = txtPhoneNumber.Text; foreach (object item in chklstRoles.CheckedItems) { PermissionSet permissionSet = new PermissionSet(); switch (item.ToString()) { case "Operational Manager": permissionSet.IsManager = true; permissionSet.IsStockClerk = true; permissionSet.IsCustomer = true; permissionSet.IsWorkSpecialist = true; break; case "Sales Person": permissionSet.IsCustomer = true; break; case "Printing / Engraving Specialist": permissionSet.IsWorkSpecialist = true; break; case "Stock Clerk": permissionSet.IsStockClerk = true; break; } newUser.PermissionSet = permissionSet; } int returnValue = ApplicationObjects.NewUser(newUser); ApplicationObjects.DisplayDataStatus(returnValue); if (returnValue == 1) { return; } else if (returnValue == 2) { MessageBox.Show("A user by this name already exists.", "Duplicate User", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } _loginForm.ShowManagerMainForm(userAccount, _loginForm); this.Close(); }
protected void btnRegister_Click(object sender, EventArgs e) { //Call ValidateRegistration Function bool isvailid = ValidateRegistration(); System.Collections.Hashtable confirmht = new System.Collections.Hashtable(); if (isvailid == true) { PermissionSet permissionSet = new PermissionSet(); permissionSet.IsCustomer = true; //add code here to register user. string regUserName = txtFirstName.Text.Substring(0, 1) + txtLastName.Text; UserAccount newUser = new UserAccount(regUserName, txtRegPassword.Text, false); newUser.EmailAddress = txtEmail.Text; newUser.FirstName = txtFirstName.Text; newUser.LastName = txtLastName.Text; newUser.PhoneNumber = txtPhoneNumber.Text; newUser.PermissionSet = permissionSet; int returnUserValue = ApplicationObjects.NewUser(newUser); //Display Status Upon Success confirmht.Add("UserName", newUser.UserName); if (returnUserValue == 1) { return; } else if (returnUserValue == 2) { lblError.Visible = true; lblError.Text = "A user by this name already exists, duplicate user"; return; } // Populate customer object with user input Customer customer = new Customer(); customer.FirstName = txtFirstName.Text; customer.LastName = txtLastName.Text; customer.PhoneNumber = txtPhoneNumber.Text; customer.EmailAddress = txtEmail.Text; // Populate mailing address object with user input Address mailingAddress = new Address(); mailingAddress.PersonId = customer.PersonId; mailingAddress.StreetNumber = int.Parse(txtAddressStreetNumber.Text); mailingAddress.StreetName = txtAddressStreetName.Text; mailingAddress.AddressCity = txtCity.Text; mailingAddress.AddressState = txtState.Text; mailingAddress.AddressZip = txtZipCode.Text; mailingAddress.AddressType = AddressType.Mailing; // Populate billing address object with user input Address billingAddress = new Address(); billingAddress.PersonId = customer.PersonId; billingAddress.StreetNumber = int.Parse(txtBillingAddressStreetNumber.Text); billingAddress.StreetName = txtBillingAddressStreetName.Text; billingAddress.AddressCity = txtBillingCity.Text; billingAddress.AddressState = txtBillingState.Text; billingAddress.AddressZip = txtBillingZipCode.Text; billingAddress.AddressType = AddressType.Billing; // Transaction to perform 4 inter-related data inserts on multiple database tables using (TransactionScope scope = new TransactionScope()) { int returnValue = 1; // Write PERSON record to database BusinessObjects _personBusinessObject = new BusinessObjects(); returnValue = _personBusinessObject.InsertPersonFromCustomer(customer); if (returnValue == 1) { // If insert fails, rollback transaction & display error message confirmht.Add("WritePersonRecord", "Failed"); scope.Dispose(); return; } // Write CUSTOMER record to database BusinessObjects _customerBusinessObject = new BusinessObjects(); returnValue = _customerBusinessObject.InsertCustomer(customer); if (returnValue == 1) { // If insert fails, rollback transaction & display error message confirmht.Add("WriteCustomerRecord", "Failed"); scope.Dispose(); return; } // Write MAILING ADDRESS record to database BusinessObjects _mailingAddressBusinessObject = new BusinessObjects(); returnValue = _mailingAddressBusinessObject.InsertAddress(mailingAddress); if (returnValue == 1) { // If insert fails, rollback transaction & display error message confirmht.Add("WriteMailingAddress", "Failed"); scope.Dispose(); return; } // Write BILLING ADDRESS record to database BusinessObjects _billingAddressBusinessObject = new BusinessObjects(); returnValue = _billingAddressBusinessObject.InsertAddress(billingAddress); if (returnValue == 1) { // If insert fails, rollback transaction & display error message confirmht.Add("WriteBillingAddress", "Failed"); scope.Dispose(); return; } // Committ data transaction & display success message confirmht.Add("CustomerCreated", "Success"); confirmht.Add("WriteBillingAddress", "Success"); confirmht.Add("WriteMailingAddress", "Success"); confirmht.Add("WriteCustomerRecord", "Success"); confirmht.Add("WritePersonRecord", "Success"); confirmht.Add("Role", "Customer"); scope.Complete(); }// End transaction Session["Confirmation"] = confirmht; Response.Redirect("Confirmation.aspx"); txtFirstName.Text = null; txtLastName.Text = null; txtCity.Text = null; txtAddressStreetName.Text = null; txtAddressStreetNumber.Text = null; txtEmail.Text = null; txtEmailConfirm.Text = null; txtRegPassword.Text = null; txtRegPasswordConfirm.Text = null; } }