Exemplo n.º 1
0
        protected void SaveButton_Click(object sender, EventArgs e)
        {
            // Very basic validation:
            // Check that the passwords match, make sure we have at least an account name.
            if (PasswordTextBox1.Text != PasswordTextBox2.Text || String.IsNullOrWhiteSpace(AccountNameTextBox.Text))
            {
                return;
            }

            //TODO
            // Add validation of fields.
            // Create a phone number and email utils validator.
            // Add Phone number creation area.

            // Create items in following order: user, address, location, company, account.
            var user = new User();

            user.Active    = true; //first user must be active.
            user.Email     = EmailTextBox.Text;
            user.FirstName = FirstNameTextBox.Text;
            user.LastName  = LastNameTextBox.Text;
            user.Role      = RoleTypes.Admin; //first user can ONLY be an admin.
            user.UserName  = UserNameTextBox.Text;


            // Silly hack until we create a proper numeric-only textbox.
            int zipCode = 0;

            Int32.TryParse(ZipCodeTextBox.Text, out zipCode);

            // Create address.
            var adderess = new Adderess();

            adderess.City           = CityTextBox.Text;
            adderess.Country        = CountryTextBox.Text;
            adderess.State          = StateTextBox.Text;
            adderess.StreetAdderess = StreetAdderessTextBox.Text;
            adderess.Suite          = SuiteTextBox.Text;
            adderess.ZipCode        = zipCode;

            // Create location.
            var location = new Location();

            location.Adderess = adderess;
            location.Name     = String.IsNullOrWhiteSpace(LocationNameTextBox.Text) ?
                                AccountNameTextBox.Text : LocationNameTextBox.Text;

            // Create company.
            var company = new Company();

            company.Name = String.IsNullOrWhiteSpace(CompanyNameTextBox.Text) ?
                           AccountNameTextBox.Text : CompanyNameTextBox.Text;
            company.Adderess = adderess;
            company.Locations.Add(location);

            // Create account.
            var account = new TimeTracks.Data.Account();

            account.Companies.Add(company);
            account.Users.Add(user);
            account.Name      = AccountNameTextBox.Text;
            account.WeekStart = Sprocs.GetDayOfWeek(WeekStartDropDown.SelectedValue);

            // Create the default account.
            Sprocs.CreateAccount(account, user, PasswordTextBox1.Text);

            Response.Redirect("/");
        }