static void Main() { var service = new Service(); var member = service.GetMember(3); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new FormMain()); }
// saves data for new or edited member to database. protected void ButtonSave_Click(object sender, EventArgs e) { var service = new Service(); var member = (MemberId == 0) ? new BusinessObjects.Member() : service.GetMember(MemberId); // get email name from page var row = DetailsViewMember.Rows[1]; var textBox = row.Cells[1].Controls[0] as TextBox; member.Email = textBox.Text.Trim(); // get Company name from page. row = DetailsViewMember.Rows[2]; textBox = row.Cells[1].Controls[0] as TextBox; member.CompanyName = textBox.Text.Trim(); // get City from page row = DetailsViewMember.Rows[3]; textBox = row.Cells[1].Controls[0] as TextBox; member.City = textBox.Text.Trim(); // get Country from page row = DetailsViewMember.Rows[4]; textBox = row.Cells[1].Controls[0] as TextBox; member.Country = textBox.Text.Trim(); // validate using business rules engine if (member.IsValid()) { if (MemberId == 0) { service.InsertMember(member); Session["message"] = "New member successfully added"; } else { service.UpdateMember(member); Session["message"] = "Member successfully updated"; } } else { LabelError.Text = member.Errors.Aggregate((current, next) => current + "</br>" + next); PanelError.Visible = true; return; } // return to list of members Response.Redirect(UrlMaker.ToMembers()); }
// sets datasources and bind data to controls. private void Bind() { // get member var service = new Service(); var member = service.GetMember(MemberId); // set company name LabelHeader.Text = "<font color='black'>Orders for:</font> " + member.CompanyName + " (" + member.Country + ")"; GridViewOrders.DataSource = service.GetOrdersByMember(MemberId); GridViewOrders.DataBind(); }
// deletes member record protected void GridViewMembers_RowDeleting(object sender, GridViewDeleteEventArgs e) { var row = GridViewMembers.Rows[e.RowIndex]; int memberId = int.Parse(row.Cells[0].Text); var service = new Service(); // member with orders cannot be deleted var orders = service.GetOrdersByMember(memberId); if (orders.Count > 0) { string memberName = row.Cells[1].Text; LabelError.Text = "Cannot delete " + memberName + " because they have existing orders!"; } else { var member = service.GetMember(memberId); service.DeleteMember(member); Session["message"] = "Member successfully deleted"; Bind(); } }