diff --git a/Contacts/Contacts.sln b/Contacts/Contacts.sln new file mode 100644 index 0000000..486f53f --- /dev/null +++ b/Contacts/Contacts.sln @@ -0,0 +1,20 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 2012 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Contacts", "Contacts\Contacts.csproj", "{64DE31EA-4B7F-4674-A365-25BE712B823E}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {64DE31EA-4B7F-4674-A365-25BE712B823E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {64DE31EA-4B7F-4674-A365-25BE712B823E}.Debug|Any CPU.Build.0 = Debug|Any CPU + {64DE31EA-4B7F-4674-A365-25BE712B823E}.Release|Any CPU.ActiveCfg = Release|Any CPU + {64DE31EA-4B7F-4674-A365-25BE712B823E}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/Contacts/Contacts.v11.suo b/Contacts/Contacts.v11.suo new file mode 100644 index 0000000..deca57b Binary files /dev/null and b/Contacts/Contacts.v11.suo differ diff --git a/Contacts/Contacts/App.config b/Contacts/Contacts/App.config new file mode 100644 index 0000000..06d3f86 --- /dev/null +++ b/Contacts/Contacts/App.config @@ -0,0 +1,13 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Contacts/Contacts/ContactDB.sdf b/Contacts/Contacts/ContactDB.sdf new file mode 100644 index 0000000..b98e7f7 Binary files /dev/null and b/Contacts/Contacts/ContactDB.sdf differ diff --git a/Contacts/Contacts/ContactDBDataSet.Designer.cs b/Contacts/Contacts/ContactDBDataSet.Designer.cs new file mode 100644 index 0000000..7b7a0b8 --- /dev/null +++ b/Contacts/Contacts/ContactDBDataSet.Designer.cs @@ -0,0 +1,1653 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.18034 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +#pragma warning disable 1591 + +namespace Contacts { + + + /// + ///Represents a strongly typed in-memory cache of data. + /// + [global::System.Serializable()] + [global::System.ComponentModel.DesignerCategoryAttribute("code")] + [global::System.ComponentModel.ToolboxItem(true)] + [global::System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedDataSetSchema")] + [global::System.Xml.Serialization.XmlRootAttribute("ContactDBDataSet")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.DataSet")] + public partial class ContactDBDataSet : global::System.Data.DataSet { + + private PeopleDataTable tablePeople; + + private global::System.Data.SchemaSerializationMode _schemaSerializationMode = global::System.Data.SchemaSerializationMode.IncludeSchema; + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public ContactDBDataSet() { + this.BeginInit(); + this.InitClass(); + global::System.ComponentModel.CollectionChangeEventHandler schemaChangedHandler = new global::System.ComponentModel.CollectionChangeEventHandler(this.SchemaChanged); + base.Tables.CollectionChanged += schemaChangedHandler; + base.Relations.CollectionChanged += schemaChangedHandler; + this.EndInit(); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected ContactDBDataSet(global::System.Runtime.Serialization.SerializationInfo info, global::System.Runtime.Serialization.StreamingContext context) : + base(info, context, false) { + if ((this.IsBinarySerialized(info, context) == true)) { + this.InitVars(false); + global::System.ComponentModel.CollectionChangeEventHandler schemaChangedHandler1 = new global::System.ComponentModel.CollectionChangeEventHandler(this.SchemaChanged); + this.Tables.CollectionChanged += schemaChangedHandler1; + this.Relations.CollectionChanged += schemaChangedHandler1; + return; + } + string strSchema = ((string)(info.GetValue("XmlSchema", typeof(string)))); + if ((this.DetermineSchemaSerializationMode(info, context) == global::System.Data.SchemaSerializationMode.IncludeSchema)) { + global::System.Data.DataSet ds = new global::System.Data.DataSet(); + ds.ReadXmlSchema(new global::System.Xml.XmlTextReader(new global::System.IO.StringReader(strSchema))); + if ((ds.Tables["People"] != null)) { + base.Tables.Add(new PeopleDataTable(ds.Tables["People"])); + } + this.DataSetName = ds.DataSetName; + this.Prefix = ds.Prefix; + this.Namespace = ds.Namespace; + this.Locale = ds.Locale; + this.CaseSensitive = ds.CaseSensitive; + this.EnforceConstraints = ds.EnforceConstraints; + this.Merge(ds, false, global::System.Data.MissingSchemaAction.Add); + this.InitVars(); + } + else { + this.ReadXmlSchema(new global::System.Xml.XmlTextReader(new global::System.IO.StringReader(strSchema))); + } + this.GetSerializationData(info, context); + global::System.ComponentModel.CollectionChangeEventHandler schemaChangedHandler = new global::System.ComponentModel.CollectionChangeEventHandler(this.SchemaChanged); + base.Tables.CollectionChanged += schemaChangedHandler; + this.Relations.CollectionChanged += schemaChangedHandler; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Browsable(false)] + [global::System.ComponentModel.DesignerSerializationVisibility(global::System.ComponentModel.DesignerSerializationVisibility.Content)] + public PeopleDataTable People { + get { + return this.tablePeople; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.BrowsableAttribute(true)] + [global::System.ComponentModel.DesignerSerializationVisibilityAttribute(global::System.ComponentModel.DesignerSerializationVisibility.Visible)] + public override global::System.Data.SchemaSerializationMode SchemaSerializationMode { + get { + return this._schemaSerializationMode; + } + set { + this._schemaSerializationMode = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.DesignerSerializationVisibilityAttribute(global::System.ComponentModel.DesignerSerializationVisibility.Hidden)] + public new global::System.Data.DataTableCollection Tables { + get { + return base.Tables; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.DesignerSerializationVisibilityAttribute(global::System.ComponentModel.DesignerSerializationVisibility.Hidden)] + public new global::System.Data.DataRelationCollection Relations { + get { + return base.Relations; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override void InitializeDerivedDataSet() { + this.BeginInit(); + this.InitClass(); + this.EndInit(); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public override global::System.Data.DataSet Clone() { + ContactDBDataSet cln = ((ContactDBDataSet)(base.Clone())); + cln.InitVars(); + cln.SchemaSerializationMode = this.SchemaSerializationMode; + return cln; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override bool ShouldSerializeTables() { + return false; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override bool ShouldSerializeRelations() { + return false; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override void ReadXmlSerializable(global::System.Xml.XmlReader reader) { + if ((this.DetermineSchemaSerializationMode(reader) == global::System.Data.SchemaSerializationMode.IncludeSchema)) { + this.Reset(); + global::System.Data.DataSet ds = new global::System.Data.DataSet(); + ds.ReadXml(reader); + if ((ds.Tables["People"] != null)) { + base.Tables.Add(new PeopleDataTable(ds.Tables["People"])); + } + this.DataSetName = ds.DataSetName; + this.Prefix = ds.Prefix; + this.Namespace = ds.Namespace; + this.Locale = ds.Locale; + this.CaseSensitive = ds.CaseSensitive; + this.EnforceConstraints = ds.EnforceConstraints; + this.Merge(ds, false, global::System.Data.MissingSchemaAction.Add); + this.InitVars(); + } + else { + this.ReadXml(reader); + this.InitVars(); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override global::System.Xml.Schema.XmlSchema GetSchemaSerializable() { + global::System.IO.MemoryStream stream = new global::System.IO.MemoryStream(); + this.WriteXmlSchema(new global::System.Xml.XmlTextWriter(stream, null)); + stream.Position = 0; + return global::System.Xml.Schema.XmlSchema.Read(new global::System.Xml.XmlTextReader(stream), null); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + internal void InitVars() { + this.InitVars(true); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + internal void InitVars(bool initTable) { + this.tablePeople = ((PeopleDataTable)(base.Tables["People"])); + if ((initTable == true)) { + if ((this.tablePeople != null)) { + this.tablePeople.InitVars(); + } + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + private void InitClass() { + this.DataSetName = "ContactDBDataSet"; + this.Prefix = ""; + this.Namespace = "http://tempuri.org/ContactDBDataSet.xsd"; + this.EnforceConstraints = true; + this.SchemaSerializationMode = global::System.Data.SchemaSerializationMode.IncludeSchema; + this.tablePeople = new PeopleDataTable(); + base.Tables.Add(this.tablePeople); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + private bool ShouldSerializePeople() { + return false; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + private void SchemaChanged(object sender, global::System.ComponentModel.CollectionChangeEventArgs e) { + if ((e.Action == global::System.ComponentModel.CollectionChangeAction.Remove)) { + this.InitVars(); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public static global::System.Xml.Schema.XmlSchemaComplexType GetTypedDataSetSchema(global::System.Xml.Schema.XmlSchemaSet xs) { + ContactDBDataSet ds = new ContactDBDataSet(); + global::System.Xml.Schema.XmlSchemaComplexType type = new global::System.Xml.Schema.XmlSchemaComplexType(); + global::System.Xml.Schema.XmlSchemaSequence sequence = new global::System.Xml.Schema.XmlSchemaSequence(); + global::System.Xml.Schema.XmlSchemaAny any = new global::System.Xml.Schema.XmlSchemaAny(); + any.Namespace = ds.Namespace; + sequence.Items.Add(any); + type.Particle = sequence; + global::System.Xml.Schema.XmlSchema dsSchema = ds.GetSchemaSerializable(); + if (xs.Contains(dsSchema.TargetNamespace)) { + global::System.IO.MemoryStream s1 = new global::System.IO.MemoryStream(); + global::System.IO.MemoryStream s2 = new global::System.IO.MemoryStream(); + try { + global::System.Xml.Schema.XmlSchema schema = null; + dsSchema.Write(s1); + for (global::System.Collections.IEnumerator schemas = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator(); schemas.MoveNext(); ) { + schema = ((global::System.Xml.Schema.XmlSchema)(schemas.Current)); + s2.SetLength(0); + schema.Write(s2); + if ((s1.Length == s2.Length)) { + s1.Position = 0; + s2.Position = 0; + for (; ((s1.Position != s1.Length) + && (s1.ReadByte() == s2.ReadByte())); ) { + ; + } + if ((s1.Position == s1.Length)) { + return type; + } + } + } + } + finally { + if ((s1 != null)) { + s1.Close(); + } + if ((s2 != null)) { + s2.Close(); + } + } + } + xs.Add(dsSchema); + return type; + } + + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public delegate void PeopleRowChangeEventHandler(object sender, PeopleRowChangeEvent e); + + /// + ///Represents the strongly named DataTable class. + /// + [global::System.Serializable()] + [global::System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedTableSchema")] + public partial class PeopleDataTable : global::System.Data.TypedTableBase { + + private global::System.Data.DataColumn columnContactID; + + private global::System.Data.DataColumn columnName; + + private global::System.Data.DataColumn columnCompany; + + private global::System.Data.DataColumn columnTelephone; + + private global::System.Data.DataColumn columnEmail; + + private global::System.Data.DataColumn columnClient; + + private global::System.Data.DataColumn columnLastCall; + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public PeopleDataTable() { + this.TableName = "People"; + this.BeginInit(); + this.InitClass(); + this.EndInit(); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + internal PeopleDataTable(global::System.Data.DataTable table) { + this.TableName = table.TableName; + if ((table.CaseSensitive != table.DataSet.CaseSensitive)) { + this.CaseSensitive = table.CaseSensitive; + } + if ((table.Locale.ToString() != table.DataSet.Locale.ToString())) { + this.Locale = table.Locale; + } + if ((table.Namespace != table.DataSet.Namespace)) { + this.Namespace = table.Namespace; + } + this.Prefix = table.Prefix; + this.MinimumCapacity = table.MinimumCapacity; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected PeopleDataTable(global::System.Runtime.Serialization.SerializationInfo info, global::System.Runtime.Serialization.StreamingContext context) : + base(info, context) { + this.InitVars(); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn ContactIDColumn { + get { + return this.columnContactID; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn NameColumn { + get { + return this.columnName; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn CompanyColumn { + get { + return this.columnCompany; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn TelephoneColumn { + get { + return this.columnTelephone; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn EmailColumn { + get { + return this.columnEmail; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn ClientColumn { + get { + return this.columnClient; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn LastCallColumn { + get { + return this.columnLastCall; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Browsable(false)] + public int Count { + get { + return this.Rows.Count; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public PeopleRow this[int index] { + get { + return ((PeopleRow)(this.Rows[index])); + } + } + + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public event PeopleRowChangeEventHandler PeopleRowChanging; + + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public event PeopleRowChangeEventHandler PeopleRowChanged; + + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public event PeopleRowChangeEventHandler PeopleRowDeleting; + + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public event PeopleRowChangeEventHandler PeopleRowDeleted; + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void AddPeopleRow(PeopleRow row) { + this.Rows.Add(row); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public PeopleRow AddPeopleRow(string Name, string Company, string Telephone, string Email, bool Client, System.DateTime LastCall) { + PeopleRow rowPeopleRow = ((PeopleRow)(this.NewRow())); + object[] columnValuesArray = new object[] { + null, + Name, + Company, + Telephone, + Email, + Client, + LastCall}; + rowPeopleRow.ItemArray = columnValuesArray; + this.Rows.Add(rowPeopleRow); + return rowPeopleRow; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public PeopleRow FindByContactID(int ContactID) { + return ((PeopleRow)(this.Rows.Find(new object[] { + ContactID}))); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public override global::System.Data.DataTable Clone() { + PeopleDataTable cln = ((PeopleDataTable)(base.Clone())); + cln.InitVars(); + return cln; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override global::System.Data.DataTable CreateInstance() { + return new PeopleDataTable(); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + internal void InitVars() { + this.columnContactID = base.Columns["ContactID"]; + this.columnName = base.Columns["Name"]; + this.columnCompany = base.Columns["Company"]; + this.columnTelephone = base.Columns["Telephone"]; + this.columnEmail = base.Columns["Email"]; + this.columnClient = base.Columns["Client"]; + this.columnLastCall = base.Columns["LastCall"]; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + private void InitClass() { + this.columnContactID = new global::System.Data.DataColumn("ContactID", typeof(int), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnContactID); + this.columnName = new global::System.Data.DataColumn("Name", typeof(string), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnName); + this.columnCompany = new global::System.Data.DataColumn("Company", typeof(string), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnCompany); + this.columnTelephone = new global::System.Data.DataColumn("Telephone", typeof(string), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnTelephone); + this.columnEmail = new global::System.Data.DataColumn("Email", typeof(string), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnEmail); + this.columnClient = new global::System.Data.DataColumn("Client", typeof(bool), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnClient); + this.columnLastCall = new global::System.Data.DataColumn("LastCall", typeof(global::System.DateTime), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnLastCall); + this.Constraints.Add(new global::System.Data.UniqueConstraint("Constraint1", new global::System.Data.DataColumn[] { + this.columnContactID}, true)); + this.columnContactID.AutoIncrement = true; + this.columnContactID.AutoIncrementSeed = 1; + this.columnContactID.AllowDBNull = false; + this.columnContactID.ReadOnly = true; + this.columnContactID.Unique = true; + this.columnName.MaxLength = 100; + this.columnCompany.MaxLength = 100; + this.columnTelephone.MaxLength = 100; + this.columnEmail.MaxLength = 100; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public PeopleRow NewPeopleRow() { + return ((PeopleRow)(this.NewRow())); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override global::System.Data.DataRow NewRowFromBuilder(global::System.Data.DataRowBuilder builder) { + return new PeopleRow(builder); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override global::System.Type GetRowType() { + return typeof(PeopleRow); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override void OnRowChanged(global::System.Data.DataRowChangeEventArgs e) { + base.OnRowChanged(e); + if ((this.PeopleRowChanged != null)) { + this.PeopleRowChanged(this, new PeopleRowChangeEvent(((PeopleRow)(e.Row)), e.Action)); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override void OnRowChanging(global::System.Data.DataRowChangeEventArgs e) { + base.OnRowChanging(e); + if ((this.PeopleRowChanging != null)) { + this.PeopleRowChanging(this, new PeopleRowChangeEvent(((PeopleRow)(e.Row)), e.Action)); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override void OnRowDeleted(global::System.Data.DataRowChangeEventArgs e) { + base.OnRowDeleted(e); + if ((this.PeopleRowDeleted != null)) { + this.PeopleRowDeleted(this, new PeopleRowChangeEvent(((PeopleRow)(e.Row)), e.Action)); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override void OnRowDeleting(global::System.Data.DataRowChangeEventArgs e) { + base.OnRowDeleting(e); + if ((this.PeopleRowDeleting != null)) { + this.PeopleRowDeleting(this, new PeopleRowChangeEvent(((PeopleRow)(e.Row)), e.Action)); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void RemovePeopleRow(PeopleRow row) { + this.Rows.Remove(row); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public static global::System.Xml.Schema.XmlSchemaComplexType GetTypedTableSchema(global::System.Xml.Schema.XmlSchemaSet xs) { + global::System.Xml.Schema.XmlSchemaComplexType type = new global::System.Xml.Schema.XmlSchemaComplexType(); + global::System.Xml.Schema.XmlSchemaSequence sequence = new global::System.Xml.Schema.XmlSchemaSequence(); + ContactDBDataSet ds = new ContactDBDataSet(); + global::System.Xml.Schema.XmlSchemaAny any1 = new global::System.Xml.Schema.XmlSchemaAny(); + any1.Namespace = "http://www.w3.org/2001/XMLSchema"; + any1.MinOccurs = new decimal(0); + any1.MaxOccurs = decimal.MaxValue; + any1.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax; + sequence.Items.Add(any1); + global::System.Xml.Schema.XmlSchemaAny any2 = new global::System.Xml.Schema.XmlSchemaAny(); + any2.Namespace = "urn:schemas-microsoft-com:xml-diffgram-v1"; + any2.MinOccurs = new decimal(1); + any2.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax; + sequence.Items.Add(any2); + global::System.Xml.Schema.XmlSchemaAttribute attribute1 = new global::System.Xml.Schema.XmlSchemaAttribute(); + attribute1.Name = "namespace"; + attribute1.FixedValue = ds.Namespace; + type.Attributes.Add(attribute1); + global::System.Xml.Schema.XmlSchemaAttribute attribute2 = new global::System.Xml.Schema.XmlSchemaAttribute(); + attribute2.Name = "tableTypeName"; + attribute2.FixedValue = "PeopleDataTable"; + type.Attributes.Add(attribute2); + type.Particle = sequence; + global::System.Xml.Schema.XmlSchema dsSchema = ds.GetSchemaSerializable(); + if (xs.Contains(dsSchema.TargetNamespace)) { + global::System.IO.MemoryStream s1 = new global::System.IO.MemoryStream(); + global::System.IO.MemoryStream s2 = new global::System.IO.MemoryStream(); + try { + global::System.Xml.Schema.XmlSchema schema = null; + dsSchema.Write(s1); + for (global::System.Collections.IEnumerator schemas = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator(); schemas.MoveNext(); ) { + schema = ((global::System.Xml.Schema.XmlSchema)(schemas.Current)); + s2.SetLength(0); + schema.Write(s2); + if ((s1.Length == s2.Length)) { + s1.Position = 0; + s2.Position = 0; + for (; ((s1.Position != s1.Length) + && (s1.ReadByte() == s2.ReadByte())); ) { + ; + } + if ((s1.Position == s1.Length)) { + return type; + } + } + } + } + finally { + if ((s1 != null)) { + s1.Close(); + } + if ((s2 != null)) { + s2.Close(); + } + } + } + xs.Add(dsSchema); + return type; + } + } + + /// + ///Represents strongly named DataRow class. + /// + public partial class PeopleRow : global::System.Data.DataRow { + + private PeopleDataTable tablePeople; + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + internal PeopleRow(global::System.Data.DataRowBuilder rb) : + base(rb) { + this.tablePeople = ((PeopleDataTable)(this.Table)); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public int ContactID { + get { + return ((int)(this[this.tablePeople.ContactIDColumn])); + } + set { + this[this.tablePeople.ContactIDColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public string Name { + get { + try { + return ((string)(this[this.tablePeople.NameColumn])); + } + catch (global::System.InvalidCastException e) { + throw new global::System.Data.StrongTypingException("The value for column \'Name\' in table \'People\' is DBNull.", e); + } + } + set { + this[this.tablePeople.NameColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public string Company { + get { + try { + return ((string)(this[this.tablePeople.CompanyColumn])); + } + catch (global::System.InvalidCastException e) { + throw new global::System.Data.StrongTypingException("The value for column \'Company\' in table \'People\' is DBNull.", e); + } + } + set { + this[this.tablePeople.CompanyColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public string Telephone { + get { + try { + return ((string)(this[this.tablePeople.TelephoneColumn])); + } + catch (global::System.InvalidCastException e) { + throw new global::System.Data.StrongTypingException("The value for column \'Telephone\' in table \'People\' is DBNull.", e); + } + } + set { + this[this.tablePeople.TelephoneColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public string Email { + get { + try { + return ((string)(this[this.tablePeople.EmailColumn])); + } + catch (global::System.InvalidCastException e) { + throw new global::System.Data.StrongTypingException("The value for column \'Email\' in table \'People\' is DBNull.", e); + } + } + set { + this[this.tablePeople.EmailColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool Client { + get { + try { + return ((bool)(this[this.tablePeople.ClientColumn])); + } + catch (global::System.InvalidCastException e) { + throw new global::System.Data.StrongTypingException("The value for column \'Client\' in table \'People\' is DBNull.", e); + } + } + set { + this[this.tablePeople.ClientColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public System.DateTime LastCall { + get { + try { + return ((global::System.DateTime)(this[this.tablePeople.LastCallColumn])); + } + catch (global::System.InvalidCastException e) { + throw new global::System.Data.StrongTypingException("The value for column \'LastCall\' in table \'People\' is DBNull.", e); + } + } + set { + this[this.tablePeople.LastCallColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsNameNull() { + return this.IsNull(this.tablePeople.NameColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetNameNull() { + this[this.tablePeople.NameColumn] = global::System.Convert.DBNull; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsCompanyNull() { + return this.IsNull(this.tablePeople.CompanyColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetCompanyNull() { + this[this.tablePeople.CompanyColumn] = global::System.Convert.DBNull; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsTelephoneNull() { + return this.IsNull(this.tablePeople.TelephoneColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetTelephoneNull() { + this[this.tablePeople.TelephoneColumn] = global::System.Convert.DBNull; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsEmailNull() { + return this.IsNull(this.tablePeople.EmailColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetEmailNull() { + this[this.tablePeople.EmailColumn] = global::System.Convert.DBNull; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsClientNull() { + return this.IsNull(this.tablePeople.ClientColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetClientNull() { + this[this.tablePeople.ClientColumn] = global::System.Convert.DBNull; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsLastCallNull() { + return this.IsNull(this.tablePeople.LastCallColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetLastCallNull() { + this[this.tablePeople.LastCallColumn] = global::System.Convert.DBNull; + } + } + + /// + ///Row event argument class + /// + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public class PeopleRowChangeEvent : global::System.EventArgs { + + private PeopleRow eventRow; + + private global::System.Data.DataRowAction eventAction; + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public PeopleRowChangeEvent(PeopleRow row, global::System.Data.DataRowAction action) { + this.eventRow = row; + this.eventAction = action; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public PeopleRow Row { + get { + return this.eventRow; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataRowAction Action { + get { + return this.eventAction; + } + } + } + } +} +namespace Contacts.ContactDBDataSetTableAdapters { + + + /// + ///Represents the connection and commands used to retrieve and save data. + /// + [global::System.ComponentModel.DesignerCategoryAttribute("code")] + [global::System.ComponentModel.ToolboxItem(true)] + [global::System.ComponentModel.DataObjectAttribute(true)] + [global::System.ComponentModel.DesignerAttribute("Microsoft.VSDesigner.DataSource.Design.TableAdapterDesigner, Microsoft.VSDesigner" + + ", Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + public partial class PeopleTableAdapter : global::System.ComponentModel.Component { + + private global::System.Data.SqlServerCe.SqlCeDataAdapter _adapter; + + private global::System.Data.SqlServerCe.SqlCeConnection _connection; + + private global::System.Data.SqlServerCe.SqlCeTransaction _transaction; + + private global::System.Data.SqlServerCe.SqlCeCommand[] _commandCollection; + + private bool _clearBeforeFill; + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public PeopleTableAdapter() { + this.ClearBeforeFill = true; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected internal global::System.Data.SqlServerCe.SqlCeDataAdapter Adapter { + get { + if ((this._adapter == null)) { + this.InitAdapter(); + } + return this._adapter; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + internal global::System.Data.SqlServerCe.SqlCeConnection Connection { + get { + if ((this._connection == null)) { + this.InitConnection(); + } + return this._connection; + } + set { + this._connection = value; + if ((this.Adapter.InsertCommand != null)) { + this.Adapter.InsertCommand.Connection = value; + } + if ((this.Adapter.DeleteCommand != null)) { + this.Adapter.DeleteCommand.Connection = value; + } + if ((this.Adapter.UpdateCommand != null)) { + this.Adapter.UpdateCommand.Connection = value; + } + for (int i = 0; (i < this.CommandCollection.Length); i = (i + 1)) { + if ((this.CommandCollection[i] != null)) { + ((global::System.Data.SqlServerCe.SqlCeCommand)(this.CommandCollection[i])).Connection = value; + } + } + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + internal global::System.Data.SqlServerCe.SqlCeTransaction Transaction { + get { + return this._transaction; + } + set { + this._transaction = value; + for (int i = 0; (i < this.CommandCollection.Length); i = (i + 1)) { + this.CommandCollection[i].Transaction = this._transaction; + } + if (((this.Adapter != null) + && (this.Adapter.DeleteCommand != null))) { + this.Adapter.DeleteCommand.Transaction = this._transaction; + } + if (((this.Adapter != null) + && (this.Adapter.InsertCommand != null))) { + this.Adapter.InsertCommand.Transaction = this._transaction; + } + if (((this.Adapter != null) + && (this.Adapter.UpdateCommand != null))) { + this.Adapter.UpdateCommand.Transaction = this._transaction; + } + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected global::System.Data.SqlServerCe.SqlCeCommand[] CommandCollection { + get { + if ((this._commandCollection == null)) { + this.InitCommandCollection(); + } + return this._commandCollection; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool ClearBeforeFill { + get { + return this._clearBeforeFill; + } + set { + this._clearBeforeFill = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + private void InitAdapter() { + this._adapter = new global::System.Data.SqlServerCe.SqlCeDataAdapter(); + global::System.Data.Common.DataTableMapping tableMapping = new global::System.Data.Common.DataTableMapping(); + tableMapping.SourceTable = "Table"; + tableMapping.DataSetTable = "People"; + tableMapping.ColumnMappings.Add("ContactID", "ContactID"); + tableMapping.ColumnMappings.Add("Name", "Name"); + tableMapping.ColumnMappings.Add("Company", "Company"); + tableMapping.ColumnMappings.Add("Telephone", "Telephone"); + tableMapping.ColumnMappings.Add("Email", "Email"); + tableMapping.ColumnMappings.Add("Client", "Client"); + tableMapping.ColumnMappings.Add("LastCall", "LastCall"); + this._adapter.TableMappings.Add(tableMapping); + this._adapter.DeleteCommand = new global::System.Data.SqlServerCe.SqlCeCommand(); + this._adapter.DeleteCommand.Connection = this.Connection; + this._adapter.DeleteCommand.CommandText = "DELETE FROM [People] WHERE (([ContactID] = @Original_ContactID))"; + this._adapter.DeleteCommand.CommandType = global::System.Data.CommandType.Text; + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlServerCe.SqlCeParameter("@Original_ContactID", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, true, 0, 0, "ContactID", global::System.Data.DataRowVersion.Original, null)); + this._adapter.InsertCommand = new global::System.Data.SqlServerCe.SqlCeCommand(); + this._adapter.InsertCommand.Connection = this.Connection; + this._adapter.InsertCommand.CommandText = "INSERT INTO [People] ([Name], [Company], [Telephone], [Email], [Client], [LastCal" + + "l]) VALUES (@Name, @Company, @Telephone, @Email, @Client, @LastCall)"; + this._adapter.InsertCommand.CommandType = global::System.Data.CommandType.Text; + this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlServerCe.SqlCeParameter("@Name", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, true, 0, 0, "Name", global::System.Data.DataRowVersion.Current, null)); + this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlServerCe.SqlCeParameter("@Company", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, true, 0, 0, "Company", global::System.Data.DataRowVersion.Current, null)); + this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlServerCe.SqlCeParameter("@Telephone", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, true, 0, 0, "Telephone", global::System.Data.DataRowVersion.Current, null)); + this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlServerCe.SqlCeParameter("@Email", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, true, 0, 0, "Email", global::System.Data.DataRowVersion.Current, null)); + this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlServerCe.SqlCeParameter("@Client", global::System.Data.SqlDbType.Bit, 0, global::System.Data.ParameterDirection.Input, true, 0, 0, "Client", global::System.Data.DataRowVersion.Current, null)); + this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlServerCe.SqlCeParameter("@LastCall", global::System.Data.SqlDbType.DateTime, 0, global::System.Data.ParameterDirection.Input, true, 0, 0, "LastCall", global::System.Data.DataRowVersion.Current, null)); + this._adapter.UpdateCommand = new global::System.Data.SqlServerCe.SqlCeCommand(); + this._adapter.UpdateCommand.Connection = this.Connection; + this._adapter.UpdateCommand.CommandText = "UPDATE [People] SET [Name] = @Name, [Company] = @Company, [Telephone] = @Telephon" + + "e, [Email] = @Email, [Client] = @Client, [LastCall] = @LastCall WHERE (([Contact" + + "ID] = @Original_ContactID))"; + this._adapter.UpdateCommand.CommandType = global::System.Data.CommandType.Text; + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlServerCe.SqlCeParameter("@Name", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, true, 0, 0, "Name", global::System.Data.DataRowVersion.Current, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlServerCe.SqlCeParameter("@Company", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, true, 0, 0, "Company", global::System.Data.DataRowVersion.Current, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlServerCe.SqlCeParameter("@Telephone", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, true, 0, 0, "Telephone", global::System.Data.DataRowVersion.Current, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlServerCe.SqlCeParameter("@Email", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, true, 0, 0, "Email", global::System.Data.DataRowVersion.Current, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlServerCe.SqlCeParameter("@Client", global::System.Data.SqlDbType.Bit, 0, global::System.Data.ParameterDirection.Input, true, 0, 0, "Client", global::System.Data.DataRowVersion.Current, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlServerCe.SqlCeParameter("@LastCall", global::System.Data.SqlDbType.DateTime, 0, global::System.Data.ParameterDirection.Input, true, 0, 0, "LastCall", global::System.Data.DataRowVersion.Current, null)); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlServerCe.SqlCeParameter("@Original_ContactID", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, true, 0, 0, "ContactID", global::System.Data.DataRowVersion.Original, null)); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + private void InitConnection() { + this._connection = new global::System.Data.SqlServerCe.SqlCeConnection(); + this._connection.ConnectionString = global::Contacts.Properties.Settings.Default.ContactDBConnectionString; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + private void InitCommandCollection() { + this._commandCollection = new global::System.Data.SqlServerCe.SqlCeCommand[1]; + this._commandCollection[0] = new global::System.Data.SqlServerCe.SqlCeCommand(); + this._commandCollection[0].Connection = this.Connection; + this._commandCollection[0].CommandText = "SELECT [ContactID], [Name], [Company], [Telephone], [Email], [Client], [LastCall]" + + " FROM [People]"; + this._commandCollection[0].CommandType = global::System.Data.CommandType.Text; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Fill, true)] + public virtual int Fill(ContactDBDataSet.PeopleDataTable dataTable) { + this.Adapter.SelectCommand = this.CommandCollection[0]; + if ((this.ClearBeforeFill == true)) { + dataTable.Clear(); + } + int returnValue = this.Adapter.Fill(dataTable); + return returnValue; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Select, true)] + public virtual ContactDBDataSet.PeopleDataTable GetData() { + this.Adapter.SelectCommand = this.CommandCollection[0]; + ContactDBDataSet.PeopleDataTable dataTable = new ContactDBDataSet.PeopleDataTable(); + this.Adapter.Fill(dataTable); + return dataTable; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + public virtual int Update(ContactDBDataSet.PeopleDataTable dataTable) { + return this.Adapter.Update(dataTable); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + public virtual int Update(ContactDBDataSet dataSet) { + return this.Adapter.Update(dataSet, "People"); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + public virtual int Update(global::System.Data.DataRow dataRow) { + return this.Adapter.Update(new global::System.Data.DataRow[] { + dataRow}); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + public virtual int Update(global::System.Data.DataRow[] dataRows) { + return this.Adapter.Update(dataRows); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Delete, true)] + public virtual int Delete(int Original_ContactID) { + this.Adapter.DeleteCommand.Parameters[0].Value = ((int)(Original_ContactID)); + global::System.Data.ConnectionState previousConnectionState = this.Adapter.DeleteCommand.Connection.State; + if (((this.Adapter.DeleteCommand.Connection.State & global::System.Data.ConnectionState.Open) + != global::System.Data.ConnectionState.Open)) { + this.Adapter.DeleteCommand.Connection.Open(); + } + try { + int returnValue = this.Adapter.DeleteCommand.ExecuteNonQuery(); + return returnValue; + } + finally { + if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) { + this.Adapter.DeleteCommand.Connection.Close(); + } + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Insert, true)] + public virtual int Insert(string Name, string Company, string Telephone, string Email, global::System.Nullable Client, global::System.Nullable LastCall) { + if ((Name == null)) { + this.Adapter.InsertCommand.Parameters[0].Value = global::System.DBNull.Value; + } + else { + this.Adapter.InsertCommand.Parameters[0].Value = ((string)(Name)); + } + if ((Company == null)) { + this.Adapter.InsertCommand.Parameters[1].Value = global::System.DBNull.Value; + } + else { + this.Adapter.InsertCommand.Parameters[1].Value = ((string)(Company)); + } + if ((Telephone == null)) { + this.Adapter.InsertCommand.Parameters[2].Value = global::System.DBNull.Value; + } + else { + this.Adapter.InsertCommand.Parameters[2].Value = ((string)(Telephone)); + } + if ((Email == null)) { + this.Adapter.InsertCommand.Parameters[3].Value = global::System.DBNull.Value; + } + else { + this.Adapter.InsertCommand.Parameters[3].Value = ((string)(Email)); + } + if ((Client.HasValue == true)) { + this.Adapter.InsertCommand.Parameters[4].Value = ((bool)(Client.Value)); + } + else { + this.Adapter.InsertCommand.Parameters[4].Value = global::System.DBNull.Value; + } + if ((LastCall.HasValue == true)) { + this.Adapter.InsertCommand.Parameters[5].Value = ((System.DateTime)(LastCall.Value)); + } + else { + this.Adapter.InsertCommand.Parameters[5].Value = global::System.DBNull.Value; + } + global::System.Data.ConnectionState previousConnectionState = this.Adapter.InsertCommand.Connection.State; + if (((this.Adapter.InsertCommand.Connection.State & global::System.Data.ConnectionState.Open) + != global::System.Data.ConnectionState.Open)) { + this.Adapter.InsertCommand.Connection.Open(); + } + try { + int returnValue = this.Adapter.InsertCommand.ExecuteNonQuery(); + return returnValue; + } + finally { + if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) { + this.Adapter.InsertCommand.Connection.Close(); + } + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Update, true)] + public virtual int Update(string Name, string Company, string Telephone, string Email, global::System.Nullable Client, global::System.Nullable LastCall, int Original_ContactID) { + if ((Name == null)) { + this.Adapter.UpdateCommand.Parameters[0].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[0].Value = ((string)(Name)); + } + if ((Company == null)) { + this.Adapter.UpdateCommand.Parameters[1].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[1].Value = ((string)(Company)); + } + if ((Telephone == null)) { + this.Adapter.UpdateCommand.Parameters[2].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[2].Value = ((string)(Telephone)); + } + if ((Email == null)) { + this.Adapter.UpdateCommand.Parameters[3].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[3].Value = ((string)(Email)); + } + if ((Client.HasValue == true)) { + this.Adapter.UpdateCommand.Parameters[4].Value = ((bool)(Client.Value)); + } + else { + this.Adapter.UpdateCommand.Parameters[4].Value = global::System.DBNull.Value; + } + if ((LastCall.HasValue == true)) { + this.Adapter.UpdateCommand.Parameters[5].Value = ((System.DateTime)(LastCall.Value)); + } + else { + this.Adapter.UpdateCommand.Parameters[5].Value = global::System.DBNull.Value; + } + this.Adapter.UpdateCommand.Parameters[6].Value = ((int)(Original_ContactID)); + global::System.Data.ConnectionState previousConnectionState = this.Adapter.UpdateCommand.Connection.State; + if (((this.Adapter.UpdateCommand.Connection.State & global::System.Data.ConnectionState.Open) + != global::System.Data.ConnectionState.Open)) { + this.Adapter.UpdateCommand.Connection.Open(); + } + try { + int returnValue = this.Adapter.UpdateCommand.ExecuteNonQuery(); + return returnValue; + } + finally { + if ((previousConnectionState == global::System.Data.ConnectionState.Closed)) { + this.Adapter.UpdateCommand.Connection.Close(); + } + } + } + } + + /// + ///TableAdapterManager is used to coordinate TableAdapters in the dataset to enable Hierarchical Update scenarios + /// + [global::System.ComponentModel.DesignerCategoryAttribute("code")] + [global::System.ComponentModel.ToolboxItem(true)] + [global::System.ComponentModel.DesignerAttribute("Microsoft.VSDesigner.DataSource.Design.TableAdapterManagerDesigner, Microsoft.VSD" + + "esigner, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapterManager")] + public partial class TableAdapterManager : global::System.ComponentModel.Component { + + private UpdateOrderOption _updateOrder; + + private PeopleTableAdapter _peopleTableAdapter; + + private bool _backupDataSetBeforeUpdate; + + private global::System.Data.IDbConnection _connection; + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public UpdateOrderOption UpdateOrder { + get { + return this._updateOrder; + } + set { + this._updateOrder = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.EditorAttribute("Microsoft.VSDesigner.DataSource.Design.TableAdapterManagerPropertyEditor, Microso" + + "ft.VSDesigner, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3" + + "a", "System.Drawing.Design.UITypeEditor")] + public PeopleTableAdapter PeopleTableAdapter { + get { + return this._peopleTableAdapter; + } + set { + this._peopleTableAdapter = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool BackupDataSetBeforeUpdate { + get { + return this._backupDataSetBeforeUpdate; + } + set { + this._backupDataSetBeforeUpdate = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Browsable(false)] + public global::System.Data.IDbConnection Connection { + get { + if ((this._connection != null)) { + return this._connection; + } + if (((this._peopleTableAdapter != null) + && (this._peopleTableAdapter.Connection != null))) { + return this._peopleTableAdapter.Connection; + } + return null; + } + set { + this._connection = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Browsable(false)] + public int TableAdapterInstanceCount { + get { + int count = 0; + if ((this._peopleTableAdapter != null)) { + count = (count + 1); + } + return count; + } + } + + /// + ///Update rows in top-down order. + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + private int UpdateUpdatedRows(ContactDBDataSet dataSet, global::System.Collections.Generic.List allChangedRows, global::System.Collections.Generic.List allAddedRows) { + int result = 0; + if ((this._peopleTableAdapter != null)) { + global::System.Data.DataRow[] updatedRows = dataSet.People.Select(null, null, global::System.Data.DataViewRowState.ModifiedCurrent); + updatedRows = this.GetRealUpdatedRows(updatedRows, allAddedRows); + if (((updatedRows != null) + && (0 < updatedRows.Length))) { + result = (result + this._peopleTableAdapter.Update(updatedRows)); + allChangedRows.AddRange(updatedRows); + } + } + return result; + } + + /// + ///Insert rows in top-down order. + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + private int UpdateInsertedRows(ContactDBDataSet dataSet, global::System.Collections.Generic.List allAddedRows) { + int result = 0; + if ((this._peopleTableAdapter != null)) { + global::System.Data.DataRow[] addedRows = dataSet.People.Select(null, null, global::System.Data.DataViewRowState.Added); + if (((addedRows != null) + && (0 < addedRows.Length))) { + result = (result + this._peopleTableAdapter.Update(addedRows)); + allAddedRows.AddRange(addedRows); + } + } + return result; + } + + /// + ///Delete rows in bottom-up order. + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + private int UpdateDeletedRows(ContactDBDataSet dataSet, global::System.Collections.Generic.List allChangedRows) { + int result = 0; + if ((this._peopleTableAdapter != null)) { + global::System.Data.DataRow[] deletedRows = dataSet.People.Select(null, null, global::System.Data.DataViewRowState.Deleted); + if (((deletedRows != null) + && (0 < deletedRows.Length))) { + result = (result + this._peopleTableAdapter.Update(deletedRows)); + allChangedRows.AddRange(deletedRows); + } + } + return result; + } + + /// + ///Remove inserted rows that become updated rows after calling TableAdapter.Update(inserted rows) first + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + private global::System.Data.DataRow[] GetRealUpdatedRows(global::System.Data.DataRow[] updatedRows, global::System.Collections.Generic.List allAddedRows) { + if (((updatedRows == null) + || (updatedRows.Length < 1))) { + return updatedRows; + } + if (((allAddedRows == null) + || (allAddedRows.Count < 1))) { + return updatedRows; + } + global::System.Collections.Generic.List realUpdatedRows = new global::System.Collections.Generic.List(); + for (int i = 0; (i < updatedRows.Length); i = (i + 1)) { + global::System.Data.DataRow row = updatedRows[i]; + if ((allAddedRows.Contains(row) == false)) { + realUpdatedRows.Add(row); + } + } + return realUpdatedRows.ToArray(); + } + + /// + ///Update all changes to the dataset. + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public virtual int UpdateAll(ContactDBDataSet dataSet) { + if ((dataSet == null)) { + throw new global::System.ArgumentNullException("dataSet"); + } + if ((dataSet.HasChanges() == false)) { + return 0; + } + if (((this._peopleTableAdapter != null) + && (this.MatchTableAdapterConnection(this._peopleTableAdapter.Connection) == false))) { + throw new global::System.ArgumentException("All TableAdapters managed by a TableAdapterManager must use the same connection s" + + "tring."); + } + global::System.Data.IDbConnection workConnection = this.Connection; + if ((workConnection == null)) { + throw new global::System.ApplicationException("TableAdapterManager contains no connection information. Set each TableAdapterMana" + + "ger TableAdapter property to a valid TableAdapter instance."); + } + bool workConnOpened = false; + if (((workConnection.State & global::System.Data.ConnectionState.Broken) + == global::System.Data.ConnectionState.Broken)) { + workConnection.Close(); + } + if ((workConnection.State == global::System.Data.ConnectionState.Closed)) { + workConnection.Open(); + workConnOpened = true; + } + global::System.Data.IDbTransaction workTransaction = workConnection.BeginTransaction(); + if ((workTransaction == null)) { + throw new global::System.ApplicationException("The transaction cannot begin. The current data connection does not support transa" + + "ctions or the current state is not allowing the transaction to begin."); + } + global::System.Collections.Generic.List allChangedRows = new global::System.Collections.Generic.List(); + global::System.Collections.Generic.List allAddedRows = new global::System.Collections.Generic.List(); + global::System.Collections.Generic.List adaptersWithAcceptChangesDuringUpdate = new global::System.Collections.Generic.List(); + global::System.Collections.Generic.Dictionary revertConnections = new global::System.Collections.Generic.Dictionary(); + int result = 0; + global::System.Data.DataSet backupDataSet = null; + if (this.BackupDataSetBeforeUpdate) { + backupDataSet = new global::System.Data.DataSet(); + backupDataSet.Merge(dataSet); + } + try { + // ---- Prepare for update ----------- + // + if ((this._peopleTableAdapter != null)) { + revertConnections.Add(this._peopleTableAdapter, this._peopleTableAdapter.Connection); + this._peopleTableAdapter.Connection = ((global::System.Data.SqlServerCe.SqlCeConnection)(workConnection)); + this._peopleTableAdapter.Transaction = ((global::System.Data.SqlServerCe.SqlCeTransaction)(workTransaction)); + if (this._peopleTableAdapter.Adapter.AcceptChangesDuringUpdate) { + this._peopleTableAdapter.Adapter.AcceptChangesDuringUpdate = false; + adaptersWithAcceptChangesDuringUpdate.Add(this._peopleTableAdapter.Adapter); + } + } + // + //---- Perform updates ----------- + // + if ((this.UpdateOrder == UpdateOrderOption.UpdateInsertDelete)) { + result = (result + this.UpdateUpdatedRows(dataSet, allChangedRows, allAddedRows)); + result = (result + this.UpdateInsertedRows(dataSet, allAddedRows)); + } + else { + result = (result + this.UpdateInsertedRows(dataSet, allAddedRows)); + result = (result + this.UpdateUpdatedRows(dataSet, allChangedRows, allAddedRows)); + } + result = (result + this.UpdateDeletedRows(dataSet, allChangedRows)); + // + //---- Commit updates ----------- + // + workTransaction.Commit(); + if ((0 < allAddedRows.Count)) { + global::System.Data.DataRow[] rows = new System.Data.DataRow[allAddedRows.Count]; + allAddedRows.CopyTo(rows); + for (int i = 0; (i < rows.Length); i = (i + 1)) { + global::System.Data.DataRow row = rows[i]; + row.AcceptChanges(); + } + } + if ((0 < allChangedRows.Count)) { + global::System.Data.DataRow[] rows = new System.Data.DataRow[allChangedRows.Count]; + allChangedRows.CopyTo(rows); + for (int i = 0; (i < rows.Length); i = (i + 1)) { + global::System.Data.DataRow row = rows[i]; + row.AcceptChanges(); + } + } + } + catch (global::System.Exception ex) { + workTransaction.Rollback(); + // ---- Restore the dataset ----------- + if (this.BackupDataSetBeforeUpdate) { + global::System.Diagnostics.Debug.Assert((backupDataSet != null)); + dataSet.Clear(); + dataSet.Merge(backupDataSet); + } + else { + if ((0 < allAddedRows.Count)) { + global::System.Data.DataRow[] rows = new System.Data.DataRow[allAddedRows.Count]; + allAddedRows.CopyTo(rows); + for (int i = 0; (i < rows.Length); i = (i + 1)) { + global::System.Data.DataRow row = rows[i]; + row.AcceptChanges(); + row.SetAdded(); + } + } + } + throw ex; + } + finally { + if (workConnOpened) { + workConnection.Close(); + } + if ((this._peopleTableAdapter != null)) { + this._peopleTableAdapter.Connection = ((global::System.Data.SqlServerCe.SqlCeConnection)(revertConnections[this._peopleTableAdapter])); + this._peopleTableAdapter.Transaction = null; + } + if ((0 < adaptersWithAcceptChangesDuringUpdate.Count)) { + global::System.Data.Common.DataAdapter[] adapters = new System.Data.Common.DataAdapter[adaptersWithAcceptChangesDuringUpdate.Count]; + adaptersWithAcceptChangesDuringUpdate.CopyTo(adapters); + for (int i = 0; (i < adapters.Length); i = (i + 1)) { + global::System.Data.Common.DataAdapter adapter = adapters[i]; + adapter.AcceptChangesDuringUpdate = true; + } + } + } + return result; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected virtual void SortSelfReferenceRows(global::System.Data.DataRow[] rows, global::System.Data.DataRelation relation, bool childFirst) { + global::System.Array.Sort(rows, new SelfReferenceComparer(relation, childFirst)); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected virtual bool MatchTableAdapterConnection(global::System.Data.IDbConnection inputConnection) { + if ((this._connection != null)) { + return true; + } + if (((this.Connection == null) + || (inputConnection == null))) { + return true; + } + if (string.Equals(this.Connection.ConnectionString, inputConnection.ConnectionString, global::System.StringComparison.Ordinal)) { + return true; + } + return false; + } + + /// + ///Update Order Option + /// + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public enum UpdateOrderOption { + + InsertUpdateDelete = 0, + + UpdateInsertDelete = 1, + } + + /// + ///Used to sort self-referenced table's rows + /// + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + private class SelfReferenceComparer : object, global::System.Collections.Generic.IComparer { + + private global::System.Data.DataRelation _relation; + + private int _childFirst; + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + internal SelfReferenceComparer(global::System.Data.DataRelation relation, bool childFirst) { + this._relation = relation; + if (childFirst) { + this._childFirst = -1; + } + else { + this._childFirst = 1; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + private global::System.Data.DataRow GetRoot(global::System.Data.DataRow row, out int distance) { + global::System.Diagnostics.Debug.Assert((row != null)); + global::System.Data.DataRow root = row; + distance = 0; + + global::System.Collections.Generic.IDictionary traversedRows = new global::System.Collections.Generic.Dictionary(); + traversedRows[row] = row; + + global::System.Data.DataRow parent = row.GetParentRow(this._relation, global::System.Data.DataRowVersion.Default); + for ( + ; ((parent != null) + && (traversedRows.ContainsKey(parent) == false)); + ) { + distance = (distance + 1); + root = parent; + traversedRows[parent] = parent; + parent = parent.GetParentRow(this._relation, global::System.Data.DataRowVersion.Default); + } + + if ((distance == 0)) { + traversedRows.Clear(); + traversedRows[row] = row; + parent = row.GetParentRow(this._relation, global::System.Data.DataRowVersion.Original); + for ( + ; ((parent != null) + && (traversedRows.ContainsKey(parent) == false)); + ) { + distance = (distance + 1); + root = parent; + traversedRows[parent] = parent; + parent = parent.GetParentRow(this._relation, global::System.Data.DataRowVersion.Original); + } + } + + return root; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public int Compare(global::System.Data.DataRow row1, global::System.Data.DataRow row2) { + if (object.ReferenceEquals(row1, row2)) { + return 0; + } + if ((row1 == null)) { + return -1; + } + if ((row2 == null)) { + return 1; + } + + int distance1 = 0; + global::System.Data.DataRow root1 = this.GetRoot(row1, out distance1); + + int distance2 = 0; + global::System.Data.DataRow root2 = this.GetRoot(row2, out distance2); + + if (object.ReferenceEquals(root1, root2)) { + return (this._childFirst * distance1.CompareTo(distance2)); + } + else { + global::System.Diagnostics.Debug.Assert(((root1.Table != null) + && (root2.Table != null))); + if ((root1.Table.Rows.IndexOf(root1) < root2.Table.Rows.IndexOf(root2))) { + return -1; + } + else { + return 1; + } + } + } + } + } +} + +#pragma warning restore 1591 \ No newline at end of file diff --git a/Contacts/Contacts/ContactDBDataSet.xsc b/Contacts/Contacts/ContactDBDataSet.xsc new file mode 100644 index 0000000..05b0199 --- /dev/null +++ b/Contacts/Contacts/ContactDBDataSet.xsc @@ -0,0 +1,9 @@ + + + + + \ No newline at end of file diff --git a/Contacts/Contacts/ContactDBDataSet.xsd b/Contacts/Contacts/ContactDBDataSet.xsd new file mode 100644 index 0000000..b04ee7d --- /dev/null +++ b/Contacts/Contacts/ContactDBDataSet.xsd @@ -0,0 +1,119 @@ + + + + + + + + + + + + + + + DELETE FROM [People] WHERE (([ContactID] = @Original_ContactID)) + + + + + + + + INSERT INTO [People] ([Name], [Company], [Telephone], [Email], [Client], [LastCall]) VALUES (@Name, @Company, @Telephone, @Email, @Client, @LastCall) + + + + + + + + + + + + + SELECT [ContactID], [Name], [Company], [Telephone], [Email], [Client], [LastCall] FROM [People] + + + + + + UPDATE [People] SET [Name] = @Name, [Company] = @Company, [Telephone] = @Telephone, [Email] = @Email, [Client] = @Client, [LastCall] = @LastCall WHERE (([ContactID] = @Original_ContactID)) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Contacts/Contacts/ContactDBDataSet.xss b/Contacts/Contacts/ContactDBDataSet.xss new file mode 100644 index 0000000..5f28270 --- /dev/null +++ b/Contacts/Contacts/ContactDBDataSet.xss @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Contacts/Contacts/Contacts.csproj b/Contacts/Contacts/Contacts.csproj new file mode 100644 index 0000000..7b37a33 --- /dev/null +++ b/Contacts/Contacts/Contacts.csproj @@ -0,0 +1,161 @@ + + + + + Debug + AnyCPU + {64DE31EA-4B7F-4674-A365-25BE712B823E} + WinExe + Properties + Contacts + Contacts + v4.5 + 512 + false + publish\ + true + Disk + false + Foreground + 7 + Days + false + false + true + 1 + 1.0.0.%2a + false + true + true + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + 74F274D9A9020055731EB5767DA30371D95EF50F + + + Contacts_TemporaryKey.pfx + + + true + + + true + + + + + + + + + + + + + + + + + True + True + ContactDBDataSet.xsd + + + Form + + + Form1.cs + + + + + Form1.cs + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + + + ContactDBDataSet.xsd + + + MSDataSetGenerator + ContactDBDataSet.Designer.cs + Designer + + + ContactDBDataSet.xsd + + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + + + + PreserveNewest + + + + + False + Microsoft .NET Framework 4.5 %28x86 and x64%29 + true + + + False + .NET Framework 3.5 SP1 Client Profile + false + + + False + .NET Framework 3.5 SP1 + false + + + False + SQL Server Compact 4.0 SP1 + true + + + + + \ No newline at end of file diff --git a/Contacts/Contacts/Contacts.csproj.user b/Contacts/Contacts/Contacts.csproj.user new file mode 100644 index 0000000..6f23531 --- /dev/null +++ b/Contacts/Contacts/Contacts.csproj.user @@ -0,0 +1,13 @@ + + + + + + + + + + en-US + false + + \ No newline at end of file diff --git a/Contacts/Contacts/Contacts_TemporaryKey.pfx b/Contacts/Contacts/Contacts_TemporaryKey.pfx new file mode 100644 index 0000000..bcd03bd Binary files /dev/null and b/Contacts/Contacts/Contacts_TemporaryKey.pfx differ diff --git a/Contacts/Contacts/Form1.Designer.cs b/Contacts/Contacts/Form1.Designer.cs new file mode 100644 index 0000000..fd70b94 --- /dev/null +++ b/Contacts/Contacts/Form1.Designer.cs @@ -0,0 +1,407 @@ +namespace Contacts +{ + partial class Form1 + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + System.Windows.Forms.Label contactIDLabel; + System.Windows.Forms.Label nameLabel; + System.Windows.Forms.Label companyLabel; + System.Windows.Forms.Label telephoneLabel; + System.Windows.Forms.Label emailLabel; + System.Windows.Forms.Label clientLabel; + System.Windows.Forms.Label lastCallLabel; + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form1)); + this.pictureBox1 = new System.Windows.Forms.PictureBox(); + this.contactDBDataSet = new Contacts.ContactDBDataSet(); + this.peopleBindingSource = new System.Windows.Forms.BindingSource(this.components); + this.peopleTableAdapter = new Contacts.ContactDBDataSetTableAdapters.PeopleTableAdapter(); + this.tableAdapterManager = new Contacts.ContactDBDataSetTableAdapters.TableAdapterManager(); + this.bindingNavigator1 = new System.Windows.Forms.BindingNavigator(this.components); + this.bindingNavigatorAddNewItem = new System.Windows.Forms.ToolStripButton(); + this.bindingNavigatorCountItem = new System.Windows.Forms.ToolStripLabel(); + this.bindingNavigatorDeleteItem = new System.Windows.Forms.ToolStripButton(); + this.bindingNavigatorMoveFirstItem = new System.Windows.Forms.ToolStripButton(); + this.bindingNavigatorMovePreviousItem = new System.Windows.Forms.ToolStripButton(); + this.bindingNavigatorSeparator = new System.Windows.Forms.ToolStripSeparator(); + this.bindingNavigatorPositionItem = new System.Windows.Forms.ToolStripTextBox(); + this.bindingNavigatorSeparator1 = new System.Windows.Forms.ToolStripSeparator(); + this.bindingNavigatorMoveNextItem = new System.Windows.Forms.ToolStripButton(); + this.bindingNavigatorMoveLastItem = new System.Windows.Forms.ToolStripButton(); + this.bindingNavigatorSeparator2 = new System.Windows.Forms.ToolStripSeparator(); + this.contactIDTextBox = new System.Windows.Forms.TextBox(); + this.nameTextBox = new System.Windows.Forms.TextBox(); + this.companyTextBox = new System.Windows.Forms.TextBox(); + this.telephoneTextBox = new System.Windows.Forms.TextBox(); + this.emailTextBox = new System.Windows.Forms.TextBox(); + this.clientCheckBox = new System.Windows.Forms.CheckBox(); + this.lastCallDateTimePicker = new System.Windows.Forms.DateTimePicker(); + contactIDLabel = new System.Windows.Forms.Label(); + nameLabel = new System.Windows.Forms.Label(); + companyLabel = new System.Windows.Forms.Label(); + telephoneLabel = new System.Windows.Forms.Label(); + emailLabel = new System.Windows.Forms.Label(); + clientLabel = new System.Windows.Forms.Label(); + lastCallLabel = new System.Windows.Forms.Label(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.contactDBDataSet)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.peopleBindingSource)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.bindingNavigator1)).BeginInit(); + this.bindingNavigator1.SuspendLayout(); + this.SuspendLayout(); + // + // contactIDLabel + // + contactIDLabel.AutoSize = true; + contactIDLabel.Location = new System.Drawing.Point(10, 37); + contactIDLabel.Name = "contactIDLabel"; + contactIDLabel.Size = new System.Drawing.Size(61, 13); + contactIDLabel.TabIndex = 2; + contactIDLabel.Text = "Contact ID:"; + // + // nameLabel + // + nameLabel.AutoSize = true; + nameLabel.Location = new System.Drawing.Point(10, 63); + nameLabel.Name = "nameLabel"; + nameLabel.Size = new System.Drawing.Size(38, 13); + nameLabel.TabIndex = 4; + nameLabel.Text = "Name:"; + // + // companyLabel + // + companyLabel.AutoSize = true; + companyLabel.Location = new System.Drawing.Point(10, 89); + companyLabel.Name = "companyLabel"; + companyLabel.Size = new System.Drawing.Size(54, 13); + companyLabel.TabIndex = 6; + companyLabel.Text = "Company:"; + // + // telephoneLabel + // + telephoneLabel.AutoSize = true; + telephoneLabel.Location = new System.Drawing.Point(10, 115); + telephoneLabel.Name = "telephoneLabel"; + telephoneLabel.Size = new System.Drawing.Size(61, 13); + telephoneLabel.TabIndex = 8; + telephoneLabel.Text = "Telephone:"; + // + // emailLabel + // + emailLabel.AutoSize = true; + emailLabel.Location = new System.Drawing.Point(10, 141); + emailLabel.Name = "emailLabel"; + emailLabel.Size = new System.Drawing.Size(35, 13); + emailLabel.TabIndex = 10; + emailLabel.Text = "Email:"; + // + // clientLabel + // + clientLabel.AutoSize = true; + clientLabel.Location = new System.Drawing.Point(10, 169); + clientLabel.Name = "clientLabel"; + clientLabel.Size = new System.Drawing.Size(36, 13); + clientLabel.TabIndex = 12; + clientLabel.Text = "Client:"; + // + // lastCallLabel + // + lastCallLabel.AutoSize = true; + lastCallLabel.Location = new System.Drawing.Point(10, 198); + lastCallLabel.Name = "lastCallLabel"; + lastCallLabel.Size = new System.Drawing.Size(50, 13); + lastCallLabel.TabIndex = 14; + lastCallLabel.Text = "Last Call:"; + // + // pictureBox1 + // + this.pictureBox1.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox1.Image"))); + this.pictureBox1.Location = new System.Drawing.Point(280, 28); + this.pictureBox1.Name = "pictureBox1"; + this.pictureBox1.Size = new System.Drawing.Size(100, 50); + this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom; + this.pictureBox1.TabIndex = 0; + this.pictureBox1.TabStop = false; + this.pictureBox1.Click += new System.EventHandler(this.pictureBox1_Click); + // + // contactDBDataSet + // + this.contactDBDataSet.DataSetName = "ContactDBDataSet"; + this.contactDBDataSet.SchemaSerializationMode = System.Data.SchemaSerializationMode.IncludeSchema; + // + // peopleBindingSource + // + this.peopleBindingSource.DataMember = "People"; + this.peopleBindingSource.DataSource = this.contactDBDataSet; + // + // peopleTableAdapter + // + this.peopleTableAdapter.ClearBeforeFill = true; + // + // tableAdapterManager + // + this.tableAdapterManager.BackupDataSetBeforeUpdate = false; + this.tableAdapterManager.PeopleTableAdapter = this.peopleTableAdapter; + this.tableAdapterManager.UpdateOrder = Contacts.ContactDBDataSetTableAdapters.TableAdapterManager.UpdateOrderOption.InsertUpdateDelete; + // + // bindingNavigator1 + // + this.bindingNavigator1.AddNewItem = this.bindingNavigatorAddNewItem; + this.bindingNavigator1.BindingSource = this.peopleBindingSource; + this.bindingNavigator1.CountItem = this.bindingNavigatorCountItem; + this.bindingNavigator1.DeleteItem = this.bindingNavigatorDeleteItem; + this.bindingNavigator1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.bindingNavigatorMoveFirstItem, + this.bindingNavigatorMovePreviousItem, + this.bindingNavigatorSeparator, + this.bindingNavigatorPositionItem, + this.bindingNavigatorCountItem, + this.bindingNavigatorSeparator1, + this.bindingNavigatorMoveNextItem, + this.bindingNavigatorMoveLastItem, + this.bindingNavigatorSeparator2, + this.bindingNavigatorAddNewItem, + this.bindingNavigatorDeleteItem}); + this.bindingNavigator1.Location = new System.Drawing.Point(0, 0); + this.bindingNavigator1.MoveFirstItem = this.bindingNavigatorMoveFirstItem; + this.bindingNavigator1.MoveLastItem = this.bindingNavigatorMoveLastItem; + this.bindingNavigator1.MoveNextItem = this.bindingNavigatorMoveNextItem; + this.bindingNavigator1.MovePreviousItem = this.bindingNavigatorMovePreviousItem; + this.bindingNavigator1.Name = "bindingNavigator1"; + this.bindingNavigator1.PositionItem = this.bindingNavigatorPositionItem; + this.bindingNavigator1.Size = new System.Drawing.Size(399, 25); + this.bindingNavigator1.TabIndex = 1; + this.bindingNavigator1.Text = "bindingNavigator1"; + // + // bindingNavigatorAddNewItem + // + this.bindingNavigatorAddNewItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.bindingNavigatorAddNewItem.Image = ((System.Drawing.Image)(resources.GetObject("bindingNavigatorAddNewItem.Image"))); + this.bindingNavigatorAddNewItem.Name = "bindingNavigatorAddNewItem"; + this.bindingNavigatorAddNewItem.RightToLeftAutoMirrorImage = true; + this.bindingNavigatorAddNewItem.Size = new System.Drawing.Size(23, 22); + this.bindingNavigatorAddNewItem.Text = "Add new"; + // + // bindingNavigatorCountItem + // + this.bindingNavigatorCountItem.Name = "bindingNavigatorCountItem"; + this.bindingNavigatorCountItem.Size = new System.Drawing.Size(35, 22); + this.bindingNavigatorCountItem.Text = "of {0}"; + this.bindingNavigatorCountItem.ToolTipText = "Total number of items"; + // + // bindingNavigatorDeleteItem + // + this.bindingNavigatorDeleteItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.bindingNavigatorDeleteItem.Image = ((System.Drawing.Image)(resources.GetObject("bindingNavigatorDeleteItem.Image"))); + this.bindingNavigatorDeleteItem.Name = "bindingNavigatorDeleteItem"; + this.bindingNavigatorDeleteItem.RightToLeftAutoMirrorImage = true; + this.bindingNavigatorDeleteItem.Size = new System.Drawing.Size(23, 22); + this.bindingNavigatorDeleteItem.Text = "Delete"; + // + // bindingNavigatorMoveFirstItem + // + this.bindingNavigatorMoveFirstItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.bindingNavigatorMoveFirstItem.Image = ((System.Drawing.Image)(resources.GetObject("bindingNavigatorMoveFirstItem.Image"))); + this.bindingNavigatorMoveFirstItem.Name = "bindingNavigatorMoveFirstItem"; + this.bindingNavigatorMoveFirstItem.RightToLeftAutoMirrorImage = true; + this.bindingNavigatorMoveFirstItem.Size = new System.Drawing.Size(23, 22); + this.bindingNavigatorMoveFirstItem.Text = "Move first"; + // + // bindingNavigatorMovePreviousItem + // + this.bindingNavigatorMovePreviousItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.bindingNavigatorMovePreviousItem.Image = ((System.Drawing.Image)(resources.GetObject("bindingNavigatorMovePreviousItem.Image"))); + this.bindingNavigatorMovePreviousItem.Name = "bindingNavigatorMovePreviousItem"; + this.bindingNavigatorMovePreviousItem.RightToLeftAutoMirrorImage = true; + this.bindingNavigatorMovePreviousItem.Size = new System.Drawing.Size(23, 22); + this.bindingNavigatorMovePreviousItem.Text = "Move previous"; + // + // bindingNavigatorSeparator + // + this.bindingNavigatorSeparator.Name = "bindingNavigatorSeparator"; + this.bindingNavigatorSeparator.Size = new System.Drawing.Size(6, 25); + // + // bindingNavigatorPositionItem + // + this.bindingNavigatorPositionItem.AccessibleName = "Position"; + this.bindingNavigatorPositionItem.AutoSize = false; + this.bindingNavigatorPositionItem.Name = "bindingNavigatorPositionItem"; + this.bindingNavigatorPositionItem.Size = new System.Drawing.Size(50, 23); + this.bindingNavigatorPositionItem.Text = "0"; + this.bindingNavigatorPositionItem.ToolTipText = "Current position"; + // + // bindingNavigatorSeparator1 + // + this.bindingNavigatorSeparator1.Name = "bindingNavigatorSeparator1"; + this.bindingNavigatorSeparator1.Size = new System.Drawing.Size(6, 25); + // + // bindingNavigatorMoveNextItem + // + this.bindingNavigatorMoveNextItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.bindingNavigatorMoveNextItem.Image = ((System.Drawing.Image)(resources.GetObject("bindingNavigatorMoveNextItem.Image"))); + this.bindingNavigatorMoveNextItem.Name = "bindingNavigatorMoveNextItem"; + this.bindingNavigatorMoveNextItem.RightToLeftAutoMirrorImage = true; + this.bindingNavigatorMoveNextItem.Size = new System.Drawing.Size(23, 22); + this.bindingNavigatorMoveNextItem.Text = "Move next"; + // + // bindingNavigatorMoveLastItem + // + this.bindingNavigatorMoveLastItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.bindingNavigatorMoveLastItem.Image = ((System.Drawing.Image)(resources.GetObject("bindingNavigatorMoveLastItem.Image"))); + this.bindingNavigatorMoveLastItem.Name = "bindingNavigatorMoveLastItem"; + this.bindingNavigatorMoveLastItem.RightToLeftAutoMirrorImage = true; + this.bindingNavigatorMoveLastItem.Size = new System.Drawing.Size(23, 22); + this.bindingNavigatorMoveLastItem.Text = "Move last"; + // + // bindingNavigatorSeparator2 + // + this.bindingNavigatorSeparator2.Name = "bindingNavigatorSeparator2"; + this.bindingNavigatorSeparator2.Size = new System.Drawing.Size(6, 25); + // + // contactIDTextBox + // + this.contactIDTextBox.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.peopleBindingSource, "ContactID", true)); + this.contactIDTextBox.Location = new System.Drawing.Point(77, 34); + this.contactIDTextBox.Name = "contactIDTextBox"; + this.contactIDTextBox.Size = new System.Drawing.Size(75, 20); + this.contactIDTextBox.TabIndex = 3; + // + // nameTextBox + // + this.nameTextBox.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.peopleBindingSource, "Name", true)); + this.nameTextBox.Location = new System.Drawing.Point(77, 60); + this.nameTextBox.Name = "nameTextBox"; + this.nameTextBox.Size = new System.Drawing.Size(200, 20); + this.nameTextBox.TabIndex = 5; + // + // companyTextBox + // + this.companyTextBox.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.peopleBindingSource, "Company", true)); + this.companyTextBox.Location = new System.Drawing.Point(77, 86); + this.companyTextBox.Name = "companyTextBox"; + this.companyTextBox.Size = new System.Drawing.Size(200, 20); + this.companyTextBox.TabIndex = 7; + // + // telephoneTextBox + // + this.telephoneTextBox.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.peopleBindingSource, "Telephone", true)); + this.telephoneTextBox.Location = new System.Drawing.Point(77, 112); + this.telephoneTextBox.Name = "telephoneTextBox"; + this.telephoneTextBox.Size = new System.Drawing.Size(132, 20); + this.telephoneTextBox.TabIndex = 9; + // + // emailTextBox + // + this.emailTextBox.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.peopleBindingSource, "Email", true)); + this.emailTextBox.Location = new System.Drawing.Point(77, 138); + this.emailTextBox.Name = "emailTextBox"; + this.emailTextBox.Size = new System.Drawing.Size(200, 20); + this.emailTextBox.TabIndex = 11; + // + // clientCheckBox + // + this.clientCheckBox.DataBindings.Add(new System.Windows.Forms.Binding("CheckState", this.peopleBindingSource, "Client", true)); + this.clientCheckBox.Location = new System.Drawing.Point(77, 164); + this.clientCheckBox.Name = "clientCheckBox"; + this.clientCheckBox.Size = new System.Drawing.Size(200, 24); + this.clientCheckBox.TabIndex = 13; + this.clientCheckBox.UseVisualStyleBackColor = true; + // + // lastCallDateTimePicker + // + this.lastCallDateTimePicker.DataBindings.Add(new System.Windows.Forms.Binding("Value", this.peopleBindingSource, "LastCall", true)); + this.lastCallDateTimePicker.Location = new System.Drawing.Point(77, 194); + this.lastCallDateTimePicker.Name = "lastCallDateTimePicker"; + this.lastCallDateTimePicker.Size = new System.Drawing.Size(200, 20); + this.lastCallDateTimePicker.TabIndex = 15; + // + // Form1 + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(399, 245); + this.Controls.Add(contactIDLabel); + this.Controls.Add(this.contactIDTextBox); + this.Controls.Add(nameLabel); + this.Controls.Add(this.nameTextBox); + this.Controls.Add(companyLabel); + this.Controls.Add(this.companyTextBox); + this.Controls.Add(telephoneLabel); + this.Controls.Add(this.telephoneTextBox); + this.Controls.Add(emailLabel); + this.Controls.Add(this.emailTextBox); + this.Controls.Add(clientLabel); + this.Controls.Add(this.clientCheckBox); + this.Controls.Add(lastCallLabel); + this.Controls.Add(this.lastCallDateTimePicker); + this.Controls.Add(this.bindingNavigator1); + this.Controls.Add(this.pictureBox1); + this.MaximizeBox = false; + this.Name = "Form1"; + this.Text = "Objectville Paper Company Contact List"; + this.Load += new System.EventHandler(this.Form1_Load); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.contactDBDataSet)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.peopleBindingSource)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.bindingNavigator1)).EndInit(); + this.bindingNavigator1.ResumeLayout(false); + this.bindingNavigator1.PerformLayout(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.PictureBox pictureBox1; + private ContactDBDataSet contactDBDataSet; + private System.Windows.Forms.BindingSource peopleBindingSource; + private ContactDBDataSetTableAdapters.PeopleTableAdapter peopleTableAdapter; + private ContactDBDataSetTableAdapters.TableAdapterManager tableAdapterManager; + private System.Windows.Forms.BindingNavigator bindingNavigator1; + private System.Windows.Forms.ToolStripButton bindingNavigatorAddNewItem; + private System.Windows.Forms.ToolStripLabel bindingNavigatorCountItem; + private System.Windows.Forms.ToolStripButton bindingNavigatorDeleteItem; + private System.Windows.Forms.ToolStripButton bindingNavigatorMoveFirstItem; + private System.Windows.Forms.ToolStripButton bindingNavigatorMovePreviousItem; + private System.Windows.Forms.ToolStripSeparator bindingNavigatorSeparator; + private System.Windows.Forms.ToolStripTextBox bindingNavigatorPositionItem; + private System.Windows.Forms.ToolStripSeparator bindingNavigatorSeparator1; + private System.Windows.Forms.ToolStripButton bindingNavigatorMoveNextItem; + private System.Windows.Forms.ToolStripButton bindingNavigatorMoveLastItem; + private System.Windows.Forms.ToolStripSeparator bindingNavigatorSeparator2; + private System.Windows.Forms.TextBox contactIDTextBox; + private System.Windows.Forms.TextBox nameTextBox; + private System.Windows.Forms.TextBox companyTextBox; + private System.Windows.Forms.TextBox telephoneTextBox; + private System.Windows.Forms.TextBox emailTextBox; + private System.Windows.Forms.CheckBox clientCheckBox; + private System.Windows.Forms.DateTimePicker lastCallDateTimePicker; + } +} + diff --git a/Contacts/Contacts/Form1.cs b/Contacts/Contacts/Form1.cs new file mode 100644 index 0000000..b375e50 --- /dev/null +++ b/Contacts/Contacts/Form1.cs @@ -0,0 +1,41 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace Contacts +{ + public partial class Form1 : Form + { + public Form1() + { + InitializeComponent(); + } + + private void pictureBox1_Click(object sender, EventArgs e) + { + MessageBox.Show("Contact List 1.0 \nWritten by: Mysterious Coder", "About"); + } + + private void peopleBindingNavigatorSaveItem_Click(object sender, EventArgs e) + { + this.Validate(); + this.peopleBindingSource.EndEdit(); + this.tableAdapterManager.UpdateAll(this.contactDBDataSet); + + } + + private void Form1_Load(object sender, EventArgs e) + { + // TODO: This line of code loads data into the 'contactDBDataSet.People' table. You can move, or remove it, as needed. + this.peopleTableAdapter.Fill(this.contactDBDataSet.People); + + } + + } +} diff --git a/Contacts/Contacts/Form1.resx b/Contacts/Contacts/Form1.resx new file mode 100644 index 0000000..2f7b426 --- /dev/null +++ b/Contacts/Contacts/Form1.resx @@ -0,0 +1,1118 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + False + + + False + + + False + + + False + + + False + + + False + + + False + + + + + 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 + MwAAAABJRU5ErkJggg== + + + + 17, 17 + + + 167, 17 + + + 335, 17 + + + 497, 17 + + + 668, 17 + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsIAAA7CARUoSoAAAAFKSURBVDhPYxi84O4C9v+35nH+vzqH6//FGbz/ocLEg+tA + jX8eNf7/87Dh/8nJAqQbcH46L9yAgz0ipBtwfJIgUHPd/z8Pqv7vaBcnbMClmTz/z07l+38SqPFIv9D/ + fd0iQM3l///eK/q/vkHm/6oauf9LKxX/zy9V/j+rSBXTwFNAf/55WA/UVAvElf//3CsB4rz/f+9m/v97 + J/n/39tx///djADikP+TcjQxDTjUKwx27t/7pUCNBUCN2UCNqUCNCf//3YoGagz7/+9G0P9/1/3+d6Xp + Yhqws13i/5Zmqf/rwM6V/7+kQvH/31sxQI3h/6fmafyfkKX1vztD9397qv7/5kRDwmEyG+hPkHP/3Qj4 + 35OhQ1gDOgD5898NfyD2+9+arE+6Ad3pumD/gnB9nBHpBrQkGfxviDf8XxNr/L8y2oR0A+gEGBgAJCPY + nnX8iGkAAAAASUVORK5CYII= + + + + + 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 + + + \ No newline at end of file diff --git a/Contacts/Contacts/Program.cs b/Contacts/Contacts/Program.cs new file mode 100644 index 0000000..539502b --- /dev/null +++ b/Contacts/Contacts/Program.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace Contacts +{ + static class Program + { + /// + /// The main entry point for the application. + /// + [STAThread] + static void Main() + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.Run(new Form1()); + } + } +} diff --git a/Contacts/Contacts/Properties/AssemblyInfo.cs b/Contacts/Contacts/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..fd7e127 --- /dev/null +++ b/Contacts/Contacts/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Contacts")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("Contacts")] +[assembly: AssemblyCopyright("Copyright © 2013")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("29780a9d-d3d6-47db-a486-853abbfe158a")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Contacts/Contacts/Properties/Resources.Designer.cs b/Contacts/Contacts/Properties/Resources.Designer.cs new file mode 100644 index 0000000..034eeb8 --- /dev/null +++ b/Contacts/Contacts/Properties/Resources.Designer.cs @@ -0,0 +1,71 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.18034 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace Contacts.Properties +{ + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources + { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() + { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager + { + get + { + if ((resourceMan == null)) + { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Contacts.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture + { + get + { + return resourceCulture; + } + set + { + resourceCulture = value; + } + } + } +} diff --git a/Contacts/Contacts/Properties/Resources.resx b/Contacts/Contacts/Properties/Resources.resx new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/Contacts/Contacts/Properties/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/Contacts/Contacts/Properties/Settings.Designer.cs b/Contacts/Contacts/Properties/Settings.Designer.cs new file mode 100644 index 0000000..d515fa7 --- /dev/null +++ b/Contacts/Contacts/Properties/Settings.Designer.cs @@ -0,0 +1,36 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.18034 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace Contacts.Properties { + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default { + get { + return defaultInstance; + } + } + + [global::System.Configuration.ApplicationScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.SpecialSettingAttribute(global::System.Configuration.SpecialSetting.ConnectionString)] + [global::System.Configuration.DefaultSettingValueAttribute("Data Source=|DataDirectory|\\ContactDB.sdf")] + public string ContactDBConnectionString { + get { + return ((string)(this["ContactDBConnectionString"])); + } + } + } +} diff --git a/Contacts/Contacts/Properties/Settings.settings b/Contacts/Contacts/Properties/Settings.settings new file mode 100644 index 0000000..418ef31 --- /dev/null +++ b/Contacts/Contacts/Properties/Settings.settings @@ -0,0 +1,14 @@ + + + + + + <?xml version="1.0" encoding="utf-16"?> +<SerializableConnectionString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <ConnectionString>Data Source=|DataDirectory|\ContactDB.sdf</ConnectionString> + <ProviderName>Microsoft.SqlServerCe.Client.4.0</ProviderName> +</SerializableConnectionString> + Data Source=|DataDirectory|\ContactDB.sdf + + + \ No newline at end of file diff --git a/Contacts/Contacts/publish/Application Files/Contacts_1_0_0_0/ContactDB.sdf.deploy b/Contacts/Contacts/publish/Application Files/Contacts_1_0_0_0/ContactDB.sdf.deploy new file mode 100644 index 0000000..884152b Binary files /dev/null and b/Contacts/Contacts/publish/Application Files/Contacts_1_0_0_0/ContactDB.sdf.deploy differ diff --git a/Contacts/Contacts/publish/Application Files/Contacts_1_0_0_0/Contacts.application b/Contacts/Contacts/publish/Application Files/Contacts_1_0_0_0/Contacts.application new file mode 100644 index 0000000..1ea2418 --- /dev/null +++ b/Contacts/Contacts/publish/Application Files/Contacts_1_0_0_0/Contacts.application @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + uwNI+5dmniIaQNkXyRIETRk6NQ8/5Pch78HKMY/QkCc= + + + +2JRWoOvRUAC6T1U1HCZ9Cw7Cq457iMOlxQogRBIIpjE=ha0aTTGGgkVVpRk9A+Ce7J8y9kIgQrgUcJiyCkkEHJ3KosP1LqEySg65NUsro++m8OVbg7VwNQDAUlWZ5pFfsM0FOwQNMR2cS7ubbnv/k8BxvXUtLmmziR/JhOn2BhAX6FiPnLCTZPW2ZfsyoYNI6R/HIAW63voctf0BhWEPAlc=rYHHmNEUhxFstKWPcbrc5RuBaLrldzlWZ8jX29wDSmH75DAvstR2gfjmoe/DucEE4CIKuiXMK3NF0RmHdQsyVnaOIS7Om7aA/XDz7AoDatD+2Hn3Mqx9JfUQ2Yhl/GaHioJ8RcW66N0lVLHHQsMd0Co+9rsoBZZD+yKp6R5gOqM=AQABCN=VMW-WIN7-AJDV\Allen VailliencourtgZq1tF+lQ8A2ARz7W52demLxUl46Lrn/X+SicRcwN6A=nhfdRPFdqM1h0ZctP9hA3gLMrNzQD68soBMHs/pySsWRDmLPiNmgYnMgGoJJCxkj0uAJTB8LbSEP5Fj8vHiZVpL5nciqHby6FWr6RXhKfkeew12PrTz6bdyyi7aQdqkbTeEjGDwGZYBOWgipz+v2UIIvBw6FeLCHY9/O6pdsHQo=rYHHmNEUhxFstKWPcbrc5RuBaLrldzlWZ8jX29wDSmH75DAvstR2gfjmoe/DucEE4CIKuiXMK3NF0RmHdQsyVnaOIS7Om7aA/XDz7AoDatD+2Hn3Mqx9JfUQ2Yhl/GaHioJ8RcW66N0lVLHHQsMd0Co+9rsoBZZD+yKp6R5gOqM=AQABMIICHTCCAYagAwIBAgIQGlXIXqhEBolMKkCld8XfOjANBgkqhkiG9w0BAQsFADBNMUswSQYDVQQDHkIAVgBNAFcALQBXAEkATgA3AC0AQQBKAEQAVgBcAEEAbABsAGUAbgAgAFYAYQBpAGwAbABpAGUAbgBjAG8AdQByAHQwHhcNMTMwNTI0MTgzMDEyWhcNMTQwNTI1MDAzMDEyWjBNMUswSQYDVQQDHkIAVgBNAFcALQBXAEkATgA3AC0AQQBKAEQAVgBcAEEAbABsAGUAbgAgAFYAYQBpAGwAbABpAGUAbgBjAG8AdQByAHQwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAK2Bx5jRFIcRbLSlj3G63OUbgWi65Xc5VmfI19vcA0ph++QwL7LUdoH45qHvw7nBBOAiCrolzCtzRdEZh3ULMlZ2jiEuzpu2gP1w8+wKA2rQ/th59zKsfSX1ENmIZfxmh4qCfEXFuujdJVSxx0LDHdAqPva7KAWWQ/siqekeYDqjAgMBAAEwDQYJKoZIhvcNAQELBQADgYEAWkPa5o/iZ5a70RM95uCKhAkJxZs/Vl+2PImx9tdzSPb+MeHel4h/aAGQUuKciFsdejWR+suF79QCFi1YM4QKP2ZuojiHYVjuByEAE2lJUeS7Q1VQNFqnqGtrggeZ/+n/NBMtTy7F1hrEQuOM+j+ipBE/WFu1XE59Z6wm4oAdLZE= \ No newline at end of file diff --git a/Contacts/Contacts/publish/Application Files/Contacts_1_0_0_0/Contacts.exe.config.deploy b/Contacts/Contacts/publish/Application Files/Contacts_1_0_0_0/Contacts.exe.config.deploy new file mode 100644 index 0000000..06d3f86 --- /dev/null +++ b/Contacts/Contacts/publish/Application Files/Contacts_1_0_0_0/Contacts.exe.config.deploy @@ -0,0 +1,13 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Contacts/Contacts/publish/Application Files/Contacts_1_0_0_0/Contacts.exe.deploy b/Contacts/Contacts/publish/Application Files/Contacts_1_0_0_0/Contacts.exe.deploy new file mode 100644 index 0000000..db602af Binary files /dev/null and b/Contacts/Contacts/publish/Application Files/Contacts_1_0_0_0/Contacts.exe.deploy differ diff --git a/Contacts/Contacts/publish/Application Files/Contacts_1_0_0_0/Contacts.exe.manifest b/Contacts/Contacts/publish/Application Files/Contacts_1_0_0_0/Contacts.exe.manifest new file mode 100644 index 0000000..7317f34 --- /dev/null +++ b/Contacts/Contacts/publish/Application Files/Contacts_1_0_0_0/Contacts.exe.manifest @@ -0,0 +1,79 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LjaHu16KE2xbjrZ4rsNzwOriFTLmvzcWUKsRTPJgp80= + + + + + + + + + + 9ioSyhqPVSYzXPeMTm43AxQIzwbHkM1fdqg5kKpBN8I= + + + + + + + + + i3xd/jtbX2hf7rZX0PgPs6BSwqV78JPbf1G7mZZTrV0= + + +HYfx9+hO3qvjLWB2yND7V+EesSoT8GRJKF9Rv5SgLAk=VE9u+337AyI9S+ueRh9/UIHY2BPnLZvdgn5phdPi80ytA+bkhcMYx56In09XstIsOIaBBocAVghqNyt145dnwLVCoTajo8q/vtAiom3rGOBGzLK/R9+PoKGrctWEcaS/x7CHa/KlCqgYrjB4DbSBc1Pl8NkL2gD4LnrfEqHaFSQ=rYHHmNEUhxFstKWPcbrc5RuBaLrldzlWZ8jX29wDSmH75DAvstR2gfjmoe/DucEE4CIKuiXMK3NF0RmHdQsyVnaOIS7Om7aA/XDz7AoDatD+2Hn3Mqx9JfUQ2Yhl/GaHioJ8RcW66N0lVLHHQsMd0Co+9rsoBZZD+yKp6R5gOqM=AQABCN=VMW-WIN7-AJDV\Allen VailliencourttJZ8pwgsKknM0pe0Uvr765bgouSZ2KmspjEnFatyM/Q=dKejiYr4rC67OmZ+UZuYUa0gL8BeEKx8dIg6sz3qoQxKtZdVU5EpwWfhYx+tFvs2tQA5n9b6LOl4MdkX9KMc+t5CmgSUUlFVxmp3ah+lhDfEXdpJ+EFD+nYRvkfFhACgb3iLYUDr/U0OTXokeStOEJoSkuwKVJgIy46SPWn3EWQ=rYHHmNEUhxFstKWPcbrc5RuBaLrldzlWZ8jX29wDSmH75DAvstR2gfjmoe/DucEE4CIKuiXMK3NF0RmHdQsyVnaOIS7Om7aA/XDz7AoDatD+2Hn3Mqx9JfUQ2Yhl/GaHioJ8RcW66N0lVLHHQsMd0Co+9rsoBZZD+yKp6R5gOqM=AQABMIICHTCCAYagAwIBAgIQGlXIXqhEBolMKkCld8XfOjANBgkqhkiG9w0BAQsFADBNMUswSQYDVQQDHkIAVgBNAFcALQBXAEkATgA3AC0AQQBKAEQAVgBcAEEAbABsAGUAbgAgAFYAYQBpAGwAbABpAGUAbgBjAG8AdQByAHQwHhcNMTMwNTI0MTgzMDEyWhcNMTQwNTI1MDAzMDEyWjBNMUswSQYDVQQDHkIAVgBNAFcALQBXAEkATgA3AC0AQQBKAEQAVgBcAEEAbABsAGUAbgAgAFYAYQBpAGwAbABpAGUAbgBjAG8AdQByAHQwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAK2Bx5jRFIcRbLSlj3G63OUbgWi65Xc5VmfI19vcA0ph++QwL7LUdoH45qHvw7nBBOAiCrolzCtzRdEZh3ULMlZ2jiEuzpu2gP1w8+wKA2rQ/th59zKsfSX1ENmIZfxmh4qCfEXFuujdJVSxx0LDHdAqPva7KAWWQ/siqekeYDqjAgMBAAEwDQYJKoZIhvcNAQELBQADgYEAWkPa5o/iZ5a70RM95uCKhAkJxZs/Vl+2PImx9tdzSPb+MeHel4h/aAGQUuKciFsdejWR+suF79QCFi1YM4QKP2ZuojiHYVjuByEAE2lJUeS7Q1VQNFqnqGtrggeZ/+n/NBMtTy7F1hrEQuOM+j+ipBE/WFu1XE59Z6wm4oAdLZE= \ No newline at end of file diff --git a/Contacts/Contacts/publish/Contacts.application b/Contacts/Contacts/publish/Contacts.application new file mode 100644 index 0000000..1ea2418 --- /dev/null +++ b/Contacts/Contacts/publish/Contacts.application @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + uwNI+5dmniIaQNkXyRIETRk6NQ8/5Pch78HKMY/QkCc= + + + +2JRWoOvRUAC6T1U1HCZ9Cw7Cq457iMOlxQogRBIIpjE=ha0aTTGGgkVVpRk9A+Ce7J8y9kIgQrgUcJiyCkkEHJ3KosP1LqEySg65NUsro++m8OVbg7VwNQDAUlWZ5pFfsM0FOwQNMR2cS7ubbnv/k8BxvXUtLmmziR/JhOn2BhAX6FiPnLCTZPW2ZfsyoYNI6R/HIAW63voctf0BhWEPAlc=rYHHmNEUhxFstKWPcbrc5RuBaLrldzlWZ8jX29wDSmH75DAvstR2gfjmoe/DucEE4CIKuiXMK3NF0RmHdQsyVnaOIS7Om7aA/XDz7AoDatD+2Hn3Mqx9JfUQ2Yhl/GaHioJ8RcW66N0lVLHHQsMd0Co+9rsoBZZD+yKp6R5gOqM=AQABCN=VMW-WIN7-AJDV\Allen VailliencourtgZq1tF+lQ8A2ARz7W52demLxUl46Lrn/X+SicRcwN6A=nhfdRPFdqM1h0ZctP9hA3gLMrNzQD68soBMHs/pySsWRDmLPiNmgYnMgGoJJCxkj0uAJTB8LbSEP5Fj8vHiZVpL5nciqHby6FWr6RXhKfkeew12PrTz6bdyyi7aQdqkbTeEjGDwGZYBOWgipz+v2UIIvBw6FeLCHY9/O6pdsHQo=rYHHmNEUhxFstKWPcbrc5RuBaLrldzlWZ8jX29wDSmH75DAvstR2gfjmoe/DucEE4CIKuiXMK3NF0RmHdQsyVnaOIS7Om7aA/XDz7AoDatD+2Hn3Mqx9JfUQ2Yhl/GaHioJ8RcW66N0lVLHHQsMd0Co+9rsoBZZD+yKp6R5gOqM=AQABMIICHTCCAYagAwIBAgIQGlXIXqhEBolMKkCld8XfOjANBgkqhkiG9w0BAQsFADBNMUswSQYDVQQDHkIAVgBNAFcALQBXAEkATgA3AC0AQQBKAEQAVgBcAEEAbABsAGUAbgAgAFYAYQBpAGwAbABpAGUAbgBjAG8AdQByAHQwHhcNMTMwNTI0MTgzMDEyWhcNMTQwNTI1MDAzMDEyWjBNMUswSQYDVQQDHkIAVgBNAFcALQBXAEkATgA3AC0AQQBKAEQAVgBcAEEAbABsAGUAbgAgAFYAYQBpAGwAbABpAGUAbgBjAG8AdQByAHQwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAK2Bx5jRFIcRbLSlj3G63OUbgWi65Xc5VmfI19vcA0ph++QwL7LUdoH45qHvw7nBBOAiCrolzCtzRdEZh3ULMlZ2jiEuzpu2gP1w8+wKA2rQ/th59zKsfSX1ENmIZfxmh4qCfEXFuujdJVSxx0LDHdAqPva7KAWWQ/siqekeYDqjAgMBAAEwDQYJKoZIhvcNAQELBQADgYEAWkPa5o/iZ5a70RM95uCKhAkJxZs/Vl+2PImx9tdzSPb+MeHel4h/aAGQUuKciFsdejWR+suF79QCFi1YM4QKP2ZuojiHYVjuByEAE2lJUeS7Q1VQNFqnqGtrggeZ/+n/NBMtTy7F1hrEQuOM+j+ipBE/WFu1XE59Z6wm4oAdLZE= \ No newline at end of file diff --git a/Contacts/Contacts/publish/setup.exe b/Contacts/Contacts/publish/setup.exe new file mode 100644 index 0000000..f7dddbb Binary files /dev/null and b/Contacts/Contacts/publish/setup.exe differ