From: <ro...@us...> - 2006-07-06 15:56:17
|
Revision: 73 Author: rouquin Date: 2006-07-06 08:55:56 -0700 (Thu, 06 Jul 2006) ViewCVS: http://svn.sourceforge.net/tcdb/?rev=73&view=rev Log Message: ----------- Updated ActionItemEdit to automatically set some dates and creator id. Updated Admin tree and added a number of new pages that are currently relatively blank. These pages will used to edit tcdb objects. We'll probably want to rethink how things are organized but this will be sufficient so that I can create and test these pages. Modified Paths: -------------- WebPrototype/ActionItemEdit.aspx WebPrototype/ActionItemEdit.aspx.cs WebPrototype/Admin.aspx WebPrototype/AdminMaster.master.cs WebPrototype/App_Code/DummyDataSet.xsd WebPrototype/App_Code/DummyDataSet.xss WebPrototype/App_Data/ASPNETDB.MDF WebPrototype/App_Data/Database.mdf WebPrototype/App_Data/Database_log.LDF WebPrototype/App_Data/aspnetdb_log.ldf WebPrototype/AssignmentMaster.master WebPrototype/AssignmentMaster.master.cs WebPrototype/Default.aspx WebPrototype/Default.aspx.cs WebPrototype/Settings.aspx.cs WebPrototype/Web.config Added Paths: ----------- WebPrototype/buildEdit.aspx WebPrototype/buildEdit.aspx.cs WebPrototype/statusEdit.aspx WebPrototype/statusEdit.aspx.cs WebPrototype/tagEdit.aspx WebPrototype/tagEdit.aspx.cs WebPrototype/userRightsEdit.aspx WebPrototype/userRightsEdit.aspx.cs WebPrototype/versionEdit.aspx WebPrototype/versionEdit.aspx.cs Modified: WebPrototype/ActionItemEdit.aspx =================================================================== --- WebPrototype/ActionItemEdit.aspx 2006-07-06 01:22:11 UTC (rev 72) +++ WebPrototype/ActionItemEdit.aspx 2006-07-06 15:55:56 UTC (rev 73) @@ -10,8 +10,7 @@ <asp:Content ID="Content1" ContentPlaceHolderID="PageContent" runat="Server"> <asp:FormView ID="FormView1" runat="server" DataSourceID="ActionItemDataSource" DataKeyNames="actionItemID" CellPadding=4 ForeColor="#333333" OnItemUpdated=FormView1_ItemUpdated - OnItemInserted=FormView1_ItemInserted OnDataBound=FormView1_DataBound OnItemDeleted=FormView1_ItemDeleted - OnModeChanged=FormView1_ModeChanged> + OnItemInserted=FormView1_ItemInserted OnDataBound=FormView1_DataBound OnItemDeleted=FormView1_ItemDeleted> <HeaderTemplate> <div id="ActionItem"> <table width=700> @@ -25,7 +24,6 @@ <strong>Status: </strong> <asp:DropDownList ID="statusList" runat="server" AutoPostBack="True" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged" DataSourceID=StatusDataSource DataTextField=stateName DataValueField=id AppendDataBoundItems=True> - <asp:ListItem Selected=True /> </asp:DropDownList><br /> <strong>Percent Complete: </strong> <asp:RadioButtonList ID="percentList" runat="server" RepeatDirection="Horizontal" @@ -64,8 +62,7 @@ <strong>Assigned: </strong><asp:Label ID="dateAssignedLbl" runat="server" Text='<%# Eval("dateAssigned") %>'></asp:Label><br /> <strong>Due: <asp:Label ID="dateDueLbl" runat="server" Font-Bold="False" Text='<%# Eval("dateDue") %>'></asp:Label></strong><br /> - <strong>Finished: <asp:Label ID="dateFinishedLbl" runat="server" Font-Bold="False" Text='<%# Eval("dateFinished") %>'></asp:Label><br /> - </strong></td> + <strong>Finished:</strong> <asp:Label ID="dateFinishedLbl" runat="server" Font-Bold="False" Text='<%# Eval("dateFinished") %>'></asp:Label></td> </tr> <tr> <td colspan="4" class="hr"> @@ -93,9 +90,8 @@ <td align=right colspan=2 width="45%"> <strong>Created By: <asp:Label ID="createdByLbl" runat="server" Font-Bold="False" Text='<%# Eval("createdBy") %>'></asp:Label></strong><br /> - <strong>Assigned To: - <asp:Label ID="assignedToLbl" runat="server" Font-Bold="False" Text='<%# Eval("assignedTo") %>'></asp:Label><br /> - </strong> </td> + <strong>Assigned To:</strong> <asp:Label ID="assignedToLbl" runat="server" Font-Bold="False" Text='<%# Eval("assignedTo") %>'></asp:Label> + </td> </tr> </table> </div> @@ -117,15 +113,13 @@ Width="70%" /> </td> <td align=right colspan=2 width="45%"> - <strong>Assigned: </strong> - <cc1:DatePicker ID="assignedDate" runat="server" DateFormatString="MM/dd/yyyy" DateValue='<%# Eval("dateAssigned") %>' /> - <br /> + <strong>Assigned: + <asp:Label ID="dateAssignedLbl" runat="server" Font-Bold="False" Text='<%# Eval("dateAssigned") %>'></asp:Label></strong><br /> <strong>Due: </strong> <cc1:DatePicker ID="dueDate" runat="server" DateFormatString="MM/dd/yyyy" DateValue='<%# Eval("dateDue") %>' /> <br /> - <strong>Finished: </strong> - <cc1:DatePicker ID="finishedDate" runat="server" DateFormatString="MM/dd/yyyy" DateValue='<%# Eval("dateFinished") %>' /> - <br /> + <strong>Finished: + <asp:Label ID="dateFinishedLbl" runat="server" Font-Bold="False" Text='<%# Eval("dateFinished") %>'></asp:Label> </strong> </td> </tr> <tr> @@ -146,7 +140,7 @@ </td> </tr> <tr> - <td colspan=2 width="60%"> + <td colspan=2 width="60%" align=left> <asp:LinkButton ID="UpdateButton" runat="server" CausesValidation="True" CommandName="Update" Text="Update"> </asp:LinkButton> | @@ -156,12 +150,10 @@ </td> <td align=right colspan=2 width="%40"> <strong>Created By:</strong> - <asp:DropDownList ID="createdBy" runat="server" DataSourceID="UserDataSource" DataTextField="Name" - DataValueField="id" SelectedValue='<%# Eval("creatorID","{0}") %>'> - </asp:DropDownList><br /> + <asp:Label ID="createdByLbl" runat="server" Text='<%# Eval("createdBy") %>'></asp:Label><br /> <strong>Assigned To:</strong> <asp:DropDownList ID="assignedTo" runat="server" DataSourceID="UserDataSource" DataTextField="Name" - DataValueField="id" SelectedValue='<%# Eval("assignedID","{0}") %>'> + DataValueField="userID" SelectedValue='<%# Eval("assignedID","{0}") %>'> </asp:DropDownList><br /> <asp:ObjectDataSource ID="UserDataSource" runat="server" OldValuesParameterFormatString="original_{0}" SelectMethod="GetUserNames" TypeName="DummyDataSetTableAdapters.UsersTableAdapter"> @@ -186,19 +178,16 @@ <asp:ImageButton ID="priorityImg" runat="server" Height="19px" ImageUrl="~/Images/no-exclamation.jpg" OnClick="priorityImg_Click" Width="20px" /> Name:</strong> <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("name") %>' Width="70%" /> - <br /> <td align=right colspan=2 width="45%"> <strong>Assigned: </strong> - <cc1:DatePicker ID="assignedDate" runat="server" DateFormatString="MM/dd/yyyy" /><br /> + <asp:Label ID="dateAssignedLbl" runat="server" Text="Label"></asp:Label><br /> <strong>Due: </strong> <cc1:DatePicker ID="dueDate" runat="server" DateFormatString="MM/dd/yyyy" /><br /> - <strong>Finished: </strong><cc1:DatePicker ID="finishedDate" runat="server" DateFormatString="MM/dd/yyyy" /><br /> - </td> + <strong>Finished: <asp:Label ID="dateFinishedLbl" runat="server" Font-Bold="False"></asp:Label></strong></td> </tr> <tr> <td colspan="4" class="hr"> - <img alt="" src="images/spacer.gif" height="5" /><br /> - </td> + <img alt="" src="images/spacer.gif" height="5" /></td> </tr> <tr> <td colspan="4"> @@ -208,11 +197,10 @@ </tr> <tr> <td colspan="4" class="hr"> - <img alt="" src="images/spacer.gif" height="5" /><br /> - </td> + <img alt="" src="images/spacer.gif" height="5" /></td> </tr> <tr> - <td colspan=2 width="60%"> + <td colspan=2 width="60%" align=left> <asp:LinkButton ID="InsertButton" runat="server" CausesValidation="True" CommandName="Insert" Text="Insert"> </asp:LinkButton> | @@ -221,13 +209,11 @@ </asp:LinkButton> </td> <td align=right colspan=2 width="40%"> - <strong>Created By: <asp:DropDownList ID="createdBy" runat="server" DataSourceID="UserDataSource" DataTextField="Name" - DataValueField="id" AppendDataBoundItems=True> - </asp:DropDownList></strong><br /> + <strong>Created By: <asp:Label ID="createdByLbl" runat="server" Font-Bold="False" + Text="Label"></asp:Label></strong><br /> <strong>Assigned To: <asp:DropDownList ID="assignedTo" runat="server" DataSourceID="UserDataSource" DataTextField="Name" - DataValueField="id" AppendDataBoundItems=True> - </asp:DropDownList></strong><br /> - <asp:ObjectDataSource ID="UserDataSource" runat="server" OldValuesParameterFormatString="original_{0}" + DataValueField="userID" AppendDataBoundItems=True> + </asp:DropDownList></strong><asp:ObjectDataSource ID="UserDataSource" runat="server" OldValuesParameterFormatString="original_{0}" SelectMethod="GetUserNames" TypeName="DummyDataSetTableAdapters.UsersTableAdapter"> </asp:ObjectDataSource> </td> @@ -243,10 +229,10 @@ SelectMethod="GetAssignmentDataByID" TypeName="DummyDataSetTableAdapters.ActionItemTableAdapter" DeleteMethod=DeleteByID InsertMethod=InsertActionItem UpdateMethod=UpdateActionItemByID> <SelectParameters> - <asp:Parameter Name="id" Type="Int32" /> + <asp:SessionParameter Name="actionItemID" SessionField="id" Type="Int32" /> </SelectParameters> <DeleteParameters> - <asp:Parameter Name="original_actionItemID" Type="Object" /> + <asp:Parameter Name="original_actionItemID" Type="Int32" /> </DeleteParameters> <UpdateParameters> <asp:Parameter Name="name" Type="String" /> Modified: WebPrototype/ActionItemEdit.aspx.cs =================================================================== --- WebPrototype/ActionItemEdit.aspx.cs 2006-07-06 01:22:11 UTC (rev 72) +++ WebPrototype/ActionItemEdit.aspx.cs 2006-07-06 15:55:56 UTC (rev 73) @@ -13,14 +13,19 @@ public partial class ActionItemEdit : System.Web.UI.Page { - private int id = System.Convert.ToInt32(HttpContext.Current.Request.QueryString["id"]); + private String id = (String) HttpContext.Current.Request.QueryString["id"]; bool priority; protected void Page_Load(object sender, EventArgs e) { + if (!User.Identity.IsAuthenticated || Profile.userID == "") + Response.Redirect("default.aspx"); + ImageButton priorityImg = (ImageButton)FormView1.FindControl("priorityImg"); - ActionItemDataSource.SelectParameters["id"].DefaultValue = id.ToString(); + if (id == null) + id = "0"; + Session.Add("id",id); if (priorityImg != null && priorityImg.ImageUrl == "~/Images/exclamation.jpg") priority = true; } protected void RadioButtonList1_SelectedIndexChanged(object sender, EventArgs e) @@ -30,6 +35,18 @@ RadioButtonList percentList = (RadioButtonList)sender; SqlCommand cmd = new SqlCommand("UPDATE ActionItem SET percentComplete="+percentList.SelectedValue+" WHERE actionItemID="+id, Master.DBConnection); cmd.ExecuteNonQuery(); + + if (percentList.SelectedIndex == 4) + { + cmd.CommandText = "UPDATE Assignments SET dateFinished='" + DateTime.Today + "' WHERE actionItemID=" + id; + cmd.ExecuteNonQuery(); + } + else + { + cmd.CommandText = "UPDATE Assignments SET dateFinished=null WHERE actionItemID=" + id; + cmd.ExecuteNonQuery(); + } + FormView1.DataBind(); } } protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e) @@ -45,17 +62,11 @@ protected void FormView1_ItemUpdated(object sender, FormViewUpdatedEventArgs e) { - DatePicker assignedDate = (DatePicker)FormView1.FindControl("assignedDate"); DatePicker dueDate = (DatePicker)FormView1.FindControl("dueDate"); - DatePicker finishedDate = (DatePicker)FormView1.FindControl("finishedDate"); - DropDownList createdBy = (DropDownList)FormView1.FindControl("createdBy"); DropDownList assignedTo = (DropDownList)FormView1.FindControl("assignedTo"); SqlCommand cmd = new SqlCommand("UPDATE Assignments SET " + - "dateAssigned='" + assignedDate.DateValue + - "',dateDue='" + dueDate.DateValue + - "',dateFinished='" + finishedDate.DateValue + - "',creatorID='" + createdBy.SelectedValue + + "dateDue='" + dueDate.DateValue + "',assignedID='" + assignedTo.SelectedValue + "',highPriorityID='" + priority + "' WHERE actionItemID=" + id, Master.DBConnection); @@ -65,10 +76,9 @@ } protected void FormView1_ItemInserted(object sender, FormViewInsertedEventArgs e) { - DatePicker assignedDate = (DatePicker)FormView1.FindControl("assignedDate"); + Label createdBy = (Label)FormView1.FindControl("createdByLbl"); + Label dateAssigned = (Label)FormView1.FindControl("dateAssignedLbl"); DatePicker dueDate = (DatePicker)FormView1.FindControl("dueDate"); - DatePicker finishedDate = (DatePicker)FormView1.FindControl("finishedDate"); - DropDownList createdBy = (DropDownList)FormView1.FindControl("createdBy"); DropDownList assignedTo = (DropDownList)FormView1.FindControl("assignedTo"); DropDownList statusList = (DropDownList)FormView1.FindControl("statusList"); RadioButtonList percentList = (RadioButtonList)FormView1.FindControl("percentList"); @@ -77,24 +87,20 @@ SqlDataAdapter DBAdapter = new SqlDataAdapter("SELECT MAX(actionItemID) AS newID FROM ActionItem",Master.DBConnection); DataSet data = new DataSet(); DBAdapter.Fill(data); - id = Convert.ToInt32(data.Tables[0].Rows[0]["newID"]); + id = data.Tables[0].Rows[0]["newID"].ToString(); - String assigned = "null", due = "null", finished = "null"; - if (assignedDate.DateValue != DateTime.MinValue) - assigned = "'" + assignedDate.DateValue + "'"; + String due = "null"; + if (dueDate.DateValue != DateTime.MinValue) due = "'" + dueDate.DateValue + "'"; - if (finishedDate.DateValue != DateTime.MinValue) - finished = "'" + finishedDate.DateValue + "'"; - SqlCommand cmd = new SqlCommand("INSERT INTO Assignments (actionItemID,dateAssigned,dateDue,dateFinished,creatorID,assignedID,statusID,highPriorityID) VALUES ('" + - id + "'," + - assigned + "," + + SqlCommand cmd = new SqlCommand("INSERT INTO Assignments (actionItemID,dateAssigned,dateDue,creatorID,assignedID,statusID,highPriorityID) VALUES ('" + + id + "','" + + dateAssigned.Text + "'," + due + "," + - finished + ",'" + - createdBy.SelectedValue + "','" + - assignedTo.SelectedValue + "','" + - statusList.SelectedValue + "','" + + createdBy.Attributes["id"] + "," + + assignedTo.SelectedValue + "," + + statusList.SelectedValue + ",'" + priority + "')", Master.DBConnection); cmd.ExecuteNonQuery(); cmd.CommandText = "UPDATE ActionItem SET percentComplete=" + percentList.SelectedValue + " WHERE actionItemID=" + id; @@ -107,13 +113,13 @@ SqlCommand cmd = new SqlCommand("DELETE FROM Assignments WHERE actionItemID=" + id, Master.DBConnection); cmd.ExecuteNonQuery(); Master.updateTree(); + + Response.Redirect("Assignments.aspx?id=" + Profile.userID); } protected void FormView1_DataBound(object sender, EventArgs e) { - DatePicker assignedDate = (DatePicker)FormView1.FindControl("assignedDate"); DatePicker dueDate = (DatePicker)FormView1.FindControl("dueDate"); - DatePicker finishedDate = (DatePicker)FormView1.FindControl("finishedDate"); DropDownList statusList = (DropDownList) FormView1.FindControl("statusList"); RadioButtonList percentList = (RadioButtonList)FormView1.FindControl("percentList"); Image priorityImg = (Image)FormView1.FindControl("priorityImg"); @@ -142,19 +148,23 @@ if (FormView1.CurrentMode != FormViewMode.ReadOnly) { - String assigned = data["dateAssigned"].ToString(); String due = data["dateDue"].ToString(); - String finished = data["dateFinished"].ToString(); - if (assigned != "") - assignedDate.DateValue = Convert.ToDateTime(assigned); if (due != "") dueDate.DateValue = Convert.ToDateTime(due); - if (finished != "") - finishedDate.DateValue = Convert.ToDateTime(finished); } } + else if (FormView1.CurrentMode == FormViewMode.Insert) + { + Label createdBy = (Label)FormView1.FindControl("createdByLbl"); + Label dateAssigned = (Label)FormView1.FindControl("dateAssignedLbl"); + createdBy.Text = Profile.FirstName + " " + Profile.LastName; + createdBy.Attributes.Add("id", Profile.userID); + dateAssigned.Text = DateTime.Today.ToShortDateString(); + dueDate.DateValue = DateTime.Today; + } + } protected void priorityImg_Click(object sender, ImageClickEventArgs e) { @@ -174,8 +184,4 @@ } } } - protected void FormView1_ModeChanged(object sender, EventArgs e) - { - - } } Modified: WebPrototype/Admin.aspx =================================================================== --- WebPrototype/Admin.aspx 2006-07-06 01:22:11 UTC (rev 72) +++ WebPrototype/Admin.aspx 2006-07-06 15:55:56 UTC (rev 73) @@ -1,6 +1,14 @@ -<%@ Page Language="C#" MasterPageFile="~/AdminMaster.master" AutoEventWireup="true" CodeFile="Admin.aspx.cs" Inherits="Admin" Title="TCDB: Admin" %> +<%@ Page Language="C#" MasterPageFile="~/AdminMaster.master" AutoEventWireup="true" + CodeFile="Admin.aspx.cs" Inherits="Admin" Title="TCDB: Admin" %> + <%@ MasterType VirtualPath="~/AdminMaster.master" %> - -<asp:Content ID="Content1" ContentPlaceHolderID="PageContent" Runat="Server"> +<asp:Content ID="Content1" ContentPlaceHolderID="PageContent" runat="Server"> + <table width=700> + <tr> + <td align=center valign=middle> + <h2> + Welcome to the TCDB Admin Page!</h2> + </td> + </tr> + </table> </asp:Content> - Modified: WebPrototype/AdminMaster.master.cs =================================================================== --- WebPrototype/AdminMaster.master.cs 2006-07-06 01:22:11 UTC (rev 72) +++ WebPrototype/AdminMaster.master.cs 2006-07-06 15:55:56 UTC (rev 73) @@ -38,6 +38,7 @@ protected void TreeView1_TreeNodePopulate(object sender, TreeNodeEventArgs e) { TreeView tv = (TreeView)sender; + TreeNode newNode; DataSet ResultsDataSet = new DataSet(); SqlDataAdapter DBAdapter; String query; @@ -55,7 +56,7 @@ foreach (DataRow row in ResultsDataSet.Tables[0].Rows) { // Create the new node. - TreeNode newNode = new TreeNode(); + newNode = new TreeNode(); newNode.Text = "<font color=black><b>"+row["Name"]+"</b></font>"; newNode.Value = row["productID"].ToString(); @@ -65,7 +66,7 @@ // Set additional properties for the node. newNode.SelectAction = TreeNodeSelectAction.Expand; - newNode.NavigateUrl = "~/ProductEdit.aspx?id=" + newNode.Value; + //newNode.NavigateUrl = "~/ProductEdit.aspx?id=" + newNode.Value; // Add the new node to the ChildNodes collection of the parent node. e.Node.ChildNodes.Add(newNode); @@ -73,59 +74,254 @@ } break; case 1: - // Populate Product Versions - query = "SELECT * FROM version where productID="+e.Node.Value; - DBAdapter = new SqlDataAdapter(query, DBConnection); - DBAdapter.Fill(ResultsDataSet); + // Populate Categories + + // Versions + newNode = new TreeNode(); + newNode.Text = "<font color=black>Versions</font>"; + newNode.Value = "version"; + newNode.PopulateOnDemand = true; + newNode.SelectAction = TreeNodeSelectAction.Expand; + e.Node.ChildNodes.Add(newNode); - if (ResultsDataSet.Tables.Count > 0){ - foreach (DataRow row in ResultsDataSet.Tables[0].Rows){ - // Create the new node. - TreeNode newNode = new TreeNode(); - newNode.Text = "<font color=black><i>"+row["number"]+"</i></font>"; - newNode.Value = row["versionID"].ToString(); + // Tags + newNode = new TreeNode(); + newNode.Text = "<font color=black>Tags</font>"; + newNode.Value = "tag"; + newNode.PopulateOnDemand = true; + newNode.SelectAction = TreeNodeSelectAction.Expand; + e.Node.ChildNodes.Add(newNode); - // Set the PopulateOnDemand property to true so that the child nodes can be - // dynamically populated. - newNode.PopulateOnDemand = true; + // Status Labels + newNode = new TreeNode(); + newNode.Text = "<font color=black>Status Levels</font>"; + newNode.Value = "status"; + newNode.PopulateOnDemand = true; + newNode.SelectAction = TreeNodeSelectAction.Expand; + e.Node.ChildNodes.Add(newNode); - // Set additional properties for the node. - newNode.SelectAction = TreeNodeSelectAction.Expand; - newNode.NavigateUrl = "~/VersionEdit.aspx?id=" + newNode.Value; + // Labs + newNode = new TreeNode(); + newNode.Text = "<font color=black>Labs</font>"; + newNode.Value = "lab"; + newNode.PopulateOnDemand = true; + newNode.SelectAction = TreeNodeSelectAction.Expand; + e.Node.ChildNodes.Add(newNode); - // Add the new node to the ChildNodes collection of the parent node. - e.Node.ChildNodes.Add(newNode); + // Users + newNode = new TreeNode(); + newNode.Text = "<font color=black>User Rights</font>"; + newNode.Value = "user"; + newNode.PopulateOnDemand = true; + newNode.SelectAction = TreeNodeSelectAction.Expand; + e.Node.ChildNodes.Add(newNode); + break; + case 2: + if (e.Node.Value == "version") + { + // Populate Product Versions + query = "SELECT * FROM version where productID=" + e.Node.Parent.Value; + DBAdapter = new SqlDataAdapter(query, DBConnection); + DBAdapter.Fill(ResultsDataSet); + + if (ResultsDataSet.Tables.Count > 0) + { + foreach (DataRow row in ResultsDataSet.Tables[0].Rows) + { + // Create the new node. + newNode = new TreeNode(); + newNode.Text = "<font color=black><i>" + row["number"] + "</i></font>"; + newNode.Value = row["versionID"].ToString(); + + // Set the PopulateOnDemand property to true so that the child nodes can be + // dynamically populated. + newNode.PopulateOnDemand = true; + + // Set additional properties for the node. + newNode.SelectAction = TreeNodeSelectAction.Expand; + newNode.NavigateUrl = "~/VersionEdit.aspx?id=" + newNode.Value; + + // Add the new node to the ChildNodes collection of the parent node. + e.Node.ChildNodes.Add(newNode); + } } } + else if (e.Node.Value == "tag") + { + // Populate Tags + query = "SELECT * FROM tags"; + DBAdapter = new SqlDataAdapter(query, DBConnection); + DBAdapter.Fill(ResultsDataSet); + + if (ResultsDataSet.Tables.Count > 0) + { + foreach (DataRow row in ResultsDataSet.Tables[0].Rows) + { + // Create the new node. + newNode = new TreeNode(); + newNode.Text = "<font color=blue><i>" + row["name"] + "</i></font>"; + newNode.Value = row["id"].ToString(); + + // Set the PopulateOnDemand property to true so that the child nodes can be + // dynamically populated. + newNode.PopulateOnDemand = true; + + // Set additional properties for the node. + newNode.SelectAction = TreeNodeSelectAction.Expand; + newNode.NavigateUrl = "~/tagEdit.aspx?id=" + newNode.Value; + + // Add the new node to the ChildNodes collection of the parent node. + e.Node.ChildNodes.Add(newNode); + } + } + } + else if (e.Node.Value == "status") + { + // Action Item + newNode = new TreeNode(); + newNode.Text = "<font color=black>Action Item</font>"; + newNode.Value = "ActionItem"; + newNode.PopulateOnDemand = true; + newNode.SelectAction = TreeNodeSelectAction.Expand; + e.Node.ChildNodes.Add(newNode); + + // WorkOrder + newNode = new TreeNode(); + newNode.Text = "<font color=black>Work Order</font>"; + newNode.Value = "WorkOrder"; + newNode.PopulateOnDemand = true; + newNode.SelectAction = TreeNodeSelectAction.Expand; + e.Node.ChildNodes.Add(newNode); + + // Objective + newNode = new TreeNode(); + newNode.Text = "<font color=black>Objective</font>"; + newNode.Value = "objective"; + newNode.PopulateOnDemand = true; + newNode.SelectAction = TreeNodeSelectAction.Expand; + e.Node.ChildNodes.Add(newNode); + + // TestCase + newNode = new TreeNode(); + newNode.Text = "<font color=black>Testcase</font>"; + newNode.Value = "testcase"; + newNode.PopulateOnDemand = true; + newNode.SelectAction = TreeNodeSelectAction.Expand; + e.Node.ChildNodes.Add(newNode); + } + else if (e.Node.Value == "lab") + { + } + else if (e.Node.Value == "user") + { + // Populate Users + query = "SELECT * FROM Users"; + DBAdapter = new SqlDataAdapter(query, DBConnection); + DBAdapter.Fill(ResultsDataSet); + + if (ResultsDataSet.Tables.Count > 0) + { + foreach (DataRow row in ResultsDataSet.Tables[0].Rows) + { + // Create the new node. + newNode = new TreeNode(); + newNode.Text = "<font color=blue><i>" + row["username"] + "</i></font>"; + newNode.Value = row["userID"].ToString(); + + // Set the PopulateOnDemand property to true so that the child nodes can be + // dynamically populated. + newNode.PopulateOnDemand = true; + + // Set additional properties for the node. + newNode.SelectAction = TreeNodeSelectAction.Expand; + newNode.NavigateUrl = "~/UserRightsEdit.aspx?id=" + newNode.Value; + + // Add the new node to the ChildNodes collection of the parent node. + e.Node.ChildNodes.Add(newNode); + } + } + } break; - case 2: - // Populate Builds - query = "SELECT * FROM build where versionID=" + e.Node.Value; - DBAdapter = new SqlDataAdapter(query, DBConnection); - DBAdapter.Fill(ResultsDataSet); + case 3: + if (e.Node.NavigateUrl.Contains("Version")) + { + // Test Pass + newNode = new TreeNode(); + newNode.Text = "<font color=black>Test Passes</font>"; + newNode.Value = "testpass"; + newNode.PopulateOnDemand = true; + newNode.SelectAction = TreeNodeSelectAction.Expand; + e.Node.ChildNodes.Add(newNode); - if (ResultsDataSet.Tables.Count > 0) + // Builds + newNode = new TreeNode(); + newNode.Text = "<font color=black>Builds</font>"; + newNode.Value = "build"; + newNode.PopulateOnDemand = true; + newNode.SelectAction = TreeNodeSelectAction.Expand; + e.Node.ChildNodes.Add(newNode); + } + else if (e.Node.Parent.Value == "status") { - foreach (DataRow row in ResultsDataSet.Tables[0].Rows) + // Populate status + query = "SELECT * FROM status where groupname='" + e.Node.Value+"'"; + DBAdapter = new SqlDataAdapter(query, DBConnection); + DBAdapter.Fill(ResultsDataSet); + + if (ResultsDataSet.Tables.Count > 0) { - // Create the new node. - TreeNode newNode = new TreeNode(); - newNode.Text = "<font color=black><i>" + row["number"] + "</i></font>"; - newNode.Value = row["buildID"].ToString(); + foreach (DataRow row in ResultsDataSet.Tables[0].Rows) + { + // Create the new node. + newNode = new TreeNode(); + newNode.Text = "<font color=blue><i>" + row["stateName"] + "</i></font>"; + newNode.Value = row["id"].ToString(); - // Set the PopulateOnDemand property to true so that the child nodes can be - // dynamically populated. - newNode.PopulateOnDemand = true; + // Set the PopulateOnDemand property to true so that the child nodes can be + // dynamically populated. + newNode.PopulateOnDemand = true; - // Set additional properties for the node. - newNode.SelectAction = TreeNodeSelectAction.Expand; - newNode.NavigateUrl = "~/BuildEdit.aspx?id=" + newNode.Value; + // Set additional properties for the node. + newNode.SelectAction = TreeNodeSelectAction.Expand; + newNode.NavigateUrl = "~/statusEdit.aspx?id=" + newNode.Value; - // Add the new node to the ChildNodes collection of the parent node. - e.Node.ChildNodes.Add(newNode); + // Add the new node to the ChildNodes collection of the parent node. + e.Node.ChildNodes.Add(newNode); + } } } break; + case 4: + if (e.Node.Value == "build") + { + // Populate Builds + query = "SELECT * FROM build where versionID=" + e.Node.Parent.Value; + DBAdapter = new SqlDataAdapter(query, DBConnection); + DBAdapter.Fill(ResultsDataSet); + + if (ResultsDataSet.Tables.Count > 0) + { + foreach (DataRow row in ResultsDataSet.Tables[0].Rows) + { + // Create the new node. + newNode = new TreeNode(); + newNode.Text = "<font color=black><i>" + row["number"] + "</i></font>"; + newNode.Value = row["buildID"].ToString(); + + // Set the PopulateOnDemand property to true so that the child nodes can be + // dynamically populated. + newNode.PopulateOnDemand = true; + + // Set additional properties for the node. + newNode.SelectAction = TreeNodeSelectAction.Expand; + newNode.NavigateUrl = "~/BuildEdit.aspx?id=" + newNode.Value; + + // Add the new node to the ChildNodes collection of the parent node. + e.Node.ChildNodes.Add(newNode); + } + } + } + break; } } Modified: WebPrototype/App_Code/DummyDataSet.xsd =================================================================== --- WebPrototype/App_Code/DummyDataSet.xsd 2006-07-06 01:22:11 UTC (rev 72) +++ WebPrototype/App_Code/DummyDataSet.xsd 2006-07-06 15:55:56 UTC (rev 73) @@ -391,7 +391,7 @@ <Mapping SourceColumn="username" DataSetColumn="username" /> </Mappings> <Sources> - <DbSource ConnectionRef="DummyDatabaseConnectionString (Web.config)" DbObjectName="" DbObjectType="Unknown" GenerateShortCommands="True" GeneratorSourceName="DeleteUserByID" Modifier="Public" Name="DeleteUserByID" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="True" UserGetMethodName="GetDataBy1" UserSourceName="DeleteUserByID"> + <DbSource ConnectionRef="DummyDatabaseConnectionString (Web.config)" DbObjectName="" DbObjectType="Unknown" GenerateShortCommands="True" GeneratorSourceName="DeleteUserByID" Modifier="Public" Name="DeleteUserByID" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="True" UserGetMethodName="GetDataBy" UserSourceName="DeleteUserByID"> <DeleteCommand> <DbCommand CommandType="Text" ModifiedByUser="True"> <CommandText>DELETE FROM Users WHERE userID=@original_userID</CommandText> @@ -412,7 +412,7 @@ </DbCommand> </SelectCommand> </DbSource> - <DbSource ConnectionRef="DummyDatabaseConnectionString (Web.config)" DbObjectName="" DbObjectType="Unknown" GenerateShortCommands="True" GeneratorSourceName="InsertUser" Modifier="Public" Name="InsertUser" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="True" UserGetMethodName="GetDataBy2" UserSourceName="InsertUser"> + <DbSource ConnectionRef="DummyDatabaseConnectionString (Web.config)" DbObjectName="" DbObjectType="Unknown" GenerateShortCommands="True" GeneratorSourceName="InsertUser" Modifier="Public" Name="InsertUser" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="True" UserGetMethodName="GetDataBy1" UserSourceName="InsertUser"> <InsertCommand> <DbCommand CommandType="Text" ModifiedByUser="True"> <CommandText>INSERT INTO Users @@ -439,7 +439,7 @@ </DbCommand> </InsertCommand> </DbSource> - <DbSource ConnectionRef="DummyDatabaseConnectionString (Web.config)" DbObjectName="" DbObjectType="Unknown" GenerateShortCommands="True" GeneratorSourceName="UpdateUserByID" Modifier="Public" Name="UpdateUserByID" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="True" UserGetMethodName="GetDataBy" UserSourceName="UpdateUserByID"> + <DbSource ConnectionRef="DummyDatabaseConnectionString (Web.config)" DbObjectName="" DbObjectType="Unknown" GenerateShortCommands="True" GeneratorSourceName="UpdateUserByID" Modifier="Public" Name="UpdateUserByID" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="True" UserGetMethodName="GetDataBy2" UserSourceName="UpdateUserByID"> <UpdateCommand> <DbCommand CommandType="Text" ModifiedByUser="True"> <CommandText>UPDATE Users @@ -767,9 +767,9 @@ ActionItem ON ActionItem.actionItemID = Assignments.actionItemID LEFT OUTER JOIN Users AS u1 ON u1.userID = Assignments.creatorID LEFT OUTER JOIN Users AS u2 ON u2.userID = Assignments.assignedID -WHERE (ActionItem.actionItemID = @id)</CommandText> +WHERE (ActionItem.actionItemID = @actionItemID)</CommandText> <Parameters> - <Parameter AllowDbNull="False" AutogeneratedName="id" ColumnName="actionItemID" DataSourceName="[C:\DOCUMENTS AND SETTINGS\MICHAELT\DESKTOP\TCDB\WEBPROTOTYPE\APP_DATA\DATABASE.MDF].dbo.ActionItem" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@id" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="actionItemID" SourceColumnNullMapping="False" SourceVersion="Current"> + <Parameter AllowDbNull="False" AutogeneratedName="actionItemID" ColumnName="actionItemID" DataSourceName="[C:\DOCUMENTS AND SETTINGS\MICHAELT\DESKTOP\TCDB\WEBPROTOTYPE\APP_DATA\DATABASE.MDF].dbo.ActionItem" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@actionItemID" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="actionItemID" SourceColumnNullMapping="False" SourceVersion="Current"> </Parameter> </Parameters> </DbCommand> @@ -1124,68 +1124,68 @@ <xs:element name="Objective" msprop:Generator_UserTableName="Objective" msprop:Generator_RowDeletedName="ObjectiveRowDeleted" msprop:Generator_RowChangedName="ObjectiveRowChanged" msprop:Generator_RowClassName="ObjectiveRow" msprop:Generator_RowChangingName="ObjectiveRowChanging" msprop:Generator_RowEvArgName="ObjectiveRowChangeEvent" msprop:Generator_RowEvHandlerName="ObjectiveRowChangeEventHandler" msprop:Generator_TableClassName="ObjectiveDataTable" msprop:Generator_TableVarName="tableObjective" msprop:Generator_RowDeletingName="ObjectiveRowDeleting" msprop:Generator_TablePropName="Objective"> <xs:complexType> <xs:sequence> - <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> + <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> + <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="objectiveID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="objectiveID" msprop:Generator_ColumnPropNameInRow="objectiveID" msprop:Generator_ColumnVarNameInTable="columnobjectiveID" msprop:Generator_ColumnPropNameInTable="objectiveIDColumn" type="xs:int" /> - <xs:element name="featureID" msprop:Generator_UserColumnName="featureID" msprop:Generator_ColumnPropNameInRow="featureID" msprop:Generator_ColumnVarNameInTable="columnfeatureID" msprop:Generator_ColumnPropNameInTable="featureIDColumn" type="xs:int" /> - <xs:element name="userID" msprop:Generator_UserColumnName="userID" msprop:Generator_ColumnPropNameInRow="userID" msprop:Generator_ColumnVarNameInTable="columnuserID" msprop:Generator_ColumnPropNameInTable="userIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="dateCreated" msprop:Generator_UserColumnName="dateCreated" msprop:Generator_ColumnPropNameInRow="dateCreated" msprop:Generator_ColumnVarNameInTable="columndateCreated" msprop:Generator_ColumnPropNameInTable="dateCreatedColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="statusID" msprop:Generator_UserColumnName="statusID" msprop:Generator_ColumnPropNameInRow="statusID" msprop:Generator_ColumnVarNameInTable="columnstatusID" msprop:Generator_ColumnPropNameInTable="statusIDColumn" type="xs:int" default="0" minOccurs="0" /> + <xs:element name="objectiveID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="objectiveID" msprop:Generator_ColumnVarNameInTable="columnobjectiveID" msprop:Generator_ColumnPropNameInRow="objectiveID" msprop:Generator_ColumnPropNameInTable="objectiveIDColumn" type="xs:int" /> + <xs:element name="featureID" msprop:Generator_UserColumnName="featureID" msprop:Generator_ColumnVarNameInTable="columnfeatureID" msprop:Generator_ColumnPropNameInRow="featureID" msprop:Generator_ColumnPropNameInTable="featureIDColumn" type="xs:int" /> + <xs:element name="userID" msprop:Generator_UserColumnName="userID" msprop:Generator_ColumnVarNameInTable="columnuserID" msprop:Generator_ColumnPropNameInRow="userID" msprop:Generator_ColumnPropNameInTable="userIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="dateCreated" msprop:Generator_UserColumnName="dateCreated" msprop:Generator_ColumnVarNameInTable="columndateCreated" msprop:Generator_ColumnPropNameInRow="dateCreated" msprop:Generator_ColumnPropNameInTable="dateCreatedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="statusID" msprop:Generator_UserColumnName="statusID" msprop:Generator_ColumnVarNameInTable="columnstatusID" msprop:Generator_ColumnPropNameInRow="statusID" msprop:Generator_ColumnPropNameInTable="statusIDColumn" type="xs:int" default="0" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="TestCase" msprop:Generator_UserTableName="TestCase" msprop:Generator_RowDeletedName="TestCaseRowDeleted" msprop:Generator_RowChangedName="TestCaseRowChanged" msprop:Generator_RowClassName="TestCaseRow" msprop:Generator_RowChangingName="TestCaseRowChanging" msprop:Generator_RowEvArgName="TestCaseRowChangeEvent" msprop:Generator_RowEvHandlerName="TestCaseRowChangeEventHandler" msprop:Generator_TableClassName="TestCaseDataTable" msprop:Generator_TableVarName="tableTestCase" msprop:Generator_RowDeletingName="TestCaseRowDeleting" msprop:Generator_TablePropName="TestCase"> <xs:complexType> <xs:sequence> - <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> + <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="steps" msprop:Generator_UserColumnName="steps" msprop:Generator_ColumnPropNameInRow="steps" msprop:Generator_ColumnVarNameInTable="columnsteps" msprop:Generator_ColumnPropNameInTable="stepsColumn" minOccurs="0"> + <xs:element name="steps" msprop:Generator_UserColumnName="steps" msprop:Generator_ColumnVarNameInTable="columnsteps" msprop:Generator_ColumnPropNameInRow="steps" msprop:Generator_ColumnPropNameInTable="stepsColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="2147483647" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="number" msprop:Generator_UserColumnName="number" msprop:Generator_ColumnPropNameInRow="number" msprop:Generator_ColumnVarNameInTable="columnnumber" msprop:Generator_ColumnPropNameInTable="numberColumn" type="xs:int" minOccurs="0" /> - <xs:element name="dateCreated" msprop:Generator_UserColumnName="dateCreated" msprop:Generator_ColumnPropNameInRow="dateCreated" msprop:Generator_ColumnVarNameInTable="columndateCreated" msprop:Generator_ColumnPropNameInTable="dateCreatedColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="dateEdited" msprop:Generator_UserColumnName="dateEdited" msprop:Generator_ColumnPropNameInRow="dateEdited" msprop:Generator_ColumnVarNameInTable="columndateEdited" msprop:Generator_ColumnPropNameInTable="dateEditedColumn" type="xs:dateTime" minOccurs="0" /> - <xs:element name="objectiveID" msprop:Generator_UserColumnName="objectiveID" msprop:Generator_ColumnPropNameInRow="objectiveID" msprop:Generator_ColumnVarNameInTable="columnobjectiveID" msprop:Generator_ColumnPropNameInTable="objectiveIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="statusID" msprop:Generator_UserColumnName="statusID" msprop:Generator_ColumnPropNameInRow="statusID" msprop:Generator_ColumnVarNameInTable="columnstatusID" msprop:Generator_ColumnPropNameInTable="statusIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="testcaseID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="testcaseID" msprop:Generator_ColumnVarNameInTable="columntestcaseID" msprop:Generator_ColumnPropNameInRow="testcaseID" msprop:Generator_ColumnPropNameInTable="testcaseIDColumn" type="xs:int" /> - <xs:element name="creatorID" msprop:Generator_UserColumnName="creatorID" msprop:Generator_ColumnVarNameInTable="columncreatorID" msprop:Generator_ColumnPropNameInRow="creatorID" msprop:Generator_ColumnPropNameInTable="creatorIDColumn" type="xs:int" minOccurs="0" /> - <xs:element name="lastEditID" msprop:Generator_UserColumnName="lastEditID" msprop:Generator_ColumnVarNameInTable="columnlastEditID" msprop:Generator_ColumnPropNameInRow="lastEditID" msprop:Generator_ColumnPropNameInTable="lastEditIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="number" msprop:Generator_UserColumnName="number" msprop:Generator_ColumnVarNameInTable="columnnumber" msprop:Generator_ColumnPropNameInRow="number" msprop:Generator_ColumnPropNameInTable="numberColumn" type="xs:int" minOccurs="0" /> + <xs:element name="dateCreated" msprop:Generator_UserColumnName="dateCreated" msprop:Generator_ColumnVarNameInTable="columndateCreated" msprop:Generator_ColumnPropNameInRow="dateCreated" msprop:Generator_ColumnPropNameInTable="dateCreatedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="dateEdited" msprop:Generator_UserColumnName="dateEdited" msprop:Generator_ColumnVarNameInTable="columndateEdited" msprop:Generator_ColumnPropNameInRow="dateEdited" msprop:Generator_ColumnPropNameInTable="dateEditedColumn" type="xs:dateTime" minOccurs="0" /> + <xs:element name="objectiveID" msprop:Generator_UserColumnName="objectiveID" msprop:Generator_ColumnVarNameInTable="columnobjectiveID" msprop:Generator_ColumnPropNameInRow="objectiveID" msprop:Generator_ColumnPropNameInTable="objectiveIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="statusID" msprop:Generator_UserColumnName="statusID" msprop:Generator_ColumnVarNameInTable="columnstatusID" msprop:Generator_ColumnPropNameInRow="statusID" msprop:Generator_ColumnPropNameInTable="statusIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="testcaseID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="testcaseID" msprop:Generator_ColumnPropNameInRow="testcaseID" msprop:Generator_ColumnVarNameInTable="columntestcaseID" msprop:Generator_ColumnPropNameInTable="testcaseIDColumn" type="xs:int" /> + <xs:element name="creatorID" msprop:Generator_UserColumnName="creatorID" msprop:Generator_ColumnPropNameInRow="creatorID" msprop:Generator_ColumnVarNameInTable="columncreatorID" msprop:Generator_ColumnPropNameInTable="creatorIDColumn" type="xs:int" minOccurs="0" /> + <xs:element name="lastEditID" msprop:Generator_UserColumnName="lastEditID" msprop:Generator_ColumnPropNameInRow="lastEditID" msprop:Generator_ColumnVarNameInTable="columnlastEditID" msprop:Generator_ColumnPropNameInTable="lastEditIDColumn" type="xs:int" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="Tags" msprop:Generator_UserTableName="Tags" msprop:Generator_RowDeletedName="TagsRowDeleted" msprop:Generator_RowChangedName="TagsRowChanged" msprop:Generator_RowClassName="TagsRow" msprop:Generator_RowChangingName="TagsRowChanging" msprop:Generator_RowEvArgName="TagsRowChangeEvent" msprop:Generator_RowEvHandlerName="TagsRowChangeEventHandler" msprop:Generator_TableClassName="TagsDataTable" msprop:Generator_TableVarName="tableTags" msprop:Generator_RowDeletingName="TagsRowDeleting" msprop:Generator_TablePropName="Tags"> <xs:complexType> <xs:sequence> - <xs:element name="id" msprop:Generator_UserColumnName="id" msprop:Generator_ColumnPropNameInRow="id" msprop:Generator_ColumnVarNameInTable="columnid" msprop:Generator_ColumnPropNameInTable="idColumn" type="xs:int" /> - <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> + <xs:element name="id" msprop:Generator_UserColumnName="id" msprop:Generator_ColumnVarNameInTable="columnid" msprop:Generator_ColumnPropNameInRow="id" msprop:Generator_ColumnPropNameInTable="idColumn" type="xs:int" /> + <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="50" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> + <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnPropNameInTable="descriptionColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> @@ -1198,27 +1198,27 @@ <xs:element name="product" msprop:Generator_UserTableName="product" msprop:Generator_RowDeletedName="productRowDeleted" msprop:Generator_RowChangedName="productRowChanged" msprop:Generator_RowClassName="productRow" msprop:Generator_RowChangingName="productRowChanging" msprop:Generator_RowEvArgName="productRowChangeEvent" msprop:Generator_RowEvHandlerName="productRowChangeEventHandler" msprop:Generator_TableClassName="productDataTable" msprop:Generator_TableVarName="tableproduct" msprop:Generator_RowDeletingName="productRowDeleting" msprop:Generator_TablePropName="product"> <xs:complexType> <xs:sequence> - <xs:element name="productID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="productID" msprop:Generator_ColumnPropNameInRow="productID" msprop:Generator_ColumnVarNameInTable="columnproductID" msprop:Generator_ColumnPropNameInTable="productIDColumn" type="xs:int" /> - <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> + <xs:element name="productID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msprop:Generator_UserColumnName="productID" msprop:Generator_ColumnVarNameInTable="columnproductID" msprop:Generator_ColumnPropNameInRow="productID" msprop:Generator_ColumnPropNameInTable="productIDColumn" type="xs:int" /> + <xs:element name="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnPropNameInTable="nameColumn" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="255" /> </xs:restriction> </xs:simpleType> </xs:element> - <xs:element name="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInT... [truncated message content] |