Ejemplo n.º 1
0
        protected void btnSave_OnClick(object sender, EventArgs e)
        {
            //Create a value provider from this page.
            //Values will be derived from controls on this page that match property names on the model.
            IWFValueProvider provider = new WFPageControlsValueProvider(this, "");

            //Update the model from the provider:
            WFPageUtilities.UpdateModel(provider, Model, "", null, null);

            Model.Save();

            Response.Redirect("~/Default.aspx");
        }
Ejemplo n.º 2
0
        public void ApplyModelToPage_MultipleTests()
        {
            TestParticipantClass testPart = new TestParticipantClass();

            testPart.FirstName = "John";
            testPart.LastName  = "Doe";
            testPart.BirthDate = null;

            Page px = new Page();

            px.Controls.Add(new TextBox()
            {
                ID = "FirstName"
            });
            px.Controls.Add(new TextBox()
            {
                ID = "LastName"
            });
            px.Controls.Add(new TextBox()
            {
                ID = "BirthDate"
            });

            WebControlUtilities.ApplyModelToPage(px, testPart);

            TextBox txtFirstName = (TextBox)px.FindControl("FirstName");
            TextBox txtLastName  = (TextBox)px.FindControl("LastName");
            TextBox txtBirthDate = (TextBox)px.FindControl("BirthDate");

            Assert.AreEqual(testPart.FirstName, txtFirstName.Text);
            Assert.AreEqual(testPart.LastName, txtLastName.Text);
            //BirthDate is null, so we expect blank
            Assert.AreEqual("", txtBirthDate.Text);

            txtFirstName.Text = "Jack";
            txtLastName.Text  = "Sparrow";
            txtBirthDate.Text = "1/1/2001";

            TestParticipantClass        part2         = new TestParticipantClass();
            WFPageControlsValueProvider valueProvider = new WFPageControlsValueProvider(px, "");

            WFPageUtilities.UpdateModel(valueProvider, part2, "", null, null);

            Assert.AreEqual("Jack", part2.FirstName);
            Assert.AreEqual("Sparrow", part2.LastName);
            Assert.AreEqual(DateTime.Parse("1/1/2001"), part2.BirthDate);
        }
        protected void btnSubmit_OnClick(object sender, EventArgs e)
        {
            //The WebFu:DataAnnotationValidatorControl uses built-in Web Forms
            //validation and will fire automatically.
            if (Page.IsValid)
            {
                //If validation succeeded, update the model from the controls on the page:
                WFPageControlsValueProvider provider = new WFPageControlsValueProvider(this, "");

                WFPageUtilities.UpdateModel(provider, Model, "", null, null);
                WFPageUtilities.UpdateModel(provider, Model.Login, "", null, null);
                WFPageUtilities.UpdateModel(provider, Model.Address, "", null, null);

                Model.Save();

                Response.Redirect("~/Registration/RegistrationThanks.aspx");
            }
        }
Ejemplo n.º 4
0
        public void ApplyModelToPage_ListBoxDropDownAdditionalTests()
        {
            ListBox lbItems = new ListBox()
            {
                ID = "Inventory"
            };

            lbItems.Items.Add(new ListItem()
            {
                Text = "Item1", Value = "1"
            });
            lbItems.Items.Add(new ListItem()
            {
                Text = "Item2", Value = "2"
            });
            lbItems.Items.Add(new ListItem()
            {
                Text = "Item3", Value = "3"
            });
            lbItems.Items.Add(new ListItem()
            {
                Text = "Item4", Value = "4"
            });

            DropDownList ddlItems = new DropDownList()
            {
                ID = "LuckyPhrases"
            };

            ddlItems.Items.Add(new ListItem()
            {
                Text = "Phrase1", Value = "A lucky man"
            });
            ddlItems.Items.Add(new ListItem()
            {
                Text = "Phrase2", Value = "Good fortune"
            });
            ddlItems.Items.Add(new ListItem()
            {
                Text = "Phrase3", Value = "Rich and wealthy"
            });
            ddlItems.Items.Add(new ListItem()
            {
                Text = "Phrase4", Value = "Excellent health"
            });

            ListBox lbGroups = new ListBox()
            {
                ID = "ParticipantGroupID"
            };

            lbGroups.Items.Add(new ListItem()
            {
                Text = "Admin", Value = "1"
            });
            lbGroups.Items.Add(new ListItem()
            {
                Text = "Judge", Value = "2"
            });
            lbGroups.Items.Add(new ListItem()
            {
                Text = "User", Value = "3"
            });
            lbGroups.Items.Add(new ListItem()
            {
                Text = "Outsider", Value = "4"
            });

            Page px = new Page();

            //px.Controls.Add(lbItems);
            //px.Controls.Add(ddlItems);
            px.Controls.Add(lbGroups);

            lbGroups.Items[2].Selected = true;

            //Pull selected values into participant
            TestParticipantClass        testPart      = new TestParticipantClass();
            WFPageControlsValueProvider valueProvider = new WFPageControlsValueProvider(px, "");

            WFPageUtilities.UpdateModel(valueProvider, testPart, "", null, null);

            Assert.AreEqual(3, testPart.ParticipantGroupID);


            //Apply null values to null collections
            WebControlUtilities.ApplyModelToPage(px, testPart);

            Assert.IsNull(testPart.LuckyPhrases, null);
            Assert.IsNull(testPart.Inventory, null);

            //Apply null values to non-null collections
            testPart.LuckyPhrases = new string[] { "A lucky man", "Rich and wealthy" };
            testPart.Inventory    = new List <TestInventoryObject>();
            WebControlUtilities.ApplyModelToPage(px, testPart);

            Assert.IsNotNull(testPart.Inventory);
            Assert.AreEqual(0, testPart.Inventory.Count);
            Assert.AreEqual(2, testPart.LuckyPhrases.Length);

            //Apply select one value
            lbItems.Items[2].Selected  = true;
            ddlItems.Items[2].Selected = true;

            WebControlUtilities.ApplyModelToPage(px, testPart);
        }