курсы 2 years ago
commit
6b8501ccd6
100 changed files with 33677 additions and 0 deletions
  1. 258 0
      AdmKlientForm.Designer.cs
  2. 41 0
      AdmKlientForm.cs
  3. 590 0
      AdmKlientForm.resx
  4. 91 0
      AdminAuthForm.Designer.cs
  5. 37 0
      AdminAuthForm.cs
  6. 506 0
      AdminAuthForm.resx
  7. 140 0
      AdminForm.Designer.cs
  8. 41 0
      AdminForm.cs
  9. 575 0
      AdminForm.resx
  10. 27 0
      App.config
  11. 251 0
      BeautySaloon.csproj
  12. 25 0
      BeautySaloon.sln
  13. 41 0
      Client.cs
  14. 37 0
      ClientService.cs
  15. 23 0
      DocumentByService.cs
  16. 459 0
      EditKlientForm.Designer.cs
  17. 79 0
      EditKlientForm.cs
  18. 611 0
      EditKlientForm.resx
  19. 156 0
      Form1.Designer.cs
  20. 45 0
      Form1.cs
  21. 575 0
      Form1.resx
  22. 29 0
      Gender.cs
  23. 362 0
      KlientForm.Designer.cs
  24. 67 0
      KlientForm.cs
  25. 748 0
      KlientForm.resx
  26. 30 0
      Manufacturer.cs
  27. 44 0
      Product.cs
  28. 23 0
      ProductPhoto.cs
  29. 26 0
      ProductSale.cs
  30. 22 0
      Program.cs
  31. 36 0
      Properties/AssemblyInfo.cs
  32. 70 0
      Properties/Resources.Designer.cs
  33. 117 0
      Properties/Resources.resx
  34. 36 0
      Properties/Settings.Designer.cs
  35. 14 0
      Properties/Settings.settings
  36. 146 0
      SaloonModel.Context.cs
  37. 636 0
      SaloonModel.Context.tt
  38. 10 0
      SaloonModel.Designer.cs
  39. 9 0
      SaloonModel.cs
  40. 950 0
      SaloonModel.edmx
  41. 34 0
      SaloonModel.edmx.diagram
  42. 733 0
      SaloonModel.tt
  43. 37 0
      Service.cs
  44. 384 0
      ServiceEditForm.Designer.cs
  45. 79 0
      ServiceEditForm.cs
  46. 602 0
      ServiceEditForm.resx
  47. 231 0
      ServiceForm.Designer.cs
  48. 41 0
      ServiceForm.cs
  49. 590 0
      ServiceForm.resx
  50. 23 0
      ServicePhoto.cs
  51. 30 0
      Tag.cs
  52. 7061 0
      beauty_saloonDataSet.Designer.cs
  53. 1 0
      beauty_saloonDataSet.xsc
  54. 11 0
      beauty_saloonDataSet.xsd
  55. 1 0
      beauty_saloonDataSet.xss
  56. BIN
      bin/Debug/BeautySaloon.exe
  57. 27 0
      bin/Debug/BeautySaloon.exe.config
  58. BIN
      bin/Debug/BeautySaloon.pdb
  59. BIN
      bin/Debug/EntityFramework.SqlServer.dll
  60. 2093 0
      bin/Debug/EntityFramework.SqlServer.xml
  61. BIN
      bin/Debug/EntityFramework.dll
  62. 5356 0
      bin/Debug/EntityFramework.xml
  63. BIN
      bin/Debug/ru/EntityFramework.resources.dll
  64. 4 0
      obj/Debug/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs
  65. BIN
      obj/Debug/BeautySaloon.AdmKlientForm.resources
  66. BIN
      obj/Debug/BeautySaloon.AdminAuthForm.resources
  67. BIN
      obj/Debug/BeautySaloon.AdminForm.resources
  68. BIN
      obj/Debug/BeautySaloon.AuthForm.resources
  69. BIN
      obj/Debug/BeautySaloon.EditKlientForm.resources
  70. BIN
      obj/Debug/BeautySaloon.KlientForm.resources
  71. BIN
      obj/Debug/BeautySaloon.Properties.Resources.resources
  72. BIN
      obj/Debug/BeautySaloon.ServiceEditForm.resources
  73. BIN
      obj/Debug/BeautySaloon.ServiceForm.resources
  74. BIN
      obj/Debug/BeautySaloon.csproj.AssemblyReference.cache
  75. 0 0
      obj/Debug/BeautySaloon.csproj.CopyComplete
  76. 1 0
      obj/Debug/BeautySaloon.csproj.CoreCompileInputs.cache
  77. 23 0
      obj/Debug/BeautySaloon.csproj.FileListAbsolute.txt
  78. BIN
      obj/Debug/BeautySaloon.csproj.GenerateResource.cache
  79. BIN
      obj/Debug/BeautySaloon.exe
  80. BIN
      obj/Debug/BeautySaloon.pdb
  81. BIN
      obj/Debug/DesignTimeResolveAssemblyReferences.cache
  82. BIN
      obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
  83. 0 0
      obj/Debug/TempPE/SaloonModel.Context.cs.dll
  84. BIN
      obj/Debug/TempPE/SaloonModel.Designer.cs.dll
  85. BIN
      obj/Debug/TempPE/SaloonModel.cs.dll
  86. BIN
      obj/Debug/TempPE/beauty_saloonDataSet.Designer.cs.dll
  87. 356 0
      obj/Debug/edmxResourcesToEmbed/SaloonModel.csdl
  88. 173 0
      obj/Debug/edmxResourcesToEmbed/SaloonModel.msl
  89. 390 0
      obj/Debug/edmxResourcesToEmbed/SaloonModel.ssdl
  90. 5 0
      packages.config
  91. 5 0
      packages/EntityFramework.6.2.0/Content/net40/App.config.transform
  92. 5 0
      packages/EntityFramework.6.2.0/Content/net40/Web.config.transform
  93. BIN
      packages/EntityFramework.6.2.0/EntityFramework.6.2.0.nupkg
  94. BIN
      packages/EntityFramework.6.2.0/lib/net40/EntityFramework.SqlServer.dll
  95. 1959 0
      packages/EntityFramework.6.2.0/lib/net40/EntityFramework.SqlServer.xml
  96. BIN
      packages/EntityFramework.6.2.0/lib/net40/EntityFramework.dll
  97. 5356 0
      packages/EntityFramework.6.2.0/lib/net40/EntityFramework.xml
  98. BIN
      packages/EntityFramework.6.2.0/lib/net40/ru/EntityFramework.resources.dll
  99. 83 0
      packages/EntityFramework.6.2.0/lib/net40/ru/EntityFramework.xml
  100. BIN
      packages/EntityFramework.6.2.0/lib/net45/EntityFramework.SqlServer.dll

+ 258 - 0
AdmKlientForm.Designer.cs

@@ -0,0 +1,258 @@
+
+namespace BeautySaloon
+{
+    partial class AdmKlientForm
+    {
+        /// <summary>
+        /// Required designer variable.
+        /// </summary>
+        private System.ComponentModel.IContainer components = null;
+
+        /// <summary>
+        /// Clean up any resources being used.
+        /// </summary>
+        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+        protected override void Dispose(bool disposing)
+        {
+            if (disposing && (components != null))
+            {
+                components.Dispose();
+            }
+            base.Dispose(disposing);
+        }
+
+        #region Windows Form Designer generated code
+
+        /// <summary>
+        /// Required method for Designer support - do not modify
+        /// the contents of this method with the code editor.
+        /// </summary>
+        private void InitializeComponent()
+        {
+            this.components = new System.ComponentModel.Container();
+            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AdmKlientForm));
+            this.panel1 = new System.Windows.Forms.Panel();
+            this.label1 = new System.Windows.Forms.Label();
+            this.pictureBox1 = new System.Windows.Forms.PictureBox();
+            this.dataGridView1 = new System.Windows.Forms.DataGridView();
+            this.iDDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.firstNameDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.lastNameDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.patronymicDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.birthdayDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.registrationDateDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.emailDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.phoneDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.genderCodeDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.photoPathDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.clientBindingSource = new System.Windows.Forms.BindingSource(this.components);
+            this.beauty_saloonDataSet = new BeautySaloon.beauty_saloonDataSet();
+            this.clientTableAdapter = new BeautySaloon.beauty_saloonDataSetTableAdapters.ClientTableAdapter();
+            this.editButton = new System.Windows.Forms.Button();
+            this.ExitButton = new System.Windows.Forms.Button();
+            this.panel1.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.clientBindingSource)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.beauty_saloonDataSet)).BeginInit();
+            this.SuspendLayout();
+            // 
+            // panel1
+            // 
+            this.panel1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(74)))), ((int)(((byte)(109)))));
+            this.panel1.Controls.Add(this.label1);
+            this.panel1.Location = new System.Drawing.Point(76, 0);
+            this.panel1.Name = "panel1";
+            this.panel1.Size = new System.Drawing.Size(724, 79);
+            this.panel1.TabIndex = 6;
+            // 
+            // label1
+            // 
+            this.label1.AutoSize = true;
+            this.label1.Font = new System.Drawing.Font("Tahoma", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+            this.label1.Location = new System.Drawing.Point(305, 20);
+            this.label1.Name = "label1";
+            this.label1.Size = new System.Drawing.Size(86, 23);
+            this.label1.TabIndex = 0;
+            this.label1.Text = "Клиенты";
+            // 
+            // pictureBox1
+            // 
+            this.pictureBox1.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox1.Image")));
+            this.pictureBox1.Location = new System.Drawing.Point(-1, 0);
+            this.pictureBox1.Name = "pictureBox1";
+            this.pictureBox1.Size = new System.Drawing.Size(121, 85);
+            this.pictureBox1.TabIndex = 7;
+            this.pictureBox1.TabStop = false;
+            // 
+            // dataGridView1
+            // 
+            this.dataGridView1.AutoGenerateColumns = false;
+            this.dataGridView1.BackgroundColor = System.Drawing.Color.FromArgb(((int)(((byte)(225)))), ((int)(((byte)(228)))), ((int)(((byte)(255)))));
+            this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
+            this.dataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
+            this.iDDataGridViewTextBoxColumn,
+            this.firstNameDataGridViewTextBoxColumn,
+            this.lastNameDataGridViewTextBoxColumn,
+            this.patronymicDataGridViewTextBoxColumn,
+            this.birthdayDataGridViewTextBoxColumn,
+            this.registrationDateDataGridViewTextBoxColumn,
+            this.emailDataGridViewTextBoxColumn,
+            this.phoneDataGridViewTextBoxColumn,
+            this.genderCodeDataGridViewTextBoxColumn,
+            this.photoPathDataGridViewTextBoxColumn});
+            this.dataGridView1.DataSource = this.clientBindingSource;
+            this.dataGridView1.Location = new System.Drawing.Point(-1, 78);
+            this.dataGridView1.Name = "dataGridView1";
+            this.dataGridView1.Size = new System.Drawing.Size(801, 302);
+            this.dataGridView1.TabIndex = 8;
+            // 
+            // iDDataGridViewTextBoxColumn
+            // 
+            this.iDDataGridViewTextBoxColumn.DataPropertyName = "ID";
+            this.iDDataGridViewTextBoxColumn.HeaderText = "ID";
+            this.iDDataGridViewTextBoxColumn.Name = "iDDataGridViewTextBoxColumn";
+            this.iDDataGridViewTextBoxColumn.ReadOnly = true;
+            // 
+            // firstNameDataGridViewTextBoxColumn
+            // 
+            this.firstNameDataGridViewTextBoxColumn.DataPropertyName = "FirstName";
+            this.firstNameDataGridViewTextBoxColumn.HeaderText = "FirstName";
+            this.firstNameDataGridViewTextBoxColumn.Name = "firstNameDataGridViewTextBoxColumn";
+            // 
+            // lastNameDataGridViewTextBoxColumn
+            // 
+            this.lastNameDataGridViewTextBoxColumn.DataPropertyName = "LastName";
+            this.lastNameDataGridViewTextBoxColumn.HeaderText = "LastName";
+            this.lastNameDataGridViewTextBoxColumn.Name = "lastNameDataGridViewTextBoxColumn";
+            // 
+            // patronymicDataGridViewTextBoxColumn
+            // 
+            this.patronymicDataGridViewTextBoxColumn.DataPropertyName = "Patronymic";
+            this.patronymicDataGridViewTextBoxColumn.HeaderText = "Patronymic";
+            this.patronymicDataGridViewTextBoxColumn.Name = "patronymicDataGridViewTextBoxColumn";
+            // 
+            // birthdayDataGridViewTextBoxColumn
+            // 
+            this.birthdayDataGridViewTextBoxColumn.DataPropertyName = "Birthday";
+            this.birthdayDataGridViewTextBoxColumn.HeaderText = "Birthday";
+            this.birthdayDataGridViewTextBoxColumn.Name = "birthdayDataGridViewTextBoxColumn";
+            // 
+            // registrationDateDataGridViewTextBoxColumn
+            // 
+            this.registrationDateDataGridViewTextBoxColumn.DataPropertyName = "RegistrationDate";
+            this.registrationDateDataGridViewTextBoxColumn.HeaderText = "RegistrationDate";
+            this.registrationDateDataGridViewTextBoxColumn.Name = "registrationDateDataGridViewTextBoxColumn";
+            // 
+            // emailDataGridViewTextBoxColumn
+            // 
+            this.emailDataGridViewTextBoxColumn.DataPropertyName = "Email";
+            this.emailDataGridViewTextBoxColumn.HeaderText = "Email";
+            this.emailDataGridViewTextBoxColumn.Name = "emailDataGridViewTextBoxColumn";
+            // 
+            // phoneDataGridViewTextBoxColumn
+            // 
+            this.phoneDataGridViewTextBoxColumn.DataPropertyName = "Phone";
+            this.phoneDataGridViewTextBoxColumn.HeaderText = "Phone";
+            this.phoneDataGridViewTextBoxColumn.Name = "phoneDataGridViewTextBoxColumn";
+            // 
+            // genderCodeDataGridViewTextBoxColumn
+            // 
+            this.genderCodeDataGridViewTextBoxColumn.DataPropertyName = "GenderCode";
+            this.genderCodeDataGridViewTextBoxColumn.HeaderText = "GenderCode";
+            this.genderCodeDataGridViewTextBoxColumn.Name = "genderCodeDataGridViewTextBoxColumn";
+            // 
+            // photoPathDataGridViewTextBoxColumn
+            // 
+            this.photoPathDataGridViewTextBoxColumn.DataPropertyName = "PhotoPath";
+            this.photoPathDataGridViewTextBoxColumn.HeaderText = "PhotoPath";
+            this.photoPathDataGridViewTextBoxColumn.Name = "photoPathDataGridViewTextBoxColumn";
+            // 
+            // clientBindingSource
+            // 
+            this.clientBindingSource.DataMember = "Client";
+            this.clientBindingSource.DataSource = this.beauty_saloonDataSet;
+            // 
+            // beauty_saloonDataSet
+            // 
+            this.beauty_saloonDataSet.DataSetName = "beauty_saloonDataSet";
+            this.beauty_saloonDataSet.SchemaSerializationMode = System.Data.SchemaSerializationMode.IncludeSchema;
+            // 
+            // clientTableAdapter
+            // 
+            this.clientTableAdapter.ClearBeforeFill = true;
+            // 
+            // editButton
+            // 
+            this.editButton.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(225)))), ((int)(((byte)(228)))), ((int)(((byte)(255)))));
+            this.editButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
+            this.editButton.Font = new System.Drawing.Font("Tahoma", 14.25F);
+            this.editButton.Location = new System.Drawing.Point(12, 400);
+            this.editButton.Name = "editButton";
+            this.editButton.Size = new System.Drawing.Size(372, 38);
+            this.editButton.TabIndex = 10;
+            this.editButton.Text = "Добавление/редактирование клиентов";
+            this.editButton.UseVisualStyleBackColor = false;
+            this.editButton.Click += new System.EventHandler(this.editButton_Click);
+            // 
+            // ExitButton
+            // 
+            this.ExitButton.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(225)))), ((int)(((byte)(228)))), ((int)(((byte)(255)))));
+            this.ExitButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
+            this.ExitButton.Font = new System.Drawing.Font("Tahoma", 14.25F);
+            this.ExitButton.Location = new System.Drawing.Point(628, 400);
+            this.ExitButton.Name = "ExitButton";
+            this.ExitButton.Size = new System.Drawing.Size(160, 38);
+            this.ExitButton.TabIndex = 9;
+            this.ExitButton.Text = "Выход";
+            this.ExitButton.UseVisualStyleBackColor = false;
+            this.ExitButton.Click += new System.EventHandler(this.ExitButton_Click);
+            // 
+            // AdmKlientForm
+            // 
+            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+            this.BackColor = System.Drawing.Color.White;
+            this.ClientSize = new System.Drawing.Size(800, 450);
+            this.Controls.Add(this.editButton);
+            this.Controls.Add(this.ExitButton);
+            this.Controls.Add(this.dataGridView1);
+            this.Controls.Add(this.panel1);
+            this.Controls.Add(this.pictureBox1);
+            this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
+            this.Name = "AdmKlientForm";
+            this.Text = "Клиенты";
+            this.Load += new System.EventHandler(this.AdmKlientForm_Load);
+            this.panel1.ResumeLayout(false);
+            this.panel1.PerformLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.clientBindingSource)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.beauty_saloonDataSet)).EndInit();
+            this.ResumeLayout(false);
+
+        }
+
+        #endregion
+
+        private System.Windows.Forms.Panel panel1;
+        private System.Windows.Forms.Label label1;
+        private System.Windows.Forms.PictureBox pictureBox1;
+        private System.Windows.Forms.DataGridView dataGridView1;
+        private beauty_saloonDataSet beauty_saloonDataSet;
+        private System.Windows.Forms.BindingSource clientBindingSource;
+        private beauty_saloonDataSetTableAdapters.ClientTableAdapter clientTableAdapter;
+        private System.Windows.Forms.DataGridViewTextBoxColumn iDDataGridViewTextBoxColumn;
+        private System.Windows.Forms.DataGridViewTextBoxColumn firstNameDataGridViewTextBoxColumn;
+        private System.Windows.Forms.DataGridViewTextBoxColumn lastNameDataGridViewTextBoxColumn;
+        private System.Windows.Forms.DataGridViewTextBoxColumn patronymicDataGridViewTextBoxColumn;
+        private System.Windows.Forms.DataGridViewTextBoxColumn birthdayDataGridViewTextBoxColumn;
+        private System.Windows.Forms.DataGridViewTextBoxColumn registrationDateDataGridViewTextBoxColumn;
+        private System.Windows.Forms.DataGridViewTextBoxColumn emailDataGridViewTextBoxColumn;
+        private System.Windows.Forms.DataGridViewTextBoxColumn phoneDataGridViewTextBoxColumn;
+        private System.Windows.Forms.DataGridViewTextBoxColumn genderCodeDataGridViewTextBoxColumn;
+        private System.Windows.Forms.DataGridViewTextBoxColumn photoPathDataGridViewTextBoxColumn;
+        private System.Windows.Forms.Button editButton;
+        private System.Windows.Forms.Button ExitButton;
+    }
+}

+ 41 - 0
AdmKlientForm.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 BeautySaloon
+{
+    public partial class AdmKlientForm : Form
+    {
+        public AdmKlientForm()
+        {
+            InitializeComponent();
+        }
+
+        private void AdmKlientForm_Load(object sender, EventArgs e)
+        {
+            // TODO: данная строка кода позволяет загрузить данные в таблицу "beauty_saloonDataSet.Client". При необходимости она может быть перемещена или удалена.
+            this.clientTableAdapter.Fill(this.beauty_saloonDataSet.Client);
+
+        }
+
+        private void editButton_Click(object sender, EventArgs e)
+        {
+            EditKlientForm form = new EditKlientForm();
+            form.Show();
+            this.Close();
+        }
+
+        private void ExitButton_Click(object sender, EventArgs e)
+        {
+            AdminForm form = new AdminForm();
+            form.Show();
+            this.Close();
+        }
+    }
+}

+ 590 - 0
AdmKlientForm.resx

@@ -0,0 +1,590 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+  <data name="pictureBox1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        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
+        SUVORK5CYII=
+</value>
+  </data>
+  <metadata name="clientBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>189, 17</value>
+  </metadata>
+  <metadata name="clientBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>189, 17</value>
+  </metadata>
+  <metadata name="beauty_saloonDataSet.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>17, 17</value>
+  </metadata>
+  <metadata name="beauty_saloonDataSet.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>17, 17</value>
+  </metadata>
+  <metadata name="clientTableAdapter.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>349, 17</value>
+  </metadata>
+  <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        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
+        zAAAAABJRU5ErkJggg==
+</value>
+  </data>
+</root>

+ 91 - 0
AdminAuthForm.Designer.cs

@@ -0,0 +1,91 @@
+
+namespace BeautySaloon
+{
+    partial class AdminAuthForm
+    {
+        /// <summary>
+        /// Required designer variable.
+        /// </summary>
+        private System.ComponentModel.IContainer components = null;
+
+        /// <summary>
+        /// Clean up any resources being used.
+        /// </summary>
+        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+        protected override void Dispose(bool disposing)
+        {
+            if (disposing && (components != null))
+            {
+                components.Dispose();
+            }
+            base.Dispose(disposing);
+        }
+
+        #region Windows Form Designer generated code
+
+        /// <summary>
+        /// Required method for Designer support - do not modify
+        /// the contents of this method with the code editor.
+        /// </summary>
+        private void InitializeComponent()
+        {
+            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AdminAuthForm));
+            this.AuthBox = new System.Windows.Forms.TextBox();
+            this.label1 = new System.Windows.Forms.Label();
+            this.AuthButton = new System.Windows.Forms.Button();
+            this.SuspendLayout();
+            // 
+            // AuthBox
+            // 
+            this.AuthBox.Font = new System.Drawing.Font("Tahoma", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+            this.AuthBox.Location = new System.Drawing.Point(88, 60);
+            this.AuthBox.Name = "AuthBox";
+            this.AuthBox.Size = new System.Drawing.Size(133, 30);
+            this.AuthBox.TabIndex = 0;
+            // 
+            // label1
+            // 
+            this.label1.AutoSize = true;
+            this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+            this.label1.Location = new System.Drawing.Point(12, 9);
+            this.label1.Name = "label1";
+            this.label1.Size = new System.Drawing.Size(283, 48);
+            this.label1.TabIndex = 1;
+            this.label1.Text = "Введите пароль для входа \r\n в режим администратора";
+            // 
+            // AuthButton
+            // 
+            this.AuthButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
+            this.AuthButton.Font = new System.Drawing.Font("Tahoma", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+            this.AuthButton.Location = new System.Drawing.Point(88, 107);
+            this.AuthButton.Name = "AuthButton";
+            this.AuthButton.Size = new System.Drawing.Size(133, 38);
+            this.AuthButton.TabIndex = 2;
+            this.AuthButton.Text = "Войти";
+            this.AuthButton.UseVisualStyleBackColor = true;
+            this.AuthButton.Click += new System.EventHandler(this.AuthButton_Click);
+            // 
+            // AdminAuthForm
+            // 
+            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+            this.BackColor = System.Drawing.Color.White;
+            this.ClientSize = new System.Drawing.Size(304, 164);
+            this.Controls.Add(this.AuthButton);
+            this.Controls.Add(this.label1);
+            this.Controls.Add(this.AuthBox);
+            this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
+            this.Name = "AdminAuthForm";
+            this.Text = "Авторизация";
+            this.ResumeLayout(false);
+            this.PerformLayout();
+
+        }
+
+        #endregion
+
+        private System.Windows.Forms.TextBox AuthBox;
+        private System.Windows.Forms.Label label1;
+        private System.Windows.Forms.Button AuthButton;
+    }
+}

+ 37 - 0
AdminAuthForm.cs

@@ -0,0 +1,37 @@
+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 BeautySaloon
+{
+    public partial class AdminAuthForm : Form
+    {
+        public AdminAuthForm()
+        {
+            InitializeComponent();
+        }
+
+        private void AuthButton_Click(object sender, EventArgs e)
+        {
+            if (AuthBox.Text == "0000")
+            {
+                AdminForm form = new AdminForm();
+                form.Show();
+                this.Close();
+            }
+            else
+            {
+                MessageBox.Show("Пароль введен неверно!");
+                AuthForm form = new AuthForm();
+                form.Show();
+                this.Close();
+            }
+        }
+    }
+}

+ 506 - 0
AdminAuthForm.resx

@@ -0,0 +1,506 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+  <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        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
+        zAAAAABJRU5ErkJggg==
+</value>
+  </data>
+</root>

+ 140 - 0
AdminForm.Designer.cs

@@ -0,0 +1,140 @@
+
+namespace BeautySaloon
+{
+    partial class AdminForm
+    {
+        /// <summary>
+        /// Required designer variable.
+        /// </summary>
+        private System.ComponentModel.IContainer components = null;
+
+        /// <summary>
+        /// Clean up any resources being used.
+        /// </summary>
+        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+        protected override void Dispose(bool disposing)
+        {
+            if (disposing && (components != null))
+            {
+                components.Dispose();
+            }
+            base.Dispose(disposing);
+        }
+
+        #region Windows Form Designer generated code
+
+        /// <summary>
+        /// Required method for Designer support - do not modify
+        /// the contents of this method with the code editor.
+        /// </summary>
+        private void InitializeComponent()
+        {
+            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AdminForm));
+            this.panel1 = new System.Windows.Forms.Panel();
+            this.label1 = new System.Windows.Forms.Label();
+            this.pictureBox1 = new System.Windows.Forms.PictureBox();
+            this.klientButton = new System.Windows.Forms.Button();
+            this.ServiceButton = new System.Windows.Forms.Button();
+            this.ExitButton = new System.Windows.Forms.Button();
+            this.panel1.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
+            this.SuspendLayout();
+            // 
+            // panel1
+            // 
+            this.panel1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(74)))), ((int)(((byte)(109)))));
+            this.panel1.Controls.Add(this.label1);
+            this.panel1.Location = new System.Drawing.Point(79, 1);
+            this.panel1.Name = "panel1";
+            this.panel1.Size = new System.Drawing.Size(277, 79);
+            this.panel1.TabIndex = 2;
+            // 
+            // label1
+            // 
+            this.label1.AutoSize = true;
+            this.label1.Font = new System.Drawing.Font("Tahoma", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+            this.label1.Location = new System.Drawing.Point(29, 23);
+            this.label1.Name = "label1";
+            this.label1.Size = new System.Drawing.Size(218, 23);
+            this.label1.TabIndex = 0;
+            this.label1.Text = "Режим администратора";
+            // 
+            // pictureBox1
+            // 
+            this.pictureBox1.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox1.Image")));
+            this.pictureBox1.Location = new System.Drawing.Point(2, 1);
+            this.pictureBox1.Name = "pictureBox1";
+            this.pictureBox1.Size = new System.Drawing.Size(121, 85);
+            this.pictureBox1.TabIndex = 3;
+            this.pictureBox1.TabStop = false;
+            // 
+            // klientButton
+            // 
+            this.klientButton.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(225)))), ((int)(((byte)(228)))), ((int)(((byte)(255)))));
+            this.klientButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
+            this.klientButton.Font = new System.Drawing.Font("Tahoma", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+            this.klientButton.Location = new System.Drawing.Point(66, 219);
+            this.klientButton.Name = "klientButton";
+            this.klientButton.Size = new System.Drawing.Size(229, 52);
+            this.klientButton.TabIndex = 4;
+            this.klientButton.Text = "Клиенты";
+            this.klientButton.UseVisualStyleBackColor = false;
+            this.klientButton.Click += new System.EventHandler(this.klientButton_Click);
+            // 
+            // ServiceButton
+            // 
+            this.ServiceButton.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(225)))), ((int)(((byte)(228)))), ((int)(((byte)(255)))));
+            this.ServiceButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
+            this.ServiceButton.Font = new System.Drawing.Font("Tahoma", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+            this.ServiceButton.Location = new System.Drawing.Point(66, 115);
+            this.ServiceButton.Name = "ServiceButton";
+            this.ServiceButton.Size = new System.Drawing.Size(229, 52);
+            this.ServiceButton.TabIndex = 5;
+            this.ServiceButton.Text = "Услуги";
+            this.ServiceButton.UseVisualStyleBackColor = false;
+            this.ServiceButton.Click += new System.EventHandler(this.ServiceButton_Click);
+            // 
+            // ExitButton
+            // 
+            this.ExitButton.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(225)))), ((int)(((byte)(228)))), ((int)(((byte)(255)))));
+            this.ExitButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
+            this.ExitButton.Font = new System.Drawing.Font("Tahoma", 14.25F);
+            this.ExitButton.Location = new System.Drawing.Point(66, 336);
+            this.ExitButton.Name = "ExitButton";
+            this.ExitButton.Size = new System.Drawing.Size(229, 52);
+            this.ExitButton.TabIndex = 6;
+            this.ExitButton.Text = "Выход";
+            this.ExitButton.UseVisualStyleBackColor = false;
+            this.ExitButton.Click += new System.EventHandler(this.ExitButton_Click);
+            // 
+            // AdminForm
+            // 
+            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+            this.BackColor = System.Drawing.Color.White;
+            this.ClientSize = new System.Drawing.Size(356, 450);
+            this.Controls.Add(this.ExitButton);
+            this.Controls.Add(this.ServiceButton);
+            this.Controls.Add(this.klientButton);
+            this.Controls.Add(this.panel1);
+            this.Controls.Add(this.pictureBox1);
+            this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
+            this.Name = "AdminForm";
+            this.Text = "Администрирование";
+            this.panel1.ResumeLayout(false);
+            this.panel1.PerformLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
+            this.ResumeLayout(false);
+
+        }
+
+        #endregion
+
+        private System.Windows.Forms.Panel panel1;
+        private System.Windows.Forms.Label label1;
+        private System.Windows.Forms.PictureBox pictureBox1;
+        private System.Windows.Forms.Button klientButton;
+        private System.Windows.Forms.Button ServiceButton;
+        private System.Windows.Forms.Button ExitButton;
+    }
+}

+ 41 - 0
AdminForm.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 BeautySaloon
+{
+    public partial class AdminForm : Form
+    {
+        public AdminForm()
+        {
+            InitializeComponent();
+        }
+
+        private void ServiceButton_Click(object sender, EventArgs e)
+        {
+            ServiceForm form = new ServiceForm();
+            form.Show();
+            this.Close();
+        }
+
+        private void ExitButton_Click(object sender, EventArgs e)
+        {
+            AuthForm form = new AuthForm();
+            form.Show();
+            this.Close();
+        }
+
+        private void klientButton_Click(object sender, EventArgs e)
+        {
+            AdmKlientForm form = new AdmKlientForm();
+            form.Show();
+            this.Close();
+        }
+    }
+}

+ 575 - 0
AdminForm.resx

@@ -0,0 +1,575 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+  <data name="pictureBox1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        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
+        SUVORK5CYII=
+</value>
+  </data>
+  <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        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
+        zAAAAABJRU5ErkJggg==
+</value>
+  </data>
+</root>

+ 27 - 0
App.config

@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+  <configSections>
+    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
+    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
+  </configSections>
+  <startup>
+    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
+  </startup>
+  <connectionStrings>
+    <add name="beauty_saloonEntities" connectionString="metadata=res://*/SaloonModel.csdl|res://*/SaloonModel.ssdl|res://*/SaloonModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=CLASS31000;initial catalog=beauty_saloon;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;"
+      providerName="System.Data.EntityClient" />
+    <add name="BeautySaloon.Properties.Settings.beauty_saloonConnectionString"
+      connectionString="Data Source=class31000;Initial Catalog=beauty_saloon;Integrated Security=True"
+      providerName="System.Data.SqlClient" />
+  </connectionStrings>
+  <entityFramework>
+    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
+      <parameters>
+        <parameter value="mssqllocaldb" />
+      </parameters>
+    </defaultConnectionFactory>
+    <providers>
+      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
+    </providers>
+  </entityFramework>
+</configuration>

+ 251 - 0
BeautySaloon.csproj

@@ -0,0 +1,251 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProjectGuid>{2E0AF632-3EF4-42C8-8BF7-2270259D92D7}</ProjectGuid>
+    <OutputType>WinExe</OutputType>
+    <RootNamespace>BeautySaloon</RootNamespace>
+    <AssemblyName>BeautySaloon</AssemblyName>
+    <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
+    <FileAlignment>512</FileAlignment>
+    <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
+    <Deterministic>true</Deterministic>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <PlatformTarget>AnyCPU</PlatformTarget>
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <PlatformTarget>AnyCPU</PlatformTarget>
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
+      <HintPath>packages\EntityFramework.6.2.0\lib\net45\EntityFramework.dll</HintPath>
+    </Reference>
+    <Reference Include="EntityFramework.SqlServer, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
+      <HintPath>packages\EntityFramework.6.2.0\lib\net45\EntityFramework.SqlServer.dll</HintPath>
+    </Reference>
+    <Reference Include="System" />
+    <Reference Include="System.ComponentModel.DataAnnotations" />
+    <Reference Include="System.Core" />
+    <Reference Include="System.Runtime.Serialization" />
+    <Reference Include="System.Security" />
+    <Reference Include="System.Xml.Linq" />
+    <Reference Include="System.Data.DataSetExtensions" />
+    <Reference Include="Microsoft.CSharp" />
+    <Reference Include="System.Data" />
+    <Reference Include="System.Deployment" />
+    <Reference Include="System.Drawing" />
+    <Reference Include="System.Net.Http" />
+    <Reference Include="System.Windows.Forms" />
+    <Reference Include="System.Xml" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="AdminAuthForm.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="AdminAuthForm.Designer.cs">
+      <DependentUpon>AdminAuthForm.cs</DependentUpon>
+    </Compile>
+    <Compile Include="AdminForm.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="AdminForm.Designer.cs">
+      <DependentUpon>AdminForm.cs</DependentUpon>
+    </Compile>
+    <Compile Include="AdmKlientForm.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="AdmKlientForm.Designer.cs">
+      <DependentUpon>AdmKlientForm.cs</DependentUpon>
+    </Compile>
+    <Compile Include="beauty_saloonDataSet.Designer.cs">
+      <AutoGen>True</AutoGen>
+      <DesignTime>True</DesignTime>
+      <DependentUpon>beauty_saloonDataSet.xsd</DependentUpon>
+    </Compile>
+    <Compile Include="Client.cs">
+      <DependentUpon>SaloonModel.tt</DependentUpon>
+    </Compile>
+    <Compile Include="ClientService.cs">
+      <DependentUpon>SaloonModel.tt</DependentUpon>
+    </Compile>
+    <Compile Include="DocumentByService.cs">
+      <DependentUpon>SaloonModel.tt</DependentUpon>
+    </Compile>
+    <Compile Include="EditKlientForm.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="EditKlientForm.Designer.cs">
+      <DependentUpon>EditKlientForm.cs</DependentUpon>
+    </Compile>
+    <Compile Include="Form1.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="Form1.Designer.cs">
+      <DependentUpon>Form1.cs</DependentUpon>
+    </Compile>
+    <Compile Include="Gender.cs">
+      <DependentUpon>SaloonModel.tt</DependentUpon>
+    </Compile>
+    <Compile Include="KlientForm.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="KlientForm.Designer.cs">
+      <DependentUpon>KlientForm.cs</DependentUpon>
+    </Compile>
+    <Compile Include="Manufacturer.cs">
+      <DependentUpon>SaloonModel.tt</DependentUpon>
+    </Compile>
+    <Compile Include="Product.cs">
+      <DependentUpon>SaloonModel.tt</DependentUpon>
+    </Compile>
+    <Compile Include="ProductPhoto.cs">
+      <DependentUpon>SaloonModel.tt</DependentUpon>
+    </Compile>
+    <Compile Include="ProductSale.cs">
+      <DependentUpon>SaloonModel.tt</DependentUpon>
+    </Compile>
+    <Compile Include="Program.cs" />
+    <Compile Include="Properties\AssemblyInfo.cs" />
+    <Compile Include="SaloonModel.Context.cs">
+      <AutoGen>True</AutoGen>
+      <DesignTime>True</DesignTime>
+      <DependentUpon>SaloonModel.Context.tt</DependentUpon>
+    </Compile>
+    <Compile Include="SaloonModel.cs">
+      <AutoGen>True</AutoGen>
+      <DesignTime>True</DesignTime>
+      <DependentUpon>SaloonModel.tt</DependentUpon>
+    </Compile>
+    <Compile Include="SaloonModel.Designer.cs">
+      <AutoGen>True</AutoGen>
+      <DesignTime>True</DesignTime>
+      <DependentUpon>SaloonModel.edmx</DependentUpon>
+    </Compile>
+    <Compile Include="Service.cs">
+      <DependentUpon>SaloonModel.tt</DependentUpon>
+    </Compile>
+    <Compile Include="ServiceEditForm.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="ServiceEditForm.Designer.cs">
+      <DependentUpon>ServiceEditForm.cs</DependentUpon>
+    </Compile>
+    <Compile Include="ServiceForm.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="ServiceForm.Designer.cs">
+      <DependentUpon>ServiceForm.cs</DependentUpon>
+    </Compile>
+    <Compile Include="ServicePhoto.cs">
+      <DependentUpon>SaloonModel.tt</DependentUpon>
+    </Compile>
+    <Compile Include="sp_helpdiagramdefinition_Result.cs">
+      <DependentUpon>SaloonModel.tt</DependentUpon>
+    </Compile>
+    <Compile Include="sp_helpdiagrams_Result.cs">
+      <DependentUpon>SaloonModel.tt</DependentUpon>
+    </Compile>
+    <Compile Include="sysdiagrams.cs">
+      <DependentUpon>SaloonModel.tt</DependentUpon>
+    </Compile>
+    <Compile Include="Tag.cs">
+      <DependentUpon>SaloonModel.tt</DependentUpon>
+    </Compile>
+    <EmbeddedResource Include="AdminAuthForm.resx">
+      <DependentUpon>AdminAuthForm.cs</DependentUpon>
+    </EmbeddedResource>
+    <EmbeddedResource Include="AdminForm.resx">
+      <DependentUpon>AdminForm.cs</DependentUpon>
+    </EmbeddedResource>
+    <EmbeddedResource Include="AdmKlientForm.resx">
+      <DependentUpon>AdmKlientForm.cs</DependentUpon>
+    </EmbeddedResource>
+    <EmbeddedResource Include="EditKlientForm.resx">
+      <DependentUpon>EditKlientForm.cs</DependentUpon>
+    </EmbeddedResource>
+    <EmbeddedResource Include="Form1.resx">
+      <DependentUpon>Form1.cs</DependentUpon>
+    </EmbeddedResource>
+    <EmbeddedResource Include="KlientForm.resx">
+      <DependentUpon>KlientForm.cs</DependentUpon>
+    </EmbeddedResource>
+    <EmbeddedResource Include="Properties\Resources.resx">
+      <Generator>ResXFileCodeGenerator</Generator>
+      <LastGenOutput>Resources.Designer.cs</LastGenOutput>
+      <SubType>Designer</SubType>
+    </EmbeddedResource>
+    <Compile Include="Properties\Resources.Designer.cs">
+      <AutoGen>True</AutoGen>
+      <DependentUpon>Resources.resx</DependentUpon>
+    </Compile>
+    <EmbeddedResource Include="ServiceEditForm.resx">
+      <DependentUpon>ServiceEditForm.cs</DependentUpon>
+    </EmbeddedResource>
+    <EmbeddedResource Include="ServiceForm.resx">
+      <DependentUpon>ServiceForm.cs</DependentUpon>
+    </EmbeddedResource>
+    <None Include="beauty_saloonDataSet.xsc">
+      <DependentUpon>beauty_saloonDataSet.xsd</DependentUpon>
+    </None>
+    <None Include="beauty_saloonDataSet.xsd">
+      <Generator>MSDataSetGenerator</Generator>
+      <LastGenOutput>beauty_saloonDataSet.Designer.cs</LastGenOutput>
+      <SubType>Designer</SubType>
+    </None>
+    <None Include="beauty_saloonDataSet.xss">
+      <DependentUpon>beauty_saloonDataSet.xsd</DependentUpon>
+    </None>
+    <None Include="packages.config" />
+    <None Include="Properties\Settings.settings">
+      <Generator>SettingsSingleFileGenerator</Generator>
+      <LastGenOutput>Settings.Designer.cs</LastGenOutput>
+    </None>
+    <Compile Include="Properties\Settings.Designer.cs">
+      <AutoGen>True</AutoGen>
+      <DependentUpon>Settings.settings</DependentUpon>
+      <DesignTimeSharedInput>True</DesignTimeSharedInput>
+    </Compile>
+    <EntityDeploy Include="SaloonModel.edmx">
+      <Generator>EntityModelCodeGenerator</Generator>
+      <LastGenOutput>SaloonModel.Designer.cs</LastGenOutput>
+    </EntityDeploy>
+    <None Include="SaloonModel.edmx.diagram">
+      <DependentUpon>SaloonModel.edmx</DependentUpon>
+    </None>
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="App.config" />
+  </ItemGroup>
+  <ItemGroup>
+    <Content Include="SaloonModel.Context.tt">
+      <Generator>TextTemplatingFileGenerator</Generator>
+      <LastGenOutput>SaloonModel.Context.cs</LastGenOutput>
+      <DependentUpon>SaloonModel.edmx</DependentUpon>
+    </Content>
+    <Content Include="SaloonModel.tt">
+      <Generator>TextTemplatingFileGenerator</Generator>
+      <DependentUpon>SaloonModel.edmx</DependentUpon>
+      <LastGenOutput>SaloonModel.cs</LastGenOutput>
+    </Content>
+  </ItemGroup>
+  <ItemGroup>
+    <Service Include="{508349B6-6B84-4DF5-91F0-309BEEBAD82D}" />
+  </ItemGroup>
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+</Project>

+ 25 - 0
BeautySaloon.sln

@@ -0,0 +1,25 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 16
+VisualStudioVersion = 16.0.32630.194
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BeautySaloon", "BeautySaloon.csproj", "{2E0AF632-3EF4-42C8-8BF7-2270259D92D7}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Any CPU = Debug|Any CPU
+		Release|Any CPU = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{2E0AF632-3EF4-42C8-8BF7-2270259D92D7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{2E0AF632-3EF4-42C8-8BF7-2270259D92D7}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{2E0AF632-3EF4-42C8-8BF7-2270259D92D7}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{2E0AF632-3EF4-42C8-8BF7-2270259D92D7}.Release|Any CPU.Build.0 = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+	GlobalSection(ExtensibilityGlobals) = postSolution
+		SolutionGuid = {5B7C26FB-AA7B-4EAC-8B29-8411C51A211E}
+	EndGlobalSection
+EndGlobal

+ 41 - 0
Client.cs

@@ -0,0 +1,41 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+//     Этот код создан по шаблону.
+//
+//     Изменения, вносимые в этот файл вручную, могут привести к непредвиденной работе приложения.
+//     Изменения, вносимые в этот файл вручную, будут перезаписаны при повторном создании кода.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace BeautySaloon
+{
+    using System;
+    using System.Collections.Generic;
+    
+    public partial class Client
+    {
+        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
+        public Client()
+        {
+            this.ClientService = new HashSet<ClientService>();
+            this.Tag = new HashSet<Tag>();
+        }
+    
+        public int ID { get; set; }
+        public string FirstName { get; set; }
+        public string LastName { get; set; }
+        public string Patronymic { get; set; }
+        public Nullable<System.DateTime> Birthday { get; set; }
+        public System.DateTime RegistrationDate { get; set; }
+        public string Email { get; set; }
+        public string Phone { get; set; }
+        public string GenderCode { get; set; }
+        public string PhotoPath { get; set; }
+    
+        public virtual Gender Gender { get; set; }
+        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+        public virtual ICollection<ClientService> ClientService { get; set; }
+        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+        public virtual ICollection<Tag> Tag { get; set; }
+    }
+}

+ 37 - 0
ClientService.cs

@@ -0,0 +1,37 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+//     Этот код создан по шаблону.
+//
+//     Изменения, вносимые в этот файл вручную, могут привести к непредвиденной работе приложения.
+//     Изменения, вносимые в этот файл вручную, будут перезаписаны при повторном создании кода.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace BeautySaloon
+{
+    using System;
+    using System.Collections.Generic;
+    
+    public partial class ClientService
+    {
+        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
+        public ClientService()
+        {
+            this.DocumentByService = new HashSet<DocumentByService>();
+            this.ProductSale = new HashSet<ProductSale>();
+        }
+    
+        public int ID { get; set; }
+        public int ClientID { get; set; }
+        public int ServiceID { get; set; }
+        public System.DateTime StartTime { get; set; }
+        public string Comment { get; set; }
+    
+        public virtual Client Client { get; set; }
+        public virtual Service Service { get; set; }
+        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+        public virtual ICollection<DocumentByService> DocumentByService { get; set; }
+        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+        public virtual ICollection<ProductSale> ProductSale { get; set; }
+    }
+}

+ 23 - 0
DocumentByService.cs

@@ -0,0 +1,23 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+//     Этот код создан по шаблону.
+//
+//     Изменения, вносимые в этот файл вручную, могут привести к непредвиденной работе приложения.
+//     Изменения, вносимые в этот файл вручную, будут перезаписаны при повторном создании кода.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace BeautySaloon
+{
+    using System;
+    using System.Collections.Generic;
+    
+    public partial class DocumentByService
+    {
+        public int ID { get; set; }
+        public int ClientServiceID { get; set; }
+        public string DocumentPath { get; set; }
+    
+        public virtual ClientService ClientService { get; set; }
+    }
+}

+ 459 - 0
EditKlientForm.Designer.cs

@@ -0,0 +1,459 @@
+
+namespace BeautySaloon
+{
+    partial class EditKlientForm
+    {
+        /// <summary>
+        /// Required designer variable.
+        /// </summary>
+        private System.ComponentModel.IContainer components = null;
+
+        /// <summary>
+        /// Clean up any resources being used.
+        /// </summary>
+        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+        protected override void Dispose(bool disposing)
+        {
+            if (disposing && (components != null))
+            {
+                components.Dispose();
+            }
+            base.Dispose(disposing);
+        }
+
+        #region Windows Form Designer generated code
+
+        /// <summary>
+        /// Required method for Designer support - do not modify
+        /// the contents of this method with the code editor.
+        /// </summary>
+        private void InitializeComponent()
+        {
+            this.components = new System.ComponentModel.Container();
+            System.Windows.Forms.Label firstNameLabel;
+            System.Windows.Forms.Label lastNameLabel;
+            System.Windows.Forms.Label patronymicLabel;
+            System.Windows.Forms.Label birthdayLabel;
+            System.Windows.Forms.Label registrationDateLabel;
+            System.Windows.Forms.Label emailLabel;
+            System.Windows.Forms.Label phoneLabel;
+            System.Windows.Forms.Label genderCodeLabel;
+            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(EditKlientForm));
+            this.panel1 = new System.Windows.Forms.Panel();
+            this.label1 = new System.Windows.Forms.Label();
+            this.pictureBox1 = new System.Windows.Forms.PictureBox();
+            this.beauty_saloonDataSet = new BeautySaloon.beauty_saloonDataSet();
+            this.clientBindingSource = new System.Windows.Forms.BindingSource(this.components);
+            this.clientTableAdapter = new BeautySaloon.beauty_saloonDataSetTableAdapters.ClientTableAdapter();
+            this.tableAdapterManager = new BeautySaloon.beauty_saloonDataSetTableAdapters.TableAdapterManager();
+            this.firstNameTextBox = new System.Windows.Forms.TextBox();
+            this.lastNameTextBox = new System.Windows.Forms.TextBox();
+            this.patronymicTextBox = new System.Windows.Forms.TextBox();
+            this.birthdayDateTimePicker = new System.Windows.Forms.DateTimePicker();
+            this.registrationDateDateTimePicker = new System.Windows.Forms.DateTimePicker();
+            this.emailTextBox = new System.Windows.Forms.TextBox();
+            this.phoneTextBox = new System.Windows.Forms.TextBox();
+            this.genderCodeTextBox = new System.Windows.Forms.TextBox();
+            this.AddButton = new System.Windows.Forms.Button();
+            this.exitButton = new System.Windows.Forms.Button();
+            this.SaveButton = new System.Windows.Forms.Button();
+            this.DelButton = new System.Windows.Forms.Button();
+            this.LastButton = new System.Windows.Forms.Button();
+            this.FirstButton = new System.Windows.Forms.Button();
+            this.PrevButton = new System.Windows.Forms.Button();
+            this.nextButton = new System.Windows.Forms.Button();
+            firstNameLabel = new System.Windows.Forms.Label();
+            lastNameLabel = new System.Windows.Forms.Label();
+            patronymicLabel = new System.Windows.Forms.Label();
+            birthdayLabel = new System.Windows.Forms.Label();
+            registrationDateLabel = new System.Windows.Forms.Label();
+            emailLabel = new System.Windows.Forms.Label();
+            phoneLabel = new System.Windows.Forms.Label();
+            genderCodeLabel = new System.Windows.Forms.Label();
+            this.panel1.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.beauty_saloonDataSet)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.clientBindingSource)).BeginInit();
+            this.SuspendLayout();
+            // 
+            // firstNameLabel
+            // 
+            firstNameLabel.AutoSize = true;
+            firstNameLabel.Font = new System.Drawing.Font("Tahoma", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+            firstNameLabel.Location = new System.Drawing.Point(12, 106);
+            firstNameLabel.Name = "firstNameLabel";
+            firstNameLabel.Size = new System.Drawing.Size(45, 23);
+            firstNameLabel.TabIndex = 10;
+            firstNameLabel.Text = "Имя";
+            // 
+            // lastNameLabel
+            // 
+            lastNameLabel.AutoSize = true;
+            lastNameLabel.Font = new System.Drawing.Font("Tahoma", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+            lastNameLabel.Location = new System.Drawing.Point(12, 152);
+            lastNameLabel.Name = "lastNameLabel";
+            lastNameLabel.Size = new System.Drawing.Size(89, 23);
+            lastNameLabel.TabIndex = 12;
+            lastNameLabel.Text = "Фамилия";
+            // 
+            // patronymicLabel
+            // 
+            patronymicLabel.AutoSize = true;
+            patronymicLabel.Font = new System.Drawing.Font("Tahoma", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+            patronymicLabel.Location = new System.Drawing.Point(12, 197);
+            patronymicLabel.Name = "patronymicLabel";
+            patronymicLabel.Size = new System.Drawing.Size(97, 23);
+            patronymicLabel.TabIndex = 14;
+            patronymicLabel.Text = "Отчество:";
+            // 
+            // birthdayLabel
+            // 
+            birthdayLabel.AutoSize = true;
+            birthdayLabel.Font = new System.Drawing.Font("Tahoma", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+            birthdayLabel.Location = new System.Drawing.Point(12, 242);
+            birthdayLabel.Name = "birthdayLabel";
+            birthdayLabel.Size = new System.Drawing.Size(153, 23);
+            birthdayLabel.TabIndex = 16;
+            birthdayLabel.Text = "Дата рождения:";
+            // 
+            // registrationDateLabel
+            // 
+            registrationDateLabel.AutoSize = true;
+            registrationDateLabel.Font = new System.Drawing.Font("Tahoma", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+            registrationDateLabel.Location = new System.Drawing.Point(12, 294);
+            registrationDateLabel.Name = "registrationDateLabel";
+            registrationDateLabel.Size = new System.Drawing.Size(177, 23);
+            registrationDateLabel.TabIndex = 18;
+            registrationDateLabel.Text = "Дата регистрации:";
+            // 
+            // emailLabel
+            // 
+            emailLabel.AutoSize = true;
+            emailLabel.Font = new System.Drawing.Font("Tahoma", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+            emailLabel.Location = new System.Drawing.Point(12, 346);
+            emailLabel.Name = "emailLabel";
+            emailLabel.Size = new System.Drawing.Size(62, 23);
+            emailLabel.TabIndex = 20;
+            emailLabel.Text = "Email:";
+            // 
+            // phoneLabel
+            // 
+            phoneLabel.AutoSize = true;
+            phoneLabel.Font = new System.Drawing.Font("Tahoma", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+            phoneLabel.Location = new System.Drawing.Point(12, 394);
+            phoneLabel.Name = "phoneLabel";
+            phoneLabel.Size = new System.Drawing.Size(94, 23);
+            phoneLabel.TabIndex = 22;
+            phoneLabel.Text = "Телефон:";
+            // 
+            // genderCodeLabel
+            // 
+            genderCodeLabel.AutoSize = true;
+            genderCodeLabel.Font = new System.Drawing.Font("Tahoma", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+            genderCodeLabel.Location = new System.Drawing.Point(12, 445);
+            genderCodeLabel.Name = "genderCodeLabel";
+            genderCodeLabel.Size = new System.Drawing.Size(51, 23);
+            genderCodeLabel.TabIndex = 24;
+            genderCodeLabel.Text = "Пол:";
+            // 
+            // panel1
+            // 
+            this.panel1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(74)))), ((int)(((byte)(109)))));
+            this.panel1.Controls.Add(this.label1);
+            this.panel1.Location = new System.Drawing.Point(74, 0);
+            this.panel1.Name = "panel1";
+            this.panel1.Size = new System.Drawing.Size(728, 79);
+            this.panel1.TabIndex = 6;
+            // 
+            // label1
+            // 
+            this.label1.AutoSize = true;
+            this.label1.Font = new System.Drawing.Font("Tahoma", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+            this.label1.Location = new System.Drawing.Point(29, 23);
+            this.label1.Name = "label1";
+            this.label1.Size = new System.Drawing.Size(240, 23);
+            this.label1.TabIndex = 0;
+            this.label1.Text = "Редактирование клиентов";
+            // 
+            // pictureBox1
+            // 
+            this.pictureBox1.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox1.Image")));
+            this.pictureBox1.Location = new System.Drawing.Point(-3, 0);
+            this.pictureBox1.Name = "pictureBox1";
+            this.pictureBox1.Size = new System.Drawing.Size(121, 85);
+            this.pictureBox1.TabIndex = 7;
+            this.pictureBox1.TabStop = false;
+            // 
+            // beauty_saloonDataSet
+            // 
+            this.beauty_saloonDataSet.DataSetName = "beauty_saloonDataSet";
+            this.beauty_saloonDataSet.SchemaSerializationMode = System.Data.SchemaSerializationMode.IncludeSchema;
+            // 
+            // clientBindingSource
+            // 
+            this.clientBindingSource.DataMember = "Client";
+            this.clientBindingSource.DataSource = this.beauty_saloonDataSet;
+            // 
+            // clientTableAdapter
+            // 
+            this.clientTableAdapter.ClearBeforeFill = true;
+            // 
+            // tableAdapterManager
+            // 
+            this.tableAdapterManager.AttachedProductTableAdapter = null;
+            this.tableAdapterManager.BackupDataSetBeforeUpdate = false;
+            this.tableAdapterManager.ClientServiceTableAdapter = null;
+            this.tableAdapterManager.ClientTableAdapter = this.clientTableAdapter;
+            this.tableAdapterManager.DocumentByServiceTableAdapter = null;
+            this.tableAdapterManager.GenderTableAdapter = null;
+            this.tableAdapterManager.ManufacturerTableAdapter = null;
+            this.tableAdapterManager.ProductPhotoTableAdapter = null;
+            this.tableAdapterManager.ProductSaleTableAdapter = null;
+            this.tableAdapterManager.ProductTableAdapter = null;
+            this.tableAdapterManager.ServicePhotoTableAdapter = null;
+            this.tableAdapterManager.ServiceTableAdapter = null;
+            this.tableAdapterManager.TagOfClientTableAdapter = null;
+            this.tableAdapterManager.TagTableAdapter = null;
+            this.tableAdapterManager.UpdateOrder = BeautySaloon.beauty_saloonDataSetTableAdapters.TableAdapterManager.UpdateOrderOption.InsertUpdateDelete;
+            // 
+            // firstNameTextBox
+            // 
+            this.firstNameTextBox.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.clientBindingSource, "FirstName", true));
+            this.firstNameTextBox.Font = new System.Drawing.Font("Tahoma", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+            this.firstNameTextBox.Location = new System.Drawing.Point(205, 103);
+            this.firstNameTextBox.Name = "firstNameTextBox";
+            this.firstNameTextBox.Size = new System.Drawing.Size(200, 30);
+            this.firstNameTextBox.TabIndex = 11;
+            // 
+            // lastNameTextBox
+            // 
+            this.lastNameTextBox.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.clientBindingSource, "LastName", true));
+            this.lastNameTextBox.Font = new System.Drawing.Font("Tahoma", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+            this.lastNameTextBox.Location = new System.Drawing.Point(205, 149);
+            this.lastNameTextBox.Name = "lastNameTextBox";
+            this.lastNameTextBox.Size = new System.Drawing.Size(200, 30);
+            this.lastNameTextBox.TabIndex = 13;
+            // 
+            // patronymicTextBox
+            // 
+            this.patronymicTextBox.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.clientBindingSource, "Patronymic", true));
+            this.patronymicTextBox.Font = new System.Drawing.Font("Tahoma", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+            this.patronymicTextBox.Location = new System.Drawing.Point(205, 194);
+            this.patronymicTextBox.Name = "patronymicTextBox";
+            this.patronymicTextBox.Size = new System.Drawing.Size(200, 30);
+            this.patronymicTextBox.TabIndex = 15;
+            // 
+            // birthdayDateTimePicker
+            // 
+            this.birthdayDateTimePicker.DataBindings.Add(new System.Windows.Forms.Binding("Value", this.clientBindingSource, "Birthday", true));
+            this.birthdayDateTimePicker.Font = new System.Drawing.Font("Tahoma", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+            this.birthdayDateTimePicker.Location = new System.Drawing.Point(205, 236);
+            this.birthdayDateTimePicker.Name = "birthdayDateTimePicker";
+            this.birthdayDateTimePicker.Size = new System.Drawing.Size(200, 30);
+            this.birthdayDateTimePicker.TabIndex = 17;
+            // 
+            // registrationDateDateTimePicker
+            // 
+            this.registrationDateDateTimePicker.DataBindings.Add(new System.Windows.Forms.Binding("Value", this.clientBindingSource, "RegistrationDate", true));
+            this.registrationDateDateTimePicker.Font = new System.Drawing.Font("Tahoma", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+            this.registrationDateDateTimePicker.Location = new System.Drawing.Point(205, 288);
+            this.registrationDateDateTimePicker.Name = "registrationDateDateTimePicker";
+            this.registrationDateDateTimePicker.Size = new System.Drawing.Size(200, 30);
+            this.registrationDateDateTimePicker.TabIndex = 19;
+            // 
+            // emailTextBox
+            // 
+            this.emailTextBox.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.clientBindingSource, "Email", true));
+            this.emailTextBox.Font = new System.Drawing.Font("Tahoma", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+            this.emailTextBox.Location = new System.Drawing.Point(205, 343);
+            this.emailTextBox.Name = "emailTextBox";
+            this.emailTextBox.Size = new System.Drawing.Size(200, 30);
+            this.emailTextBox.TabIndex = 21;
+            // 
+            // phoneTextBox
+            // 
+            this.phoneTextBox.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.clientBindingSource, "Phone", true));
+            this.phoneTextBox.Font = new System.Drawing.Font("Tahoma", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+            this.phoneTextBox.Location = new System.Drawing.Point(205, 391);
+            this.phoneTextBox.Name = "phoneTextBox";
+            this.phoneTextBox.Size = new System.Drawing.Size(200, 30);
+            this.phoneTextBox.TabIndex = 23;
+            // 
+            // genderCodeTextBox
+            // 
+            this.genderCodeTextBox.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.clientBindingSource, "GenderCode", true));
+            this.genderCodeTextBox.Font = new System.Drawing.Font("Tahoma", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+            this.genderCodeTextBox.Location = new System.Drawing.Point(205, 442);
+            this.genderCodeTextBox.Name = "genderCodeTextBox";
+            this.genderCodeTextBox.Size = new System.Drawing.Size(200, 30);
+            this.genderCodeTextBox.TabIndex = 25;
+            // 
+            // AddButton
+            // 
+            this.AddButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
+            this.AddButton.Font = new System.Drawing.Font("Tahoma", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+            this.AddButton.Location = new System.Drawing.Point(449, 278);
+            this.AddButton.Name = "AddButton";
+            this.AddButton.Size = new System.Drawing.Size(139, 39);
+            this.AddButton.TabIndex = 36;
+            this.AddButton.Text = "Добавить";
+            this.AddButton.UseVisualStyleBackColor = true;
+            this.AddButton.Click += new System.EventHandler(this.AddButton_Click);
+            // 
+            // exitButton
+            // 
+            this.exitButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
+            this.exitButton.Font = new System.Drawing.Font("Tahoma", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+            this.exitButton.Location = new System.Drawing.Point(636, 278);
+            this.exitButton.Name = "exitButton";
+            this.exitButton.Size = new System.Drawing.Size(139, 39);
+            this.exitButton.TabIndex = 35;
+            this.exitButton.Text = "Назад";
+            this.exitButton.UseVisualStyleBackColor = true;
+            this.exitButton.Click += new System.EventHandler(this.exitButton_Click);
+            // 
+            // SaveButton
+            // 
+            this.SaveButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
+            this.SaveButton.Font = new System.Drawing.Font("Tahoma", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+            this.SaveButton.Location = new System.Drawing.Point(449, 337);
+            this.SaveButton.Name = "SaveButton";
+            this.SaveButton.Size = new System.Drawing.Size(139, 39);
+            this.SaveButton.TabIndex = 34;
+            this.SaveButton.Text = "Сохранить";
+            this.SaveButton.UseVisualStyleBackColor = true;
+            this.SaveButton.Click += new System.EventHandler(this.SaveButton_Click);
+            // 
+            // DelButton
+            // 
+            this.DelButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
+            this.DelButton.Font = new System.Drawing.Font("Tahoma", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+            this.DelButton.Location = new System.Drawing.Point(636, 338);
+            this.DelButton.Name = "DelButton";
+            this.DelButton.Size = new System.Drawing.Size(139, 39);
+            this.DelButton.TabIndex = 33;
+            this.DelButton.Text = "Удалить";
+            this.DelButton.UseVisualStyleBackColor = true;
+            this.DelButton.Click += new System.EventHandler(this.DelButton_Click);
+            // 
+            // LastButton
+            // 
+            this.LastButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
+            this.LastButton.Font = new System.Drawing.Font("Tahoma", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+            this.LastButton.Location = new System.Drawing.Point(636, 221);
+            this.LastButton.Name = "LastButton";
+            this.LastButton.Size = new System.Drawing.Size(139, 39);
+            this.LastButton.TabIndex = 32;
+            this.LastButton.Text = "Последняя";
+            this.LastButton.UseVisualStyleBackColor = true;
+            this.LastButton.Click += new System.EventHandler(this.LastButton_Click);
+            // 
+            // FirstButton
+            // 
+            this.FirstButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
+            this.FirstButton.Font = new System.Drawing.Font("Tahoma", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+            this.FirstButton.Location = new System.Drawing.Point(448, 221);
+            this.FirstButton.Name = "FirstButton";
+            this.FirstButton.Size = new System.Drawing.Size(139, 39);
+            this.FirstButton.TabIndex = 31;
+            this.FirstButton.Text = "Первая";
+            this.FirstButton.UseVisualStyleBackColor = true;
+            this.FirstButton.Click += new System.EventHandler(this.FirstButton_Click);
+            // 
+            // PrevButton
+            // 
+            this.PrevButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
+            this.PrevButton.Font = new System.Drawing.Font("Tahoma", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+            this.PrevButton.Location = new System.Drawing.Point(636, 165);
+            this.PrevButton.Name = "PrevButton";
+            this.PrevButton.Size = new System.Drawing.Size(139, 39);
+            this.PrevButton.TabIndex = 30;
+            this.PrevButton.Text = "Предыдущее";
+            this.PrevButton.UseVisualStyleBackColor = true;
+            this.PrevButton.Click += new System.EventHandler(this.PrevButton_Click);
+            // 
+            // nextButton
+            // 
+            this.nextButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
+            this.nextButton.Font = new System.Drawing.Font("Tahoma", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+            this.nextButton.Location = new System.Drawing.Point(449, 165);
+            this.nextButton.Name = "nextButton";
+            this.nextButton.Size = new System.Drawing.Size(139, 39);
+            this.nextButton.TabIndex = 29;
+            this.nextButton.Text = "Следующее";
+            this.nextButton.UseVisualStyleBackColor = true;
+            this.nextButton.Click += new System.EventHandler(this.nextButton_Click);
+            // 
+            // EditKlientForm
+            // 
+            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+            this.BackColor = System.Drawing.Color.White;
+            this.ClientSize = new System.Drawing.Size(801, 506);
+            this.Controls.Add(this.AddButton);
+            this.Controls.Add(this.exitButton);
+            this.Controls.Add(this.SaveButton);
+            this.Controls.Add(this.DelButton);
+            this.Controls.Add(this.LastButton);
+            this.Controls.Add(this.FirstButton);
+            this.Controls.Add(this.PrevButton);
+            this.Controls.Add(this.nextButton);
+            this.Controls.Add(firstNameLabel);
+            this.Controls.Add(this.firstNameTextBox);
+            this.Controls.Add(lastNameLabel);
+            this.Controls.Add(this.lastNameTextBox);
+            this.Controls.Add(patronymicLabel);
+            this.Controls.Add(this.patronymicTextBox);
+            this.Controls.Add(birthdayLabel);
+            this.Controls.Add(this.birthdayDateTimePicker);
+            this.Controls.Add(registrationDateLabel);
+            this.Controls.Add(this.registrationDateDateTimePicker);
+            this.Controls.Add(emailLabel);
+            this.Controls.Add(this.emailTextBox);
+            this.Controls.Add(phoneLabel);
+            this.Controls.Add(this.phoneTextBox);
+            this.Controls.Add(genderCodeLabel);
+            this.Controls.Add(this.genderCodeTextBox);
+            this.Controls.Add(this.panel1);
+            this.Controls.Add(this.pictureBox1);
+            this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
+            this.Name = "EditKlientForm";
+            this.Text = "Редактирование клиентов";
+            this.Load += new System.EventHandler(this.EditKlientForm_Load);
+            this.panel1.ResumeLayout(false);
+            this.panel1.PerformLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.beauty_saloonDataSet)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.clientBindingSource)).EndInit();
+            this.ResumeLayout(false);
+            this.PerformLayout();
+
+        }
+
+        #endregion
+
+        private System.Windows.Forms.Panel panel1;
+        private System.Windows.Forms.Label label1;
+        private System.Windows.Forms.PictureBox pictureBox1;
+        private beauty_saloonDataSet beauty_saloonDataSet;
+        private System.Windows.Forms.BindingSource clientBindingSource;
+        private beauty_saloonDataSetTableAdapters.ClientTableAdapter clientTableAdapter;
+        private beauty_saloonDataSetTableAdapters.TableAdapterManager tableAdapterManager;
+        private System.Windows.Forms.TextBox firstNameTextBox;
+        private System.Windows.Forms.TextBox lastNameTextBox;
+        private System.Windows.Forms.TextBox patronymicTextBox;
+        private System.Windows.Forms.DateTimePicker birthdayDateTimePicker;
+        private System.Windows.Forms.DateTimePicker registrationDateDateTimePicker;
+        private System.Windows.Forms.TextBox emailTextBox;
+        private System.Windows.Forms.TextBox phoneTextBox;
+        private System.Windows.Forms.TextBox genderCodeTextBox;
+        private System.Windows.Forms.Button AddButton;
+        private System.Windows.Forms.Button exitButton;
+        private System.Windows.Forms.Button SaveButton;
+        private System.Windows.Forms.Button DelButton;
+        private System.Windows.Forms.Button LastButton;
+        private System.Windows.Forms.Button FirstButton;
+        private System.Windows.Forms.Button PrevButton;
+        private System.Windows.Forms.Button nextButton;
+    }
+}

+ 79 - 0
EditKlientForm.cs

@@ -0,0 +1,79 @@
+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 BeautySaloon
+{
+    public partial class EditKlientForm : Form
+    {
+        public EditKlientForm()
+        {
+            InitializeComponent();
+        }
+
+        private void clientBindingNavigatorSaveItem_Click(object sender, EventArgs e)
+        {
+            this.Validate();
+            this.clientBindingSource.EndEdit();
+            this.tableAdapterManager.UpdateAll(this.beauty_saloonDataSet);
+
+        }
+
+        private void EditKlientForm_Load(object sender, EventArgs e)
+        {
+            // TODO: данная строка кода позволяет загрузить данные в таблицу "beauty_saloonDataSet.Client". При необходимости она может быть перемещена или удалена.
+            this.clientTableAdapter.Fill(this.beauty_saloonDataSet.Client);
+
+        }
+
+        private void nextButton_Click(object sender, EventArgs e)
+        {
+            clientBindingSource.MoveNext();
+        }
+
+        private void FirstButton_Click(object sender, EventArgs e)
+        {
+            clientBindingSource.MoveFirst();
+        }
+
+        private void PrevButton_Click(object sender, EventArgs e)
+        {
+            clientBindingSource.MovePrevious();
+        }
+
+        private void LastButton_Click(object sender, EventArgs e)
+        {
+            clientBindingSource.MoveLast();
+        }
+
+        private void SaveButton_Click(object sender, EventArgs e)
+        {
+            this.Validate();
+            this.clientBindingSource.EndEdit();
+            this.tableAdapterManager.UpdateAll(this.beauty_saloonDataSet);
+        }
+
+        private void DelButton_Click(object sender, EventArgs e)
+        {
+            clientBindingSource.RemoveCurrent();
+        }
+
+        private void exitButton_Click(object sender, EventArgs e)
+        {
+            ServiceForm form = new ServiceForm();
+            form.Show();
+            this.Close();
+        }
+
+        private void AddButton_Click(object sender, EventArgs e)
+        {
+            clientBindingSource.AddNew();
+        }
+    }
+}

+ 611 - 0
EditKlientForm.resx

@@ -0,0 +1,611 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <metadata name="firstNameLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>False</value>
+  </metadata>
+  <metadata name="lastNameLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>False</value>
+  </metadata>
+  <metadata name="patronymicLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>False</value>
+  </metadata>
+  <metadata name="birthdayLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>False</value>
+  </metadata>
+  <metadata name="registrationDateLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>False</value>
+  </metadata>
+  <metadata name="emailLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>False</value>
+  </metadata>
+  <metadata name="phoneLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>False</value>
+  </metadata>
+  <metadata name="genderCodeLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>False</value>
+  </metadata>
+  <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+  <data name="pictureBox1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAAE0AAABNCAYAAADjCemwAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
+        xAAADsQBlSsOGwAADqpJREFUeF7tnHmUFNUVxif/JOfkn5yck80VjSGKGxFQUdwXEBURAQUE9w0BBQQj
+        QcGASlREVEQh4gYCiuAOg4qAihEk7iwKhE2CDotBRYnbzferW48pmuqZ6emeHKaZ75wL09Wvqt776r67
+        vddVYtVEmeSzGW/YupETrKz3bVbWoY9tatvbNp/Z077agYT+0C/6Rz/pL/2m/9VFTqRtkawqnW2r2/cy
+        26+N2ZEXmB1/mdnJXc1O6SbpbtZyBxT6Rf/oJ/2l3+o/42A8jCsXVIm0HyXLX5hhG5t0MDv8PLPmV5qd
+        2qP2C+PQeBgX42OcVUGlpJV9u8XWttDTadLFn1razWu7MC6Nj3Ey3spQIWlL58y1LfVbm7WQaqfdrNhE
+        49xS/wxbNmdezEA6spK2eOxkswbt0i9e7NKgrS1i/FmQStqisVPMDjzb7LSr0i9a7MK4Nf5IcVKwHWnL
+        Xp8bMb3TEhaE8YuHtKm6DWkYwciGpV1kJxVsXKZz2EraD5K1LS7feYx+VUV8wAv8BGwlbYXilCisSDtx
+        Z5fGXWzFVPETIyIN5YsC12KNw/IV8bKxScetmUNEGqlEFOmnnVAnLuJnVemsctKiXLJYUqOaEvET8QRp
+        Uba/31npDQshIUE+LeW7NDlB7dH6Jp3Mml0oQ1zJw6RtY7VtfG6G6NjhstGFVAbxBF8llEmiQaU1ylcg
+        4Lq7zWbONzukY3qbINhTKicD7zd77R2zj1aYPfWK2Rk9zQ7rnE46pLy/ROnLcrOF/3JZsMzsQ47p/HkL
+        zM7sbXbSFdufWx0RT/BVsn7kBNeGtEb5yh/PRI8d7fpmf+qUbRpJMzZ/EzfOwIRp6QH3oSLzu+/jRhn4
+        IREkoI2FcHLiCb5K1l1zm9eZ0hrlIyco5rtRWhMw+5/SmCwhzQEiJGDIQ2Z7n262r7QOIj9e6ceffNk/
+        J8+DxD+cYbb7KZKWZr86wez8Ad7+2EvMWklLwS0PuNYnz62OiKd1vW+TTevQx590WqN85BCFMEtXe6cZ
+        MDhI+Wxmuz+p3fyF/v0lg8yaSisgI2jV70XgQk05ACHJB3ykbN7EUk3jmWaTFUc98ZLZ6+96205/MWur
+        sYGbRVohZpN4gq+STW2v8cpmWqPqClMB0sAkEXbpYP+7n+zbidLA0I7p2kb3By/+QwSe49Ow6flO2gHt
+        5BBk1NE68N13bvfC+Y1kJ7OhUz83CeCmvxeItO4GXyXU0Ase1EIMDgD0HOpTCDyveDDpdNCqGW/5d2gc
+        Bh+UzjHbQ1MOrPy32f7y7sPH+eeL/lqubRCLJu55qstvTjS78EZvVxOkiSf4KmHxoeCkHaVpM0lTBaAp
+        B0uDyja40T6wfXk7tAbM+8BDDOzQjLlm19/r3na6tO/Ox8yO0fGguc8owAzEH3OxCBljNvIJs3smettn
+        PQCtKdK+rjHSiJEIGcD+mm5HXWQ2Jc7dMPq0QVs6X+/HhjxYbqh3a+EGv9XVrj1M0dOlURD/6XpvzzG0
+        DO3MhlpFGvEUgwLETQSax13q2gCwn1RSGMQdY/3YWbJr2DdCA/DEi5p2rfzvtxf7cbT3cR0HB8cOhX7z
+        3UkyB5DeTBrYb4S3qXWaFkh76U036ti4/ppy4LwbXMuOlvY9NtWPYcvoAxnApq98quEQ1qzzAJfjED9C
+        xwFt8fgnKmg9V16yx9/MrhwihyPve2/8cGodaQfJbgHCAJ4+EflVigdBNw2Qz81EGt+Dhpp6nNdSwvRk
+        ekfTU7FXmIoM+iaFDuCca10zi2Z6IgfHpBGfQQ4k9YhJ63Grf8bOBWfB4DkPjfoioWlrpWlPKwbjOIO+
+        RbYPtBcZ5KRoGvFYd2lZ11sU58mz1lpNSyMtaFr3mLSj5fnGvuDHjtAUpg/kkmASNk2hBHj3I7dbx2p6
+        3j/Jj5FtMD2xj5zDZ0gh2O13j7cpStIw3AwGdJa2hNhr16T3jKcn3vMITfPnXvX2DRS34XCKfnpmksb0
+        au31KRuu+ApDTzw2U8FuiNNeUpw2fLxrGTHd94rzPv/SbSCkEacNFiE4iLsnuDcmjgNFSRqDDlWQ1Z+6
+        RoXpmcwIVigjCGELGCePC1ncBwdRX9nG3gpPSPJ3aW52sewaKErSaIczeDJ2BkzP5rJTB+jcULQkwacy
+        coRsGnYOcDwUJv/fuecOQRrGHILAstXSvNZuv5LXok0Iepeu1LXj8ATBzk2c7h6WjANvPCdUOYqVNATP
+        +fBz/t2oJ912kTHQJ4LifTT9Nn/t3zNFITGcy/SkGMBU3kNO49eJelpRkxbZNmnYp0rowZvv+zE8aHcF
+        wqEC23tYuS0LUlHltqhJQ9CYetKUjZu8TSaGyitSBUmeg+A4PlhitmSVFwgWLTdbJacCip40hKg/ZAj9
+        FaA++HR5ZeTsP6evL0TTU1oalbslUbl7oJ9Tq0nDWBPIVkba8bJX1MMAXpRrjJvmn4nZ0vqIpr2njGFR
+        vAqF1hGigFpLGppDWIGWdFN+CLKRRsgRYqwbRnroARmAmhx2LvOcJrJpP2TZKVtrSRs1xeytD/1vQgmQ
+        jTT6EEKL8dKweqf63+9Ik6j+ZrZHIJJUClLxor87yeyC2HuyqEKdDtQq0ojer77dE+0LYluTjTRCCbQN
+        3KfQYx9F+d9+K8O+1oPYzPYI/aZeB3HX3eWhy2tv+zVIq8KizeDRbiLSrpGL1ChpoZ5GBZawgAB2q02L
+        62mZ50DYhTGxAzQ9WUug8guimlpGezSHuhv5aWVA0yA2bYrnIjVKGntDAE+dYBVC+gz3Y11l29JIo7wT
+        yjqsKB2qKTn9Df98oEhLtuUhBPsH5soEoNEc54GRq1I5mVAaNxAefd77hcdNXisXqTHS6Pgj6mDAXeM9
+        UA3Lc59/YbavEvXM85LrCPSnma7D9AZoa+gjK1ZX3OzHASSgRTwIhAyDqgjOh75QRgqr9Kx04WAy711V
+        qRHSuA4eDby1wMMB0Guo7JySbwgEfe50zUqeS1ESbQAsGhOCUDICp6uPJOnYPcpH4HtlCjgAtJjzma7Y
+        TTbPDBu3rR3EPr7xnp+HZz5O1wjf5SI1QhodDYaYAZIPBnTUdCEADaifoW1oxbQ5/t1v5QUJVfqKXHCR
+        piuaA/FLFf2Do9QewtAu7kWemsQdIg4iOY/vKR19/V//jutUZ8wFJ40km/IzgLhfHG32VZxoh/+J+tE6
+        QHExmUuieYNksEGpbBlas+lL/8z0Q9NC2MKeDY5xPiv42CoKlwBHA9hwg4ax+tVBMRuLzV36+3cULTEH
+        yf5XRQpKGnaFgiLhAfh5U19+A9fc4TYtADJXf+Z/c85xiVAAI860TuKywR4uYMseetaPQXBHERFA0k6F
+        IwnGFNZJwRilZWgw+GyDWUORmBxDVaRgpKH6GPahj3qHWEFiMQTccJ9PWaZOm95+jKSctUywfI2Xq9EU
+        NAny0Qg24vWVt20kLxjiK2zlex/7eeSYr8t2gaC5fYaZ7XKyWftr3WOHxeZnZ5u9Kq0DBL/P6TMIK/25
+        SEFIY6As+v6YJZX5eIXbD9oyiLBVAWSe0zy2T+G6/J3sF5oB4Rv+49H/yMfjE2Pwo5FX4l+XfFLmWhzM
+        AlgTH3vwGf8c1eZyHHfepHEOXi4Am1LvNLNdm7uRHxkvt9Hxnx3mG2DAuBc8DGDVaU85hr6K5AMobWfr
+        CzasbKPZl5v1IHRfNJgQhRiNLQshPAleEqP/y2N9C9d0ORhK5jzgh+Mpzt+5jjtv0jDqz8dLahhavBOR
+        N8tsGOO9lDuSvoB5cf45QtrBpha8Ie2GPuIayP3Bq3IgVC7S7sfxMCVZTGEqEzrsJuKXxHEY+KkeUFhP
+        AExDKi3cg4cSpiomJdcMIS/SuFnYaEeqQ2hBkp1E/xGudUkQcgQbFEDUT3IOYSAz+g/CdMLjgi7X+3RG
+        Qk77mO4PKYQYJPjBi1JpIQakz3hTQAkJG5l2n4okL9JozyDAA1PK4y8MdUlD/3v9577YO2u+f+Y7PrMT
+        G/ykke/6BmgbWxFAS0IXSdo9yQwAjoZ8FILCJr4xT/kCc4frfNvC+Qo1wOSXnTSyhBtH+bGBclA4p8x7
+        VCZ5k3aYnibAlqAp1LWQAeoQeGexkxSygk8UZuwuOzYr3vk4SANg3wbAFo6Kf1tJ7JWtP+ycnBoHwJff
+        5G0JU/DY2YC9w7GEIgLAIaRdvzLJizSEKsQ38a+FMOrYtSTQRNKcJJg+DDwJKhucz35awMaXtPsFSe4E
+        JzQh14SQXooHh4zxEAbbSqBMFYSsgGsGTxr2wqVduzIJpG1uU03SCDDDvtoZcvWR14zXLfeRU2DKhgA3
+        VFDXK1zYS1rF5hauQTzF1ipKSIBdQclgN03IPJhuAUT32KpQgiL9wknhOFg/YM9aACtazdQm7bpVEfEU
+        7bnNa3c32jb3fe/QBsVQg+Qt2e50q7xiwD0TnJzkbwrYc8FgmMpsSQB4wP0q0bIgOABIomISgMHnel1v
+        9kB3tGxtmAmA9VC0Mu16VRXxFO3uzut3BLh9pmDIBjLR83ZPoWjH1MQOpSFaJM6x1sXs2FfnoO3Eb9kw
+        WrYSp1Edw58p4in6HUFBfrFCXgh5XeSxSH9CKpPZUaJ8AltSKrSBcAEbRaCZbJeLYCbIOpiOFCa5P7st
+        GRMPglJS2nnVEV0Tvgr72yimDbsTKzO0IU3K92ElBc3jejyoUC5Ka5ePiCf4qtlf4RWbiKfoV3g1/nvP
+        YhLxFP3eE87qfllcBRE/W39ZzD91v2GvgoifbX7DXve2hEpEvGz3tgRQ916OCiTtvRyg7g0wWUR8ZH0D
+        DKh719D2Ah9Z3zUUwIvmovem5ZLSFKMw/gZtnY8MbEcaiN4bVvf+NH+PXApSSQPRm+p22jf1tcv6wjmQ
+        lTSwc74TsrW/eK8CVEgawAjWvX10W1RKGmBZN3rPbWMFwGQOxZJyMQ6Nh3EV9D23SfAM/I3KPb1eRnWE
+        8jQlGUoxVIB5ajua0C/6Rz/pL/1W/2v0jcppINunTLLuvlr27m71l35H1Z1qwex/ai1HDFJtM7AAAAAA
+        SUVORK5CYII=
+</value>
+  </data>
+  <metadata name="beauty_saloonDataSet.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>17, 17</value>
+  </metadata>
+  <metadata name="clientBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>189, 17</value>
+  </metadata>
+  <metadata name="clientTableAdapter.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>349, 17</value>
+  </metadata>
+  <metadata name="tableAdapterManager.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>503, 17</value>
+  </metadata>
+  <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        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
+        zAAAAABJRU5ErkJggg==
+</value>
+  </data>
+</root>

+ 156 - 0
Form1.Designer.cs

@@ -0,0 +1,156 @@
+
+namespace BeautySaloon
+{
+    partial class AuthForm
+    {
+        /// <summary>
+        /// Обязательная переменная конструктора.
+        /// </summary>
+        private System.ComponentModel.IContainer components = null;
+
+        /// <summary>
+        /// Освободить все используемые ресурсы.
+        /// </summary>
+        /// <param name="disposing">истинно, если управляемый ресурс должен быть удален; иначе ложно.</param>
+        protected override void Dispose(bool disposing)
+        {
+            if (disposing && (components != null))
+            {
+                components.Dispose();
+            }
+            base.Dispose(disposing);
+        }
+
+        #region Код, автоматически созданный конструктором форм Windows
+
+        /// <summary>
+        /// Требуемый метод для поддержки конструктора — не изменяйте 
+        /// содержимое этого метода с помощью редактора кода.
+        /// </summary>
+        private void InitializeComponent()
+        {
+            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AuthForm));
+            this.panel1 = new System.Windows.Forms.Panel();
+            this.label1 = new System.Windows.Forms.Label();
+            this.pictureBox1 = new System.Windows.Forms.PictureBox();
+            this.label2 = new System.Windows.Forms.Label();
+            this.klientButton = new System.Windows.Forms.Button();
+            this.AdminButton = new System.Windows.Forms.Button();
+            this.ExitButton = new System.Windows.Forms.Button();
+            this.panel1.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
+            this.SuspendLayout();
+            // 
+            // panel1
+            // 
+            this.panel1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(74)))), ((int)(((byte)(109)))));
+            this.panel1.Controls.Add(this.label1);
+            this.panel1.Location = new System.Drawing.Point(77, 0);
+            this.panel1.Name = "panel1";
+            this.panel1.Size = new System.Drawing.Size(277, 79);
+            this.panel1.TabIndex = 0;
+            // 
+            // label1
+            // 
+            this.label1.AutoSize = true;
+            this.label1.Font = new System.Drawing.Font("Tahoma", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+            this.label1.Location = new System.Drawing.Point(28, 9);
+            this.label1.Name = "label1";
+            this.label1.Size = new System.Drawing.Size(193, 46);
+            this.label1.TabIndex = 0;
+            this.label1.Text = "    Салон красоты \r\n\"Бархатные бровки\" ";
+            // 
+            // pictureBox1
+            // 
+            this.pictureBox1.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox1.Image")));
+            this.pictureBox1.Location = new System.Drawing.Point(0, 0);
+            this.pictureBox1.Name = "pictureBox1";
+            this.pictureBox1.Size = new System.Drawing.Size(121, 85);
+            this.pictureBox1.TabIndex = 1;
+            this.pictureBox1.TabStop = false;
+            // 
+            // label2
+            // 
+            this.label2.AutoSize = true;
+            this.label2.Font = new System.Drawing.Font("Tahoma", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+            this.label2.Location = new System.Drawing.Point(105, 100);
+            this.label2.Name = "label2";
+            this.label2.Size = new System.Drawing.Size(135, 23);
+            this.label2.TabIndex = 1;
+            this.label2.Text = "Главное меню";
+            // 
+            // klientButton
+            // 
+            this.klientButton.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(225)))), ((int)(((byte)(228)))), ((int)(((byte)(255)))));
+            this.klientButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
+            this.klientButton.Font = new System.Drawing.Font("Tahoma", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+            this.klientButton.Location = new System.Drawing.Point(59, 142);
+            this.klientButton.Name = "klientButton";
+            this.klientButton.Size = new System.Drawing.Size(229, 52);
+            this.klientButton.TabIndex = 2;
+            this.klientButton.Text = "Клиент";
+            this.klientButton.UseVisualStyleBackColor = false;
+            this.klientButton.Click += new System.EventHandler(this.klientButton_Click);
+            // 
+            // AdminButton
+            // 
+            this.AdminButton.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(225)))), ((int)(((byte)(228)))), ((int)(((byte)(255)))));
+            this.AdminButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
+            this.AdminButton.Font = new System.Drawing.Font("Tahoma", 14.25F);
+            this.AdminButton.Location = new System.Drawing.Point(59, 245);
+            this.AdminButton.Name = "AdminButton";
+            this.AdminButton.Size = new System.Drawing.Size(229, 52);
+            this.AdminButton.TabIndex = 3;
+            this.AdminButton.Text = "Администратор";
+            this.AdminButton.UseVisualStyleBackColor = false;
+            this.AdminButton.Click += new System.EventHandler(this.AdminButton_Click);
+            // 
+            // ExitButton
+            // 
+            this.ExitButton.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(225)))), ((int)(((byte)(228)))), ((int)(((byte)(255)))));
+            this.ExitButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
+            this.ExitButton.Font = new System.Drawing.Font("Tahoma", 14.25F);
+            this.ExitButton.Location = new System.Drawing.Point(59, 347);
+            this.ExitButton.Name = "ExitButton";
+            this.ExitButton.Size = new System.Drawing.Size(229, 52);
+            this.ExitButton.TabIndex = 4;
+            this.ExitButton.Text = "Выход";
+            this.ExitButton.UseVisualStyleBackColor = false;
+            this.ExitButton.Click += new System.EventHandler(this.ExitButton_Click);
+            // 
+            // AuthForm
+            // 
+            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+            this.BackColor = System.Drawing.Color.White;
+            this.ClientSize = new System.Drawing.Size(349, 450);
+            this.Controls.Add(this.ExitButton);
+            this.Controls.Add(this.AdminButton);
+            this.Controls.Add(this.klientButton);
+            this.Controls.Add(this.label2);
+            this.Controls.Add(this.panel1);
+            this.Controls.Add(this.pictureBox1);
+            this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
+            this.Name = "AuthForm";
+            this.Text = "\"Бархатные бровки\"";
+            this.Load += new System.EventHandler(this.AuthForm_Load);
+            this.panel1.ResumeLayout(false);
+            this.panel1.PerformLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
+            this.ResumeLayout(false);
+            this.PerformLayout();
+
+        }
+
+        #endregion
+
+        private System.Windows.Forms.Panel panel1;
+        private System.Windows.Forms.PictureBox pictureBox1;
+        private System.Windows.Forms.Label label1;
+        private System.Windows.Forms.Label label2;
+        private System.Windows.Forms.Button klientButton;
+        private System.Windows.Forms.Button AdminButton;
+        private System.Windows.Forms.Button ExitButton;
+    }
+}
+

+ 45 - 0
Form1.cs

@@ -0,0 +1,45 @@
+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 BeautySaloon
+{
+    public partial class AuthForm : Form
+    {
+        public AuthForm()
+        {
+            InitializeComponent();
+        }
+
+        private void klientButton_Click(object sender, EventArgs e)
+        {
+            KlientForm form = new KlientForm();
+            form.Show();
+            this.Hide();
+        }
+
+        private void ExitButton_Click(object sender, EventArgs e)
+        {
+            this.Close();
+            Application.Exit();
+        }
+
+        private void AuthForm_Load(object sender, EventArgs e)
+        {
+
+        }
+
+        private void AdminButton_Click(object sender, EventArgs e)
+        {
+            AdminAuthForm form = new AdminAuthForm();
+            form.Show();
+            this.Hide();
+        }
+    }
+}

+ 575 - 0
Form1.resx

@@ -0,0 +1,575 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+  <data name="pictureBox1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        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
+        SUVORK5CYII=
+</value>
+  </data>
+  <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        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
+        zAAAAABJRU5ErkJggg==
+</value>
+  </data>
+</root>

+ 29 - 0
Gender.cs

@@ -0,0 +1,29 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+//     Этот код создан по шаблону.
+//
+//     Изменения, вносимые в этот файл вручную, могут привести к непредвиденной работе приложения.
+//     Изменения, вносимые в этот файл вручную, будут перезаписаны при повторном создании кода.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace BeautySaloon
+{
+    using System;
+    using System.Collections.Generic;
+    
+    public partial class Gender
+    {
+        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
+        public Gender()
+        {
+            this.Client = new HashSet<Client>();
+        }
+    
+        public string Code { get; set; }
+        public string Name { get; set; }
+    
+        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+        public virtual ICollection<Client> Client { get; set; }
+    }
+}

+ 362 - 0
KlientForm.Designer.cs

@@ -0,0 +1,362 @@
+
+namespace BeautySaloon
+{
+    partial class KlientForm
+    {
+        /// <summary>
+        /// Required designer variable.
+        /// </summary>
+        private System.ComponentModel.IContainer components = null;
+
+        /// <summary>
+        /// Clean up any resources being used.
+        /// </summary>
+        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+        protected override void Dispose(bool disposing)
+        {
+            if (disposing && (components != null))
+            {
+                components.Dispose();
+            }
+            base.Dispose(disposing);
+        }
+
+        #region Windows Form Designer generated code
+
+        /// <summary>
+        /// Required method for Designer support - do not modify
+        /// the contents of this method with the code editor.
+        /// </summary>
+        private void InitializeComponent()
+        {
+            this.components = new System.ComponentModel.Container();
+            System.Windows.Forms.Label costLabel;
+            System.Windows.Forms.Label durationInSecondsLabel;
+            System.Windows.Forms.Label discountLabel;
+            System.Windows.Forms.Label label3;
+            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(KlientForm));
+            this.panel1 = new System.Windows.Forms.Panel();
+            this.label1 = new System.Windows.Forms.Label();
+            this.pictureBox1 = new System.Windows.Forms.PictureBox();
+            this.label2 = new System.Windows.Forms.Label();
+            this.beauty_saloonDataSet = new BeautySaloon.beauty_saloonDataSet();
+            this.serviceBindingSource = new System.Windows.Forms.BindingSource(this.components);
+            this.serviceTableAdapter = new BeautySaloon.beauty_saloonDataSetTableAdapters.ServiceTableAdapter();
+            this.tableAdapterManager = new BeautySaloon.beauty_saloonDataSetTableAdapters.TableAdapterManager();
+            this.titleTextBox = new System.Windows.Forms.TextBox();
+            this.costTextBox = new System.Windows.Forms.TextBox();
+            this.durationInSecondsTextBox = new System.Windows.Forms.TextBox();
+            this.discountTextBox = new System.Windows.Forms.TextBox();
+            this.pictureBox2 = new System.Windows.Forms.PictureBox();
+            this.nextButton = new System.Windows.Forms.Button();
+            this.PrevButton = new System.Windows.Forms.Button();
+            this.FirstButton = new System.Windows.Forms.Button();
+            this.LastButton = new System.Windows.Forms.Button();
+            this.exitButton = new System.Windows.Forms.Button();
+            this.panel2 = new System.Windows.Forms.Panel();
+            costLabel = new System.Windows.Forms.Label();
+            durationInSecondsLabel = new System.Windows.Forms.Label();
+            discountLabel = new System.Windows.Forms.Label();
+            label3 = new System.Windows.Forms.Label();
+            this.panel1.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.beauty_saloonDataSet)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.serviceBindingSource)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).BeginInit();
+            this.panel2.SuspendLayout();
+            this.SuspendLayout();
+            // 
+            // costLabel
+            // 
+            costLabel.AutoSize = true;
+            costLabel.Font = new System.Drawing.Font("Tahoma", 14.25F);
+            costLabel.Location = new System.Drawing.Point(349, 186);
+            costLabel.Name = "costLabel";
+            costLabel.Size = new System.Drawing.Size(97, 23);
+            costLabel.TabIndex = 9;
+            costLabel.Text = "рублей за";
+            // 
+            // durationInSecondsLabel
+            // 
+            durationInSecondsLabel.AutoSize = true;
+            durationInSecondsLabel.Font = new System.Drawing.Font("Tahoma", 14.25F);
+            durationInSecondsLabel.Location = new System.Drawing.Point(505, 186);
+            durationInSecondsLabel.Name = "durationInSecondsLabel";
+            durationInSecondsLabel.Size = new System.Drawing.Size(62, 23);
+            durationInSecondsLabel.TabIndex = 11;
+            durationInSecondsLabel.Text = "минут";
+            // 
+            // discountLabel
+            // 
+            discountLabel.AutoSize = true;
+            discountLabel.Font = new System.Drawing.Font("Tahoma", 14.25F);
+            discountLabel.Location = new System.Drawing.Point(236, 249);
+            discountLabel.Name = "discountLabel";
+            discountLabel.Size = new System.Drawing.Size(78, 23);
+            discountLabel.TabIndex = 15;
+            discountLabel.Text = "Скидка:";
+            // 
+            // label3
+            // 
+            label3.AutoSize = true;
+            label3.Font = new System.Drawing.Font("Tahoma", 14.25F);
+            label3.Location = new System.Drawing.Point(358, 249);
+            label3.Name = "label3";
+            label3.Size = new System.Drawing.Size(29, 23);
+            label3.TabIndex = 18;
+            label3.Text = "%";
+            // 
+            // panel1
+            // 
+            this.panel1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(74)))), ((int)(((byte)(109)))));
+            this.panel1.Controls.Add(this.label1);
+            this.panel1.Location = new System.Drawing.Point(77, -1);
+            this.panel1.Name = "panel1";
+            this.panel1.Size = new System.Drawing.Size(729, 79);
+            this.panel1.TabIndex = 2;
+            // 
+            // label1
+            // 
+            this.label1.AutoSize = true;
+            this.label1.Font = new System.Drawing.Font("Tahoma", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+            this.label1.Location = new System.Drawing.Point(159, 10);
+            this.label1.Name = "label1";
+            this.label1.Size = new System.Drawing.Size(193, 46);
+            this.label1.TabIndex = 0;
+            this.label1.Text = "    Салон красоты \r\n\"Бархатные бровки\" ";
+            // 
+            // pictureBox1
+            // 
+            this.pictureBox1.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox1.Image")));
+            this.pictureBox1.Location = new System.Drawing.Point(0, -1);
+            this.pictureBox1.Name = "pictureBox1";
+            this.pictureBox1.Size = new System.Drawing.Size(121, 85);
+            this.pictureBox1.TabIndex = 3;
+            this.pictureBox1.TabStop = false;
+            // 
+            // label2
+            // 
+            this.label2.AutoSize = true;
+            this.label2.Font = new System.Drawing.Font("Tahoma", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+            this.label2.Location = new System.Drawing.Point(264, 81);
+            this.label2.Name = "label2";
+            this.label2.Size = new System.Drawing.Size(123, 23);
+            this.label2.TabIndex = 4;
+            this.label2.Text = "Список услуг";
+            // 
+            // beauty_saloonDataSet
+            // 
+            this.beauty_saloonDataSet.DataSetName = "beauty_saloonDataSet";
+            this.beauty_saloonDataSet.SchemaSerializationMode = System.Data.SchemaSerializationMode.IncludeSchema;
+            // 
+            // serviceBindingSource
+            // 
+            this.serviceBindingSource.DataMember = "Service";
+            this.serviceBindingSource.DataSource = this.beauty_saloonDataSet;
+            // 
+            // serviceTableAdapter
+            // 
+            this.serviceTableAdapter.ClearBeforeFill = true;
+            // 
+            // tableAdapterManager
+            // 
+            this.tableAdapterManager.AttachedProductTableAdapter = null;
+            this.tableAdapterManager.BackupDataSetBeforeUpdate = false;
+            this.tableAdapterManager.ClientServiceTableAdapter = null;
+            this.tableAdapterManager.ClientTableAdapter = null;
+            this.tableAdapterManager.DocumentByServiceTableAdapter = null;
+            this.tableAdapterManager.GenderTableAdapter = null;
+            this.tableAdapterManager.ManufacturerTableAdapter = null;
+            this.tableAdapterManager.ProductPhotoTableAdapter = null;
+            this.tableAdapterManager.ProductSaleTableAdapter = null;
+            this.tableAdapterManager.ProductTableAdapter = null;
+            this.tableAdapterManager.ServicePhotoTableAdapter = null;
+            this.tableAdapterManager.ServiceTableAdapter = this.serviceTableAdapter;
+            this.tableAdapterManager.TagOfClientTableAdapter = null;
+            this.tableAdapterManager.TagTableAdapter = null;
+            this.tableAdapterManager.UpdateOrder = BeautySaloon.beauty_saloonDataSetTableAdapters.TableAdapterManager.UpdateOrderOption.InsertUpdateDelete;
+            // 
+            // titleTextBox
+            // 
+            this.titleTextBox.BorderStyle = System.Windows.Forms.BorderStyle.None;
+            this.titleTextBox.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.serviceBindingSource, "Title", true));
+            this.titleTextBox.Font = new System.Drawing.Font("Tahoma", 14.25F);
+            this.titleTextBox.Location = new System.Drawing.Point(240, 119);
+            this.titleTextBox.Multiline = true;
+            this.titleTextBox.Name = "titleTextBox";
+            this.titleTextBox.Size = new System.Drawing.Size(379, 51);
+            this.titleTextBox.TabIndex = 8;
+            // 
+            // costTextBox
+            // 
+            this.costTextBox.BorderStyle = System.Windows.Forms.BorderStyle.None;
+            this.costTextBox.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.serviceBindingSource, "Cost", true));
+            this.costTextBox.Font = new System.Drawing.Font("Tahoma", 14.25F);
+            this.costTextBox.Location = new System.Drawing.Point(240, 186);
+            this.costTextBox.Name = "costTextBox";
+            this.costTextBox.Size = new System.Drawing.Size(90, 23);
+            this.costTextBox.TabIndex = 10;
+            // 
+            // durationInSecondsTextBox
+            // 
+            this.durationInSecondsTextBox.BorderStyle = System.Windows.Forms.BorderStyle.None;
+            this.durationInSecondsTextBox.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.serviceBindingSource, "DurationInSeconds", true));
+            this.durationInSecondsTextBox.Font = new System.Drawing.Font("Tahoma", 14.25F);
+            this.durationInSecondsTextBox.Location = new System.Drawing.Point(463, 186);
+            this.durationInSecondsTextBox.Name = "durationInSecondsTextBox";
+            this.durationInSecondsTextBox.Size = new System.Drawing.Size(60, 23);
+            this.durationInSecondsTextBox.TabIndex = 12;
+            this.durationInSecondsTextBox.TextChanged += new System.EventHandler(this.durationInSecondsTextBox_TextChanged);
+            // 
+            // discountTextBox
+            // 
+            this.discountTextBox.BorderStyle = System.Windows.Forms.BorderStyle.None;
+            this.discountTextBox.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.serviceBindingSource, "Discount", true));
+            this.discountTextBox.Font = new System.Drawing.Font("Tahoma", 14.25F);
+            this.discountTextBox.Location = new System.Drawing.Point(331, 249);
+            this.discountTextBox.Name = "discountTextBox";
+            this.discountTextBox.Size = new System.Drawing.Size(56, 23);
+            this.discountTextBox.TabIndex = 16;
+            // 
+            // pictureBox2
+            // 
+            this.pictureBox2.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox2.Image")));
+            this.pictureBox2.Location = new System.Drawing.Point(12, 119);
+            this.pictureBox2.Name = "pictureBox2";
+            this.pictureBox2.Size = new System.Drawing.Size(187, 160);
+            this.pictureBox2.TabIndex = 17;
+            this.pictureBox2.TabStop = false;
+            // 
+            // nextButton
+            // 
+            this.nextButton.BackColor = System.Drawing.Color.White;
+            this.nextButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
+            this.nextButton.Font = new System.Drawing.Font("Tahoma", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+            this.nextButton.Location = new System.Drawing.Point(509, 10);
+            this.nextButton.Name = "nextButton";
+            this.nextButton.Size = new System.Drawing.Size(139, 39);
+            this.nextButton.TabIndex = 19;
+            this.nextButton.Text = "Следующее";
+            this.nextButton.UseVisualStyleBackColor = false;
+            this.nextButton.Click += new System.EventHandler(this.nextButton_Click);
+            // 
+            // PrevButton
+            // 
+            this.PrevButton.BackColor = System.Drawing.Color.White;
+            this.PrevButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
+            this.PrevButton.Font = new System.Drawing.Font("Tahoma", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+            this.PrevButton.Location = new System.Drawing.Point(22, 10);
+            this.PrevButton.Name = "PrevButton";
+            this.PrevButton.Size = new System.Drawing.Size(139, 39);
+            this.PrevButton.TabIndex = 20;
+            this.PrevButton.Text = "Предыдущее";
+            this.PrevButton.UseVisualStyleBackColor = false;
+            this.PrevButton.Click += new System.EventHandler(this.PrevButton_Click);
+            // 
+            // FirstButton
+            // 
+            this.FirstButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
+            this.FirstButton.Font = new System.Drawing.Font("Tahoma", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+            this.FirstButton.Location = new System.Drawing.Point(175, 312);
+            this.FirstButton.Name = "FirstButton";
+            this.FirstButton.Size = new System.Drawing.Size(139, 39);
+            this.FirstButton.TabIndex = 21;
+            this.FirstButton.Text = "Первая";
+            this.FirstButton.UseVisualStyleBackColor = true;
+            this.FirstButton.Click += new System.EventHandler(this.FirstButton_Click);
+            // 
+            // LastButton
+            // 
+            this.LastButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
+            this.LastButton.Font = new System.Drawing.Font("Tahoma", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+            this.LastButton.Location = new System.Drawing.Point(331, 312);
+            this.LastButton.Name = "LastButton";
+            this.LastButton.Size = new System.Drawing.Size(139, 39);
+            this.LastButton.TabIndex = 22;
+            this.LastButton.Text = "Последняя";
+            this.LastButton.UseVisualStyleBackColor = true;
+            this.LastButton.Click += new System.EventHandler(this.LastButton_Click);
+            // 
+            // exitButton
+            // 
+            this.exitButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
+            this.exitButton.Font = new System.Drawing.Font("Tahoma", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+            this.exitButton.Location = new System.Drawing.Point(265, 368);
+            this.exitButton.Name = "exitButton";
+            this.exitButton.Size = new System.Drawing.Size(122, 39);
+            this.exitButton.TabIndex = 23;
+            this.exitButton.Text = "Выход";
+            this.exitButton.UseVisualStyleBackColor = true;
+            this.exitButton.Click += new System.EventHandler(this.exitButton_Click);
+            // 
+            // panel2
+            // 
+            this.panel2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(225)))), ((int)(((byte)(228)))), ((int)(((byte)(255)))));
+            this.panel2.Controls.Add(this.nextButton);
+            this.panel2.Controls.Add(this.PrevButton);
+            this.panel2.Location = new System.Drawing.Point(-10, 302);
+            this.panel2.Name = "panel2";
+            this.panel2.Size = new System.Drawing.Size(671, 118);
+            this.panel2.TabIndex = 24;
+            // 
+            // KlientForm
+            // 
+            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+            this.BackColor = System.Drawing.Color.White;
+            this.ClientSize = new System.Drawing.Size(650, 419);
+            this.Controls.Add(this.exitButton);
+            this.Controls.Add(this.LastButton);
+            this.Controls.Add(this.FirstButton);
+            this.Controls.Add(label3);
+            this.Controls.Add(this.pictureBox2);
+            this.Controls.Add(this.titleTextBox);
+            this.Controls.Add(costLabel);
+            this.Controls.Add(this.costTextBox);
+            this.Controls.Add(durationInSecondsLabel);
+            this.Controls.Add(this.durationInSecondsTextBox);
+            this.Controls.Add(discountLabel);
+            this.Controls.Add(this.discountTextBox);
+            this.Controls.Add(this.label2);
+            this.Controls.Add(this.panel1);
+            this.Controls.Add(this.pictureBox1);
+            this.Controls.Add(this.panel2);
+            this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
+            this.Name = "KlientForm";
+            this.Text = "Услуги";
+            this.Load += new System.EventHandler(this.KlientForm_Load);
+            this.panel1.ResumeLayout(false);
+            this.panel1.PerformLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.beauty_saloonDataSet)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.serviceBindingSource)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).EndInit();
+            this.panel2.ResumeLayout(false);
+            this.ResumeLayout(false);
+            this.PerformLayout();
+
+        }
+
+        #endregion
+
+        private System.Windows.Forms.Panel panel1;
+        private System.Windows.Forms.Label label1;
+        private System.Windows.Forms.PictureBox pictureBox1;
+        private System.Windows.Forms.Label label2;
+        private beauty_saloonDataSet beauty_saloonDataSet;
+        private System.Windows.Forms.BindingSource serviceBindingSource;
+        private beauty_saloonDataSetTableAdapters.ServiceTableAdapter serviceTableAdapter;
+        private beauty_saloonDataSetTableAdapters.TableAdapterManager tableAdapterManager;
+        private System.Windows.Forms.TextBox titleTextBox;
+        private System.Windows.Forms.TextBox costTextBox;
+        private System.Windows.Forms.TextBox durationInSecondsTextBox;
+        private System.Windows.Forms.TextBox discountTextBox;
+        private System.Windows.Forms.PictureBox pictureBox2;
+        private System.Windows.Forms.Button nextButton;
+        private System.Windows.Forms.Button PrevButton;
+        private System.Windows.Forms.Button FirstButton;
+        private System.Windows.Forms.Button LastButton;
+        private System.Windows.Forms.Button exitButton;
+        private System.Windows.Forms.Panel panel2;
+    }
+}

+ 67 - 0
KlientForm.cs

@@ -0,0 +1,67 @@
+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 BeautySaloon
+{
+    public partial class KlientForm : Form
+    {
+        public KlientForm()
+        {
+            InitializeComponent();
+        }
+
+        private void serviceBindingNavigatorSaveItem_Click(object sender, EventArgs e)
+        {
+            this.Validate();
+            this.serviceBindingSource.EndEdit();
+            this.tableAdapterManager.UpdateAll(this.beauty_saloonDataSet);
+
+        }
+
+        private void KlientForm_Load(object sender, EventArgs e)
+        {
+            // TODO: данная строка кода позволяет загрузить данные в таблицу "beauty_saloonDataSet.Service". При необходимости она может быть перемещена или удалена.
+            this.serviceTableAdapter.Fill(this.beauty_saloonDataSet.Service);
+
+        }
+
+        private void durationInSecondsTextBox_TextChanged(object sender, EventArgs e)
+        {
+
+        }
+
+        private void nextButton_Click(object sender, EventArgs e)
+        {
+            serviceBindingSource.MoveNext();
+        }
+
+        private void FirstButton_Click(object sender, EventArgs e)
+        {
+            serviceBindingSource.MoveFirst();
+        }
+
+        private void LastButton_Click(object sender, EventArgs e)
+        {
+            serviceBindingSource.MoveLast();
+        }
+
+        private void PrevButton_Click(object sender, EventArgs e)
+        {
+            serviceBindingSource.MovePrevious();
+        }
+
+        private void exitButton_Click(object sender, EventArgs e)
+        {
+            AuthForm form = new AuthForm();
+            form.Show();
+            this.Close();
+        }
+    }
+}

+ 748 - 0
KlientForm.resx

@@ -0,0 +1,748 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <metadata name="costLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>False</value>
+  </metadata>
+  <metadata name="durationInSecondsLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>False</value>
+  </metadata>
+  <metadata name="discountLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>False</value>
+  </metadata>
+  <metadata name="label3.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>False</value>
+  </metadata>
+  <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+  <data name="pictureBox1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        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
+        SUVORK5CYII=
+</value>
+  </data>
+  <metadata name="beauty_saloonDataSet.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>17, 17</value>
+  </metadata>
+  <metadata name="serviceBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>189, 17</value>
+  </metadata>
+  <metadata name="serviceTableAdapter.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>356, 17</value>
+  </metadata>
+  <metadata name="tableAdapterManager.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>518, 17</value>
+  </metadata>
+  <data name="pictureBox2.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        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
+</value>
+  </data>
+  <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        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
+        zAAAAABJRU5ErkJggg==
+</value>
+  </data>
+</root>

+ 30 - 0
Manufacturer.cs

@@ -0,0 +1,30 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+//     Этот код создан по шаблону.
+//
+//     Изменения, вносимые в этот файл вручную, могут привести к непредвиденной работе приложения.
+//     Изменения, вносимые в этот файл вручную, будут перезаписаны при повторном создании кода.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace BeautySaloon
+{
+    using System;
+    using System.Collections.Generic;
+    
+    public partial class Manufacturer
+    {
+        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
+        public Manufacturer()
+        {
+            this.Product = new HashSet<Product>();
+        }
+    
+        public int ID { get; set; }
+        public string Name { get; set; }
+        public Nullable<System.DateTime> StartDate { get; set; }
+    
+        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+        public virtual ICollection<Product> Product { get; set; }
+    }
+}

+ 44 - 0
Product.cs

@@ -0,0 +1,44 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+//     Этот код создан по шаблону.
+//
+//     Изменения, вносимые в этот файл вручную, могут привести к непредвиденной работе приложения.
+//     Изменения, вносимые в этот файл вручную, будут перезаписаны при повторном создании кода.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace BeautySaloon
+{
+    using System;
+    using System.Collections.Generic;
+    
+    public partial class Product
+    {
+        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
+        public Product()
+        {
+            this.ProductPhoto = new HashSet<ProductPhoto>();
+            this.ProductSale = new HashSet<ProductSale>();
+            this.Product1 = new HashSet<Product>();
+            this.Product2 = new HashSet<Product>();
+        }
+    
+        public int ID { get; set; }
+        public string Title { get; set; }
+        public decimal Cost { get; set; }
+        public string Description { get; set; }
+        public string MainImagePath { get; set; }
+        public bool IsActive { get; set; }
+        public Nullable<int> ManufacturerID { get; set; }
+    
+        public virtual Manufacturer Manufacturer { get; set; }
+        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+        public virtual ICollection<ProductPhoto> ProductPhoto { get; set; }
+        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+        public virtual ICollection<ProductSale> ProductSale { get; set; }
+        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+        public virtual ICollection<Product> Product1 { get; set; }
+        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+        public virtual ICollection<Product> Product2 { get; set; }
+    }
+}

+ 23 - 0
ProductPhoto.cs

@@ -0,0 +1,23 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+//     Этот код создан по шаблону.
+//
+//     Изменения, вносимые в этот файл вручную, могут привести к непредвиденной работе приложения.
+//     Изменения, вносимые в этот файл вручную, будут перезаписаны при повторном создании кода.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace BeautySaloon
+{
+    using System;
+    using System.Collections.Generic;
+    
+    public partial class ProductPhoto
+    {
+        public int ID { get; set; }
+        public int ProductID { get; set; }
+        public string PhotoPath { get; set; }
+    
+        public virtual Product Product { get; set; }
+    }
+}

+ 26 - 0
ProductSale.cs

@@ -0,0 +1,26 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+//     Этот код создан по шаблону.
+//
+//     Изменения, вносимые в этот файл вручную, могут привести к непредвиденной работе приложения.
+//     Изменения, вносимые в этот файл вручную, будут перезаписаны при повторном создании кода.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace BeautySaloon
+{
+    using System;
+    using System.Collections.Generic;
+    
+    public partial class ProductSale
+    {
+        public int ID { get; set; }
+        public System.DateTime SaleDate { get; set; }
+        public int ProductID { get; set; }
+        public int Quantity { get; set; }
+        public Nullable<int> ClientServiceID { get; set; }
+    
+        public virtual ClientService ClientService { get; set; }
+        public virtual Product Product { get; set; }
+    }
+}

+ 22 - 0
Program.cs

@@ -0,0 +1,22 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+
+namespace BeautySaloon
+{
+    static class Program
+    {
+        /// <summary>
+        /// Главная точка входа для приложения.
+        /// </summary>
+        [STAThread]
+        static void Main()
+        {
+            Application.EnableVisualStyles();
+            Application.SetCompatibleTextRenderingDefault(false);
+            Application.Run(new AuthForm());
+        }
+    }
+}

+ 36 - 0
Properties/AssemblyInfo.cs

@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// Общие сведения об этой сборке предоставляются следующим набором
+// набора атрибутов. Измените значения этих атрибутов для изменения сведений,
+// связанных со сборкой.
+[assembly: AssemblyTitle("BeautySaloon")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("BeautySaloon")]
+[assembly: AssemblyCopyright("Copyright ©  2023")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Установка значения False для параметра ComVisible делает типы в этой сборке невидимыми
+// для компонентов COM. Если необходимо обратиться к типу в этой сборке через
+// COM, следует установить атрибут ComVisible в TRUE для этого типа.
+[assembly: ComVisible(false)]
+
+// Следующий GUID служит для идентификации библиотеки типов, если этот проект будет видимым для COM
+[assembly: Guid("2e0af632-3ef4-42c8-8bf7-2270259d92d7")]
+
+// Сведения о версии сборки состоят из указанных ниже четырех значений:
+//
+//      Основной номер версии
+//      Дополнительный номер версии
+//      Номер сборки
+//      Редакция
+//
+// Можно задать все значения или принять номера сборки и редакции по умолчанию 
+// используя "*", как показано ниже:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]

+ 70 - 0
Properties/Resources.Designer.cs

@@ -0,0 +1,70 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+//     Этот код создан программным средством.
+//     Версия среды выполнения: 4.0.30319.42000
+//
+//     Изменения в этом файле могут привести к неправильному поведению и будут утрачены, если
+//     код создан повторно.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+
+namespace BeautySaloon.Properties
+{
+    /// <summary>
+    ///   Класс ресурсов со строгим типом для поиска локализованных строк и пр.
+    /// </summary>
+    // Этот класс был автоматически создан при помощи StronglyTypedResourceBuilder
+    // класс с помощью таких средств, как ResGen или Visual Studio.
+    // Для добавления или удаления члена измените файл .ResX, а затем перезапустите ResGen
+    // с параметром /str или заново постройте свой VS-проект.
+    [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()
+        {
+        }
+
+        /// <summary>
+        ///   Возврат кэшированного экземпляра ResourceManager, используемого этим классом.
+        /// </summary>
+        [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("BeautySaloon.Properties.Resources", typeof(Resources).Assembly);
+                    resourceMan = temp;
+                }
+                return resourceMan;
+            }
+        }
+
+        /// <summary>
+        ///   Переопределяет свойство CurrentUICulture текущего потока для всех
+        ///   подстановки ресурсов с помощью этого класса ресурсов со строгим типом.
+        /// </summary>
+        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+        internal static global::System.Globalization.CultureInfo Culture
+        {
+            get
+            {
+                return resourceCulture;
+            }
+            set
+            {
+                resourceCulture = value;
+            }
+        }
+    }
+}

+ 117 - 0
Properties/Resources.resx

@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+</root>

+ 36 - 0
Properties/Settings.Designer.cs

@@ -0,0 +1,36 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+//     Этот код создан программой.
+//     Исполняемая версия:4.0.30319.42000
+//
+//     Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае
+//     повторной генерации кода.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace BeautySaloon.Properties {
+    
+    
+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.10.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=class31000;Initial Catalog=beauty_saloon;Integrated Security=True")]
+        public string beauty_saloonConnectionString {
+            get {
+                return ((string)(this["beauty_saloonConnectionString"]));
+            }
+        }
+    }
+}

+ 14 - 0
Properties/Settings.settings

@@ -0,0 +1,14 @@
+<?xml version='1.0' encoding='utf-8'?>
+<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" GeneratedClassNamespace="BeautySaloon.Properties" GeneratedClassName="Settings">
+  <Profiles />
+  <Settings>
+    <Setting Name="beauty_saloonConnectionString" Type="(Connection string)" Scope="Application">
+      <DesignTimeValue Profile="(Default)">&lt;?xml version="1.0" encoding="utf-16"?&gt;
+&lt;SerializableConnectionString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"&gt;
+  &lt;ConnectionString&gt;Data Source=class31000;Initial Catalog=beauty_saloon;Integrated Security=True&lt;/ConnectionString&gt;
+  &lt;ProviderName&gt;System.Data.SqlClient&lt;/ProviderName&gt;
+&lt;/SerializableConnectionString&gt;</DesignTimeValue>
+      <Value Profile="(Default)">Data Source=class31000;Initial Catalog=beauty_saloon;Integrated Security=True</Value>
+    </Setting>
+  </Settings>
+</SettingsFile>

+ 146 - 0
SaloonModel.Context.cs

@@ -0,0 +1,146 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+//     Этот код создан по шаблону.
+//
+//     Изменения, вносимые в этот файл вручную, могут привести к непредвиденной работе приложения.
+//     Изменения, вносимые в этот файл вручную, будут перезаписаны при повторном создании кода.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace BeautySaloon
+{
+    using System;
+    using System.Data.Entity;
+    using System.Data.Entity.Infrastructure;
+    using System.Data.Entity.Core.Objects;
+    using System.Linq;
+    
+    public partial class beauty_saloonEntities : DbContext
+    {
+        public beauty_saloonEntities()
+            : base("name=beauty_saloonEntities")
+        {
+        }
+    
+        protected override void OnModelCreating(DbModelBuilder modelBuilder)
+        {
+            throw new UnintentionalCodeFirstException();
+        }
+    
+        public virtual DbSet<Client> Client { get; set; }
+        public virtual DbSet<ClientService> ClientService { get; set; }
+        public virtual DbSet<DocumentByService> DocumentByService { get; set; }
+        public virtual DbSet<Gender> Gender { get; set; }
+        public virtual DbSet<Manufacturer> Manufacturer { get; set; }
+        public virtual DbSet<Product> Product { get; set; }
+        public virtual DbSet<ProductPhoto> ProductPhoto { get; set; }
+        public virtual DbSet<ProductSale> ProductSale { get; set; }
+        public virtual DbSet<Service> Service { get; set; }
+        public virtual DbSet<ServicePhoto> ServicePhoto { get; set; }
+        public virtual DbSet<sysdiagrams> sysdiagrams { get; set; }
+        public virtual DbSet<Tag> Tag { get; set; }
+    
+        public virtual int sp_alterdiagram(string diagramname, Nullable<int> owner_id, Nullable<int> version, byte[] definition)
+        {
+            var diagramnameParameter = diagramname != null ?
+                new ObjectParameter("diagramname", diagramname) :
+                new ObjectParameter("diagramname", typeof(string));
+    
+            var owner_idParameter = owner_id.HasValue ?
+                new ObjectParameter("owner_id", owner_id) :
+                new ObjectParameter("owner_id", typeof(int));
+    
+            var versionParameter = version.HasValue ?
+                new ObjectParameter("version", version) :
+                new ObjectParameter("version", typeof(int));
+    
+            var definitionParameter = definition != null ?
+                new ObjectParameter("definition", definition) :
+                new ObjectParameter("definition", typeof(byte[]));
+    
+            return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction("sp_alterdiagram", diagramnameParameter, owner_idParameter, versionParameter, definitionParameter);
+        }
+    
+        public virtual int sp_creatediagram(string diagramname, Nullable<int> owner_id, Nullable<int> version, byte[] definition)
+        {
+            var diagramnameParameter = diagramname != null ?
+                new ObjectParameter("diagramname", diagramname) :
+                new ObjectParameter("diagramname", typeof(string));
+    
+            var owner_idParameter = owner_id.HasValue ?
+                new ObjectParameter("owner_id", owner_id) :
+                new ObjectParameter("owner_id", typeof(int));
+    
+            var versionParameter = version.HasValue ?
+                new ObjectParameter("version", version) :
+                new ObjectParameter("version", typeof(int));
+    
+            var definitionParameter = definition != null ?
+                new ObjectParameter("definition", definition) :
+                new ObjectParameter("definition", typeof(byte[]));
+    
+            return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction("sp_creatediagram", diagramnameParameter, owner_idParameter, versionParameter, definitionParameter);
+        }
+    
+        public virtual int sp_dropdiagram(string diagramname, Nullable<int> owner_id)
+        {
+            var diagramnameParameter = diagramname != null ?
+                new ObjectParameter("diagramname", diagramname) :
+                new ObjectParameter("diagramname", typeof(string));
+    
+            var owner_idParameter = owner_id.HasValue ?
+                new ObjectParameter("owner_id", owner_id) :
+                new ObjectParameter("owner_id", typeof(int));
+    
+            return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction("sp_dropdiagram", diagramnameParameter, owner_idParameter);
+        }
+    
+        public virtual ObjectResult<sp_helpdiagramdefinition_Result> sp_helpdiagramdefinition(string diagramname, Nullable<int> owner_id)
+        {
+            var diagramnameParameter = diagramname != null ?
+                new ObjectParameter("diagramname", diagramname) :
+                new ObjectParameter("diagramname", typeof(string));
+    
+            var owner_idParameter = owner_id.HasValue ?
+                new ObjectParameter("owner_id", owner_id) :
+                new ObjectParameter("owner_id", typeof(int));
+    
+            return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction<sp_helpdiagramdefinition_Result>("sp_helpdiagramdefinition", diagramnameParameter, owner_idParameter);
+        }
+    
+        public virtual ObjectResult<sp_helpdiagrams_Result> sp_helpdiagrams(string diagramname, Nullable<int> owner_id)
+        {
+            var diagramnameParameter = diagramname != null ?
+                new ObjectParameter("diagramname", diagramname) :
+                new ObjectParameter("diagramname", typeof(string));
+    
+            var owner_idParameter = owner_id.HasValue ?
+                new ObjectParameter("owner_id", owner_id) :
+                new ObjectParameter("owner_id", typeof(int));
+    
+            return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction<sp_helpdiagrams_Result>("sp_helpdiagrams", diagramnameParameter, owner_idParameter);
+        }
+    
+        public virtual int sp_renamediagram(string diagramname, Nullable<int> owner_id, string new_diagramname)
+        {
+            var diagramnameParameter = diagramname != null ?
+                new ObjectParameter("diagramname", diagramname) :
+                new ObjectParameter("diagramname", typeof(string));
+    
+            var owner_idParameter = owner_id.HasValue ?
+                new ObjectParameter("owner_id", owner_id) :
+                new ObjectParameter("owner_id", typeof(int));
+    
+            var new_diagramnameParameter = new_diagramname != null ?
+                new ObjectParameter("new_diagramname", new_diagramname) :
+                new ObjectParameter("new_diagramname", typeof(string));
+    
+            return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction("sp_renamediagram", diagramnameParameter, owner_idParameter, new_diagramnameParameter);
+        }
+    
+        public virtual int sp_upgraddiagrams()
+        {
+            return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction("sp_upgraddiagrams");
+        }
+    }
+}

+ 636 - 0
SaloonModel.Context.tt

@@ -0,0 +1,636 @@
+<#@ template language="C#" debug="false" hostspecific="true"#>
+<#@ include file="EF6.Utility.CS.ttinclude"#><#@
+ output extension=".cs"#><#
+
+const string inputFile = @"SaloonModel.edmx";
+var textTransform = DynamicTextTransformation.Create(this);
+var code = new CodeGenerationTools(this);
+var ef = new MetadataTools(this);
+var typeMapper = new TypeMapper(code, ef, textTransform.Errors);
+var loader = new EdmMetadataLoader(textTransform.Host, textTransform.Errors);
+var itemCollection = loader.CreateEdmItemCollection(inputFile);
+var modelNamespace = loader.GetModelNamespace(inputFile);
+var codeStringGenerator = new CodeStringGenerator(code, typeMapper, ef);
+
+var container = itemCollection.OfType<EntityContainer>().FirstOrDefault();
+if (container == null)
+{
+    return string.Empty;
+}
+#>
+//------------------------------------------------------------------------------
+// <auto-generated>
+// <#=CodeGenerationTools.GetResourceString("Template_GeneratedCodeCommentLine1")#>
+//
+// <#=CodeGenerationTools.GetResourceString("Template_GeneratedCodeCommentLine2")#>
+// <#=CodeGenerationTools.GetResourceString("Template_GeneratedCodeCommentLine3")#>
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+<#
+
+var codeNamespace = code.VsNamespaceSuggestion();
+if (!String.IsNullOrEmpty(codeNamespace))
+{
+#>
+namespace <#=code.EscapeNamespace(codeNamespace)#>
+{
+<#
+    PushIndent("    ");
+}
+
+#>
+using System;
+using System.Data.Entity;
+using System.Data.Entity.Infrastructure;
+<#
+if (container.FunctionImports.Any())
+{
+#>
+using System.Data.Entity.Core.Objects;
+using System.Linq;
+<#
+}
+#>
+
+<#=Accessibility.ForType(container)#> partial class <#=code.Escape(container)#> : DbContext
+{
+    public <#=code.Escape(container)#>()
+        : base("name=<#=container.Name#>")
+    {
+<#
+if (!loader.IsLazyLoadingEnabled(container))
+{
+#>
+        this.Configuration.LazyLoadingEnabled = false;
+<#
+}
+
+foreach (var entitySet in container.BaseEntitySets.OfType<EntitySet>())
+{
+    // Note: the DbSet members are defined below such that the getter and
+    // setter always have the same accessibility as the DbSet definition
+    if (Accessibility.ForReadOnlyProperty(entitySet) != "public")
+    {
+#>
+        <#=codeStringGenerator.DbSetInitializer(entitySet)#>
+<#
+    }
+}
+#>
+    }
+
+    protected override void OnModelCreating(DbModelBuilder modelBuilder)
+    {
+        throw new UnintentionalCodeFirstException();
+    }
+
+<#
+    foreach (var entitySet in container.BaseEntitySets.OfType<EntitySet>())
+    {
+#>
+    <#=codeStringGenerator.DbSet(entitySet)#>
+<#
+    }
+
+    foreach (var edmFunction in container.FunctionImports)
+    {
+        WriteFunctionImport(typeMapper, codeStringGenerator, edmFunction, modelNamespace, includeMergeOption: false);
+    }
+#>
+}
+<#
+
+if (!String.IsNullOrEmpty(codeNamespace))
+{
+    PopIndent();
+#>
+}
+<#
+}
+#>
+<#+
+
+private void WriteFunctionImport(TypeMapper typeMapper, CodeStringGenerator codeStringGenerator, EdmFunction edmFunction, string modelNamespace, bool includeMergeOption)
+{
+    if (typeMapper.IsComposable(edmFunction))
+    {
+#>
+
+    [DbFunction("<#=edmFunction.NamespaceName#>", "<#=edmFunction.Name#>")]
+    <#=codeStringGenerator.ComposableFunctionMethod(edmFunction, modelNamespace)#>
+    {
+<#+
+        codeStringGenerator.WriteFunctionParameters(edmFunction, WriteFunctionParameter);
+#>
+        <#=codeStringGenerator.ComposableCreateQuery(edmFunction, modelNamespace)#>
+    }
+<#+
+    }
+    else
+    {
+#>
+
+    <#=codeStringGenerator.FunctionMethod(edmFunction, modelNamespace, includeMergeOption)#>
+    {
+<#+
+        codeStringGenerator.WriteFunctionParameters(edmFunction, WriteFunctionParameter);
+#>
+        <#=codeStringGenerator.ExecuteFunction(edmFunction, modelNamespace, includeMergeOption)#>
+    }
+<#+
+        if (typeMapper.GenerateMergeOptionFunction(edmFunction, includeMergeOption))
+        {
+            WriteFunctionImport(typeMapper, codeStringGenerator, edmFunction, modelNamespace, includeMergeOption: true);
+        }
+    }
+}
+
+public void WriteFunctionParameter(string name, string isNotNull, string notNullInit, string nullInit)
+{
+#>
+        var <#=name#> = <#=isNotNull#> ?
+            <#=notNullInit#> :
+            <#=nullInit#>;
+
+<#+
+}
+
+public const string TemplateId = "CSharp_DbContext_Context_EF6";
+
+public class CodeStringGenerator
+{
+    private readonly CodeGenerationTools _code;
+    private readonly TypeMapper _typeMapper;
+    private readonly MetadataTools _ef;
+
+    public CodeStringGenerator(CodeGenerationTools code, TypeMapper typeMapper, MetadataTools ef)
+    {
+        ArgumentNotNull(code, "code");
+        ArgumentNotNull(typeMapper, "typeMapper");
+        ArgumentNotNull(ef, "ef");
+
+        _code = code;
+        _typeMapper = typeMapper;
+        _ef = ef;
+    }
+
+    public string Property(EdmProperty edmProperty)
+    {
+        return string.Format(
+            CultureInfo.InvariantCulture,
+            "{0} {1} {2} {{ {3}get; {4}set; }}",
+            Accessibility.ForProperty(edmProperty),
+            _typeMapper.GetTypeName(edmProperty.TypeUsage),
+            _code.Escape(edmProperty),
+            _code.SpaceAfter(Accessibility.ForGetter(edmProperty)),
+            _code.SpaceAfter(Accessibility.ForSetter(edmProperty)));
+    }
+
+    public string NavigationProperty(NavigationProperty navProp)
+    {
+        var endType = _typeMapper.GetTypeName(navProp.ToEndMember.GetEntityType());
+        return string.Format(
+            CultureInfo.InvariantCulture,
+            "{0} {1} {2} {{ {3}get; {4}set; }}",
+            AccessibilityAndVirtual(Accessibility.ForNavigationProperty(navProp)),
+            navProp.ToEndMember.RelationshipMultiplicity == RelationshipMultiplicity.Many ? ("ICollection<" + endType + ">") : endType,
+            _code.Escape(navProp),
+            _code.SpaceAfter(Accessibility.ForGetter(navProp)),
+            _code.SpaceAfter(Accessibility.ForSetter(navProp)));
+    }
+    
+    public string AccessibilityAndVirtual(string accessibility)
+    {
+        return accessibility + (accessibility != "private" ? " virtual" : "");
+    }
+    
+    public string EntityClassOpening(EntityType entity)
+    {
+        return string.Format(
+            CultureInfo.InvariantCulture,
+            "{0} {1}partial class {2}{3}",
+            Accessibility.ForType(entity),
+            _code.SpaceAfter(_code.AbstractOption(entity)),
+            _code.Escape(entity),
+            _code.StringBefore(" : ", _typeMapper.GetTypeName(entity.BaseType)));
+    }
+    
+    public string EnumOpening(SimpleType enumType)
+    {
+        return string.Format(
+            CultureInfo.InvariantCulture,
+            "{0} enum {1} : {2}",
+            Accessibility.ForType(enumType),
+            _code.Escape(enumType),
+            _code.Escape(_typeMapper.UnderlyingClrType(enumType)));
+        }
+    
+    public void WriteFunctionParameters(EdmFunction edmFunction, Action<string, string, string, string> writeParameter)
+    {
+        var parameters = FunctionImportParameter.Create(edmFunction.Parameters, _code, _ef);
+        foreach (var parameter in parameters.Where(p => p.NeedsLocalVariable))
+        {
+            var isNotNull = parameter.IsNullableOfT ? parameter.FunctionParameterName + ".HasValue" : parameter.FunctionParameterName + " != null";
+            var notNullInit = "new ObjectParameter(\"" + parameter.EsqlParameterName + "\", " + parameter.FunctionParameterName + ")";
+            var nullInit = "new ObjectParameter(\"" + parameter.EsqlParameterName + "\", typeof(" + TypeMapper.FixNamespaces(parameter.RawClrTypeName) + "))";
+            writeParameter(parameter.LocalVariableName, isNotNull, notNullInit, nullInit);
+        }
+    }
+    
+    public string ComposableFunctionMethod(EdmFunction edmFunction, string modelNamespace)
+    {
+        var parameters = _typeMapper.GetParameters(edmFunction);
+        
+        return string.Format(
+            CultureInfo.InvariantCulture,
+            "{0} IQueryable<{1}> {2}({3})",
+            AccessibilityAndVirtual(Accessibility.ForMethod(edmFunction)),
+            _typeMapper.GetTypeName(_typeMapper.GetReturnType(edmFunction), modelNamespace),
+            _code.Escape(edmFunction),
+            string.Join(", ", parameters.Select(p => TypeMapper.FixNamespaces(p.FunctionParameterType) + " " + p.FunctionParameterName).ToArray()));
+    }
+    
+    public string ComposableCreateQuery(EdmFunction edmFunction, string modelNamespace)
+    {
+        var parameters = _typeMapper.GetParameters(edmFunction);
+        
+        return string.Format(
+            CultureInfo.InvariantCulture,
+            "return ((IObjectContextAdapter)this).ObjectContext.CreateQuery<{0}>(\"[{1}].[{2}]({3})\"{4});",
+            _typeMapper.GetTypeName(_typeMapper.GetReturnType(edmFunction), modelNamespace),
+            edmFunction.NamespaceName,
+            edmFunction.Name,
+            string.Join(", ", parameters.Select(p => "@" + p.EsqlParameterName).ToArray()),
+            _code.StringBefore(", ", string.Join(", ", parameters.Select(p => p.ExecuteParameterName).ToArray())));
+    }
+    
+    public string FunctionMethod(EdmFunction edmFunction, string modelNamespace, bool includeMergeOption)
+    {
+        var parameters = _typeMapper.GetParameters(edmFunction);
+        var returnType = _typeMapper.GetReturnType(edmFunction);
+
+        var paramList = String.Join(", ", parameters.Select(p => TypeMapper.FixNamespaces(p.FunctionParameterType) + " " + p.FunctionParameterName).ToArray());
+        if (includeMergeOption)
+        {
+            paramList = _code.StringAfter(paramList, ", ") + "MergeOption mergeOption";
+        }
+
+        return string.Format(
+            CultureInfo.InvariantCulture,
+            "{0} {1} {2}({3})",
+            AccessibilityAndVirtual(Accessibility.ForMethod(edmFunction)),
+            returnType == null ? "int" : "ObjectResult<" + _typeMapper.GetTypeName(returnType, modelNamespace) + ">",
+            _code.Escape(edmFunction),
+            paramList);
+    }
+    
+    public string ExecuteFunction(EdmFunction edmFunction, string modelNamespace, bool includeMergeOption)
+    {
+        var parameters = _typeMapper.GetParameters(edmFunction);
+        var returnType = _typeMapper.GetReturnType(edmFunction);
+
+        var callParams = _code.StringBefore(", ", String.Join(", ", parameters.Select(p => p.ExecuteParameterName).ToArray()));
+        if (includeMergeOption)
+        {
+            callParams = ", mergeOption" + callParams;
+        }
+        
+        return string.Format(
+            CultureInfo.InvariantCulture,
+            "return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction{0}(\"{1}\"{2});",
+            returnType == null ? "" : "<" + _typeMapper.GetTypeName(returnType, modelNamespace) + ">",
+            edmFunction.Name,
+            callParams);
+    }
+    
+    public string DbSet(EntitySet entitySet)
+    {
+        return string.Format(
+            CultureInfo.InvariantCulture,
+            "{0} virtual DbSet<{1}> {2} {{ get; set; }}",
+            Accessibility.ForReadOnlyProperty(entitySet),
+            _typeMapper.GetTypeName(entitySet.ElementType),
+            _code.Escape(entitySet));
+    }
+
+    public string DbSetInitializer(EntitySet entitySet)
+    {
+        return string.Format(
+            CultureInfo.InvariantCulture,
+            "{0} = Set<{1}>();",
+            _code.Escape(entitySet),
+            _typeMapper.GetTypeName(entitySet.ElementType));
+    }
+
+    public string UsingDirectives(bool inHeader, bool includeCollections = true)
+    {
+        return inHeader == string.IsNullOrEmpty(_code.VsNamespaceSuggestion())
+            ? string.Format(
+                CultureInfo.InvariantCulture,
+                "{0}using System;{1}" +
+                "{2}",
+                inHeader ? Environment.NewLine : "",
+                includeCollections ? (Environment.NewLine + "using System.Collections.Generic;") : "",
+                inHeader ? "" : Environment.NewLine)
+            : "";
+    }
+}
+
+public class TypeMapper
+{
+    private const string ExternalTypeNameAttributeName = @"http://schemas.microsoft.com/ado/2006/04/codegeneration:ExternalTypeName";
+
+    private readonly System.Collections.IList _errors;
+    private readonly CodeGenerationTools _code;
+    private readonly MetadataTools _ef;
+
+    public static string FixNamespaces(string typeName)
+    {
+        return typeName.Replace("System.Data.Spatial.", "System.Data.Entity.Spatial.");
+    }
+
+    public TypeMapper(CodeGenerationTools code, MetadataTools ef, System.Collections.IList errors)
+    {
+        ArgumentNotNull(code, "code");
+        ArgumentNotNull(ef, "ef");
+        ArgumentNotNull(errors, "errors");
+
+        _code = code;
+        _ef = ef;
+        _errors = errors;
+    }
+
+    public string GetTypeName(TypeUsage typeUsage)
+    {
+        return typeUsage == null ? null : GetTypeName(typeUsage.EdmType, _ef.IsNullable(typeUsage), modelNamespace: null);
+    }
+
+    public string GetTypeName(EdmType edmType)
+    {
+        return GetTypeName(edmType, isNullable: null, modelNamespace: null);
+    }
+
+    public string GetTypeName(TypeUsage typeUsage, string modelNamespace)
+    {
+        return typeUsage == null ? null : GetTypeName(typeUsage.EdmType, _ef.IsNullable(typeUsage), modelNamespace);
+    }
+
+    public string GetTypeName(EdmType edmType, string modelNamespace)
+    {
+        return GetTypeName(edmType, isNullable: null, modelNamespace: modelNamespace);
+    }
+
+    public string GetTypeName(EdmType edmType, bool? isNullable, string modelNamespace)
+    {
+        if (edmType == null)
+        {
+            return null;
+        }
+
+        var collectionType = edmType as CollectionType;
+        if (collectionType != null)
+        {
+            return String.Format(CultureInfo.InvariantCulture, "ICollection<{0}>", GetTypeName(collectionType.TypeUsage, modelNamespace));
+        }
+
+        var typeName = _code.Escape(edmType.MetadataProperties
+                                .Where(p => p.Name == ExternalTypeNameAttributeName)
+                                .Select(p => (string)p.Value)
+                                .FirstOrDefault())
+            ?? (modelNamespace != null && edmType.NamespaceName != modelNamespace ?
+                _code.CreateFullName(_code.EscapeNamespace(edmType.NamespaceName), _code.Escape(edmType)) :
+                _code.Escape(edmType));
+
+        if (edmType is StructuralType)
+        {
+            return typeName;
+        }
+
+        if (edmType is SimpleType)
+        {
+            var clrType = UnderlyingClrType(edmType);
+            if (!IsEnumType(edmType))
+            {
+                typeName = _code.Escape(clrType);
+            }
+
+            typeName = FixNamespaces(typeName);
+
+            return clrType.IsValueType && isNullable == true ?
+                String.Format(CultureInfo.InvariantCulture, "Nullable<{0}>", typeName) :
+                typeName;
+        }
+
+        throw new ArgumentException("edmType");
+    }
+    
+    public Type UnderlyingClrType(EdmType edmType)
+    {
+        ArgumentNotNull(edmType, "edmType");
+
+        var primitiveType = edmType as PrimitiveType;
+        if (primitiveType != null)
+        {
+            return primitiveType.ClrEquivalentType;
+        }
+
+        if (IsEnumType(edmType))
+        {
+            return GetEnumUnderlyingType(edmType).ClrEquivalentType;
+        }
+
+        return typeof(object);
+    }
+    
+    public object GetEnumMemberValue(MetadataItem enumMember)
+    {
+        ArgumentNotNull(enumMember, "enumMember");
+        
+        var valueProperty = enumMember.GetType().GetProperty("Value");
+        return valueProperty == null ? null : valueProperty.GetValue(enumMember, null);
+    }
+    
+    public string GetEnumMemberName(MetadataItem enumMember)
+    {
+        ArgumentNotNull(enumMember, "enumMember");
+        
+        var nameProperty = enumMember.GetType().GetProperty("Name");
+        return nameProperty == null ? null : (string)nameProperty.GetValue(enumMember, null);
+    }
+
+    public System.Collections.IEnumerable GetEnumMembers(EdmType enumType)
+    {
+        ArgumentNotNull(enumType, "enumType");
+
+        var membersProperty = enumType.GetType().GetProperty("Members");
+        return membersProperty != null 
+            ? (System.Collections.IEnumerable)membersProperty.GetValue(enumType, null)
+            : Enumerable.Empty<MetadataItem>();
+    }
+    
+    public bool EnumIsFlags(EdmType enumType)
+    {
+        ArgumentNotNull(enumType, "enumType");
+        
+        var isFlagsProperty = enumType.GetType().GetProperty("IsFlags");
+        return isFlagsProperty != null && (bool)isFlagsProperty.GetValue(enumType, null);
+    }
+
+    public bool IsEnumType(GlobalItem edmType)
+    {
+        ArgumentNotNull(edmType, "edmType");
+
+        return edmType.GetType().Name == "EnumType";
+    }
+
+    public PrimitiveType GetEnumUnderlyingType(EdmType enumType)
+    {
+        ArgumentNotNull(enumType, "enumType");
+
+        return (PrimitiveType)enumType.GetType().GetProperty("UnderlyingType").GetValue(enumType, null);
+    }
+
+    public string CreateLiteral(object value)
+    {
+        if (value == null || value.GetType() != typeof(TimeSpan))
+        {
+            return _code.CreateLiteral(value);
+        }
+
+        return string.Format(CultureInfo.InvariantCulture, "new TimeSpan({0})", ((TimeSpan)value).Ticks);
+    }
+    
+    public bool VerifyCaseInsensitiveTypeUniqueness(IEnumerable<string> types, string sourceFile)
+    {
+        ArgumentNotNull(types, "types");
+        ArgumentNotNull(sourceFile, "sourceFile");
+        
+        var hash = new HashSet<string>(StringComparer.InvariantCultureIgnoreCase);
+        if (types.Any(item => !hash.Add(item)))
+        {
+            _errors.Add(
+                new CompilerError(sourceFile, -1, -1, "6023",
+                    String.Format(CultureInfo.CurrentCulture, CodeGenerationTools.GetResourceString("Template_CaseInsensitiveTypeConflict"))));
+            return false;
+        }
+        return true;
+    }
+    
+    public IEnumerable<SimpleType> GetEnumItemsToGenerate(IEnumerable<GlobalItem> itemCollection)
+    {
+        return GetItemsToGenerate<SimpleType>(itemCollection)
+            .Where(e => IsEnumType(e));
+    }
+    
+    public IEnumerable<T> GetItemsToGenerate<T>(IEnumerable<GlobalItem> itemCollection) where T: EdmType
+    {
+        return itemCollection
+            .OfType<T>()
+            .Where(i => !i.MetadataProperties.Any(p => p.Name == ExternalTypeNameAttributeName))
+            .OrderBy(i => i.Name);
+    }
+
+    public IEnumerable<string> GetAllGlobalItems(IEnumerable<GlobalItem> itemCollection)
+    {
+        return itemCollection
+            .Where(i => i is EntityType || i is ComplexType || i is EntityContainer || IsEnumType(i))
+            .Select(g => GetGlobalItemName(g));
+    }
+
+    public string GetGlobalItemName(GlobalItem item)
+    {
+        if (item is EdmType)
+        {
+            return ((EdmType)item).Name;
+        }
+        else
+        {
+            return ((EntityContainer)item).Name;
+        }
+    }
+
+    public IEnumerable<EdmProperty> GetSimpleProperties(EntityType type)
+    {
+        return type.Properties.Where(p => p.TypeUsage.EdmType is SimpleType && p.DeclaringType == type);
+    }
+    
+    public IEnumerable<EdmProperty> GetSimpleProperties(ComplexType type)
+    {
+        return type.Properties.Where(p => p.TypeUsage.EdmType is SimpleType && p.DeclaringType == type);
+    }
+    
+    public IEnumerable<EdmProperty> GetComplexProperties(EntityType type)
+    {
+        return type.Properties.Where(p => p.TypeUsage.EdmType is ComplexType && p.DeclaringType == type);
+    }
+    
+    public IEnumerable<EdmProperty> GetComplexProperties(ComplexType type)
+    {
+        return type.Properties.Where(p => p.TypeUsage.EdmType is ComplexType && p.DeclaringType == type);
+    }
+
+    public IEnumerable<EdmProperty> GetPropertiesWithDefaultValues(EntityType type)
+    {
+        return type.Properties.Where(p => p.TypeUsage.EdmType is SimpleType && p.DeclaringType == type && p.DefaultValue != null);
+    }
+    
+    public IEnumerable<EdmProperty> GetPropertiesWithDefaultValues(ComplexType type)
+    {
+        return type.Properties.Where(p => p.TypeUsage.EdmType is SimpleType && p.DeclaringType == type && p.DefaultValue != null);
+    }
+
+    public IEnumerable<NavigationProperty> GetNavigationProperties(EntityType type)
+    {
+        return type.NavigationProperties.Where(np => np.DeclaringType == type);
+    }
+    
+    public IEnumerable<NavigationProperty> GetCollectionNavigationProperties(EntityType type)
+    {
+        return type.NavigationProperties.Where(np => np.DeclaringType == type && np.ToEndMember.RelationshipMultiplicity == RelationshipMultiplicity.Many);
+    }
+    
+    public FunctionParameter GetReturnParameter(EdmFunction edmFunction)
+    {
+        ArgumentNotNull(edmFunction, "edmFunction");
+
+        var returnParamsProperty = edmFunction.GetType().GetProperty("ReturnParameters");
+        return returnParamsProperty == null
+            ? edmFunction.ReturnParameter
+            : ((IEnumerable<FunctionParameter>)returnParamsProperty.GetValue(edmFunction, null)).FirstOrDefault();
+    }
+
+    public bool IsComposable(EdmFunction edmFunction)
+    {
+        ArgumentNotNull(edmFunction, "edmFunction");
+
+        var isComposableProperty = edmFunction.GetType().GetProperty("IsComposableAttribute");
+        return isComposableProperty != null && (bool)isComposableProperty.GetValue(edmFunction, null);
+    }
+
+    public IEnumerable<FunctionImportParameter> GetParameters(EdmFunction edmFunction)
+    {
+        return FunctionImportParameter.Create(edmFunction.Parameters, _code, _ef);
+    }
+
+    public TypeUsage GetReturnType(EdmFunction edmFunction)
+    {
+        var returnParam = GetReturnParameter(edmFunction);
+        return returnParam == null ? null : _ef.GetElementType(returnParam.TypeUsage);
+    }
+    
+    public bool GenerateMergeOptionFunction(EdmFunction edmFunction, bool includeMergeOption)
+    {
+        var returnType = GetReturnType(edmFunction);
+        return !includeMergeOption && returnType != null && returnType.EdmType.BuiltInTypeKind == BuiltInTypeKind.EntityType;
+    }
+}
+
+public static void ArgumentNotNull<T>(T arg, string name) where T : class
+{
+    if (arg == null)
+    {
+        throw new ArgumentNullException(name);
+    }
+}
+#>

+ 10 - 0
SaloonModel.Designer.cs

@@ -0,0 +1,10 @@
+// Создание кода T4 для модели "C:\Users\user2\source\repos\BeautySaloon\SaloonModel.edmx" включено. 
+// Чтобы включить формирование кода прежних версий, измените значение свойства "Стратегия создания кода" конструктора
+// на "Legacy ObjectContext". Это свойство доступно в окне "Свойства", если модель
+// открыта в конструкторе.
+
+// Если не сформированы контекст и классы сущности, возможная причина в том, что вы создали пустую модель, но
+// еще не выбрали версию Entity Framework для использования. Чтобы сформировать класс контекста и классы сущностей
+// для своей модели, откройте модель в конструкторе, щелкните правой кнопкой область конструктора и
+// выберите "Обновить модель из базы данных", "Сформировать базу данных из модели" или "Добавить элемент формирования
+// кода...".

+ 9 - 0
SaloonModel.cs

@@ -0,0 +1,9 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+//     Этот код создан по шаблону.
+//
+//     Изменения, вносимые в этот файл вручную, могут привести к непредвиденной работе приложения.
+//     Изменения, вносимые в этот файл вручную, будут перезаписаны при повторном создании кода.
+// </auto-generated>
+//------------------------------------------------------------------------------
+

+ 950 - 0
SaloonModel.edmx

@@ -0,0 +1,950 @@
+<?xml version="1.0" encoding="utf-8"?>
+<edmx:Edmx Version="3.0" xmlns:edmx="http://schemas.microsoft.com/ado/2009/11/edmx">
+  <!-- EF Runtime content -->
+  <edmx:Runtime>
+    <!-- SSDL content -->
+    <edmx:StorageModels>
+      <Schema Namespace="Хранилище beauty_saloonModel" Provider="System.Data.SqlClient" ProviderManifestToken="2012" Alias="Self" xmlns:store="http://schemas.microsoft.com/ado/2007/12/edm/EntityStoreSchemaGenerator" xmlns:customannotation="http://schemas.microsoft.com/ado/2013/11/edm/customannotation" xmlns="http://schemas.microsoft.com/ado/2009/11/edm/ssdl">
+        <EntityType Name="AttachedProduct">
+          <Key>
+            <PropertyRef Name="MainProductID" />
+            <PropertyRef Name="AttachedProductID" />
+          </Key>
+          <Property Name="MainProductID" Type="int" Nullable="false" />
+          <Property Name="AttachedProductID" Type="int" Nullable="false" />
+        </EntityType>
+        <EntityType Name="Client">
+          <Key>
+            <PropertyRef Name="ID" />
+          </Key>
+          <Property Name="ID" Type="int" StoreGeneratedPattern="Identity" Nullable="false" />
+          <Property Name="FirstName" Type="nvarchar" MaxLength="50" Nullable="false" />
+          <Property Name="LastName" Type="nvarchar" MaxLength="50" Nullable="false" />
+          <Property Name="Patronymic" Type="nvarchar" MaxLength="50" />
+          <Property Name="Birthday" Type="date" />
+          <Property Name="RegistrationDate" Type="datetime" Nullable="false" />
+          <Property Name="Email" Type="nvarchar" MaxLength="255" />
+          <Property Name="Phone" Type="nvarchar" MaxLength="20" Nullable="false" />
+          <Property Name="GenderCode" Type="nchar" MaxLength="1" Nullable="false" />
+          <Property Name="PhotoPath" Type="nvarchar" MaxLength="1000" />
+        </EntityType>
+        <EntityType Name="ClientService">
+          <Key>
+            <PropertyRef Name="ID" />
+          </Key>
+          <Property Name="ID" Type="int" StoreGeneratedPattern="Identity" Nullable="false" />
+          <Property Name="ClientID" Type="int" Nullable="false" />
+          <Property Name="ServiceID" Type="int" Nullable="false" />
+          <Property Name="StartTime" Type="datetime" Nullable="false" />
+          <Property Name="Comment" Type="nvarchar(max)" />
+        </EntityType>
+        <EntityType Name="DocumentByService">
+          <Key>
+            <PropertyRef Name="ID" />
+          </Key>
+          <Property Name="ID" Type="int" StoreGeneratedPattern="Identity" Nullable="false" />
+          <Property Name="ClientServiceID" Type="int" Nullable="false" />
+          <Property Name="DocumentPath" Type="nvarchar" MaxLength="1000" Nullable="false" />
+        </EntityType>
+        <EntityType Name="Gender">
+          <Key>
+            <PropertyRef Name="Code" />
+          </Key>
+          <Property Name="Code" Type="nchar" MaxLength="1" Nullable="false" />
+          <Property Name="Name" Type="nvarchar" MaxLength="10" />
+        </EntityType>
+        <EntityType Name="Manufacturer">
+          <Key>
+            <PropertyRef Name="ID" />
+          </Key>
+          <Property Name="ID" Type="int" StoreGeneratedPattern="Identity" Nullable="false" />
+          <Property Name="Name" Type="nvarchar" MaxLength="100" Nullable="false" />
+          <Property Name="StartDate" Type="date" />
+        </EntityType>
+        <EntityType Name="Product">
+          <Key>
+            <PropertyRef Name="ID" />
+          </Key>
+          <Property Name="ID" Type="int" StoreGeneratedPattern="Identity" Nullable="false" />
+          <Property Name="Title" Type="nvarchar" MaxLength="100" Nullable="false" />
+          <Property Name="Cost" Type="money" Nullable="false" />
+          <Property Name="Description" Type="nvarchar(max)" />
+          <Property Name="MainImagePath" Type="nvarchar" MaxLength="1000" />
+          <Property Name="IsActive" Type="bit" Nullable="false" />
+          <Property Name="ManufacturerID" Type="int" />
+        </EntityType>
+        <EntityType Name="ProductPhoto">
+          <Key>
+            <PropertyRef Name="ID" />
+          </Key>
+          <Property Name="ID" Type="int" StoreGeneratedPattern="Identity" Nullable="false" />
+          <Property Name="ProductID" Type="int" Nullable="false" />
+          <Property Name="PhotoPath" Type="nvarchar" MaxLength="1000" Nullable="false" />
+        </EntityType>
+        <EntityType Name="ProductSale">
+          <Key>
+            <PropertyRef Name="ID" />
+          </Key>
+          <Property Name="ID" Type="int" StoreGeneratedPattern="Identity" Nullable="false" />
+          <Property Name="SaleDate" Type="datetime" Nullable="false" />
+          <Property Name="ProductID" Type="int" Nullable="false" />
+          <Property Name="Quantity" Type="int" Nullable="false" />
+          <Property Name="ClientServiceID" Type="int" />
+        </EntityType>
+        <EntityType Name="Service">
+          <Key>
+            <PropertyRef Name="ID" />
+          </Key>
+          <Property Name="ID" Type="int" StoreGeneratedPattern="Identity" Nullable="false" />
+          <Property Name="Title" Type="nvarchar" MaxLength="100" Nullable="false" />
+          <Property Name="Cost" Type="money" Nullable="false" />
+          <Property Name="DurationInSeconds" Type="int" Nullable="false" />
+          <Property Name="Description" Type="nvarchar(max)" />
+          <Property Name="Discount" Type="float" />
+          <Property Name="MainImagePath" Type="nvarchar" MaxLength="1000" />
+        </EntityType>
+        <EntityType Name="ServicePhoto">
+          <Key>
+            <PropertyRef Name="ID" />
+          </Key>
+          <Property Name="ID" Type="int" StoreGeneratedPattern="Identity" Nullable="false" />
+          <Property Name="ServiceID" Type="int" Nullable="false" />
+          <Property Name="PhotoPath" Type="nvarchar" MaxLength="1000" Nullable="false" />
+        </EntityType>
+        <EntityType Name="sysdiagrams">
+          <Key>
+            <PropertyRef Name="diagram_id" />
+          </Key>
+          <Property Name="name" Type="nvarchar" MaxLength="128" Nullable="false" />
+          <Property Name="principal_id" Type="int" Nullable="false" />
+          <Property Name="diagram_id" Type="int" StoreGeneratedPattern="Identity" Nullable="false" />
+          <Property Name="version" Type="int" />
+          <Property Name="definition" Type="varbinary(max)" />
+        </EntityType>
+        <EntityType Name="Tag">
+          <Key>
+            <PropertyRef Name="ID" />
+          </Key>
+          <Property Name="ID" Type="int" StoreGeneratedPattern="Identity" Nullable="false" />
+          <Property Name="Title" Type="nvarchar" MaxLength="30" Nullable="false" />
+          <Property Name="Color" Type="nchar" MaxLength="6" Nullable="false" />
+        </EntityType>
+        <EntityType Name="TagOfClient">
+          <Key>
+            <PropertyRef Name="ClientID" />
+            <PropertyRef Name="TagID" />
+          </Key>
+          <Property Name="ClientID" Type="int" Nullable="false" />
+          <Property Name="TagID" Type="int" Nullable="false" />
+        </EntityType>
+        <Association Name="FK_AttachedProduct_Product">
+          <End Role="Product" Type="Self.Product" Multiplicity="1" />
+          <End Role="AttachedProduct" Type="Self.AttachedProduct" Multiplicity="*" />
+          <ReferentialConstraint>
+            <Principal Role="Product">
+              <PropertyRef Name="ID" />
+            </Principal>
+            <Dependent Role="AttachedProduct">
+              <PropertyRef Name="MainProductID" />
+            </Dependent>
+          </ReferentialConstraint>
+        </Association>
+        <Association Name="FK_AttachedProduct_Product1">
+          <End Role="Product" Type="Self.Product" Multiplicity="1" />
+          <End Role="AttachedProduct" Type="Self.AttachedProduct" Multiplicity="*" />
+          <ReferentialConstraint>
+            <Principal Role="Product">
+              <PropertyRef Name="ID" />
+            </Principal>
+            <Dependent Role="AttachedProduct">
+              <PropertyRef Name="AttachedProductID" />
+            </Dependent>
+          </ReferentialConstraint>
+        </Association>
+        <Association Name="FK_Client_Gender">
+          <End Role="Gender" Type="Self.Gender" Multiplicity="1" />
+          <End Role="Client" Type="Self.Client" Multiplicity="*" />
+          <ReferentialConstraint>
+            <Principal Role="Gender">
+              <PropertyRef Name="Code" />
+            </Principal>
+            <Dependent Role="Client">
+              <PropertyRef Name="GenderCode" />
+            </Dependent>
+          </ReferentialConstraint>
+        </Association>
+        <Association Name="FK_ClientService_Client">
+          <End Role="Client" Type="Self.Client" Multiplicity="1" />
+          <End Role="ClientService" Type="Self.ClientService" Multiplicity="*" />
+          <ReferentialConstraint>
+            <Principal Role="Client">
+              <PropertyRef Name="ID" />
+            </Principal>
+            <Dependent Role="ClientService">
+              <PropertyRef Name="ClientID" />
+            </Dependent>
+          </ReferentialConstraint>
+        </Association>
+        <Association Name="FK_ClientService_Service">
+          <End Role="Service" Type="Self.Service" Multiplicity="1" />
+          <End Role="ClientService" Type="Self.ClientService" Multiplicity="*" />
+          <ReferentialConstraint>
+            <Principal Role="Service">
+              <PropertyRef Name="ID" />
+            </Principal>
+            <Dependent Role="ClientService">
+              <PropertyRef Name="ServiceID" />
+            </Dependent>
+          </ReferentialConstraint>
+        </Association>
+        <Association Name="FK_DocumentByService_ClientService">
+          <End Role="ClientService" Type="Self.ClientService" Multiplicity="1" />
+          <End Role="DocumentByService" Type="Self.DocumentByService" Multiplicity="*" />
+          <ReferentialConstraint>
+            <Principal Role="ClientService">
+              <PropertyRef Name="ID" />
+            </Principal>
+            <Dependent Role="DocumentByService">
+              <PropertyRef Name="ClientServiceID" />
+            </Dependent>
+          </ReferentialConstraint>
+        </Association>
+        <Association Name="FK_Product_Manufacturer">
+          <End Role="Manufacturer" Type="Self.Manufacturer" Multiplicity="0..1" />
+          <End Role="Product" Type="Self.Product" Multiplicity="*" />
+          <ReferentialConstraint>
+            <Principal Role="Manufacturer">
+              <PropertyRef Name="ID" />
+            </Principal>
+            <Dependent Role="Product">
+              <PropertyRef Name="ManufacturerID" />
+            </Dependent>
+          </ReferentialConstraint>
+        </Association>
+        <Association Name="FK_ProductPhoto_Product">
+          <End Role="Product" Type="Self.Product" Multiplicity="1" />
+          <End Role="ProductPhoto" Type="Self.ProductPhoto" Multiplicity="*" />
+          <ReferentialConstraint>
+            <Principal Role="Product">
+              <PropertyRef Name="ID" />
+            </Principal>
+            <Dependent Role="ProductPhoto">
+              <PropertyRef Name="ProductID" />
+            </Dependent>
+          </ReferentialConstraint>
+        </Association>
+        <Association Name="FK_ProductSale_ClientService">
+          <End Role="ClientService" Type="Self.ClientService" Multiplicity="0..1" />
+          <End Role="ProductSale" Type="Self.ProductSale" Multiplicity="*" />
+          <ReferentialConstraint>
+            <Principal Role="ClientService">
+              <PropertyRef Name="ID" />
+            </Principal>
+            <Dependent Role="ProductSale">
+              <PropertyRef Name="ClientServiceID" />
+            </Dependent>
+          </ReferentialConstraint>
+        </Association>
+        <Association Name="FK_ProductSale_Product">
+          <End Role="Product" Type="Self.Product" Multiplicity="1" />
+          <End Role="ProductSale" Type="Self.ProductSale" Multiplicity="*" />
+          <ReferentialConstraint>
+            <Principal Role="Product">
+              <PropertyRef Name="ID" />
+            </Principal>
+            <Dependent Role="ProductSale">
+              <PropertyRef Name="ProductID" />
+            </Dependent>
+          </ReferentialConstraint>
+        </Association>
+        <Association Name="FK_ServicePhoto_Service">
+          <End Role="Service" Type="Self.Service" Multiplicity="1" />
+          <End Role="ServicePhoto" Type="Self.ServicePhoto" Multiplicity="*" />
+          <ReferentialConstraint>
+            <Principal Role="Service">
+              <PropertyRef Name="ID" />
+            </Principal>
+            <Dependent Role="ServicePhoto">
+              <PropertyRef Name="ServiceID" />
+            </Dependent>
+          </ReferentialConstraint>
+        </Association>
+        <Association Name="FK_TagOfClient_Client">
+          <End Role="Client" Type="Self.Client" Multiplicity="1" />
+          <End Role="TagOfClient" Type="Self.TagOfClient" Multiplicity="*" />
+          <ReferentialConstraint>
+            <Principal Role="Client">
+              <PropertyRef Name="ID" />
+            </Principal>
+            <Dependent Role="TagOfClient">
+              <PropertyRef Name="ClientID" />
+            </Dependent>
+          </ReferentialConstraint>
+        </Association>
+        <Association Name="FK_TagOfClient_Tag">
+          <End Role="Tag" Type="Self.Tag" Multiplicity="1" />
+          <End Role="TagOfClient" Type="Self.TagOfClient" Multiplicity="*" />
+          <ReferentialConstraint>
+            <Principal Role="Tag">
+              <PropertyRef Name="ID" />
+            </Principal>
+            <Dependent Role="TagOfClient">
+              <PropertyRef Name="TagID" />
+            </Dependent>
+          </ReferentialConstraint>
+        </Association>
+        <Function Name="fn_diagramobjects" Aggregate="false" BuiltIn="false" NiladicFunction="false" IsComposable="true" ParameterTypeSemantics="AllowImplicitConversion" Schema="dbo" ReturnType="int" />
+        <Function Name="sp_alterdiagram" Aggregate="false" BuiltIn="false" NiladicFunction="false" IsComposable="false" ParameterTypeSemantics="AllowImplicitConversion" Schema="dbo">
+          <Parameter Name="diagramname" Type="nvarchar" Mode="In" />
+          <Parameter Name="owner_id" Type="int" Mode="In" />
+          <Parameter Name="version" Type="int" Mode="In" />
+          <Parameter Name="definition" Type="varbinary(max)" Mode="In" />
+        </Function>
+        <Function Name="sp_creatediagram" Aggregate="false" BuiltIn="false" NiladicFunction="false" IsComposable="false" ParameterTypeSemantics="AllowImplicitConversion" Schema="dbo">
+          <Parameter Name="diagramname" Type="nvarchar" Mode="In" />
+          <Parameter Name="owner_id" Type="int" Mode="In" />
+          <Parameter Name="version" Type="int" Mode="In" />
+          <Parameter Name="definition" Type="varbinary(max)" Mode="In" />
+        </Function>
+        <Function Name="sp_dropdiagram" Aggregate="false" BuiltIn="false" NiladicFunction="false" IsComposable="false" ParameterTypeSemantics="AllowImplicitConversion" Schema="dbo">
+          <Parameter Name="diagramname" Type="nvarchar" Mode="In" />
+          <Parameter Name="owner_id" Type="int" Mode="In" />
+        </Function>
+        <Function Name="sp_helpdiagramdefinition" Aggregate="false" BuiltIn="false" NiladicFunction="false" IsComposable="false" ParameterTypeSemantics="AllowImplicitConversion" Schema="dbo">
+          <Parameter Name="diagramname" Type="nvarchar" Mode="In" />
+          <Parameter Name="owner_id" Type="int" Mode="In" />
+        </Function>
+        <Function Name="sp_helpdiagrams" Aggregate="false" BuiltIn="false" NiladicFunction="false" IsComposable="false" ParameterTypeSemantics="AllowImplicitConversion" Schema="dbo">
+          <Parameter Name="diagramname" Type="nvarchar" Mode="In" />
+          <Parameter Name="owner_id" Type="int" Mode="In" />
+        </Function>
+        <Function Name="sp_renamediagram" Aggregate="false" BuiltIn="false" NiladicFunction="false" IsComposable="false" ParameterTypeSemantics="AllowImplicitConversion" Schema="dbo">
+          <Parameter Name="diagramname" Type="nvarchar" Mode="In" />
+          <Parameter Name="owner_id" Type="int" Mode="In" />
+          <Parameter Name="new_diagramname" Type="nvarchar" Mode="In" />
+        </Function>
+        <Function Name="sp_upgraddiagrams" Aggregate="false" BuiltIn="false" NiladicFunction="false" IsComposable="false" ParameterTypeSemantics="AllowImplicitConversion" Schema="dbo" />
+        <EntityContainer Name="Хранилище beauty_saloonModelContainer">
+          <EntitySet Name="AttachedProduct" EntityType="Self.AttachedProduct" Schema="dbo" store:Type="Tables" />
+          <EntitySet Name="Client" EntityType="Self.Client" Schema="dbo" store:Type="Tables" />
+          <EntitySet Name="ClientService" EntityType="Self.ClientService" Schema="dbo" store:Type="Tables" />
+          <EntitySet Name="DocumentByService" EntityType="Self.DocumentByService" Schema="dbo" store:Type="Tables" />
+          <EntitySet Name="Gender" EntityType="Self.Gender" Schema="dbo" store:Type="Tables" />
+          <EntitySet Name="Manufacturer" EntityType="Self.Manufacturer" Schema="dbo" store:Type="Tables" />
+          <EntitySet Name="Product" EntityType="Self.Product" Schema="dbo" store:Type="Tables" />
+          <EntitySet Name="ProductPhoto" EntityType="Self.ProductPhoto" Schema="dbo" store:Type="Tables" />
+          <EntitySet Name="ProductSale" EntityType="Self.ProductSale" Schema="dbo" store:Type="Tables" />
+          <EntitySet Name="Service" EntityType="Self.Service" Schema="dbo" store:Type="Tables" />
+          <EntitySet Name="ServicePhoto" EntityType="Self.ServicePhoto" Schema="dbo" store:Type="Tables" />
+          <EntitySet Name="sysdiagrams" EntityType="Self.sysdiagrams" Schema="dbo" store:Type="Tables" />
+          <EntitySet Name="Tag" EntityType="Self.Tag" Schema="dbo" store:Type="Tables" />
+          <EntitySet Name="TagOfClient" EntityType="Self.TagOfClient" Schema="dbo" store:Type="Tables" />
+          <AssociationSet Name="FK_AttachedProduct_Product" Association="Self.FK_AttachedProduct_Product">
+            <End Role="Product" EntitySet="Product" />
+            <End Role="AttachedProduct" EntitySet="AttachedProduct" />
+          </AssociationSet>
+          <AssociationSet Name="FK_AttachedProduct_Product1" Association="Self.FK_AttachedProduct_Product1">
+            <End Role="Product" EntitySet="Product" />
+            <End Role="AttachedProduct" EntitySet="AttachedProduct" />
+          </AssociationSet>
+          <AssociationSet Name="FK_Client_Gender" Association="Self.FK_Client_Gender">
+            <End Role="Gender" EntitySet="Gender" />
+            <End Role="Client" EntitySet="Client" />
+          </AssociationSet>
+          <AssociationSet Name="FK_ClientService_Client" Association="Self.FK_ClientService_Client">
+            <End Role="Client" EntitySet="Client" />
+            <End Role="ClientService" EntitySet="ClientService" />
+          </AssociationSet>
+          <AssociationSet Name="FK_ClientService_Service" Association="Self.FK_ClientService_Service">
+            <End Role="Service" EntitySet="Service" />
+            <End Role="ClientService" EntitySet="ClientService" />
+          </AssociationSet>
+          <AssociationSet Name="FK_DocumentByService_ClientService" Association="Self.FK_DocumentByService_ClientService">
+            <End Role="ClientService" EntitySet="ClientService" />
+            <End Role="DocumentByService" EntitySet="DocumentByService" />
+          </AssociationSet>
+          <AssociationSet Name="FK_Product_Manufacturer" Association="Self.FK_Product_Manufacturer">
+            <End Role="Manufacturer" EntitySet="Manufacturer" />
+            <End Role="Product" EntitySet="Product" />
+          </AssociationSet>
+          <AssociationSet Name="FK_ProductPhoto_Product" Association="Self.FK_ProductPhoto_Product">
+            <End Role="Product" EntitySet="Product" />
+            <End Role="ProductPhoto" EntitySet="ProductPhoto" />
+          </AssociationSet>
+          <AssociationSet Name="FK_ProductSale_ClientService" Association="Self.FK_ProductSale_ClientService">
+            <End Role="ClientService" EntitySet="ClientService" />
+            <End Role="ProductSale" EntitySet="ProductSale" />
+          </AssociationSet>
+          <AssociationSet Name="FK_ProductSale_Product" Association="Self.FK_ProductSale_Product">
+            <End Role="Product" EntitySet="Product" />
+            <End Role="ProductSale" EntitySet="ProductSale" />
+          </AssociationSet>
+          <AssociationSet Name="FK_ServicePhoto_Service" Association="Self.FK_ServicePhoto_Service">
+            <End Role="Service" EntitySet="Service" />
+            <End Role="ServicePhoto" EntitySet="ServicePhoto" />
+          </AssociationSet>
+          <AssociationSet Name="FK_TagOfClient_Client" Association="Self.FK_TagOfClient_Client">
+            <End Role="Client" EntitySet="Client" />
+            <End Role="TagOfClient" EntitySet="TagOfClient" />
+          </AssociationSet>
+          <AssociationSet Name="FK_TagOfClient_Tag" Association="Self.FK_TagOfClient_Tag">
+            <End Role="Tag" EntitySet="Tag" />
+            <End Role="TagOfClient" EntitySet="TagOfClient" />
+          </AssociationSet>
+        </EntityContainer>
+      </Schema>
+    </edmx:StorageModels>
+    <!-- CSDL content -->
+    <edmx:ConceptualModels>
+      <Schema Namespace="beauty_saloonModel" Alias="Self" annotation:UseStrongSpatialTypes="false" xmlns:annotation="http://schemas.microsoft.com/ado/2009/02/edm/annotation" xmlns:customannotation="http://schemas.microsoft.com/ado/2013/11/edm/customannotation" xmlns="http://schemas.microsoft.com/ado/2009/11/edm">
+        <EntityType Name="Client">
+          <Key>
+            <PropertyRef Name="ID" />
+          </Key>
+          <Property Name="ID" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
+          <Property Name="FirstName" Type="String" MaxLength="50" FixedLength="false" Unicode="true" Nullable="false" />
+          <Property Name="LastName" Type="String" MaxLength="50" FixedLength="false" Unicode="true" Nullable="false" />
+          <Property Name="Patronymic" Type="String" MaxLength="50" FixedLength="false" Unicode="true" />
+          <Property Name="Birthday" Type="DateTime" Precision="0" />
+          <Property Name="RegistrationDate" Type="DateTime" Nullable="false" Precision="3" />
+          <Property Name="Email" Type="String" MaxLength="255" FixedLength="false" Unicode="true" />
+          <Property Name="Phone" Type="String" MaxLength="20" FixedLength="false" Unicode="true" Nullable="false" />
+          <Property Name="GenderCode" Type="String" MaxLength="1" FixedLength="true" Unicode="true" Nullable="false" />
+          <Property Name="PhotoPath" Type="String" MaxLength="1000" FixedLength="false" Unicode="true" />
+          <NavigationProperty Name="Gender" Relationship="Self.FK_Client_Gender" FromRole="Client" ToRole="Gender" />
+          <NavigationProperty Name="ClientService" Relationship="Self.FK_ClientService_Client" FromRole="Client" ToRole="ClientService" />
+          <NavigationProperty Name="Tag" Relationship="Self.TagOfClient" FromRole="Client" ToRole="Tag" />
+        </EntityType>
+        <EntityType Name="ClientService">
+          <Key>
+            <PropertyRef Name="ID" />
+          </Key>
+          <Property Name="ID" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
+          <Property Name="ClientID" Type="Int32" Nullable="false" />
+          <Property Name="ServiceID" Type="Int32" Nullable="false" />
+          <Property Name="StartTime" Type="DateTime" Nullable="false" Precision="3" />
+          <Property Name="Comment" Type="String" MaxLength="Max" FixedLength="false" Unicode="true" />
+          <NavigationProperty Name="Client" Relationship="Self.FK_ClientService_Client" FromRole="ClientService" ToRole="Client" />
+          <NavigationProperty Name="Service" Relationship="Self.FK_ClientService_Service" FromRole="ClientService" ToRole="Service" />
+          <NavigationProperty Name="DocumentByService" Relationship="Self.FK_DocumentByService_ClientService" FromRole="ClientService" ToRole="DocumentByService" />
+          <NavigationProperty Name="ProductSale" Relationship="Self.FK_ProductSale_ClientService" FromRole="ClientService" ToRole="ProductSale" />
+        </EntityType>
+        <EntityType Name="DocumentByService">
+          <Key>
+            <PropertyRef Name="ID" />
+          </Key>
+          <Property Name="ID" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
+          <Property Name="ClientServiceID" Type="Int32" Nullable="false" />
+          <Property Name="DocumentPath" Type="String" MaxLength="1000" FixedLength="false" Unicode="true" Nullable="false" />
+          <NavigationProperty Name="ClientService" Relationship="Self.FK_DocumentByService_ClientService" FromRole="DocumentByService" ToRole="ClientService" />
+        </EntityType>
+        <EntityType Name="Gender">
+          <Key>
+            <PropertyRef Name="Code" />
+          </Key>
+          <Property Name="Code" Type="String" MaxLength="1" FixedLength="true" Unicode="true" Nullable="false" />
+          <Property Name="Name" Type="String" MaxLength="10" FixedLength="false" Unicode="true" />
+          <NavigationProperty Name="Client" Relationship="Self.FK_Client_Gender" FromRole="Gender" ToRole="Client" />
+        </EntityType>
+        <EntityType Name="Manufacturer">
+          <Key>
+            <PropertyRef Name="ID" />
+          </Key>
+          <Property Name="ID" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
+          <Property Name="Name" Type="String" MaxLength="100" FixedLength="false" Unicode="true" Nullable="false" />
+          <Property Name="StartDate" Type="DateTime" Precision="0" />
+          <NavigationProperty Name="Product" Relationship="Self.FK_Product_Manufacturer" FromRole="Manufacturer" ToRole="Product" />
+        </EntityType>
+        <EntityType Name="Product">
+          <Key>
+            <PropertyRef Name="ID" />
+          </Key>
+          <Property Name="ID" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
+          <Property Name="Title" Type="String" MaxLength="100" FixedLength="false" Unicode="true" Nullable="false" />
+          <Property Name="Cost" Type="Decimal" Precision="19" Scale="4" Nullable="false" />
+          <Property Name="Description" Type="String" MaxLength="Max" FixedLength="false" Unicode="true" />
+          <Property Name="MainImagePath" Type="String" MaxLength="1000" FixedLength="false" Unicode="true" />
+          <Property Name="IsActive" Type="Boolean" Nullable="false" />
+          <Property Name="ManufacturerID" Type="Int32" />
+          <NavigationProperty Name="Manufacturer" Relationship="Self.FK_Product_Manufacturer" FromRole="Product" ToRole="Manufacturer" />
+          <NavigationProperty Name="ProductPhoto" Relationship="Self.FK_ProductPhoto_Product" FromRole="Product" ToRole="ProductPhoto" />
+          <NavigationProperty Name="ProductSale" Relationship="Self.FK_ProductSale_Product" FromRole="Product" ToRole="ProductSale" />
+          <NavigationProperty Name="Product1" Relationship="Self.AttachedProduct" FromRole="Product" ToRole="Product1" />
+          <NavigationProperty Name="Product2" Relationship="Self.AttachedProduct" FromRole="Product1" ToRole="Product" />
+        </EntityType>
+        <EntityType Name="ProductPhoto">
+          <Key>
+            <PropertyRef Name="ID" />
+          </Key>
+          <Property Name="ID" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
+          <Property Name="ProductID" Type="Int32" Nullable="false" />
+          <Property Name="PhotoPath" Type="String" MaxLength="1000" FixedLength="false" Unicode="true" Nullable="false" />
+          <NavigationProperty Name="Product" Relationship="Self.FK_ProductPhoto_Product" FromRole="ProductPhoto" ToRole="Product" />
+        </EntityType>
+        <EntityType Name="ProductSale">
+          <Key>
+            <PropertyRef Name="ID" />
+          </Key>
+          <Property Name="ID" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
+          <Property Name="SaleDate" Type="DateTime" Nullable="false" Precision="3" />
+          <Property Name="ProductID" Type="Int32" Nullable="false" />
+          <Property Name="Quantity" Type="Int32" Nullable="false" />
+          <Property Name="ClientServiceID" Type="Int32" />
+          <NavigationProperty Name="ClientService" Relationship="Self.FK_ProductSale_ClientService" FromRole="ProductSale" ToRole="ClientService" />
+          <NavigationProperty Name="Product" Relationship="Self.FK_ProductSale_Product" FromRole="ProductSale" ToRole="Product" />
+        </EntityType>
+        <EntityType Name="Service">
+          <Key>
+            <PropertyRef Name="ID" />
+          </Key>
+          <Property Name="ID" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
+          <Property Name="Title" Type="String" MaxLength="100" FixedLength="false" Unicode="true" Nullable="false" />
+          <Property Name="Cost" Type="Decimal" Precision="19" Scale="4" Nullable="false" />
+          <Property Name="DurationInSeconds" Type="Int32" Nullable="false" />
+          <Property Name="Description" Type="String" MaxLength="Max" FixedLength="false" Unicode="true" />
+          <Property Name="Discount" Type="Double" />
+          <Property Name="MainImagePath" Type="String" MaxLength="1000" FixedLength="false" Unicode="true" />
+          <NavigationProperty Name="ClientService" Relationship="Self.FK_ClientService_Service" FromRole="Service" ToRole="ClientService" />
+          <NavigationProperty Name="ServicePhoto" Relationship="Self.FK_ServicePhoto_Service" FromRole="Service" ToRole="ServicePhoto" />
+        </EntityType>
+        <EntityType Name="ServicePhoto">
+          <Key>
+            <PropertyRef Name="ID" />
+          </Key>
+          <Property Name="ID" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
+          <Property Name="ServiceID" Type="Int32" Nullable="false" />
+          <Property Name="PhotoPath" Type="String" MaxLength="1000" FixedLength="false" Unicode="true" Nullable="false" />
+          <NavigationProperty Name="Service" Relationship="Self.FK_ServicePhoto_Service" FromRole="ServicePhoto" ToRole="Service" />
+        </EntityType>
+        <EntityType Name="sysdiagrams">
+          <Key>
+            <PropertyRef Name="diagram_id" />
+          </Key>
+          <Property Name="name" Type="String" MaxLength="128" FixedLength="false" Unicode="true" Nullable="false" />
+          <Property Name="principal_id" Type="Int32" Nullable="false" />
+          <Property Name="diagram_id" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
+          <Property Name="version" Type="Int32" />
+          <Property Name="definition" Type="Binary" MaxLength="Max" FixedLength="false" />
+        </EntityType>
+        <EntityType Name="Tag">
+          <Key>
+            <PropertyRef Name="ID" />
+          </Key>
+          <Property Name="ID" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
+          <Property Name="Title" Type="String" MaxLength="30" FixedLength="false" Unicode="true" Nullable="false" />
+          <Property Name="Color" Type="String" MaxLength="6" FixedLength="true" Unicode="true" Nullable="false" />
+          <NavigationProperty Name="Client" Relationship="Self.TagOfClient" FromRole="Tag" ToRole="Client" />
+        </EntityType>
+        <Association Name="FK_Client_Gender">
+          <End Role="Gender" Type="Self.Gender" Multiplicity="1" />
+          <End Role="Client" Type="Self.Client" Multiplicity="*" />
+          <ReferentialConstraint>
+            <Principal Role="Gender">
+              <PropertyRef Name="Code" />
+            </Principal>
+            <Dependent Role="Client">
+              <PropertyRef Name="GenderCode" />
+            </Dependent>
+          </ReferentialConstraint>
+        </Association>
+        <Association Name="FK_ClientService_Client">
+          <End Role="Client" Type="Self.Client" Multiplicity="1" />
+          <End Role="ClientService" Type="Self.ClientService" Multiplicity="*" />
+          <ReferentialConstraint>
+            <Principal Role="Client">
+              <PropertyRef Name="ID" />
+            </Principal>
+            <Dependent Role="ClientService">
+              <PropertyRef Name="ClientID" />
+            </Dependent>
+          </ReferentialConstraint>
+        </Association>
+        <Association Name="FK_ClientService_Service">
+          <End Role="Service" Type="Self.Service" Multiplicity="1" />
+          <End Role="ClientService" Type="Self.ClientService" Multiplicity="*" />
+          <ReferentialConstraint>
+            <Principal Role="Service">
+              <PropertyRef Name="ID" />
+            </Principal>
+            <Dependent Role="ClientService">
+              <PropertyRef Name="ServiceID" />
+            </Dependent>
+          </ReferentialConstraint>
+        </Association>
+        <Association Name="FK_DocumentByService_ClientService">
+          <End Role="ClientService" Type="Self.ClientService" Multiplicity="1" />
+          <End Role="DocumentByService" Type="Self.DocumentByService" Multiplicity="*" />
+          <ReferentialConstraint>
+            <Principal Role="ClientService">
+              <PropertyRef Name="ID" />
+            </Principal>
+            <Dependent Role="DocumentByService">
+              <PropertyRef Name="ClientServiceID" />
+            </Dependent>
+          </ReferentialConstraint>
+        </Association>
+        <Association Name="FK_ProductSale_ClientService">
+          <End Role="ClientService" Type="Self.ClientService" Multiplicity="0..1" />
+          <End Role="ProductSale" Type="Self.ProductSale" Multiplicity="*" />
+          <ReferentialConstraint>
+            <Principal Role="ClientService">
+              <PropertyRef Name="ID" />
+            </Principal>
+            <Dependent Role="ProductSale">
+              <PropertyRef Name="ClientServiceID" />
+            </Dependent>
+          </ReferentialConstraint>
+        </Association>
+        <Association Name="FK_Product_Manufacturer">
+          <End Role="Manufacturer" Type="Self.Manufacturer" Multiplicity="0..1" />
+          <End Role="Product" Type="Self.Product" Multiplicity="*" />
+          <ReferentialConstraint>
+            <Principal Role="Manufacturer">
+              <PropertyRef Name="ID" />
+            </Principal>
+            <Dependent Role="Product">
+              <PropertyRef Name="ManufacturerID" />
+            </Dependent>
+          </ReferentialConstraint>
+        </Association>
+        <Association Name="FK_ProductPhoto_Product">
+          <End Role="Product" Type="Self.Product" Multiplicity="1" />
+          <End Role="ProductPhoto" Type="Self.ProductPhoto" Multiplicity="*" />
+          <ReferentialConstraint>
+            <Principal Role="Product">
+              <PropertyRef Name="ID" />
+            </Principal>
+            <Dependent Role="ProductPhoto">
+              <PropertyRef Name="ProductID" />
+            </Dependent>
+          </ReferentialConstraint>
+        </Association>
+        <Association Name="FK_ProductSale_Product">
+          <End Role="Product" Type="Self.Product" Multiplicity="1" />
+          <End Role="ProductSale" Type="Self.ProductSale" Multiplicity="*" />
+          <ReferentialConstraint>
+            <Principal Role="Product">
+              <PropertyRef Name="ID" />
+            </Principal>
+            <Dependent Role="ProductSale">
+              <PropertyRef Name="ProductID" />
+            </Dependent>
+          </ReferentialConstraint>
+        </Association>
+        <Association Name="FK_ServicePhoto_Service">
+          <End Role="Service" Type="Self.Service" Multiplicity="1" />
+          <End Role="ServicePhoto" Type="Self.ServicePhoto" Multiplicity="*" />
+          <ReferentialConstraint>
+            <Principal Role="Service">
+              <PropertyRef Name="ID" />
+            </Principal>
+            <Dependent Role="ServicePhoto">
+              <PropertyRef Name="ServiceID" />
+            </Dependent>
+          </ReferentialConstraint>
+        </Association>
+        <Association Name="AttachedProduct">
+          <End Role="Product" Type="Self.Product" Multiplicity="*" />
+          <End Role="Product1" Type="Self.Product" Multiplicity="*" />
+        </Association>
+        <Association Name="TagOfClient">
+          <End Role="Client" Type="Self.Client" Multiplicity="*" />
+          <End Role="Tag" Type="Self.Tag" Multiplicity="*" />
+        </Association>
+        <EntityContainer Name="beauty_saloonEntities" annotation:LazyLoadingEnabled="true">
+          <EntitySet Name="Client" EntityType="Self.Client" />
+          <EntitySet Name="ClientService" EntityType="Self.ClientService" />
+          <EntitySet Name="DocumentByService" EntityType="Self.DocumentByService" />
+          <EntitySet Name="Gender" EntityType="Self.Gender" />
+          <EntitySet Name="Manufacturer" EntityType="Self.Manufacturer" />
+          <EntitySet Name="Product" EntityType="Self.Product" />
+          <EntitySet Name="ProductPhoto" EntityType="Self.ProductPhoto" />
+          <EntitySet Name="ProductSale" EntityType="Self.ProductSale" />
+          <EntitySet Name="Service" EntityType="Self.Service" />
+          <EntitySet Name="ServicePhoto" EntityType="Self.ServicePhoto" />
+          <EntitySet Name="sysdiagrams" EntityType="Self.sysdiagrams" />
+          <EntitySet Name="Tag" EntityType="Self.Tag" />
+          <AssociationSet Name="FK_Client_Gender" Association="Self.FK_Client_Gender">
+            <End Role="Gender" EntitySet="Gender" />
+            <End Role="Client" EntitySet="Client" />
+          </AssociationSet>
+          <AssociationSet Name="FK_ClientService_Client" Association="Self.FK_ClientService_Client">
+            <End Role="Client" EntitySet="Client" />
+            <End Role="ClientService" EntitySet="ClientService" />
+          </AssociationSet>
+          <AssociationSet Name="FK_ClientService_Service" Association="Self.FK_ClientService_Service">
+            <End Role="Service" EntitySet="Service" />
+            <End Role="ClientService" EntitySet="ClientService" />
+          </AssociationSet>
+          <AssociationSet Name="FK_DocumentByService_ClientService" Association="Self.FK_DocumentByService_ClientService">
+            <End Role="ClientService" EntitySet="ClientService" />
+            <End Role="DocumentByService" EntitySet="DocumentByService" />
+          </AssociationSet>
+          <AssociationSet Name="FK_ProductSale_ClientService" Association="Self.FK_ProductSale_ClientService">
+            <End Role="ClientService" EntitySet="ClientService" />
+            <End Role="ProductSale" EntitySet="ProductSale" />
+          </AssociationSet>
+          <AssociationSet Name="FK_Product_Manufacturer" Association="Self.FK_Product_Manufacturer">
+            <End Role="Manufacturer" EntitySet="Manufacturer" />
+            <End Role="Product" EntitySet="Product" />
+          </AssociationSet>
+          <AssociationSet Name="FK_ProductPhoto_Product" Association="Self.FK_ProductPhoto_Product">
+            <End Role="Product" EntitySet="Product" />
+            <End Role="ProductPhoto" EntitySet="ProductPhoto" />
+          </AssociationSet>
+          <AssociationSet Name="FK_ProductSale_Product" Association="Self.FK_ProductSale_Product">
+            <End Role="Product" EntitySet="Product" />
+            <End Role="ProductSale" EntitySet="ProductSale" />
+          </AssociationSet>
+          <AssociationSet Name="FK_ServicePhoto_Service" Association="Self.FK_ServicePhoto_Service">
+            <End Role="Service" EntitySet="Service" />
+            <End Role="ServicePhoto" EntitySet="ServicePhoto" />
+          </AssociationSet>
+          <AssociationSet Name="AttachedProduct" Association="Self.AttachedProduct">
+            <End Role="Product" EntitySet="Product" />
+            <End Role="Product1" EntitySet="Product" />
+          </AssociationSet>
+          <AssociationSet Name="TagOfClient" Association="Self.TagOfClient">
+            <End Role="Client" EntitySet="Client" />
+            <End Role="Tag" EntitySet="Tag" />
+          </AssociationSet>
+          <FunctionImport Name="sp_alterdiagram">
+            <Parameter Name="diagramname" Mode="In" Type="String" />
+            <Parameter Name="owner_id" Mode="In" Type="Int32" />
+            <Parameter Name="version" Mode="In" Type="Int32" />
+            <Parameter Name="definition" Mode="In" Type="Binary" />
+          </FunctionImport>
+          <FunctionImport Name="sp_creatediagram">
+            <Parameter Name="diagramname" Mode="In" Type="String" />
+            <Parameter Name="owner_id" Mode="In" Type="Int32" />
+            <Parameter Name="version" Mode="In" Type="Int32" />
+            <Parameter Name="definition" Mode="In" Type="Binary" />
+          </FunctionImport>
+          <FunctionImport Name="sp_dropdiagram">
+            <Parameter Name="diagramname" Mode="In" Type="String" />
+            <Parameter Name="owner_id" Mode="In" Type="Int32" />
+          </FunctionImport>
+          <FunctionImport Name="sp_helpdiagramdefinition" ReturnType="Collection(beauty_saloonModel.sp_helpdiagramdefinition_Result)">
+            <Parameter Name="diagramname" Mode="In" Type="String" />
+            <Parameter Name="owner_id" Mode="In" Type="Int32" />
+          </FunctionImport>
+          <FunctionImport Name="sp_helpdiagrams" ReturnType="Collection(beauty_saloonModel.sp_helpdiagrams_Result)">
+            <Parameter Name="diagramname" Mode="In" Type="String" />
+            <Parameter Name="owner_id" Mode="In" Type="Int32" />
+          </FunctionImport>
+          <FunctionImport Name="sp_renamediagram">
+            <Parameter Name="diagramname" Mode="In" Type="String" />
+            <Parameter Name="owner_id" Mode="In" Type="Int32" />
+            <Parameter Name="new_diagramname" Mode="In" Type="String" />
+          </FunctionImport>
+          <FunctionImport Name="sp_upgraddiagrams" />
+        </EntityContainer>
+        <ComplexType Name="sp_helpdiagramdefinition_Result">
+          <Property Type="Int32" Name="version" Nullable="true" />
+          <Property Type="Binary" Name="definition" Nullable="true" />
+        </ComplexType>
+        <ComplexType Name="sp_helpdiagrams_Result">
+          <Property Type="String" Name="Database" Nullable="true" MaxLength="128" />
+          <Property Type="String" Name="Name" Nullable="false" MaxLength="128" />
+          <Property Type="Int32" Name="ID" Nullable="false" />
+          <Property Type="String" Name="Owner" Nullable="true" MaxLength="128" />
+          <Property Type="Int32" Name="OwnerID" Nullable="false" />
+        </ComplexType>
+      </Schema>
+    </edmx:ConceptualModels>
+    <!-- C-S mapping content -->
+    <edmx:Mappings>
+      <Mapping Space="C-S" xmlns="http://schemas.microsoft.com/ado/2009/11/mapping/cs">
+        <EntityContainerMapping StorageEntityContainer="Хранилище beauty_saloonModelContainer" CdmEntityContainer="beauty_saloonEntities">
+          <EntitySetMapping Name="Client">
+            <EntityTypeMapping TypeName="beauty_saloonModel.Client">
+              <MappingFragment StoreEntitySet="Client">
+                <ScalarProperty Name="ID" ColumnName="ID" />
+                <ScalarProperty Name="FirstName" ColumnName="FirstName" />
+                <ScalarProperty Name="LastName" ColumnName="LastName" />
+                <ScalarProperty Name="Patronymic" ColumnName="Patronymic" />
+                <ScalarProperty Name="Birthday" ColumnName="Birthday" />
+                <ScalarProperty Name="RegistrationDate" ColumnName="RegistrationDate" />
+                <ScalarProperty Name="Email" ColumnName="Email" />
+                <ScalarProperty Name="Phone" ColumnName="Phone" />
+                <ScalarProperty Name="GenderCode" ColumnName="GenderCode" />
+                <ScalarProperty Name="PhotoPath" ColumnName="PhotoPath" />
+              </MappingFragment>
+            </EntityTypeMapping>
+          </EntitySetMapping>
+          <EntitySetMapping Name="ClientService">
+            <EntityTypeMapping TypeName="beauty_saloonModel.ClientService">
+              <MappingFragment StoreEntitySet="ClientService">
+                <ScalarProperty Name="ID" ColumnName="ID" />
+                <ScalarProperty Name="ClientID" ColumnName="ClientID" />
+                <ScalarProperty Name="ServiceID" ColumnName="ServiceID" />
+                <ScalarProperty Name="StartTime" ColumnName="StartTime" />
+                <ScalarProperty Name="Comment" ColumnName="Comment" />
+              </MappingFragment>
+            </EntityTypeMapping>
+          </EntitySetMapping>
+          <EntitySetMapping Name="DocumentByService">
+            <EntityTypeMapping TypeName="beauty_saloonModel.DocumentByService">
+              <MappingFragment StoreEntitySet="DocumentByService">
+                <ScalarProperty Name="ID" ColumnName="ID" />
+                <ScalarProperty Name="ClientServiceID" ColumnName="ClientServiceID" />
+                <ScalarProperty Name="DocumentPath" ColumnName="DocumentPath" />
+              </MappingFragment>
+            </EntityTypeMapping>
+          </EntitySetMapping>
+          <EntitySetMapping Name="Gender">
+            <EntityTypeMapping TypeName="beauty_saloonModel.Gender">
+              <MappingFragment StoreEntitySet="Gender">
+                <ScalarProperty Name="Code" ColumnName="Code" />
+                <ScalarProperty Name="Name" ColumnName="Name" />
+              </MappingFragment>
+            </EntityTypeMapping>
+          </EntitySetMapping>
+          <EntitySetMapping Name="Manufacturer">
+            <EntityTypeMapping TypeName="beauty_saloonModel.Manufacturer">
+              <MappingFragment StoreEntitySet="Manufacturer">
+                <ScalarProperty Name="ID" ColumnName="ID" />
+                <ScalarProperty Name="Name" ColumnName="Name" />
+                <ScalarProperty Name="StartDate" ColumnName="StartDate" />
+              </MappingFragment>
+            </EntityTypeMapping>
+          </EntitySetMapping>
+          <EntitySetMapping Name="Product">
+            <EntityTypeMapping TypeName="beauty_saloonModel.Product">
+              <MappingFragment StoreEntitySet="Product">
+                <ScalarProperty Name="ID" ColumnName="ID" />
+                <ScalarProperty Name="Title" ColumnName="Title" />
+                <ScalarProperty Name="Cost" ColumnName="Cost" />
+                <ScalarProperty Name="Description" ColumnName="Description" />
+                <ScalarProperty Name="MainImagePath" ColumnName="MainImagePath" />
+                <ScalarProperty Name="IsActive" ColumnName="IsActive" />
+                <ScalarProperty Name="ManufacturerID" ColumnName="ManufacturerID" />
+              </MappingFragment>
+            </EntityTypeMapping>
+          </EntitySetMapping>
+          <EntitySetMapping Name="ProductPhoto">
+            <EntityTypeMapping TypeName="beauty_saloonModel.ProductPhoto">
+              <MappingFragment StoreEntitySet="ProductPhoto">
+                <ScalarProperty Name="ID" ColumnName="ID" />
+                <ScalarProperty Name="ProductID" ColumnName="ProductID" />
+                <ScalarProperty Name="PhotoPath" ColumnName="PhotoPath" />
+              </MappingFragment>
+            </EntityTypeMapping>
+          </EntitySetMapping>
+          <EntitySetMapping Name="ProductSale">
+            <EntityTypeMapping TypeName="beauty_saloonModel.ProductSale">
+              <MappingFragment StoreEntitySet="ProductSale">
+                <ScalarProperty Name="ID" ColumnName="ID" />
+                <ScalarProperty Name="SaleDate" ColumnName="SaleDate" />
+                <ScalarProperty Name="ProductID" ColumnName="ProductID" />
+                <ScalarProperty Name="Quantity" ColumnName="Quantity" />
+                <ScalarProperty Name="ClientServiceID" ColumnName="ClientServiceID" />
+              </MappingFragment>
+            </EntityTypeMapping>
+          </EntitySetMapping>
+          <EntitySetMapping Name="Service">
+            <EntityTypeMapping TypeName="beauty_saloonModel.Service">
+              <MappingFragment StoreEntitySet="Service">
+                <ScalarProperty Name="ID" ColumnName="ID" />
+                <ScalarProperty Name="Title" ColumnName="Title" />
+                <ScalarProperty Name="Cost" ColumnName="Cost" />
+                <ScalarProperty Name="DurationInSeconds" ColumnName="DurationInSeconds" />
+                <ScalarProperty Name="Description" ColumnName="Description" />
+                <ScalarProperty Name="Discount" ColumnName="Discount" />
+                <ScalarProperty Name="MainImagePath" ColumnName="MainImagePath" />
+              </MappingFragment>
+            </EntityTypeMapping>
+          </EntitySetMapping>
+          <EntitySetMapping Name="ServicePhoto">
+            <EntityTypeMapping TypeName="beauty_saloonModel.ServicePhoto">
+              <MappingFragment StoreEntitySet="ServicePhoto">
+                <ScalarProperty Name="ID" ColumnName="ID" />
+                <ScalarProperty Name="ServiceID" ColumnName="ServiceID" />
+                <ScalarProperty Name="PhotoPath" ColumnName="PhotoPath" />
+              </MappingFragment>
+            </EntityTypeMapping>
+          </EntitySetMapping>
+          <EntitySetMapping Name="sysdiagrams">
+            <EntityTypeMapping TypeName="beauty_saloonModel.sysdiagrams">
+              <MappingFragment StoreEntitySet="sysdiagrams">
+                <ScalarProperty Name="name" ColumnName="name" />
+                <ScalarProperty Name="principal_id" ColumnName="principal_id" />
+                <ScalarProperty Name="diagram_id" ColumnName="diagram_id" />
+                <ScalarProperty Name="version" ColumnName="version" />
+                <ScalarProperty Name="definition" ColumnName="definition" />
+              </MappingFragment>
+            </EntityTypeMapping>
+          </EntitySetMapping>
+          <EntitySetMapping Name="Tag">
+            <EntityTypeMapping TypeName="beauty_saloonModel.Tag">
+              <MappingFragment StoreEntitySet="Tag">
+                <ScalarProperty Name="ID" ColumnName="ID" />
+                <ScalarProperty Name="Title" ColumnName="Title" />
+                <ScalarProperty Name="Color" ColumnName="Color" />
+              </MappingFragment>
+            </EntityTypeMapping>
+          </EntitySetMapping>
+          <AssociationSetMapping Name="AttachedProduct" TypeName="beauty_saloonModel.AttachedProduct" StoreEntitySet="AttachedProduct">
+            <EndProperty Name="Product">
+              <ScalarProperty Name="ID" ColumnName="MainProductID" />
+            </EndProperty>
+            <EndProperty Name="Product1">
+              <ScalarProperty Name="ID" ColumnName="AttachedProductID" />
+            </EndProperty>
+          </AssociationSetMapping>
+          <AssociationSetMapping Name="TagOfClient" TypeName="beauty_saloonModel.TagOfClient" StoreEntitySet="TagOfClient">
+            <EndProperty Name="Client">
+              <ScalarProperty Name="ID" ColumnName="ClientID" />
+            </EndProperty>
+            <EndProperty Name="Tag">
+              <ScalarProperty Name="ID" ColumnName="TagID" />
+            </EndProperty>
+          </AssociationSetMapping>
+          <FunctionImportMapping FunctionImportName="sp_alterdiagram" FunctionName="Хранилище beauty_saloonModel.sp_alterdiagram" />
+          <FunctionImportMapping FunctionImportName="sp_creatediagram" FunctionName="Хранилище beauty_saloonModel.sp_creatediagram" />
+          <FunctionImportMapping FunctionImportName="sp_dropdiagram" FunctionName="Хранилище beauty_saloonModel.sp_dropdiagram" />
+          <FunctionImportMapping FunctionImportName="sp_helpdiagramdefinition" FunctionName="Хранилище beauty_saloonModel.sp_helpdiagramdefinition">
+            <ResultMapping>
+              <ComplexTypeMapping TypeName="beauty_saloonModel.sp_helpdiagramdefinition_Result">
+                <ScalarProperty Name="version" ColumnName="version" />
+                <ScalarProperty Name="definition" ColumnName="definition" />
+              </ComplexTypeMapping>
+            </ResultMapping>
+          </FunctionImportMapping>
+          <FunctionImportMapping FunctionImportName="sp_helpdiagrams" FunctionName="Хранилище beauty_saloonModel.sp_helpdiagrams">
+            <ResultMapping>
+              <ComplexTypeMapping TypeName="beauty_saloonModel.sp_helpdiagrams_Result">
+                <ScalarProperty Name="Database" ColumnName="Database" />
+                <ScalarProperty Name="Name" ColumnName="Name" />
+                <ScalarProperty Name="ID" ColumnName="ID" />
+                <ScalarProperty Name="Owner" ColumnName="Owner" />
+                <ScalarProperty Name="OwnerID" ColumnName="OwnerID" />
+              </ComplexTypeMapping>
+            </ResultMapping>
+          </FunctionImportMapping>
+          <FunctionImportMapping FunctionImportName="sp_renamediagram" FunctionName="Хранилище beauty_saloonModel.sp_renamediagram" />
+          <FunctionImportMapping FunctionImportName="sp_upgraddiagrams" FunctionName="Хранилище beauty_saloonModel.sp_upgraddiagrams" />
+        </EntityContainerMapping>
+      </Mapping>
+    </edmx:Mappings>
+  </edmx:Runtime>
+  <!-- EF Designer content (DO NOT EDIT MANUALLY BELOW HERE) -->
+  <Designer xmlns="http://schemas.microsoft.com/ado/2009/11/edmx">
+    <Connection>
+      <DesignerInfoPropertySet>
+        <DesignerProperty Name="MetadataArtifactProcessing" Value="EmbedInOutputAssembly" />
+      </DesignerInfoPropertySet>
+    </Connection>
+    <Options>
+      <DesignerInfoPropertySet>
+        <DesignerProperty Name="ValidateOnBuild" Value="true" />
+        <DesignerProperty Name="EnablePluralization" Value="false" />
+        <DesignerProperty Name="IncludeForeignKeysInModel" Value="true" />
+        <DesignerProperty Name="UseLegacyProvider" Value="false" />
+        <DesignerProperty Name="CodeGenerationStrategy" Value="Нет" />
+      </DesignerInfoPropertySet>
+    </Options>
+    <!-- Diagram content (shape and connector positions) -->
+    <Diagrams></Diagrams>
+  </Designer>
+</edmx:Edmx>

+ 34 - 0
SaloonModel.edmx.diagram

@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<edmx:Edmx Version="3.0" xmlns:edmx="http://schemas.microsoft.com/ado/2009/11/edmx">
+ <!-- EF Designer content (DO NOT EDIT MANUALLY BELOW HERE) -->
+  <edmx:Designer xmlns="http://schemas.microsoft.com/ado/2009/11/edmx">
+    <!-- Diagram content (shape and connector positions) -->
+    <edmx:Diagrams>
+      <Diagram DiagramId="1e6c2bfbdac34470a93bc9a3ca93f4e8" Name="Diagram1">
+        <EntityTypeShape EntityType="beauty_saloonModel.Client" Width="1.5" PointX="0.75" PointY="7.375" IsExpanded="true" />
+        <EntityTypeShape EntityType="beauty_saloonModel.ClientService" Width="1.5" PointX="3" PointY="9.625" IsExpanded="true" />
+        <EntityTypeShape EntityType="beauty_saloonModel.DocumentByService" Width="1.5" PointX="5.25" PointY="10" IsExpanded="true" />
+        <EntityTypeShape EntityType="beauty_saloonModel.Gender" Width="1.5" PointX="1.5" PointY="13.375" IsExpanded="true" />
+        <EntityTypeShape EntityType="beauty_saloonModel.Manufacturer" Width="1.5" PointX="0.75" PointY="4" IsExpanded="true" />
+        <EntityTypeShape EntityType="beauty_saloonModel.Product" Width="1.5" PointX="3" PointY="3.25" IsExpanded="true" />
+        <EntityTypeShape EntityType="beauty_saloonModel.ProductPhoto" Width="1.5" PointX="5.25" PointY="4" IsExpanded="true" />
+        <EntityTypeShape EntityType="beauty_saloonModel.ProductSale" Width="1.5" PointX="5.25" PointY="0.75" IsExpanded="true" />
+        <EntityTypeShape EntityType="beauty_saloonModel.Service" Width="1.5" PointX="0.75" PointY="16.75" IsExpanded="true" />
+        <EntityTypeShape EntityType="beauty_saloonModel.ServicePhoto" Width="1.5" PointX="3" PointY="19.125" IsExpanded="true" />
+        <EntityTypeShape EntityType="beauty_saloonModel.sysdiagrams" Width="1.5" PointX="5.75" PointY="7.125" IsExpanded="true" />
+        <EntityTypeShape EntityType="beauty_saloonModel.Tag" Width="1.5" PointX="3" PointY="16.25" IsExpanded="true" />
+        <AssociationConnector Association="beauty_saloonModel.FK_Client_Gender" ManuallyRouted="false" />
+        <AssociationConnector Association="beauty_saloonModel.FK_ClientService_Client" ManuallyRouted="false" />
+        <AssociationConnector Association="beauty_saloonModel.FK_ClientService_Service" ManuallyRouted="false" />
+        <AssociationConnector Association="beauty_saloonModel.FK_DocumentByService_ClientService" ManuallyRouted="false" />
+        <AssociationConnector Association="beauty_saloonModel.FK_ProductSale_ClientService" ManuallyRouted="false" />
+        <AssociationConnector Association="beauty_saloonModel.FK_Product_Manufacturer" ManuallyRouted="false" />
+        <AssociationConnector Association="beauty_saloonModel.FK_ProductPhoto_Product" ManuallyRouted="false" />
+        <AssociationConnector Association="beauty_saloonModel.FK_ProductSale_Product" ManuallyRouted="false" />
+        <AssociationConnector Association="beauty_saloonModel.FK_ServicePhoto_Service" ManuallyRouted="false" />
+        <AssociationConnector Association="beauty_saloonModel.AttachedProduct" ManuallyRouted="false" />
+        <AssociationConnector Association="beauty_saloonModel.TagOfClient" ManuallyRouted="false" />
+      </Diagram>
+    </edmx:Diagrams>
+  </edmx:Designer>
+</edmx:Edmx>

+ 733 - 0
SaloonModel.tt

@@ -0,0 +1,733 @@
+<#@ template language="C#" debug="false" hostspecific="true"#>
+<#@ include file="EF6.Utility.CS.ttinclude"#><#@ 
+ output extension=".cs"#><#
+
+const string inputFile = @"SaloonModel.edmx";
+var textTransform = DynamicTextTransformation.Create(this);
+var code = new CodeGenerationTools(this);
+var ef = new MetadataTools(this);
+var typeMapper = new TypeMapper(code, ef, textTransform.Errors);
+var	fileManager = EntityFrameworkTemplateFileManager.Create(this);
+var itemCollection = new EdmMetadataLoader(textTransform.Host, textTransform.Errors).CreateEdmItemCollection(inputFile);
+var codeStringGenerator = new CodeStringGenerator(code, typeMapper, ef);
+
+if (!typeMapper.VerifyCaseInsensitiveTypeUniqueness(typeMapper.GetAllGlobalItems(itemCollection), inputFile))
+{
+    return string.Empty;
+}
+
+WriteHeader(codeStringGenerator, fileManager);
+
+foreach (var entity in typeMapper.GetItemsToGenerate<EntityType>(itemCollection))
+{
+    fileManager.StartNewFile(entity.Name + ".cs");
+    BeginNamespace(code);
+#>
+<#=codeStringGenerator.UsingDirectives(inHeader: false)#>
+<#=codeStringGenerator.EntityClassOpening(entity)#>
+{
+<#
+    var propertiesWithDefaultValues = typeMapper.GetPropertiesWithDefaultValues(entity);
+    var collectionNavigationProperties = typeMapper.GetCollectionNavigationProperties(entity);
+    var complexProperties = typeMapper.GetComplexProperties(entity);
+
+    if (propertiesWithDefaultValues.Any() || collectionNavigationProperties.Any() || complexProperties.Any())
+    {
+#>
+    [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
+    public <#=code.Escape(entity)#>()
+    {
+<#
+        foreach (var edmProperty in propertiesWithDefaultValues)
+        {
+#>
+        this.<#=code.Escape(edmProperty)#> = <#=typeMapper.CreateLiteral(edmProperty.DefaultValue)#>;
+<#
+        }
+
+        foreach (var navigationProperty in collectionNavigationProperties)
+        {
+#>
+        this.<#=code.Escape(navigationProperty)#> = new HashSet<<#=typeMapper.GetTypeName(navigationProperty.ToEndMember.GetEntityType())#>>();
+<#
+        }
+
+        foreach (var complexProperty in complexProperties)
+        {
+#>
+        this.<#=code.Escape(complexProperty)#> = new <#=typeMapper.GetTypeName(complexProperty.TypeUsage)#>();
+<#
+        }
+#>
+    }
+
+<#
+    }
+
+    var simpleProperties = typeMapper.GetSimpleProperties(entity);
+    if (simpleProperties.Any())
+    {
+        foreach (var edmProperty in simpleProperties)
+        {
+#>
+    <#=codeStringGenerator.Property(edmProperty)#>
+<#
+        }
+    }
+
+    if (complexProperties.Any())
+    {
+#>
+
+<#
+        foreach(var complexProperty in complexProperties)
+        {
+#>
+    <#=codeStringGenerator.Property(complexProperty)#>
+<#
+        }
+    }
+
+    var navigationProperties = typeMapper.GetNavigationProperties(entity);
+    if (navigationProperties.Any())
+    {
+#>
+
+<#
+        foreach (var navigationProperty in navigationProperties)
+        {
+            if (navigationProperty.ToEndMember.RelationshipMultiplicity == RelationshipMultiplicity.Many)
+            {
+#>
+    [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+<#
+            }
+#>
+    <#=codeStringGenerator.NavigationProperty(navigationProperty)#>
+<#
+        }
+    }
+#>
+}
+<#
+    EndNamespace(code);
+}
+
+foreach (var complex in typeMapper.GetItemsToGenerate<ComplexType>(itemCollection))
+{
+    fileManager.StartNewFile(complex.Name + ".cs");
+    BeginNamespace(code);
+#>
+<#=codeStringGenerator.UsingDirectives(inHeader: false, includeCollections: false)#>
+<#=Accessibility.ForType(complex)#> partial class <#=code.Escape(complex)#>
+{
+<#
+    var complexProperties = typeMapper.GetComplexProperties(complex);
+    var propertiesWithDefaultValues = typeMapper.GetPropertiesWithDefaultValues(complex);
+
+    if (propertiesWithDefaultValues.Any() || complexProperties.Any())
+    {
+#>
+    public <#=code.Escape(complex)#>()
+    {
+<#
+        foreach (var edmProperty in propertiesWithDefaultValues)
+        {
+#>
+        this.<#=code.Escape(edmProperty)#> = <#=typeMapper.CreateLiteral(edmProperty.DefaultValue)#>;
+<#
+        }
+
+        foreach (var complexProperty in complexProperties)
+        {
+#>
+        this.<#=code.Escape(complexProperty)#> = new <#=typeMapper.GetTypeName(complexProperty.TypeUsage)#>();
+<#
+        }
+#>
+    }
+
+<#
+    }
+
+    var simpleProperties = typeMapper.GetSimpleProperties(complex);
+    if (simpleProperties.Any())
+    {
+        foreach(var edmProperty in simpleProperties)
+        {
+#>
+    <#=codeStringGenerator.Property(edmProperty)#>
+<#
+        }
+    }
+
+    if (complexProperties.Any())
+    {
+#>
+
+<#
+        foreach(var edmProperty in complexProperties)
+        {
+#>
+    <#=codeStringGenerator.Property(edmProperty)#>
+<#
+        }
+    }
+#>
+}
+<#
+    EndNamespace(code);
+}
+
+foreach (var enumType in typeMapper.GetEnumItemsToGenerate(itemCollection))
+{
+    fileManager.StartNewFile(enumType.Name + ".cs");
+    BeginNamespace(code);
+#>
+<#=codeStringGenerator.UsingDirectives(inHeader: false, includeCollections: false)#>
+<#
+    if (typeMapper.EnumIsFlags(enumType))
+    {
+#>
+[Flags]
+<#
+    }
+#>
+<#=codeStringGenerator.EnumOpening(enumType)#>
+{
+<#
+    var foundOne = false;
+    
+    foreach (MetadataItem member in typeMapper.GetEnumMembers(enumType))
+    {
+        foundOne = true;
+#>
+    <#=code.Escape(typeMapper.GetEnumMemberName(member))#> = <#=typeMapper.GetEnumMemberValue(member)#>,
+<#
+    }
+
+    if (foundOne)
+    {
+        this.GenerationEnvironment.Remove(this.GenerationEnvironment.Length - 3, 1);
+    }
+#>
+}
+<#
+    EndNamespace(code);
+}
+
+fileManager.Process();
+
+#>
+<#+
+
+public void WriteHeader(CodeStringGenerator codeStringGenerator, EntityFrameworkTemplateFileManager fileManager)
+{
+    fileManager.StartHeader();
+#>
+//------------------------------------------------------------------------------
+// <auto-generated>
+// <#=CodeGenerationTools.GetResourceString("Template_GeneratedCodeCommentLine1")#>
+//
+// <#=CodeGenerationTools.GetResourceString("Template_GeneratedCodeCommentLine2")#>
+// <#=CodeGenerationTools.GetResourceString("Template_GeneratedCodeCommentLine3")#>
+// </auto-generated>
+//------------------------------------------------------------------------------
+<#=codeStringGenerator.UsingDirectives(inHeader: true)#>
+<#+
+    fileManager.EndBlock();
+}
+
+public void BeginNamespace(CodeGenerationTools code)
+{
+    var codeNamespace = code.VsNamespaceSuggestion();
+    if (!String.IsNullOrEmpty(codeNamespace))
+    {
+#>
+namespace <#=code.EscapeNamespace(codeNamespace)#>
+{
+<#+
+        PushIndent("    ");
+    }
+}
+
+public void EndNamespace(CodeGenerationTools code)
+{
+    if (!String.IsNullOrEmpty(code.VsNamespaceSuggestion()))
+    {
+        PopIndent();
+#>
+}
+<#+
+    }
+}
+
+public const string TemplateId = "CSharp_DbContext_Types_EF6";
+
+public class CodeStringGenerator
+{
+    private readonly CodeGenerationTools _code;
+    private readonly TypeMapper _typeMapper;
+    private readonly MetadataTools _ef;
+
+    public CodeStringGenerator(CodeGenerationTools code, TypeMapper typeMapper, MetadataTools ef)
+    {
+        ArgumentNotNull(code, "code");
+        ArgumentNotNull(typeMapper, "typeMapper");
+        ArgumentNotNull(ef, "ef");
+
+        _code = code;
+        _typeMapper = typeMapper;
+        _ef = ef;
+    }
+
+    public string Property(EdmProperty edmProperty)
+    {
+        return string.Format(
+            CultureInfo.InvariantCulture,
+            "{0} {1} {2} {{ {3}get; {4}set; }}",
+            Accessibility.ForProperty(edmProperty),
+            _typeMapper.GetTypeName(edmProperty.TypeUsage),
+            _code.Escape(edmProperty),
+            _code.SpaceAfter(Accessibility.ForGetter(edmProperty)),
+            _code.SpaceAfter(Accessibility.ForSetter(edmProperty)));
+    }
+
+    public string NavigationProperty(NavigationProperty navProp)
+    {
+        var endType = _typeMapper.GetTypeName(navProp.ToEndMember.GetEntityType());
+        return string.Format(
+            CultureInfo.InvariantCulture,
+            "{0} {1} {2} {{ {3}get; {4}set; }}",
+            AccessibilityAndVirtual(Accessibility.ForNavigationProperty(navProp)),
+            navProp.ToEndMember.RelationshipMultiplicity == RelationshipMultiplicity.Many ? ("ICollection<" + endType + ">") : endType,
+            _code.Escape(navProp),
+            _code.SpaceAfter(Accessibility.ForGetter(navProp)),
+            _code.SpaceAfter(Accessibility.ForSetter(navProp)));
+    }
+    
+    public string AccessibilityAndVirtual(string accessibility)
+    {
+        return accessibility + (accessibility != "private" ? " virtual" : "");
+    }
+    
+    public string EntityClassOpening(EntityType entity)
+    {
+        return string.Format(
+            CultureInfo.InvariantCulture,
+            "{0} {1}partial class {2}{3}",
+            Accessibility.ForType(entity),
+            _code.SpaceAfter(_code.AbstractOption(entity)),
+            _code.Escape(entity),
+            _code.StringBefore(" : ", _typeMapper.GetTypeName(entity.BaseType)));
+    }
+    
+    public string EnumOpening(SimpleType enumType)
+    {
+        return string.Format(
+            CultureInfo.InvariantCulture,
+            "{0} enum {1} : {2}",
+            Accessibility.ForType(enumType),
+            _code.Escape(enumType),
+            _code.Escape(_typeMapper.UnderlyingClrType(enumType)));
+        }
+    
+    public void WriteFunctionParameters(EdmFunction edmFunction, Action<string, string, string, string> writeParameter)
+    {
+        var parameters = FunctionImportParameter.Create(edmFunction.Parameters, _code, _ef);
+        foreach (var parameter in parameters.Where(p => p.NeedsLocalVariable))
+        {
+            var isNotNull = parameter.IsNullableOfT ? parameter.FunctionParameterName + ".HasValue" : parameter.FunctionParameterName + " != null";
+            var notNullInit = "new ObjectParameter(\"" + parameter.EsqlParameterName + "\", " + parameter.FunctionParameterName + ")";
+            var nullInit = "new ObjectParameter(\"" + parameter.EsqlParameterName + "\", typeof(" + TypeMapper.FixNamespaces(parameter.RawClrTypeName) + "))";
+            writeParameter(parameter.LocalVariableName, isNotNull, notNullInit, nullInit);
+        }
+    }
+    
+    public string ComposableFunctionMethod(EdmFunction edmFunction, string modelNamespace)
+    {
+        var parameters = _typeMapper.GetParameters(edmFunction);
+        
+        return string.Format(
+            CultureInfo.InvariantCulture,
+            "{0} IQueryable<{1}> {2}({3})",
+            AccessibilityAndVirtual(Accessibility.ForMethod(edmFunction)),
+            _typeMapper.GetTypeName(_typeMapper.GetReturnType(edmFunction), modelNamespace),
+            _code.Escape(edmFunction),
+            string.Join(", ", parameters.Select(p => TypeMapper.FixNamespaces(p.FunctionParameterType) + " " + p.FunctionParameterName).ToArray()));
+    }
+    
+    public string ComposableCreateQuery(EdmFunction edmFunction, string modelNamespace)
+    {
+        var parameters = _typeMapper.GetParameters(edmFunction);
+        
+        return string.Format(
+            CultureInfo.InvariantCulture,
+            "return ((IObjectContextAdapter)this).ObjectContext.CreateQuery<{0}>(\"[{1}].[{2}]({3})\"{4});",
+            _typeMapper.GetTypeName(_typeMapper.GetReturnType(edmFunction), modelNamespace),
+            edmFunction.NamespaceName,
+            edmFunction.Name,
+            string.Join(", ", parameters.Select(p => "@" + p.EsqlParameterName).ToArray()),
+            _code.StringBefore(", ", string.Join(", ", parameters.Select(p => p.ExecuteParameterName).ToArray())));
+    }
+    
+    public string FunctionMethod(EdmFunction edmFunction, string modelNamespace, bool includeMergeOption)
+    {
+        var parameters = _typeMapper.GetParameters(edmFunction);
+        var returnType = _typeMapper.GetReturnType(edmFunction);
+
+        var paramList = String.Join(", ", parameters.Select(p => TypeMapper.FixNamespaces(p.FunctionParameterType) + " " + p.FunctionParameterName).ToArray());
+        if (includeMergeOption)
+        {
+            paramList = _code.StringAfter(paramList, ", ") + "MergeOption mergeOption";
+        }
+
+        return string.Format(
+            CultureInfo.InvariantCulture,
+            "{0} {1} {2}({3})",
+            AccessibilityAndVirtual(Accessibility.ForMethod(edmFunction)),
+            returnType == null ? "int" : "ObjectResult<" + _typeMapper.GetTypeName(returnType, modelNamespace) + ">",
+            _code.Escape(edmFunction),
+            paramList);
+    }
+    
+    public string ExecuteFunction(EdmFunction edmFunction, string modelNamespace, bool includeMergeOption)
+    {
+        var parameters = _typeMapper.GetParameters(edmFunction);
+        var returnType = _typeMapper.GetReturnType(edmFunction);
+
+        var callParams = _code.StringBefore(", ", String.Join(", ", parameters.Select(p => p.ExecuteParameterName).ToArray()));
+        if (includeMergeOption)
+        {
+            callParams = ", mergeOption" + callParams;
+        }
+        
+        return string.Format(
+            CultureInfo.InvariantCulture,
+            "return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction{0}(\"{1}\"{2});",
+            returnType == null ? "" : "<" + _typeMapper.GetTypeName(returnType, modelNamespace) + ">",
+            edmFunction.Name,
+            callParams);
+    }
+    
+    public string DbSet(EntitySet entitySet)
+    {
+        return string.Format(
+            CultureInfo.InvariantCulture,
+            "{0} virtual DbSet<{1}> {2} {{ get; set; }}",
+            Accessibility.ForReadOnlyProperty(entitySet),
+            _typeMapper.GetTypeName(entitySet.ElementType),
+            _code.Escape(entitySet));
+    }
+
+    public string UsingDirectives(bool inHeader, bool includeCollections = true)
+    {
+        return inHeader == string.IsNullOrEmpty(_code.VsNamespaceSuggestion())
+            ? string.Format(
+                CultureInfo.InvariantCulture,
+                "{0}using System;{1}" +
+                "{2}",
+                inHeader ? Environment.NewLine : "",
+                includeCollections ? (Environment.NewLine + "using System.Collections.Generic;") : "",
+                inHeader ? "" : Environment.NewLine)
+            : "";
+    }
+}
+
+public class TypeMapper
+{
+    private const string ExternalTypeNameAttributeName = @"http://schemas.microsoft.com/ado/2006/04/codegeneration:ExternalTypeName";
+
+    private readonly System.Collections.IList _errors;
+    private readonly CodeGenerationTools _code;
+    private readonly MetadataTools _ef;
+
+    public TypeMapper(CodeGenerationTools code, MetadataTools ef, System.Collections.IList errors)
+    {
+        ArgumentNotNull(code, "code");
+        ArgumentNotNull(ef, "ef");
+        ArgumentNotNull(errors, "errors");
+
+        _code = code;
+        _ef = ef;
+        _errors = errors;
+    }
+
+    public static string FixNamespaces(string typeName)
+    {
+        return typeName.Replace("System.Data.Spatial.", "System.Data.Entity.Spatial.");
+    }
+
+    public string GetTypeName(TypeUsage typeUsage)
+    {
+        return typeUsage == null ? null : GetTypeName(typeUsage.EdmType, _ef.IsNullable(typeUsage), modelNamespace: null);
+    }
+
+    public string GetTypeName(EdmType edmType)
+    {
+        return GetTypeName(edmType, isNullable: null, modelNamespace: null);
+    }
+
+    public string GetTypeName(TypeUsage typeUsage, string modelNamespace)
+    {
+        return typeUsage == null ? null : GetTypeName(typeUsage.EdmType, _ef.IsNullable(typeUsage), modelNamespace);
+    }
+
+    public string GetTypeName(EdmType edmType, string modelNamespace)
+    {
+        return GetTypeName(edmType, isNullable: null, modelNamespace: modelNamespace);
+    }
+
+    public string GetTypeName(EdmType edmType, bool? isNullable, string modelNamespace)
+    {
+        if (edmType == null)
+        {
+            return null;
+        }
+
+        var collectionType = edmType as CollectionType;
+        if (collectionType != null)
+        {
+            return String.Format(CultureInfo.InvariantCulture, "ICollection<{0}>", GetTypeName(collectionType.TypeUsage, modelNamespace));
+        }
+
+        var typeName = _code.Escape(edmType.MetadataProperties
+                                .Where(p => p.Name == ExternalTypeNameAttributeName)
+                                .Select(p => (string)p.Value)
+                                .FirstOrDefault())
+            ?? (modelNamespace != null && edmType.NamespaceName != modelNamespace ?
+                _code.CreateFullName(_code.EscapeNamespace(edmType.NamespaceName), _code.Escape(edmType)) :
+                _code.Escape(edmType));
+
+        if (edmType is StructuralType)
+        {
+            return typeName;
+        }
+
+        if (edmType is SimpleType)
+        {
+            var clrType = UnderlyingClrType(edmType);
+            if (!IsEnumType(edmType))
+            {
+                typeName = _code.Escape(clrType);
+            }
+
+            typeName = FixNamespaces(typeName);
+
+            return clrType.IsValueType && isNullable == true ?
+                String.Format(CultureInfo.InvariantCulture, "Nullable<{0}>", typeName) :
+                typeName;
+        }
+
+        throw new ArgumentException("edmType");
+    }
+    
+    public Type UnderlyingClrType(EdmType edmType)
+    {
+        ArgumentNotNull(edmType, "edmType");
+
+        var primitiveType = edmType as PrimitiveType;
+        if (primitiveType != null)
+        {
+            return primitiveType.ClrEquivalentType;
+        }
+
+        if (IsEnumType(edmType))
+        {
+            return GetEnumUnderlyingType(edmType).ClrEquivalentType;
+        }
+
+        return typeof(object);
+    }
+    
+    public object GetEnumMemberValue(MetadataItem enumMember)
+    {
+        ArgumentNotNull(enumMember, "enumMember");
+        
+        var valueProperty = enumMember.GetType().GetProperty("Value");
+        return valueProperty == null ? null : valueProperty.GetValue(enumMember, null);
+    }
+    
+    public string GetEnumMemberName(MetadataItem enumMember)
+    {
+        ArgumentNotNull(enumMember, "enumMember");
+        
+        var nameProperty = enumMember.GetType().GetProperty("Name");
+        return nameProperty == null ? null : (string)nameProperty.GetValue(enumMember, null);
+    }
+
+    public System.Collections.IEnumerable GetEnumMembers(EdmType enumType)
+    {
+        ArgumentNotNull(enumType, "enumType");
+
+        var membersProperty = enumType.GetType().GetProperty("Members");
+        return membersProperty != null 
+            ? (System.Collections.IEnumerable)membersProperty.GetValue(enumType, null)
+            : Enumerable.Empty<MetadataItem>();
+    }
+    
+    public bool EnumIsFlags(EdmType enumType)
+    {
+        ArgumentNotNull(enumType, "enumType");
+        
+        var isFlagsProperty = enumType.GetType().GetProperty("IsFlags");
+        return isFlagsProperty != null && (bool)isFlagsProperty.GetValue(enumType, null);
+    }
+
+    public bool IsEnumType(GlobalItem edmType)
+    {
+        ArgumentNotNull(edmType, "edmType");
+
+        return edmType.GetType().Name == "EnumType";
+    }
+
+    public PrimitiveType GetEnumUnderlyingType(EdmType enumType)
+    {
+        ArgumentNotNull(enumType, "enumType");
+
+        return (PrimitiveType)enumType.GetType().GetProperty("UnderlyingType").GetValue(enumType, null);
+    }
+
+    public string CreateLiteral(object value)
+    {
+        if (value == null || value.GetType() != typeof(TimeSpan))
+        {
+            return _code.CreateLiteral(value);
+        }
+
+        return string.Format(CultureInfo.InvariantCulture, "new TimeSpan({0})", ((TimeSpan)value).Ticks);
+    }
+    
+    public bool VerifyCaseInsensitiveTypeUniqueness(IEnumerable<string> types, string sourceFile)
+    {
+        ArgumentNotNull(types, "types");
+        ArgumentNotNull(sourceFile, "sourceFile");
+        
+        var hash = new HashSet<string>(StringComparer.InvariantCultureIgnoreCase);
+        if (types.Any(item => !hash.Add(item)))
+        {
+            _errors.Add(
+                new CompilerError(sourceFile, -1, -1, "6023",
+                    String.Format(CultureInfo.CurrentCulture, CodeGenerationTools.GetResourceString("Template_CaseInsensitiveTypeConflict"))));
+            return false;
+        }
+        return true;
+    }
+    
+    public IEnumerable<SimpleType> GetEnumItemsToGenerate(IEnumerable<GlobalItem> itemCollection)
+    {
+        return GetItemsToGenerate<SimpleType>(itemCollection)
+            .Where(e => IsEnumType(e));
+    }
+    
+    public IEnumerable<T> GetItemsToGenerate<T>(IEnumerable<GlobalItem> itemCollection) where T: EdmType
+    {
+        return itemCollection
+            .OfType<T>()
+            .Where(i => !i.MetadataProperties.Any(p => p.Name == ExternalTypeNameAttributeName))
+            .OrderBy(i => i.Name);
+    }
+
+    public IEnumerable<string> GetAllGlobalItems(IEnumerable<GlobalItem> itemCollection)
+    {
+        return itemCollection
+            .Where(i => i is EntityType || i is ComplexType || i is EntityContainer || IsEnumType(i))
+            .Select(g => GetGlobalItemName(g));
+    }
+
+    public string GetGlobalItemName(GlobalItem item)
+    {
+        if (item is EdmType)
+        {
+            return ((EdmType)item).Name;
+        }
+        else
+        {
+            return ((EntityContainer)item).Name;
+        }
+    }
+
+    public IEnumerable<EdmProperty> GetSimpleProperties(EntityType type)
+    {
+        return type.Properties.Where(p => p.TypeUsage.EdmType is SimpleType && p.DeclaringType == type);
+    }
+    
+    public IEnumerable<EdmProperty> GetSimpleProperties(ComplexType type)
+    {
+        return type.Properties.Where(p => p.TypeUsage.EdmType is SimpleType && p.DeclaringType == type);
+    }
+    
+    public IEnumerable<EdmProperty> GetComplexProperties(EntityType type)
+    {
+        return type.Properties.Where(p => p.TypeUsage.EdmType is ComplexType && p.DeclaringType == type);
+    }
+    
+    public IEnumerable<EdmProperty> GetComplexProperties(ComplexType type)
+    {
+        return type.Properties.Where(p => p.TypeUsage.EdmType is ComplexType && p.DeclaringType == type);
+    }
+
+    public IEnumerable<EdmProperty> GetPropertiesWithDefaultValues(EntityType type)
+    {
+        return type.Properties.Where(p => p.TypeUsage.EdmType is SimpleType && p.DeclaringType == type && p.DefaultValue != null);
+    }
+    
+    public IEnumerable<EdmProperty> GetPropertiesWithDefaultValues(ComplexType type)
+    {
+        return type.Properties.Where(p => p.TypeUsage.EdmType is SimpleType && p.DeclaringType == type && p.DefaultValue != null);
+    }
+
+    public IEnumerable<NavigationProperty> GetNavigationProperties(EntityType type)
+    {
+        return type.NavigationProperties.Where(np => np.DeclaringType == type);
+    }
+    
+    public IEnumerable<NavigationProperty> GetCollectionNavigationProperties(EntityType type)
+    {
+        return type.NavigationProperties.Where(np => np.DeclaringType == type && np.ToEndMember.RelationshipMultiplicity == RelationshipMultiplicity.Many);
+    }
+    
+    public FunctionParameter GetReturnParameter(EdmFunction edmFunction)
+    {
+        ArgumentNotNull(edmFunction, "edmFunction");
+
+        var returnParamsProperty = edmFunction.GetType().GetProperty("ReturnParameters");
+        return returnParamsProperty == null
+            ? edmFunction.ReturnParameter
+            : ((IEnumerable<FunctionParameter>)returnParamsProperty.GetValue(edmFunction, null)).FirstOrDefault();
+    }
+
+    public bool IsComposable(EdmFunction edmFunction)
+    {
+        ArgumentNotNull(edmFunction, "edmFunction");
+
+        var isComposableProperty = edmFunction.GetType().GetProperty("IsComposableAttribute");
+        return isComposableProperty != null && (bool)isComposableProperty.GetValue(edmFunction, null);
+    }
+
+    public IEnumerable<FunctionImportParameter> GetParameters(EdmFunction edmFunction)
+    {
+        return FunctionImportParameter.Create(edmFunction.Parameters, _code, _ef);
+    }
+
+    public TypeUsage GetReturnType(EdmFunction edmFunction)
+    {
+        var returnParam = GetReturnParameter(edmFunction);
+        return returnParam == null ? null : _ef.GetElementType(returnParam.TypeUsage);
+    }
+    
+    public bool GenerateMergeOptionFunction(EdmFunction edmFunction, bool includeMergeOption)
+    {
+        var returnType = GetReturnType(edmFunction);
+        return !includeMergeOption && returnType != null && returnType.EdmType.BuiltInTypeKind == BuiltInTypeKind.EntityType;
+    }
+}
+
+public static void ArgumentNotNull<T>(T arg, string name) where T : class
+{
+    if (arg == null)
+    {
+        throw new ArgumentNullException(name);
+    }
+}
+#>

+ 37 - 0
Service.cs

@@ -0,0 +1,37 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+//     Этот код создан по шаблону.
+//
+//     Изменения, вносимые в этот файл вручную, могут привести к непредвиденной работе приложения.
+//     Изменения, вносимые в этот файл вручную, будут перезаписаны при повторном создании кода.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace BeautySaloon
+{
+    using System;
+    using System.Collections.Generic;
+    
+    public partial class Service
+    {
+        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
+        public Service()
+        {
+            this.ClientService = new HashSet<ClientService>();
+            this.ServicePhoto = new HashSet<ServicePhoto>();
+        }
+    
+        public int ID { get; set; }
+        public string Title { get; set; }
+        public decimal Cost { get; set; }
+        public int DurationInSeconds { get; set; }
+        public string Description { get; set; }
+        public Nullable<double> Discount { get; set; }
+        public string MainImagePath { get; set; }
+    
+        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+        public virtual ICollection<ClientService> ClientService { get; set; }
+        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+        public virtual ICollection<ServicePhoto> ServicePhoto { get; set; }
+    }
+}

+ 384 - 0
ServiceEditForm.Designer.cs

@@ -0,0 +1,384 @@
+
+namespace BeautySaloon
+{
+    partial class ServiceEditForm
+    {
+        /// <summary>
+        /// Required designer variable.
+        /// </summary>
+        private System.ComponentModel.IContainer components = null;
+
+        /// <summary>
+        /// Clean up any resources being used.
+        /// </summary>
+        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+        protected override void Dispose(bool disposing)
+        {
+            if (disposing && (components != null))
+            {
+                components.Dispose();
+            }
+            base.Dispose(disposing);
+        }
+
+        #region Windows Form Designer generated code
+
+        /// <summary>
+        /// Required method for Designer support - do not modify
+        /// the contents of this method with the code editor.
+        /// </summary>
+        private void InitializeComponent()
+        {
+            this.components = new System.ComponentModel.Container();
+            System.Windows.Forms.Label titleLabel;
+            System.Windows.Forms.Label costLabel;
+            System.Windows.Forms.Label durationInSecondsLabel;
+            System.Windows.Forms.Label descriptionLabel;
+            System.Windows.Forms.Label discountLabel;
+            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ServiceEditForm));
+            this.panel1 = new System.Windows.Forms.Panel();
+            this.label1 = new System.Windows.Forms.Label();
+            this.pictureBox1 = new System.Windows.Forms.PictureBox();
+            this.beauty_saloonDataSet = new BeautySaloon.beauty_saloonDataSet();
+            this.serviceBindingSource = new System.Windows.Forms.BindingSource(this.components);
+            this.serviceTableAdapter = new BeautySaloon.beauty_saloonDataSetTableAdapters.ServiceTableAdapter();
+            this.tableAdapterManager = new BeautySaloon.beauty_saloonDataSetTableAdapters.TableAdapterManager();
+            this.titleTextBox = new System.Windows.Forms.TextBox();
+            this.costTextBox = new System.Windows.Forms.TextBox();
+            this.durationInSecondsTextBox = new System.Windows.Forms.TextBox();
+            this.descriptionTextBox = new System.Windows.Forms.TextBox();
+            this.discountTextBox = new System.Windows.Forms.TextBox();
+            this.PrevButton = new System.Windows.Forms.Button();
+            this.nextButton = new System.Windows.Forms.Button();
+            this.LastButton = new System.Windows.Forms.Button();
+            this.FirstButton = new System.Windows.Forms.Button();
+            this.DelButton = new System.Windows.Forms.Button();
+            this.SaveButton = new System.Windows.Forms.Button();
+            this.exitButton = new System.Windows.Forms.Button();
+            this.AddButton = new System.Windows.Forms.Button();
+            titleLabel = new System.Windows.Forms.Label();
+            costLabel = new System.Windows.Forms.Label();
+            durationInSecondsLabel = new System.Windows.Forms.Label();
+            descriptionLabel = new System.Windows.Forms.Label();
+            discountLabel = new System.Windows.Forms.Label();
+            this.panel1.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.beauty_saloonDataSet)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.serviceBindingSource)).BeginInit();
+            this.SuspendLayout();
+            // 
+            // titleLabel
+            // 
+            titleLabel.AutoSize = true;
+            titleLabel.Font = new System.Drawing.Font("Tahoma", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+            titleLabel.Location = new System.Drawing.Point(12, 99);
+            titleLabel.Name = "titleLabel";
+            titleLabel.Size = new System.Drawing.Size(101, 23);
+            titleLabel.TabIndex = 8;
+            titleLabel.Text = "Название:";
+            // 
+            // costLabel
+            // 
+            costLabel.AutoSize = true;
+            costLabel.Font = new System.Drawing.Font("Tahoma", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+            costLabel.Location = new System.Drawing.Point(12, 152);
+            costLabel.Name = "costLabel";
+            costLabel.Size = new System.Drawing.Size(108, 23);
+            costLabel.TabIndex = 10;
+            costLabel.Text = "Стоимость:";
+            // 
+            // durationInSecondsLabel
+            // 
+            durationInSecondsLabel.AutoSize = true;
+            durationInSecondsLabel.Font = new System.Drawing.Font("Tahoma", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+            durationInSecondsLabel.Location = new System.Drawing.Point(12, 215);
+            durationInSecondsLabel.Name = "durationInSecondsLabel";
+            durationInSecondsLabel.Size = new System.Drawing.Size(141, 23);
+            durationInSecondsLabel.TabIndex = 12;
+            durationInSecondsLabel.Text = "Длительность:";
+            // 
+            // descriptionLabel
+            // 
+            descriptionLabel.AutoSize = true;
+            descriptionLabel.Font = new System.Drawing.Font("Tahoma", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+            descriptionLabel.Location = new System.Drawing.Point(12, 274);
+            descriptionLabel.Name = "descriptionLabel";
+            descriptionLabel.Size = new System.Drawing.Size(103, 23);
+            descriptionLabel.TabIndex = 14;
+            descriptionLabel.Text = "Описание:";
+            // 
+            // discountLabel
+            // 
+            discountLabel.AutoSize = true;
+            discountLabel.Font = new System.Drawing.Font("Tahoma", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+            discountLabel.Location = new System.Drawing.Point(12, 331);
+            discountLabel.Name = "discountLabel";
+            discountLabel.Size = new System.Drawing.Size(78, 23);
+            discountLabel.TabIndex = 16;
+            discountLabel.Text = "Скидка:";
+            // 
+            // panel1
+            // 
+            this.panel1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(74)))), ((int)(((byte)(109)))));
+            this.panel1.Controls.Add(this.label1);
+            this.panel1.Location = new System.Drawing.Point(73, 0);
+            this.panel1.Name = "panel1";
+            this.panel1.Size = new System.Drawing.Size(728, 79);
+            this.panel1.TabIndex = 4;
+            // 
+            // label1
+            // 
+            this.label1.AutoSize = true;
+            this.label1.Font = new System.Drawing.Font("Tahoma", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+            this.label1.Location = new System.Drawing.Point(29, 23);
+            this.label1.Name = "label1";
+            this.label1.Size = new System.Drawing.Size(205, 23);
+            this.label1.TabIndex = 0;
+            this.label1.Text = "Редактирование услуг";
+            // 
+            // pictureBox1
+            // 
+            this.pictureBox1.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox1.Image")));
+            this.pictureBox1.Location = new System.Drawing.Point(-4, 0);
+            this.pictureBox1.Name = "pictureBox1";
+            this.pictureBox1.Size = new System.Drawing.Size(121, 85);
+            this.pictureBox1.TabIndex = 5;
+            this.pictureBox1.TabStop = false;
+            // 
+            // beauty_saloonDataSet
+            // 
+            this.beauty_saloonDataSet.DataSetName = "beauty_saloonDataSet";
+            this.beauty_saloonDataSet.SchemaSerializationMode = System.Data.SchemaSerializationMode.IncludeSchema;
+            // 
+            // serviceBindingSource
+            // 
+            this.serviceBindingSource.DataMember = "Service";
+            this.serviceBindingSource.DataSource = this.beauty_saloonDataSet;
+            // 
+            // serviceTableAdapter
+            // 
+            this.serviceTableAdapter.ClearBeforeFill = true;
+            // 
+            // tableAdapterManager
+            // 
+            this.tableAdapterManager.AttachedProductTableAdapter = null;
+            this.tableAdapterManager.BackupDataSetBeforeUpdate = false;
+            this.tableAdapterManager.ClientServiceTableAdapter = null;
+            this.tableAdapterManager.ClientTableAdapter = null;
+            this.tableAdapterManager.DocumentByServiceTableAdapter = null;
+            this.tableAdapterManager.GenderTableAdapter = null;
+            this.tableAdapterManager.ManufacturerTableAdapter = null;
+            this.tableAdapterManager.ProductPhotoTableAdapter = null;
+            this.tableAdapterManager.ProductSaleTableAdapter = null;
+            this.tableAdapterManager.ProductTableAdapter = null;
+            this.tableAdapterManager.ServicePhotoTableAdapter = null;
+            this.tableAdapterManager.ServiceTableAdapter = this.serviceTableAdapter;
+            this.tableAdapterManager.TagOfClientTableAdapter = null;
+            this.tableAdapterManager.TagTableAdapter = null;
+            this.tableAdapterManager.UpdateOrder = BeautySaloon.beauty_saloonDataSetTableAdapters.TableAdapterManager.UpdateOrderOption.InsertUpdateDelete;
+            // 
+            // titleTextBox
+            // 
+            this.titleTextBox.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.serviceBindingSource, "Title", true));
+            this.titleTextBox.Font = new System.Drawing.Font("Tahoma", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+            this.titleTextBox.Location = new System.Drawing.Point(171, 96);
+            this.titleTextBox.Name = "titleTextBox";
+            this.titleTextBox.Size = new System.Drawing.Size(333, 30);
+            this.titleTextBox.TabIndex = 9;
+            // 
+            // costTextBox
+            // 
+            this.costTextBox.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.serviceBindingSource, "Cost", true));
+            this.costTextBox.Font = new System.Drawing.Font("Tahoma", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+            this.costTextBox.Location = new System.Drawing.Point(171, 149);
+            this.costTextBox.Name = "costTextBox";
+            this.costTextBox.Size = new System.Drawing.Size(333, 30);
+            this.costTextBox.TabIndex = 11;
+            // 
+            // durationInSecondsTextBox
+            // 
+            this.durationInSecondsTextBox.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.serviceBindingSource, "DurationInSeconds", true));
+            this.durationInSecondsTextBox.Font = new System.Drawing.Font("Tahoma", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+            this.durationInSecondsTextBox.Location = new System.Drawing.Point(171, 212);
+            this.durationInSecondsTextBox.Name = "durationInSecondsTextBox";
+            this.durationInSecondsTextBox.Size = new System.Drawing.Size(333, 30);
+            this.durationInSecondsTextBox.TabIndex = 13;
+            // 
+            // descriptionTextBox
+            // 
+            this.descriptionTextBox.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.serviceBindingSource, "Description", true));
+            this.descriptionTextBox.Font = new System.Drawing.Font("Tahoma", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+            this.descriptionTextBox.Location = new System.Drawing.Point(171, 271);
+            this.descriptionTextBox.Name = "descriptionTextBox";
+            this.descriptionTextBox.Size = new System.Drawing.Size(333, 30);
+            this.descriptionTextBox.TabIndex = 15;
+            // 
+            // discountTextBox
+            // 
+            this.discountTextBox.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.serviceBindingSource, "Discount", true));
+            this.discountTextBox.Font = new System.Drawing.Font("Tahoma", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+            this.discountTextBox.Location = new System.Drawing.Point(171, 328);
+            this.discountTextBox.Name = "discountTextBox";
+            this.discountTextBox.Size = new System.Drawing.Size(333, 30);
+            this.discountTextBox.TabIndex = 17;
+            // 
+            // PrevButton
+            // 
+            this.PrevButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
+            this.PrevButton.Font = new System.Drawing.Font("Tahoma", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+            this.PrevButton.Location = new System.Drawing.Point(203, 389);
+            this.PrevButton.Name = "PrevButton";
+            this.PrevButton.Size = new System.Drawing.Size(139, 39);
+            this.PrevButton.TabIndex = 22;
+            this.PrevButton.Text = "Предыдущее";
+            this.PrevButton.UseVisualStyleBackColor = true;
+            this.PrevButton.Click += new System.EventHandler(this.PrevButton_Click);
+            // 
+            // nextButton
+            // 
+            this.nextButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
+            this.nextButton.Font = new System.Drawing.Font("Tahoma", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+            this.nextButton.Location = new System.Drawing.Point(16, 389);
+            this.nextButton.Name = "nextButton";
+            this.nextButton.Size = new System.Drawing.Size(139, 39);
+            this.nextButton.TabIndex = 21;
+            this.nextButton.Text = "Следующее";
+            this.nextButton.UseVisualStyleBackColor = true;
+            this.nextButton.Click += new System.EventHandler(this.nextButton_Click);
+            // 
+            // LastButton
+            // 
+            this.LastButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
+            this.LastButton.Font = new System.Drawing.Font("Tahoma", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+            this.LastButton.Location = new System.Drawing.Point(203, 445);
+            this.LastButton.Name = "LastButton";
+            this.LastButton.Size = new System.Drawing.Size(139, 39);
+            this.LastButton.TabIndex = 24;
+            this.LastButton.Text = "Последняя";
+            this.LastButton.UseVisualStyleBackColor = true;
+            this.LastButton.Click += new System.EventHandler(this.LastButton_Click);
+            // 
+            // FirstButton
+            // 
+            this.FirstButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
+            this.FirstButton.Font = new System.Drawing.Font("Tahoma", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+            this.FirstButton.Location = new System.Drawing.Point(15, 445);
+            this.FirstButton.Name = "FirstButton";
+            this.FirstButton.Size = new System.Drawing.Size(139, 39);
+            this.FirstButton.TabIndex = 23;
+            this.FirstButton.Text = "Первая";
+            this.FirstButton.UseVisualStyleBackColor = true;
+            this.FirstButton.Click += new System.EventHandler(this.FirstButton_Click);
+            // 
+            // DelButton
+            // 
+            this.DelButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
+            this.DelButton.Font = new System.Drawing.Font("Tahoma", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+            this.DelButton.Location = new System.Drawing.Point(377, 445);
+            this.DelButton.Name = "DelButton";
+            this.DelButton.Size = new System.Drawing.Size(139, 39);
+            this.DelButton.TabIndex = 25;
+            this.DelButton.Text = "Удалить";
+            this.DelButton.UseVisualStyleBackColor = true;
+            this.DelButton.Click += new System.EventHandler(this.DelButton_Click);
+            // 
+            // SaveButton
+            // 
+            this.SaveButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
+            this.SaveButton.Font = new System.Drawing.Font("Tahoma", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+            this.SaveButton.Location = new System.Drawing.Point(377, 389);
+            this.SaveButton.Name = "SaveButton";
+            this.SaveButton.Size = new System.Drawing.Size(139, 39);
+            this.SaveButton.TabIndex = 26;
+            this.SaveButton.Text = "Сохранить";
+            this.SaveButton.UseVisualStyleBackColor = true;
+            this.SaveButton.Click += new System.EventHandler(this.SaveButton_Click);
+            // 
+            // exitButton
+            // 
+            this.exitButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
+            this.exitButton.Font = new System.Drawing.Font("Tahoma", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+            this.exitButton.Location = new System.Drawing.Point(203, 502);
+            this.exitButton.Name = "exitButton";
+            this.exitButton.Size = new System.Drawing.Size(139, 39);
+            this.exitButton.TabIndex = 27;
+            this.exitButton.Text = "Назад";
+            this.exitButton.UseVisualStyleBackColor = true;
+            this.exitButton.Click += new System.EventHandler(this.exitButton_Click);
+            // 
+            // AddButton
+            // 
+            this.AddButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
+            this.AddButton.Font = new System.Drawing.Font("Tahoma", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+            this.AddButton.Location = new System.Drawing.Point(16, 502);
+            this.AddButton.Name = "AddButton";
+            this.AddButton.Size = new System.Drawing.Size(139, 39);
+            this.AddButton.TabIndex = 28;
+            this.AddButton.Text = "Добавить";
+            this.AddButton.UseVisualStyleBackColor = true;
+            this.AddButton.Click += new System.EventHandler(this.AddButton_Click);
+            // 
+            // ServiceEditForm
+            // 
+            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+            this.BackColor = System.Drawing.Color.White;
+            this.ClientSize = new System.Drawing.Size(528, 553);
+            this.Controls.Add(this.AddButton);
+            this.Controls.Add(this.exitButton);
+            this.Controls.Add(this.SaveButton);
+            this.Controls.Add(this.DelButton);
+            this.Controls.Add(this.LastButton);
+            this.Controls.Add(this.FirstButton);
+            this.Controls.Add(this.PrevButton);
+            this.Controls.Add(this.nextButton);
+            this.Controls.Add(titleLabel);
+            this.Controls.Add(this.titleTextBox);
+            this.Controls.Add(costLabel);
+            this.Controls.Add(this.costTextBox);
+            this.Controls.Add(durationInSecondsLabel);
+            this.Controls.Add(this.durationInSecondsTextBox);
+            this.Controls.Add(descriptionLabel);
+            this.Controls.Add(this.descriptionTextBox);
+            this.Controls.Add(discountLabel);
+            this.Controls.Add(this.discountTextBox);
+            this.Controls.Add(this.panel1);
+            this.Controls.Add(this.pictureBox1);
+            this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
+            this.Name = "ServiceEditForm";
+            this.Text = "Редактирование услуг";
+            this.Load += new System.EventHandler(this.ServiceEditForm_Load);
+            this.panel1.ResumeLayout(false);
+            this.panel1.PerformLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.beauty_saloonDataSet)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.serviceBindingSource)).EndInit();
+            this.ResumeLayout(false);
+            this.PerformLayout();
+
+        }
+
+        #endregion
+
+        private System.Windows.Forms.Panel panel1;
+        private System.Windows.Forms.Label label1;
+        private System.Windows.Forms.PictureBox pictureBox1;
+        private beauty_saloonDataSet beauty_saloonDataSet;
+        private System.Windows.Forms.BindingSource serviceBindingSource;
+        private beauty_saloonDataSetTableAdapters.ServiceTableAdapter serviceTableAdapter;
+        private beauty_saloonDataSetTableAdapters.TableAdapterManager tableAdapterManager;
+        private System.Windows.Forms.TextBox titleTextBox;
+        private System.Windows.Forms.TextBox costTextBox;
+        private System.Windows.Forms.TextBox durationInSecondsTextBox;
+        private System.Windows.Forms.TextBox descriptionTextBox;
+        private System.Windows.Forms.TextBox discountTextBox;
+        private System.Windows.Forms.Button PrevButton;
+        private System.Windows.Forms.Button nextButton;
+        private System.Windows.Forms.Button LastButton;
+        private System.Windows.Forms.Button FirstButton;
+        private System.Windows.Forms.Button DelButton;
+        private System.Windows.Forms.Button SaveButton;
+        private System.Windows.Forms.Button exitButton;
+        private System.Windows.Forms.Button AddButton;
+    }
+}

+ 79 - 0
ServiceEditForm.cs

@@ -0,0 +1,79 @@
+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 BeautySaloon
+{
+    public partial class ServiceEditForm : Form
+    {
+        public ServiceEditForm()
+        {
+            InitializeComponent();
+        }
+
+        private void serviceBindingNavigatorSaveItem_Click(object sender, EventArgs e)
+        {
+            this.Validate();
+            this.serviceBindingSource.EndEdit();
+            this.tableAdapterManager.UpdateAll(this.beauty_saloonDataSet);
+
+        }
+
+        private void ServiceEditForm_Load(object sender, EventArgs e)
+        {
+            // TODO: данная строка кода позволяет загрузить данные в таблицу "beauty_saloonDataSet.Service". При необходимости она может быть перемещена или удалена.
+            this.serviceTableAdapter.Fill(this.beauty_saloonDataSet.Service);
+
+        }
+
+        private void nextButton_Click(object sender, EventArgs e)
+        {
+            serviceBindingSource.MoveNext();
+        }
+
+        private void FirstButton_Click(object sender, EventArgs e)
+        {
+            serviceBindingSource.MoveFirst();
+        }
+
+        private void PrevButton_Click(object sender, EventArgs e)
+        {
+            serviceBindingSource.MovePrevious();
+        }
+
+        private void LastButton_Click(object sender, EventArgs e)
+        {
+            serviceBindingSource.MoveLast();
+        }
+
+        private void SaveButton_Click(object sender, EventArgs e)
+        {
+            this.Validate();
+            this.serviceBindingSource.EndEdit();
+            this.tableAdapterManager.UpdateAll(this.beauty_saloonDataSet);
+        }
+
+        private void DelButton_Click(object sender, EventArgs e)
+        {
+            serviceBindingSource.RemoveCurrent();
+        }
+
+        private void exitButton_Click(object sender, EventArgs e)
+        {
+            ServiceForm form = new ServiceForm();
+            form.Show();
+            this.Close();
+        }
+
+        private void AddButton_Click(object sender, EventArgs e)
+        {
+            serviceBindingSource.AddNew();
+        }
+    }
+}

+ 602 - 0
ServiceEditForm.resx

@@ -0,0 +1,602 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <metadata name="titleLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>False</value>
+  </metadata>
+  <metadata name="costLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>False</value>
+  </metadata>
+  <metadata name="durationInSecondsLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>False</value>
+  </metadata>
+  <metadata name="descriptionLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>False</value>
+  </metadata>
+  <metadata name="discountLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>False</value>
+  </metadata>
+  <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+  <data name="pictureBox1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        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
+        SUVORK5CYII=
+</value>
+  </data>
+  <metadata name="beauty_saloonDataSet.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>17, 17</value>
+  </metadata>
+  <metadata name="serviceBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>189, 17</value>
+  </metadata>
+  <metadata name="serviceTableAdapter.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>356, 17</value>
+  </metadata>
+  <metadata name="tableAdapterManager.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>518, 17</value>
+  </metadata>
+  <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        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
+        zAAAAABJRU5ErkJggg==
+</value>
+  </data>
+</root>

+ 231 - 0
ServiceForm.Designer.cs

@@ -0,0 +1,231 @@
+
+namespace BeautySaloon
+{
+    partial class ServiceForm
+    {
+        /// <summary>
+        /// Required designer variable.
+        /// </summary>
+        private System.ComponentModel.IContainer components = null;
+
+        /// <summary>
+        /// Clean up any resources being used.
+        /// </summary>
+        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+        protected override void Dispose(bool disposing)
+        {
+            if (disposing && (components != null))
+            {
+                components.Dispose();
+            }
+            base.Dispose(disposing);
+        }
+
+        #region Windows Form Designer generated code
+
+        /// <summary>
+        /// Required method for Designer support - do not modify
+        /// the contents of this method with the code editor.
+        /// </summary>
+        private void InitializeComponent()
+        {
+            this.components = new System.ComponentModel.Container();
+            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ServiceForm));
+            this.panel1 = new System.Windows.Forms.Panel();
+            this.label1 = new System.Windows.Forms.Label();
+            this.pictureBox1 = new System.Windows.Forms.PictureBox();
+            this.dataGridView1 = new System.Windows.Forms.DataGridView();
+            this.iDDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.titleDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.costDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.durationInSecondsDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.descriptionDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.discountDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.mainImagePathDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.serviceBindingSource = new System.Windows.Forms.BindingSource(this.components);
+            this.beauty_saloonDataSet = new BeautySaloon.beauty_saloonDataSet();
+            this.serviceTableAdapter = new BeautySaloon.beauty_saloonDataSetTableAdapters.ServiceTableAdapter();
+            this.ExitButton = new System.Windows.Forms.Button();
+            this.editButton = new System.Windows.Forms.Button();
+            this.panel1.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.serviceBindingSource)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.beauty_saloonDataSet)).BeginInit();
+            this.SuspendLayout();
+            // 
+            // panel1
+            // 
+            this.panel1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(74)))), ((int)(((byte)(109)))));
+            this.panel1.Controls.Add(this.label1);
+            this.panel1.Location = new System.Drawing.Point(77, 0);
+            this.panel1.Name = "panel1";
+            this.panel1.Size = new System.Drawing.Size(724, 79);
+            this.panel1.TabIndex = 4;
+            // 
+            // label1
+            // 
+            this.label1.AutoSize = true;
+            this.label1.Font = new System.Drawing.Font("Tahoma", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
+            this.label1.Location = new System.Drawing.Point(305, 20);
+            this.label1.Name = "label1";
+            this.label1.Size = new System.Drawing.Size(69, 23);
+            this.label1.TabIndex = 0;
+            this.label1.Text = "Услуги";
+            // 
+            // pictureBox1
+            // 
+            this.pictureBox1.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox1.Image")));
+            this.pictureBox1.Location = new System.Drawing.Point(0, 0);
+            this.pictureBox1.Name = "pictureBox1";
+            this.pictureBox1.Size = new System.Drawing.Size(121, 85);
+            this.pictureBox1.TabIndex = 5;
+            this.pictureBox1.TabStop = false;
+            // 
+            // dataGridView1
+            // 
+            this.dataGridView1.AutoGenerateColumns = false;
+            this.dataGridView1.BackgroundColor = System.Drawing.Color.FromArgb(((int)(((byte)(225)))), ((int)(((byte)(228)))), ((int)(((byte)(255)))));
+            this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
+            this.dataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
+            this.iDDataGridViewTextBoxColumn,
+            this.titleDataGridViewTextBoxColumn,
+            this.costDataGridViewTextBoxColumn,
+            this.durationInSecondsDataGridViewTextBoxColumn,
+            this.descriptionDataGridViewTextBoxColumn,
+            this.discountDataGridViewTextBoxColumn,
+            this.mainImagePathDataGridViewTextBoxColumn});
+            this.dataGridView1.DataSource = this.serviceBindingSource;
+            this.dataGridView1.Location = new System.Drawing.Point(0, 79);
+            this.dataGridView1.Name = "dataGridView1";
+            this.dataGridView1.Size = new System.Drawing.Size(801, 305);
+            this.dataGridView1.TabIndex = 6;
+            // 
+            // iDDataGridViewTextBoxColumn
+            // 
+            this.iDDataGridViewTextBoxColumn.DataPropertyName = "ID";
+            this.iDDataGridViewTextBoxColumn.HeaderText = "ID";
+            this.iDDataGridViewTextBoxColumn.Name = "iDDataGridViewTextBoxColumn";
+            this.iDDataGridViewTextBoxColumn.ReadOnly = true;
+            // 
+            // titleDataGridViewTextBoxColumn
+            // 
+            this.titleDataGridViewTextBoxColumn.DataPropertyName = "Title";
+            this.titleDataGridViewTextBoxColumn.HeaderText = "Title";
+            this.titleDataGridViewTextBoxColumn.Name = "titleDataGridViewTextBoxColumn";
+            // 
+            // costDataGridViewTextBoxColumn
+            // 
+            this.costDataGridViewTextBoxColumn.DataPropertyName = "Cost";
+            this.costDataGridViewTextBoxColumn.HeaderText = "Cost";
+            this.costDataGridViewTextBoxColumn.Name = "costDataGridViewTextBoxColumn";
+            // 
+            // durationInSecondsDataGridViewTextBoxColumn
+            // 
+            this.durationInSecondsDataGridViewTextBoxColumn.DataPropertyName = "DurationInSeconds";
+            this.durationInSecondsDataGridViewTextBoxColumn.HeaderText = "DurationInSeconds";
+            this.durationInSecondsDataGridViewTextBoxColumn.Name = "durationInSecondsDataGridViewTextBoxColumn";
+            // 
+            // descriptionDataGridViewTextBoxColumn
+            // 
+            this.descriptionDataGridViewTextBoxColumn.DataPropertyName = "Description";
+            this.descriptionDataGridViewTextBoxColumn.HeaderText = "Description";
+            this.descriptionDataGridViewTextBoxColumn.Name = "descriptionDataGridViewTextBoxColumn";
+            // 
+            // discountDataGridViewTextBoxColumn
+            // 
+            this.discountDataGridViewTextBoxColumn.DataPropertyName = "Discount";
+            this.discountDataGridViewTextBoxColumn.HeaderText = "Discount";
+            this.discountDataGridViewTextBoxColumn.Name = "discountDataGridViewTextBoxColumn";
+            // 
+            // mainImagePathDataGridViewTextBoxColumn
+            // 
+            this.mainImagePathDataGridViewTextBoxColumn.DataPropertyName = "MainImagePath";
+            this.mainImagePathDataGridViewTextBoxColumn.HeaderText = "MainImagePath";
+            this.mainImagePathDataGridViewTextBoxColumn.Name = "mainImagePathDataGridViewTextBoxColumn";
+            // 
+            // serviceBindingSource
+            // 
+            this.serviceBindingSource.DataMember = "Service";
+            this.serviceBindingSource.DataSource = this.beauty_saloonDataSet;
+            // 
+            // beauty_saloonDataSet
+            // 
+            this.beauty_saloonDataSet.DataSetName = "beauty_saloonDataSet";
+            this.beauty_saloonDataSet.SchemaSerializationMode = System.Data.SchemaSerializationMode.IncludeSchema;
+            // 
+            // serviceTableAdapter
+            // 
+            this.serviceTableAdapter.ClearBeforeFill = true;
+            // 
+            // ExitButton
+            // 
+            this.ExitButton.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(225)))), ((int)(((byte)(228)))), ((int)(((byte)(255)))));
+            this.ExitButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
+            this.ExitButton.Font = new System.Drawing.Font("Tahoma", 14.25F);
+            this.ExitButton.Location = new System.Drawing.Point(628, 400);
+            this.ExitButton.Name = "ExitButton";
+            this.ExitButton.Size = new System.Drawing.Size(160, 38);
+            this.ExitButton.TabIndex = 7;
+            this.ExitButton.Text = "Выход";
+            this.ExitButton.UseVisualStyleBackColor = false;
+            this.ExitButton.Click += new System.EventHandler(this.ExitButton_Click);
+            // 
+            // editButton
+            // 
+            this.editButton.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(225)))), ((int)(((byte)(228)))), ((int)(((byte)(255)))));
+            this.editButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
+            this.editButton.Font = new System.Drawing.Font("Tahoma", 14.25F);
+            this.editButton.Location = new System.Drawing.Point(12, 400);
+            this.editButton.Name = "editButton";
+            this.editButton.Size = new System.Drawing.Size(352, 38);
+            this.editButton.TabIndex = 8;
+            this.editButton.Text = "Добавление/редактирование услуг";
+            this.editButton.UseVisualStyleBackColor = false;
+            this.editButton.Click += new System.EventHandler(this.editButton_Click);
+            // 
+            // ServiceForm
+            // 
+            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+            this.BackColor = System.Drawing.Color.White;
+            this.ClientSize = new System.Drawing.Size(800, 450);
+            this.Controls.Add(this.editButton);
+            this.Controls.Add(this.ExitButton);
+            this.Controls.Add(this.dataGridView1);
+            this.Controls.Add(this.panel1);
+            this.Controls.Add(this.pictureBox1);
+            this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
+            this.Name = "ServiceForm";
+            this.Text = "Услуги";
+            this.Load += new System.EventHandler(this.ServiceForm_Load);
+            this.panel1.ResumeLayout(false);
+            this.panel1.PerformLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.serviceBindingSource)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.beauty_saloonDataSet)).EndInit();
+            this.ResumeLayout(false);
+
+        }
+
+        #endregion
+
+        private System.Windows.Forms.Panel panel1;
+        private System.Windows.Forms.Label label1;
+        private System.Windows.Forms.PictureBox pictureBox1;
+        private System.Windows.Forms.DataGridView dataGridView1;
+        private beauty_saloonDataSet beauty_saloonDataSet;
+        private System.Windows.Forms.BindingSource serviceBindingSource;
+        private beauty_saloonDataSetTableAdapters.ServiceTableAdapter serviceTableAdapter;
+        private System.Windows.Forms.DataGridViewTextBoxColumn iDDataGridViewTextBoxColumn;
+        private System.Windows.Forms.DataGridViewTextBoxColumn titleDataGridViewTextBoxColumn;
+        private System.Windows.Forms.DataGridViewTextBoxColumn costDataGridViewTextBoxColumn;
+        private System.Windows.Forms.DataGridViewTextBoxColumn durationInSecondsDataGridViewTextBoxColumn;
+        private System.Windows.Forms.DataGridViewTextBoxColumn descriptionDataGridViewTextBoxColumn;
+        private System.Windows.Forms.DataGridViewTextBoxColumn discountDataGridViewTextBoxColumn;
+        private System.Windows.Forms.DataGridViewTextBoxColumn mainImagePathDataGridViewTextBoxColumn;
+        private System.Windows.Forms.Button ExitButton;
+        private System.Windows.Forms.Button editButton;
+    }
+}

+ 41 - 0
ServiceForm.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 BeautySaloon
+{
+    public partial class ServiceForm : Form
+    {
+        public ServiceForm()
+        {
+            InitializeComponent();
+        }
+
+        private void ServiceForm_Load(object sender, EventArgs e)
+        {
+            // TODO: данная строка кода позволяет загрузить данные в таблицу "beauty_saloonDataSet.Service". При необходимости она может быть перемещена или удалена.
+            this.serviceTableAdapter.Fill(this.beauty_saloonDataSet.Service);
+
+        }
+
+        private void editButton_Click(object sender, EventArgs e)
+        {
+            ServiceEditForm form = new ServiceEditForm();
+            form.Show();
+            this.Close();
+        }
+
+        private void ExitButton_Click(object sender, EventArgs e)
+        {
+            AdminForm form = new AdminForm();
+            form.Show();
+            this.Close();
+        }
+    }
+}

+ 590 - 0
ServiceForm.resx

@@ -0,0 +1,590 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+  <data name="pictureBox1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        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
+        SUVORK5CYII=
+</value>
+  </data>
+  <metadata name="serviceBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>189, 17</value>
+  </metadata>
+  <metadata name="serviceBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>189, 17</value>
+  </metadata>
+  <metadata name="beauty_saloonDataSet.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>17, 17</value>
+  </metadata>
+  <metadata name="beauty_saloonDataSet.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>17, 17</value>
+  </metadata>
+  <metadata name="serviceTableAdapter.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>356, 17</value>
+  </metadata>
+  <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        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
+        zAAAAABJRU5ErkJggg==
+</value>
+  </data>
+</root>

+ 23 - 0
ServicePhoto.cs

@@ -0,0 +1,23 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+//     Этот код создан по шаблону.
+//
+//     Изменения, вносимые в этот файл вручную, могут привести к непредвиденной работе приложения.
+//     Изменения, вносимые в этот файл вручную, будут перезаписаны при повторном создании кода.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace BeautySaloon
+{
+    using System;
+    using System.Collections.Generic;
+    
+    public partial class ServicePhoto
+    {
+        public int ID { get; set; }
+        public int ServiceID { get; set; }
+        public string PhotoPath { get; set; }
+    
+        public virtual Service Service { get; set; }
+    }
+}

+ 30 - 0
Tag.cs

@@ -0,0 +1,30 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+//     Этот код создан по шаблону.
+//
+//     Изменения, вносимые в этот файл вручную, могут привести к непредвиденной работе приложения.
+//     Изменения, вносимые в этот файл вручную, будут перезаписаны при повторном создании кода.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace BeautySaloon
+{
+    using System;
+    using System.Collections.Generic;
+    
+    public partial class Tag
+    {
+        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
+        public Tag()
+        {
+            this.Client = new HashSet<Client>();
+        }
+    
+        public int ID { get; set; }
+        public string Title { get; set; }
+        public string Color { get; set; }
+    
+        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+        public virtual ICollection<Client> Client { get; set; }
+    }
+}

File diff suppressed because it is too large
+ 7061 - 0
beauty_saloonDataSet.Designer.cs


+ 1 - 0
beauty_saloonDataSet.xsc

@@ -0,0 +1 @@
+

File diff suppressed because it is too large
+ 11 - 0
beauty_saloonDataSet.xsd


+ 1 - 0
beauty_saloonDataSet.xss

@@ -0,0 +1 @@
+

BIN
bin/Debug/BeautySaloon.exe


+ 27 - 0
bin/Debug/BeautySaloon.exe.config

@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+  <configSections>
+    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
+    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
+  </configSections>
+  <startup>
+    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
+  </startup>
+  <connectionStrings>
+    <add name="beauty_saloonEntities" connectionString="metadata=res://*/SaloonModel.csdl|res://*/SaloonModel.ssdl|res://*/SaloonModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=CLASS31000;initial catalog=beauty_saloon;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;"
+      providerName="System.Data.EntityClient" />
+    <add name="BeautySaloon.Properties.Settings.beauty_saloonConnectionString"
+      connectionString="Data Source=class31000;Initial Catalog=beauty_saloon;Integrated Security=True"
+      providerName="System.Data.SqlClient" />
+  </connectionStrings>
+  <entityFramework>
+    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
+      <parameters>
+        <parameter value="mssqllocaldb" />
+      </parameters>
+    </defaultConnectionFactory>
+    <providers>
+      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
+    </providers>
+  </entityFramework>
+</configuration>

BIN
bin/Debug/BeautySaloon.pdb


BIN
bin/Debug/EntityFramework.SqlServer.dll


+ 2093 - 0
bin/Debug/EntityFramework.SqlServer.xml

@@ -0,0 +1,2093 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>EntityFramework.SqlServer</name>
+    </assembly>
+    <members>
+        <member name="T:System.Data.Entity.SqlServer.Utilities.TaskExtensions">
+            <summary>
+            Contains extension methods for the <see cref="T:System.Threading.Tasks.Task"/> class.
+            </summary>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.Utilities.TaskExtensions.WithCurrentCulture``1(System.Threading.Tasks.Task{``0})">
+            <summary>
+            Configures an awaiter used to await this <see cref="T:System.Threading.Tasks.Task`1"/> to avoid
+            marshalling the continuation
+            back to the original context, but preserve the current culture and UI culture.
+            </summary>
+            <typeparam name="T">
+            The type of the result produced by the associated <see cref="T:System.Threading.Tasks.Task`1"/>.
+            </typeparam>
+            <param name="task">The task to be awaited on.</param>
+            <returns>An object used to await this task.</returns>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.Utilities.TaskExtensions.WithCurrentCulture(System.Threading.Tasks.Task)">
+            <summary>
+            Configures an awaiter used to await this <see cref="T:System.Threading.Tasks.Task"/> to avoid
+            marshalling the continuation
+            back to the original context, but preserve the current culture and UI culture.
+            </summary>
+            <param name="task">The task to be awaited on.</param>
+            <returns>An object used to await this task.</returns>
+        </member>
+        <member name="T:System.Data.Entity.SqlServer.Utilities.TaskExtensions.CultureAwaiter`1">
+            <summary>
+            Provides an awaitable object that allows for awaits on <see cref="T:System.Threading.Tasks.Task`1"/> that
+            preserve the culture.
+            </summary>
+            <typeparam name="T">
+            The type of the result produced by the associated <see cref="T:System.Threading.Tasks.Task`1"/>.
+            </typeparam>
+            <remarks>This type is intended for compiler use only.</remarks>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.Utilities.TaskExtensions.CultureAwaiter`1.#ctor(System.Threading.Tasks.Task{`0})">
+            <summary>
+            Constructs a new instance of the <see cref="T:System.Data.Entity.SqlServer.Utilities.TaskExtensions.CultureAwaiter`1"/> class.
+            </summary>
+            <param name="task">The task to be awaited on.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.Utilities.TaskExtensions.CultureAwaiter`1.GetAwaiter">
+            <summary>Gets an awaiter used to await this <see cref="T:System.Threading.Tasks.Task`1"/>.</summary>
+            <returns>An awaiter instance.</returns>
+            <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.Utilities.TaskExtensions.CultureAwaiter`1.GetResult">
+            <summary>Ends the await on the completed <see cref="T:System.Threading.Tasks.Task`1"/>.</summary>
+            <returns>The result of the completed <see cref="T:System.Threading.Tasks.Task`1"/>.</returns>
+            <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+            <exception cref="T:System.Threading.Tasks.TaskCanceledException">The task was canceled.</exception>
+            <exception cref="T:System.Exception">The task completed in a Faulted state.</exception>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.Utilities.TaskExtensions.CultureAwaiter`1.OnCompleted(System.Action)">
+            <summary>This method is not implemented and should not be called.</summary>
+            <param name="continuation">The action to invoke when the await operation completes.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.Utilities.TaskExtensions.CultureAwaiter`1.UnsafeOnCompleted(System.Action)">
+            <summary>
+            Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task`1"/> associated with this
+            <see cref="T:System.Runtime.CompilerServices.TaskAwaiter`1"/>.
+            </summary>
+            <param name="continuation">The action to invoke when the await operation completes.</param>
+            <exception cref="T:System.ArgumentNullException">
+            The <paramref name="continuation"/> argument is null
+            (Nothing in Visual Basic).
+            </exception>
+            <exception cref="T:System.InvalidOperationException">The awaiter was not properly initialized.</exception>
+            <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+        </member>
+        <member name="P:System.Data.Entity.SqlServer.Utilities.TaskExtensions.CultureAwaiter`1.IsCompleted">
+            <summary>
+            Gets whether this <see cref="T:System.Threading.Tasks.Task">Task</see> has completed.
+            </summary>
+            <remarks>
+            <see cref="P:System.Data.Entity.SqlServer.Utilities.TaskExtensions.CultureAwaiter`1.IsCompleted"/> will return true when the Task is in one of the three
+            final states: <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>,
+            <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>, or
+            <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>.
+            </remarks>
+        </member>
+        <member name="T:System.Data.Entity.SqlServer.Utilities.TaskExtensions.CultureAwaiter">
+            <summary>
+            Provides an awaitable object that allows for awaits on <see cref="T:System.Threading.Tasks.Task"/> that
+            preserve the culture.
+            </summary>
+            <remarks>This type is intended for compiler use only.</remarks>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.Utilities.TaskExtensions.CultureAwaiter.#ctor(System.Threading.Tasks.Task)">
+            <summary>
+            Constructs a new instance of the <see cref="T:System.Data.Entity.SqlServer.Utilities.TaskExtensions.CultureAwaiter"/> class.
+            </summary>
+            <param name="task">The task to be awaited on.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.Utilities.TaskExtensions.CultureAwaiter.GetAwaiter">
+            <summary>Gets an awaiter used to await this <see cref="T:System.Threading.Tasks.Task"/>.</summary>
+            <returns>An awaiter instance.</returns>
+            <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.Utilities.TaskExtensions.CultureAwaiter.GetResult">
+            <summary>Ends the await on the completed <see cref="T:System.Threading.Tasks.Task"/>.</summary>
+            <exception cref="T:System.NullReferenceException">The awaiter was not properly initialized.</exception>
+            <exception cref="T:System.Threading.Tasks.TaskCanceledException">The task was canceled.</exception>
+            <exception cref="T:System.Exception">The task completed in a Faulted state.</exception>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.Utilities.TaskExtensions.CultureAwaiter.OnCompleted(System.Action)">
+            <summary>This method is not implemented and should not be called.</summary>
+            <param name="continuation">The action to invoke when the await operation completes.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.Utilities.TaskExtensions.CultureAwaiter.UnsafeOnCompleted(System.Action)">
+            <summary>
+            Schedules the continuation onto the <see cref="T:System.Threading.Tasks.Task"/> associated with this
+            <see cref="T:System.Runtime.CompilerServices.TaskAwaiter"/>.
+            </summary>
+            <param name="continuation">The action to invoke when the await operation completes.</param>
+            <exception cref="T:System.ArgumentNullException">
+            The <paramref name="continuation"/> argument is null
+            (Nothing in Visual Basic).
+            </exception>
+            <exception cref="T:System.InvalidOperationException">The awaiter was not properly initialized.</exception>
+            <remarks>This method is intended for compiler user rather than use directly in code.</remarks>
+        </member>
+        <member name="P:System.Data.Entity.SqlServer.Utilities.TaskExtensions.CultureAwaiter.IsCompleted">
+            <summary>
+            Gets whether this <see cref="T:System.Threading.Tasks.Task">Task</see> has completed.
+            </summary>
+            <remarks>
+            <see cref="P:System.Data.Entity.SqlServer.Utilities.TaskExtensions.CultureAwaiter.IsCompleted"/> will return true when the Task is in one of the three
+            final states: <see cref="F:System.Threading.Tasks.TaskStatus.RanToCompletion">RanToCompletion</see>,
+            <see cref="F:System.Threading.Tasks.TaskStatus.Faulted">Faulted</see>, or
+            <see cref="F:System.Threading.Tasks.TaskStatus.Canceled">Canceled</see>.
+            </remarks>
+        </member>
+        <member name="T:System.Data.Entity.SqlServer.SqlAzureExecutionStrategy">
+            <summary>
+            An <see cref="T:System.Data.Entity.Infrastructure.IDbExecutionStrategy"/> that retries actions that throw exceptions caused by SQL Azure transient failures.
+            </summary>
+            <remarks>
+            This execution strategy will retry the operation on <see cref="T:System.TimeoutException"/> and <see cref="T:System.Data.SqlClient.SqlException"/>
+            if the <see cref="P:System.Data.SqlClient.SqlException.Errors"/> contains any of the following error numbers:
+            40613, 40501, 40197, 10929, 10928, 10060, 10054, 10053, 233, 64 and 20
+            </remarks>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlAzureExecutionStrategy.#ctor">
+            <summary>
+            Creates a new instance of <see cref="T:System.Data.Entity.SqlServer.SqlAzureExecutionStrategy"/>.
+            </summary>
+            <remarks>
+            The default retry limit is 5, which means that the total amount of time spent between retries is 26 seconds plus the random factor.
+            </remarks>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlAzureExecutionStrategy.#ctor(System.Int32,System.TimeSpan)">
+            <summary>
+            Creates a new instance of <see cref="T:System.Data.Entity.SqlServer.SqlAzureExecutionStrategy"/> with the specified limits for
+            number of retries and the delay between retries.
+            </summary>
+            <param name="maxRetryCount"> The maximum number of retry attempts. </param>
+            <param name="maxDelay"> The maximum delay in milliseconds between retries. </param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlAzureExecutionStrategy.ShouldRetryOn(System.Exception)">
+            <inheritdoc/>
+        </member>
+        <member name="T:System.Data.Entity.SqlServer.SqlFunctions">
+            <summary>
+            Contains function stubs that expose SqlServer methods in Linq to Entities.
+            </summary>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.ChecksumAggregate(System.Collections.Generic.IEnumerable{System.Int32})">
+            <summary>Returns the checksum of the values in a collection. Null values are ignored.</summary>
+            <returns>The checksum computed from the input collection.</returns>
+            <param name="arg">The collection of values over which the checksum is computed.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.ChecksumAggregate(System.Collections.Generic.IEnumerable{System.Nullable{System.Int32}})">
+            <summary>Returns the checksum of the values in a collection. Null values are ignored.</summary>
+            <returns>The checksum computed from the input collection.</returns>
+            <param name="arg">The collection of values over which the checksum is computed.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Ascii(System.String)">
+            <summary>Returns the ASCII code value of the left-most character of a character expression.</summary>
+            <returns>The ASCII code of the first character in the input string.</returns>
+            <param name="arg">A valid string.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Char(System.Nullable{System.Int32})">
+            <summary>Returns the character that corresponds to the specified integer ASCII value.</summary>
+            <returns>The character that corresponds to the specified ASCII value.</returns>
+            <param name="arg">An ASCII code.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.CharIndex(System.String,System.String)">
+            <summary>Returns the starting position of one expression found within another expression.</summary>
+            <returns>The starting position of  toFind  if it is found in  toSearch .</returns>
+            <param name="toFind">The string expression to be found.</param>
+            <param name="toSearch">The string expression to be searched.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.CharIndex(System.Byte[],System.Byte[])">
+            <summary>Returns the starting position of one expression found within another expression.</summary>
+            <returns>The starting position of  toFind  if it is found in  toSearch .</returns>
+            <param name="toFind">The string expression to be found.</param>
+            <param name="toSearch">The string expression to be searched.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.CharIndex(System.String,System.String,System.Nullable{System.Int32})">
+            <summary>Returns the starting position of one expression found within another expression.</summary>
+            <returns>The starting position of  toFind  if it is found in  toSearch .</returns>
+            <param name="toFind">The string expression to be found.</param>
+            <param name="toSearch">The string expression to be searched.</param>
+            <param name="startLocation">The character position in  toSearch  where searching begins.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.CharIndex(System.Byte[],System.Byte[],System.Nullable{System.Int32})">
+            <summary>Returns the starting position of one expression found within another expression.</summary>
+            <returns>The starting position of  toFind  if it is found in  toSearch .</returns>
+            <param name="toFind">The string expression to be found.</param>
+            <param name="toSearch">The string expression to be searched.</param>
+            <param name="startLocation">The character position in  toSearch  where searching begins.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.CharIndex(System.String,System.String,System.Nullable{System.Int64})">
+            <summary>Returns the starting position of one expression found within another expression.</summary>
+            <returns>
+            A <see cref="T:System.Nullable`1" /> of <see cref="T:System.Int64" /> value that is the starting position of  toFind  if it is found in  toSearch .
+            </returns>
+            <param name="toFind">The string expression to be found.</param>
+            <param name="toSearch">The string expression to be searched.</param>
+            <param name="startLocation">The character position in  toSearch  where searching begins.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.CharIndex(System.Byte[],System.Byte[],System.Nullable{System.Int64})">
+            <summary>Returns the starting position of one expression found within another expression.</summary>
+            <returns>The starting position of  toFind  if it is found in  toSearch .</returns>
+            <param name="toFind">The string expression to be found.</param>
+            <param name="toSearch">The string expression to be searched.</param>
+            <param name="startLocation">The character position in  toSearch  where searching begins.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Difference(System.String,System.String)">
+            <summary>Returns an integer value that indicates the difference between the SOUNDEX values of two character expressions.</summary>
+            <returns>The SOUNDEX difference between the two strings.</returns>
+            <param name="string1">The first string.</param>
+            <param name="string2">The second string.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.NChar(System.Nullable{System.Int32})">
+            <summary>Returns the Unicode character with the specified integer code, as defined by the Unicode standard.</summary>
+            <returns>The character that corresponds to the input character code.</returns>
+            <param name="arg">A character code.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.PatIndex(System.String,System.String)">
+            <summary>Returns the starting position of the first occurrence of a pattern in a specified expression, or zeros if the pattern is not found, on all valid text and character data types.</summary>
+            <returns>The starting character position where the string pattern was found.</returns>
+            <param name="stringPattern">A string pattern to search for.</param>
+            <param name="target">The string to search.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.QuoteName(System.String)">
+            <summary>Returns a Unicode string with the delimiters added to make the input string a valid Microsoft SQL Server delimited identifier.</summary>
+            <returns>The original string with brackets added.</returns>
+            <param name="stringArg">The expression that quote characters will be added to.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.QuoteName(System.String,System.String)">
+            <summary>Returns a Unicode string with the delimiters added to make the input string a valid Microsoft SQL Server delimited identifier.</summary>
+            <returns>The original string with the specified quote characters added.</returns>
+            <param name="stringArg">The expression that quote characters will be added to.</param>
+            <param name="quoteCharacter">The one-character string to use as the delimiter. It can be a single quotation mark ( ' ), a left or right bracket ( [ ] ), or a double quotation mark ( " ). If quote_character is not specified, brackets are used.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Replicate(System.String,System.Nullable{System.Int32})">
+            <summary>Repeats a string value a specified number of times.</summary>
+            <returns>The target string, repeated the number of times specified by  count .</returns>
+            <param name="target">A valid string.</param>
+            <param name="count">The value that specifies how many time to repeat  target .</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.SoundCode(System.String)">
+            <summary>Converts an alphanumeric string to a four-character (SOUNDEX) code to find similar-sounding words or names.</summary>
+            <returns>The SOUNDEX code of the input string.</returns>
+            <param name="arg">A valid string.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Space(System.Nullable{System.Int32})">
+            <summary>Returns a string of repeated spaces.</summary>
+            <returns>A string that consists of the specified number of spaces.</returns>
+            <param name="arg1">The number of spaces. If negative, a null string is returned.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.StringConvert(System.Nullable{System.Double})">
+            <summary>Returns character data converted from numeric data.</summary>
+            <returns>The numeric input expression converted to a string.</returns>
+            <param name="number">A numeric expression.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.StringConvert(System.Nullable{System.Decimal})">
+            <summary>Returns character data converted from numeric data.</summary>
+            <returns>The input expression converted to a string.</returns>
+            <param name="number">A numeric expression.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.StringConvert(System.Nullable{System.Double},System.Nullable{System.Int32})">
+            <summary>Returns character data converted from numeric data.</summary>
+            <returns>The numeric input expression converted to a string.</returns>
+            <param name="number">A numeric expression.</param>
+            <param name="length">The total length of the string. This includes decimal point, sign, digits, and spaces. The default is 10.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.StringConvert(System.Nullable{System.Decimal},System.Nullable{System.Int32})">
+            <summary>Returns character data converted from numeric data.</summary>
+            <returns>The input expression converted to a string.</returns>
+            <param name="number">A numeric expression.</param>
+            <param name="length">The total length of the string. This includes decimal point, sign, digits, and spaces. The default is 10.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.StringConvert(System.Nullable{System.Double},System.Nullable{System.Int32},System.Nullable{System.Int32})">
+            <summary>Returns character data converted from numeric data.</summary>
+            <returns>The numeric input expression converted to a string.</returns>
+            <param name="number">A numeric expression.</param>
+            <param name="length">The total length of the string. This includes decimal point, sign, digits, and spaces. The default is 10.</param>
+            <param name="decimalArg">The number of places to the right of the decimal point.  decimal  must be less than or equal to 16. If  decimal  is more than 16 then the result is truncated to sixteen places to the right of the decimal point.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.StringConvert(System.Nullable{System.Decimal},System.Nullable{System.Int32},System.Nullable{System.Int32})">
+            <summary>Returns character data converted from numeric data.</summary>
+            <returns>The input expression converted to a string.</returns>
+            <param name="number">A numeric expression.</param>
+            <param name="length">The total length of the string. This includes decimal point, sign, digits, and spaces. The default is 10.</param>
+            <param name="decimalArg">The number of places to the right of the decimal point.  decimal  must be less than or equal to 16. If  decimal  is more than 16 then the result is truncated to sixteen places to the right of the decimal point.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Stuff(System.String,System.Nullable{System.Int32},System.Nullable{System.Int32},System.String)">
+            <summary>Inserts a string into another string. It deletes a specified length of characters in the target string at the start position and then inserts the second string into the target string at the start position.</summary>
+            <returns>A string consisting of the two strings.</returns>
+            <param name="stringInput">The target string.</param>
+            <param name="start">The character position in  stringinput  where the replacement string is to be inserted.</param>
+            <param name="length">The number of characters to delete from  stringInput . If  length  is longer than  stringInput , deletion occurs up to the last character in  stringReplacement .</param>
+            <param name="stringReplacement">The substring to be inserted into  stringInput .</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Unicode(System.String)">
+            <summary>Returns the integer value, as defined by the Unicode standard, for the first character of the input expression.</summary>
+            <returns>The character code for the first character in the input string.</returns>
+            <param name="arg">A valid string.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Acos(System.Nullable{System.Double})">
+            <summary>A mathematical function that returns the angle, in radians, whose cosine is the specified numerical value. This angle is called the arccosine.</summary>
+            <returns>The angle, in radians, defined by the input cosine value.</returns>
+            <param name="arg1">The cosine of an angle.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Acos(System.Nullable{System.Decimal})">
+            <summary>A mathematical function that returns the angle, in radians, whose cosine is the specified numerical value. This angle is called the arccosine.</summary>
+            <returns>An angle, measured in radians.</returns>
+            <param name="arg1">The cosine of an angle.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Asin(System.Nullable{System.Double})">
+            <summary>A mathematical function that returns the angle, in radians, whose sine is the specified numerical value. This angle is called the arcsine.</summary>
+            <returns>An angle, measured in radians.</returns>
+            <param name="arg">The sine of an angle.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Asin(System.Nullable{System.Decimal})">
+            <summary>A mathematical function that returns the angle, in radians, whose sine is the specified numerical value. This angle is called the arcsine.</summary>
+            <returns>An angle, measured in radians.</returns>
+            <param name="arg">The sine of an angle.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Atan(System.Nullable{System.Double})">
+            <summary>A mathematical function that returns the angle, in radians, whose tangent is the specified numerical value. This angle is called the arctangent.</summary>
+            <returns>An angle, measured in radians.</returns>
+            <param name="arg">The tangent of an angle.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Atan(System.Nullable{System.Decimal})">
+            <summary>A mathematical function that returns the angle, in radians, whose tangent is the specified numerical value. This angle is called the arctangent.</summary>
+            <returns>An angle, measured in radians.</returns>
+            <param name="arg">The tangent of an angle.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Atan2(System.Nullable{System.Double},System.Nullable{System.Double})">
+            <summary>Returns the positive angle, in radians, between the positive x-axis and the ray from the origin through the point (x, y), where x and y are the two specified numerical values. The first parameter passed to the function is the y-value and the second parameter is the x-value.</summary>
+            <returns>An angle, measured in radians.</returns>
+            <param name="arg1">The y-coordinate of a point.</param>
+            <param name="arg2">The x-coordinate of a point.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Atan2(System.Nullable{System.Decimal},System.Nullable{System.Decimal})">
+            <summary>Returns the positive angle, in radians, between the positive x-axis and the ray from the origin through the point (x, y), where x and y are the two specified numerical values. The first parameter passed to the function is the y-value and the second parameter is the x-value.</summary>
+            <returns>An angle, measured in radians.</returns>
+            <param name="arg1">The y-coordinate of a point.</param>
+            <param name="arg2">The x-coordinate of a point.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Cos(System.Nullable{System.Double})">
+            <summary>Returns the trigonometric cosine of the specified angle, in radians, in the specified expression.</summary>
+            <returns>The trigonometric cosine of the specified angle.</returns>
+            <param name="arg">An angle, measured in radians.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Cos(System.Nullable{System.Decimal})">
+            <summary>Returns the trigonometric cosine of the specified angle, in radians, in the specified expression.</summary>
+            <returns>The trigonometric cosine of the specified angle.</returns>
+            <param name="arg">An angle, measured in radians.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Cot(System.Nullable{System.Double})">
+            <summary>A mathematical function that returns the trigonometric cotangent of the specified angle, in radians.</summary>
+            <returns>The trigonometric cotangent of the specified angle.</returns>
+            <param name="arg">An angle, measured in radians.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Cot(System.Nullable{System.Decimal})">
+            <summary>A mathematical function that returns the trigonometric cotangent of the specified angle, in radians.</summary>
+            <returns>The trigonometric cotangent of the specified angle.</returns>
+            <param name="arg">An angle, measured in radians.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Degrees(System.Nullable{System.Int32})">
+            <summary>Returns the corresponding angle in degrees for an angle specified in radians.</summary>
+            <returns>The specified angle converted to degrees.</returns>
+            <param name="arg1">An angle, measured in radians.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Degrees(System.Nullable{System.Int64})">
+            <summary>Returns the corresponding angle in degrees for an angle specified in radians.</summary>
+            <returns>The specified angle converted to degrees.</returns>
+            <param name="arg1">An angle, measured in radians.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Degrees(System.Nullable{System.Decimal})">
+            <summary>Returns the corresponding angle in degrees for an angle specified in radians.</summary>
+            <returns>The specified angle converted to degrees.</returns>
+            <param name="arg1">An angle, measured in radians.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Degrees(System.Nullable{System.Double})">
+            <summary>Returns the corresponding angle in degrees for an angle specified in radians.</summary>
+            <returns>The specified angle converted to degrees.</returns>
+            <param name="arg1">An angle, measured in radians.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Exp(System.Nullable{System.Double})">
+            <summary>Returns the exponential value of the specified float expression.</summary>
+            <returns>The constant e raised to the power of the input value.</returns>
+            <param name="arg">The input value.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Exp(System.Nullable{System.Decimal})">
+            <summary>Returns the exponential value of the specified float expression.</summary>
+            <returns>The constant e raised to the power of the input value.</returns>
+            <param name="arg">The input value.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Log(System.Nullable{System.Double})">
+            <summary>Returns the natural logarithm of the specified input value.</summary>
+            <returns>The natural logarithm of the input value.</returns>
+            <param name="arg">A numeric expression.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Log(System.Nullable{System.Decimal})">
+            <summary>Returns the natural logarithm of the specified input value.</summary>
+            <returns>The natural logarithm of the input value.</returns>
+            <param name="arg">A numeric expression.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Log10(System.Nullable{System.Double})">
+            <summary>Returns the base-10 logarithm of the specified input value.</summary>
+            <returns>The base-10 logarithm of the input value.</returns>
+            <param name="arg">A numeric expression.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Log10(System.Nullable{System.Decimal})">
+            <summary>Returns the base-10 logarithm of the specified input value.</summary>
+            <returns>The base-10 logarithm of the input value.</returns>
+            <param name="arg">A numeric expression.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Pi">
+            <summary>Returns the constant value of pi.</summary>
+            <returns>The numeric value of pi.</returns>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Radians(System.Nullable{System.Int32})">
+            <summary>Returns the radian measure corresponding to the specified angle in degrees.</summary>
+            <returns>The radian measure of the specified angle.</returns>
+            <param name="arg">The angle, measured in degrees</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Radians(System.Nullable{System.Int64})">
+            <summary>Returns the radian measure corresponding to the specified angle in degrees.</summary>
+            <returns>The radian measure of the specified angle.</returns>
+            <param name="arg">The angle, measured in degrees</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Radians(System.Nullable{System.Decimal})">
+            <summary>Returns the radian measure corresponding to the specified angle in degrees.</summary>
+            <returns>The radian measure of the specified angle.</returns>
+            <param name="arg">The angle, measured in degrees.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Radians(System.Nullable{System.Double})">
+            <summary>Returns the radian measure corresponding to the specified angle in degrees.</summary>
+            <returns>The radian measure of the specified angle.</returns>
+            <param name="arg">The angle, measured in degrees.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Rand">
+            <summary>Returns a pseudo-random float value from 0 through 1, exclusive.</summary>
+            <returns>The pseudo-random value.</returns>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Rand(System.Nullable{System.Int32})">
+            <summary>Returns a pseudo-random float value from 0 through 1, exclusive.</summary>
+            <returns>The pseudo-random value.</returns>
+            <param name="seed">The seed value. If  seed  is not specified, the SQL Server Database Engine assigns a seed value at random. For a specified seed value, the result returned is always the same.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Sign(System.Nullable{System.Int32})">
+            <summary>Returns the positive (+1), zero (0), or negative (-1) sign of the specified expression.</summary>
+            <returns>The sign of the input expression.</returns>
+            <param name="arg">A numeric expression.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Sign(System.Nullable{System.Int64})">
+            <summary>Returns the positive (+1), zero (0), or negative (-1) sign of the specified expression.</summary>
+            <returns>The sign of the input expression.</returns>
+            <param name="arg">A numeric expression.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Sign(System.Nullable{System.Decimal})">
+            <summary>Returns the positive (+1), zero (0), or negative (-1) sign of the specified expression.</summary>
+            <returns>The sign of the input expression.</returns>
+            <param name="arg">A numeric expression.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Sign(System.Nullable{System.Double})">
+            <summary>Returns the positive (+1), zero (0), or negative (-1) sign of the specified expression.</summary>
+            <returns>The sign of the input expression.</returns>
+            <param name="arg">A numeric expression.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Sin(System.Nullable{System.Decimal})">
+            <summary>Returns the trigonometric sine of the specified angle.</summary>
+            <returns>The trigonometric sine of the input expression.</returns>
+            <param name="arg">An angle, measured in radians.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Sin(System.Nullable{System.Double})">
+            <summary>Returns the trigonometric sine of the specified angle.</summary>
+            <returns>The trigonometric sine of the input expression.</returns>
+            <param name="arg">An angle, measured in radians.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.SquareRoot(System.Nullable{System.Double})">
+            <summary>Returns the square root of the specified number.</summary>
+            <returns>The square root of the input value.</returns>
+            <param name="arg">A numeric expression.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.SquareRoot(System.Nullable{System.Decimal})">
+            <summary>Returns the square root of the specified number.</summary>
+            <returns>The square root of the input value.</returns>
+            <param name="arg">A numeric expression.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Square(System.Nullable{System.Double})">
+            <summary>Returns the square of the specified number.</summary>
+            <returns>The square of the input value.</returns>
+            <param name="arg1">A numeric expression.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Square(System.Nullable{System.Decimal})">
+            <summary>Returns the square of the specified number.</summary>
+            <returns>The square of the input value.</returns>
+            <param name="arg1">A numeric expression.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Tan(System.Nullable{System.Double})">
+            <summary>Returns the trigonometric tangent of the input expression.</summary>
+            <returns>The tangent of the input angle.</returns>
+            <param name="arg">An angle, measured in radians.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Tan(System.Nullable{System.Decimal})">
+            <summary>Returns the trigonometric tangent of the input expression.</summary>
+            <returns>The tangent of the input angle.</returns>
+            <param name="arg">An angle, measured in radians.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DateAdd(System.String,System.Nullable{System.Double},System.Nullable{System.DateTime})">
+            <summary>Returns a new datetime value based on adding an interval to the specified date.</summary>
+            <returns>The new date.</returns>
+            <param name="datePartArg">The part of the date to increment. </param>
+            <param name="number">The value used to increment a date by a specified amount.</param>
+            <param name="date">The date to increment.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DateAdd(System.String,System.Nullable{System.Double},System.Nullable{System.TimeSpan})">
+            <summary>Returns a new time span value based on adding an interval to the specified time span.</summary>
+            <returns>The new time span.</returns>
+            <param name="datePartArg">The part of the date to increment.</param>
+            <param name="number">The value used to increment a date by a specified amount.</param>
+            <param name="time">The time span to increment.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DateAdd(System.String,System.Nullable{System.Double},System.Nullable{System.DateTimeOffset})">
+            <summary>Returns a new date value based on adding an interval to the specified date.</summary>
+            <returns>The new point in time, expressed as a date and time of day, relative to Coordinated Universal Time (UTC).</returns>
+            <param name="datePartArg">The part of the date to increment.</param>
+            <param name="number">The value used to increment a date by a specified amount.</param>
+            <param name="dateTimeOffsetArg">The date to increment.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DateAdd(System.String,System.Nullable{System.Double},System.String)">
+            <summary>Returns a new datetime value based on adding an interval to the specified date.</summary>
+            <returns>
+            A <see cref="T:System.Nullable`1" /> of <see cref="T:System.DateTime" /> value that is the new date.
+            </returns>
+            <param name="datePartArg">The part of the date to increment.</param>
+            <param name="number">The value used to increment a date by a specified amount.</param>
+            <param name="date">The date to increment.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DateDiff(System.String,System.Nullable{System.DateTime},System.Nullable{System.DateTime})">
+            <summary>Returns the count of the specified datepart boundaries crossed between the specified start date and end date.</summary>
+            <returns>The number of time intervals between the two dates.</returns>
+            <param name="datePartArg">The part of the date to calculate the differing number of time intervals.</param>
+            <param name="startDate">The first date.</param>
+            <param name="endDate">The second date.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DateDiff(System.String,System.Nullable{System.DateTimeOffset},System.Nullable{System.DateTimeOffset})">
+            <summary>Returns the count of the specified datepart boundaries crossed between the specified start date and end date.</summary>
+            <returns>The number of time intervals between the two dates.</returns>
+            <param name="datePartArg">The part of the date to calculate the differing number of time intervals.</param>
+            <param name="startDate">The first date.</param>
+            <param name="endDate">The second date.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DateDiff(System.String,System.Nullable{System.TimeSpan},System.Nullable{System.TimeSpan})">
+            <summary>Returns the count of the specified datepart boundaries crossed between the specified start date and end date.</summary>
+            <returns>The number of time intervals between the two dates.</returns>
+            <param name="datePartArg">The part of the date to calculate the differing number of time intervals.</param>
+            <param name="startDate">The first date.</param>
+            <param name="endDate">The second date.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DateDiff(System.String,System.String,System.Nullable{System.DateTime})">
+            <summary>Returns the count of the specified datepart boundaries crossed between the specified start date and end date.</summary>
+            <returns>The number of time intervals between the two dates.</returns>
+            <param name="datePartArg">The part of the date to calculate the differing number of time intervals.</param>
+            <param name="startDate">The first date.</param>
+            <param name="endDate">The second date.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DateDiff(System.String,System.String,System.Nullable{System.DateTimeOffset})">
+            <summary>Returns the count of the specified datepart boundaries crossed between the specified start date and end date.</summary>
+            <returns>The number of time intervals between the two dates.</returns>
+            <param name="datePartArg">The part of the date to calculate the differing number of time intervals.</param>
+            <param name="startDate">The first date.</param>
+            <param name="endDate">The second date.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DateDiff(System.String,System.String,System.Nullable{System.TimeSpan})">
+            <summary>Returns the count of the specified datepart boundaries crossed between the specified start date and end date.</summary>
+            <returns>The value specifying the number of time intervals between the two dates.</returns>
+            <param name="datePartArg">The part of the date to calculate the differing number of time intervals.</param>
+            <param name="startDate">The first date.</param>
+            <param name="endDate">The second date.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DateDiff(System.String,System.Nullable{System.TimeSpan},System.String)">
+            <summary>Returns the count of the specified datepart boundaries crossed between the specified start date and end date.</summary>
+            <returns>The number of time intervals between the two dates.</returns>
+            <param name="datePartArg">The part of the date to calculate the differing number of time intervals.</param>
+            <param name="startDate">The first date.</param>
+            <param name="endDate">The second date.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DateDiff(System.String,System.Nullable{System.DateTime},System.String)">
+            <summary>Returns the count of the specified datepart boundaries crossed between the specified start date and end date.</summary>
+            <returns>The number of time intervals between the two dates.</returns>
+            <param name="datePartArg">The part of the date to calculate the differing number of time intervals.</param>
+            <param name="startDate">The first date.</param>
+            <param name="endDate">The second date.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DateDiff(System.String,System.Nullable{System.DateTimeOffset},System.String)">
+            <summary>Returns the count of the specified datepart boundaries crossed between the specified start date and end date.</summary>
+            <returns>The number of time intervals between the two dates.</returns>
+            <param name="datePartArg">The part of the date to calculate the differing number of time intervals.</param>
+            <param name="startDate">The first date.</param>
+            <param name="endDate">The second date.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DateDiff(System.String,System.String,System.String)">
+            <summary>Returns the count of the specified datepart boundaries crossed between the specified start date and end date.</summary>
+            <returns>The number of time intervals between the two dates.</returns>
+            <param name="datePartArg">The part of the date to calculate the differing number of time intervals.</param>
+            <param name="startDate">The first date.</param>
+            <param name="endDate">The second date.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DateDiff(System.String,System.Nullable{System.TimeSpan},System.Nullable{System.DateTime})">
+            <summary>Returns the count of the specified datepart boundaries crossed between the specified start date and end date.</summary>
+            <returns>The number of time intervals between the two dates.</returns>
+            <param name="datePartArg">The part of the date to calculate the differing number of time intervals.</param>
+            <param name="startDate">The first date.</param>
+            <param name="endDate">The second date.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DateDiff(System.String,System.Nullable{System.TimeSpan},System.Nullable{System.DateTimeOffset})">
+            <summary>Returns the count of the specified datepart boundaries crossed between the specified start date and end date.</summary>
+            <returns>The number of time intervals between the two dates.</returns>
+            <param name="datePartArg">The part of the date to calculate the differing number of time intervals.</param>
+            <param name="startDate">The first date.</param>
+            <param name="endDate">The second date.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DateDiff(System.String,System.Nullable{System.DateTime},System.Nullable{System.TimeSpan})">
+            <summary>Returns the count of the specified datepart boundaries crossed between the specified start date and end date.</summary>
+            <returns>The number of time intervals between the two dates.</returns>
+            <param name="datePartArg">The part of the date to calculate the differing number of time intervals.</param>
+            <param name="startDate">The first date.</param>
+            <param name="endDate">The second date.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DateDiff(System.String,System.Nullable{System.DateTimeOffset},System.Nullable{System.TimeSpan})">
+            <summary>Returns the count of the specified datepart boundaries crossed between the specified start date and end date.</summary>
+            <returns>The number of time intervals between the two Dates.</returns>
+            <param name="datePartArg">The part of the date to calculate the differing number of time intervals.</param>
+            <param name="startDate">The first date.</param>
+            <param name="endDate">The second date.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DateDiff(System.String,System.Nullable{System.DateTime},System.Nullable{System.DateTimeOffset})">
+            <summary>Returns the count of the specified datepart boundaries crossed between the specified start date and end date.</summary>
+            <returns>The number of time intervals between the two dates.</returns>
+            <param name="datePartArg">The part of the date to calculate the differing number of time intervals.</param>
+            <param name="startDate">The first date.</param>
+            <param name="endDate">The second date.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DateDiff(System.String,System.Nullable{System.DateTimeOffset},System.Nullable{System.DateTime})">
+            <summary>Returns the count of the specified datepart boundaries crossed between the specified start date and end date.</summary>
+            <returns>The number of time intervals between the two dates.</returns>
+            <param name="datePartArg">The part of the date to calculate the differing number of time intervals.</param>
+            <param name="startDate">The first date.</param>
+            <param name="endDate">The second date.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DateName(System.String,System.Nullable{System.DateTime})">
+            <summary>Returns a character string that represents the specified datepart of the specified date.</summary>
+            <returns>The specified part of the specified date.</returns>
+            <param name="datePartArg">The part of the date to calculate the differing number of time intervals.</param>
+            <param name="date">The date.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DateName(System.String,System.String)">
+            <summary>Returns a character string that represents the specified datepart of the specified date.</summary>
+            <returns>The specified part of the specified date.</returns>
+            <param name="datePartArg">The part of the date to calculate the differing number of time intervals.</param>
+            <param name="date">The date.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DateName(System.String,System.Nullable{System.TimeSpan})">
+            <summary>Returns a character string that represents the specified datepart of the specified date.</summary>
+            <returns>The specified part of the specified date.</returns>
+            <param name="datePartArg">The part of the date to calculate the differing number of time intervals.</param>
+            <param name="date">The date.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DateName(System.String,System.Nullable{System.DateTimeOffset})">
+            <summary>Returns a character string that represents the specified datepart of the specified date.</summary>
+            <returns>The specified part of the specified date.</returns>
+            <param name="datePartArg">The part of the date to calculate the differing number of time intervals.</param>
+            <param name="date">The date.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DatePart(System.String,System.Nullable{System.DateTime})">
+            <summary>Returns an integer that represents the specified datepart of the specified date.</summary>
+            <returns>The the specified datepart of the specified date.</returns>
+            <param name="datePartArg">The part of the date to return the value.</param>
+            <param name="date">The date.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DatePart(System.String,System.Nullable{System.DateTimeOffset})">
+            <summary>Returns an integer that represents the specified datepart of the specified date.</summary>
+            <returns>The specified datepart of the specified date.</returns>
+            <param name="datePartArg">The part of the date to return the value.</param>
+            <param name="date">The date.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DatePart(System.String,System.String)">
+            <summary>Returns an integer that represents the specified datepart of the specified date.</summary>
+            <returns>The specified datepart of the specified date.</returns>
+            <param name="datePartArg">The part of the date to return the value.</param>
+            <param name="date">The date.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DatePart(System.String,System.Nullable{System.TimeSpan})">
+            <summary>Returns an integer that represents the specified datepart of the specified date.</summary>
+            <returns>The specified datepart of the specified date.</returns>
+            <param name="datePartArg">The part of the date to return the value.</param>
+            <param name="date">The date.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.GetDate">
+            <summary>Returns the current database system timestamp as a datetime value without the database time zone offset. This value is derived from the operating system of the computer on which the instance of SQL Server is running.</summary>
+            <returns>The current database timestamp.</returns>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.GetUtcDate">
+            <summary>Returns the current database system timestamp as a datetime value. The database time zone offset is not included. This value represents the current UTC time (Coordinated Universal Time). This value is derived from the operating system of the computer on which the instance of SQL Server is running.</summary>
+            <returns>The current database UTC timestamp.</returns>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DataLength(System.Nullable{System.Boolean})">
+            <summary>Returns the number of bytes used to represent any expression.</summary>
+            <returns>The number of bytes in the input value.</returns>
+            <param name="arg">The value to be examined for data length.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DataLength(System.Nullable{System.Double})">
+            <summary>Returns the number of bytes used to represent any expression.</summary>
+            <returns>The number of bytes in the input value.</returns>
+            <param name="arg">The value to be examined for data length.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DataLength(System.Nullable{System.Decimal})">
+            <summary>Returns the number of bytes used to represent any expression.</summary>
+            <returns>The number of bytes in the input value.</returns>
+            <param name="arg">The value to be examined for data length.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DataLength(System.Nullable{System.DateTime})">
+            <summary>Returns the number of bytes used to represent any expression.</summary>
+            <returns>The number of bytes in the input value.</returns>
+            <param name="arg">The value to be examined for data length.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DataLength(System.Nullable{System.TimeSpan})">
+            <summary>Returns the number of bytes used to represent any expression.</summary>
+            <returns>The number of bytes in the input value.</returns>
+            <param name="arg">The value to be examined for data length.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DataLength(System.Nullable{System.DateTimeOffset})">
+            <summary>Returns the number of bytes used to represent any expression.</summary>
+            <returns>The number of bytes in the input value.</returns>
+            <param name="arg">The value to be examined for data length.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DataLength(System.String)">
+            <summary>Returns the number of bytes used to represent any expression.</summary>
+            <returns>The number of bytes in the input value.</returns>
+            <param name="arg">The value to be examined for data length.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DataLength(System.Byte[])">
+            <summary>Returns the number of bytes used to represent any expression.</summary>
+            <returns>The number of bytes in the input value.</returns>
+            <param name="arg">The value to be examined for length.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DataLength(System.Nullable{System.Guid})">
+            <summary>Returns the number of bytes used to represent any expression.</summary>
+            <returns>The number of bytes in the input value.</returns>
+            <param name="arg">The value to be examined for data length.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Checksum(System.Nullable{System.Boolean})">
+            <summary>Returns the checksum value computed over the input argument.</summary>
+            <returns>The checksum computed over the input value.</returns>
+            <param name="arg1">The value for which the checksum is calculated.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Checksum(System.Nullable{System.Double})">
+            <summary>Returns the checksum value computed over the input argument.</summary>
+            <returns>The checksum computed over the input value.</returns>
+            <param name="arg1">The value for which the checksum is calculated.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Checksum(System.Nullable{System.Decimal})">
+            <summary>Returns the checksum value computed over the input argument.</summary>
+            <returns>The checksum computed over the input value.</returns>
+            <param name="arg1">The value for which the checksum is calculated.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Checksum(System.String)">
+            <summary>Returns the checksum value computed over the input argument.</summary>
+            <returns>The checksum computed over the input value.</returns>
+            <param name="arg1">The value for which the checksum is calculated.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Checksum(System.Nullable{System.DateTime})">
+            <summary>Returns the checksum value computed over the input argument.</summary>
+            <returns>The checksum computed over the input values.</returns>
+            <param name="arg1">The value for which the checksum is calculated.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Checksum(System.Nullable{System.TimeSpan})">
+            <summary>Returns the checksum value computed over the input argument.</summary>
+            <returns>The checksum computed over the input value.</returns>
+            <param name="arg1">The value for which the checksum is calculated.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Checksum(System.Nullable{System.DateTimeOffset})">
+            <summary>Returns the checksum value computed over the input argument.</summary>
+            <returns>The checksum computed over the input value.</returns>
+            <param name="arg1">The value for which the checksum is calculated.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Checksum(System.Byte[])">
+            <summary>Returns the checksum value computed over the input argument.</summary>
+            <returns>The checksum computed over the input value.</returns>
+            <param name="arg1">The character array for which the checksum is calculated.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Checksum(System.Nullable{System.Guid})">
+            <summary>Returns the checksum value computed over the input argument.</summary>
+            <returns>The checksum computed over the input value.</returns>
+            <param name="arg1">The value for which the checksum is calculated.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Checksum(System.Nullable{System.Boolean},System.Nullable{System.Boolean})">
+            <summary>Returns the checksum value computed over the input arguments.</summary>
+            <returns>The checksum computed over the input values.</returns>
+            <param name="arg1">The value for which the checksum is calculated.</param>
+            <param name="arg2">The value for which the checksum is calculated.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Checksum(System.Nullable{System.Double},System.Nullable{System.Double})">
+            <summary>Returns the checksum value computed over the input arguments.</summary>
+            <returns>The checksum computed over the input values.</returns>
+            <param name="arg1">The value for which the checksum is calculated.</param>
+            <param name="arg2">The value for which the checksum is calculated.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Checksum(System.Nullable{System.Decimal},System.Nullable{System.Decimal})">
+            <summary>Returns the checksum value computed over the input arguments.</summary>
+            <returns>The checksum computed over the input values.</returns>
+            <param name="arg1">The value for which the checksum is calculated.</param>
+            <param name="arg2">The value for which the checksum is calculated.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Checksum(System.String,System.String)">
+            <summary>Returns the checksum value computed over the input arguments.</summary>
+            <returns>The checksum computed over the input values.</returns>
+            <param name="arg1">The value for which the checksum is calculated.</param>
+            <param name="arg2">The value for which the checksum is calculated.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Checksum(System.Nullable{System.DateTime},System.Nullable{System.DateTime})">
+            <summary>Returns the checksum value computed over the input arguments.</summary>
+            <returns>The checksum computed over the input values.</returns>
+            <param name="arg1">The value for which the checksum is calculated.</param>
+            <param name="arg2">The value for which the checksum is calculated.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Checksum(System.Nullable{System.TimeSpan},System.Nullable{System.TimeSpan})">
+            <summary>Returns the checksum value computed over the input arguments.</summary>
+            <returns>The checksum computed over the input values.</returns>
+            <param name="arg1">The value for which the checksum is calculated.</param>
+            <param name="arg2">The value for which the checksum is calculated.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Checksum(System.Nullable{System.DateTimeOffset},System.Nullable{System.DateTimeOffset})">
+            <summary>Returns the checksum value computed over the input arguments.</summary>
+            <returns>The checksum computed over the input values.</returns>
+            <param name="arg1">The value for which the checksum is calculated.</param>
+            <param name="arg2">The value for which the checksum is calculated.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Checksum(System.Byte[],System.Byte[])">
+            <summary>Returns the checksum value computed over the input arguments.</summary>
+            <returns>The checksum computed over the input values.</returns>
+            <param name="arg1">The character array for which the checksum is calculated.</param>
+            <param name="arg2">The character array for which the checksum is calculated.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Checksum(System.Nullable{System.Guid},System.Nullable{System.Guid})">
+            <summary>Returns the checksum value computed over the input arguments.</summary>
+            <returns>The checksum computed over the input values.</returns>
+            <param name="arg1">The value for which the checksum is calculated.</param>
+            <param name="arg2">The value for which the checksum is calculated.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Checksum(System.Nullable{System.Boolean},System.Nullable{System.Boolean},System.Nullable{System.Boolean})">
+            <summary>Returns the checksum value computed over the input arguments.</summary>
+            <returns>The checksum computed over the input values.</returns>
+            <param name="arg1">The value for which the checksum is calculated.</param>
+            <param name="arg2">The value for which the checksum is calculated.</param>
+            <param name="arg3">The value for which the checksum is calculated.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Checksum(System.Nullable{System.Double},System.Nullable{System.Double},System.Nullable{System.Double})">
+            <summary>Returns the checksum value computed over the input arguments.</summary>
+            <returns>The checksum computed over the input values.</returns>
+            <param name="arg1">The value for which the checksum is calculated.</param>
+            <param name="arg2">The value for which the checksum is calculated.</param>
+            <param name="arg3">The value for which the checksum is calculated.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Checksum(System.Nullable{System.Decimal},System.Nullable{System.Decimal},System.Nullable{System.Decimal})">
+            <summary>Returns the checksum value computed over the input arguments.</summary>
+            <returns>The checksum computed over the input values.</returns>
+            <param name="arg1">The value for which the checksum is calculated.</param>
+            <param name="arg2">The value for which the checksum is calculated.</param>
+            <param name="arg3">The value for which the checksum is calculated.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Checksum(System.String,System.String,System.String)">
+            <summary>Returns the checksum value computed over the input arguments.</summary>
+            <returns>The checksum computed over the input values.</returns>
+            <param name="arg1">The value for which the checksum is calculated.</param>
+            <param name="arg2">The value for which the checksum is calculated.</param>
+            <param name="arg3">The value for which the checksum is calculated.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Checksum(System.Nullable{System.DateTime},System.Nullable{System.DateTime},System.Nullable{System.DateTime})">
+            <summary>Returns the checksum value computed over the input arguments.</summary>
+            <returns>The checksum computed over the input values.</returns>
+            <param name="arg1">The value for which the checksum is calculated.</param>
+            <param name="arg2">The value for which the checksum is calculated.</param>
+            <param name="arg3">The value for which the checksum is calculated.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Checksum(System.Nullable{System.DateTimeOffset},System.Nullable{System.DateTimeOffset},System.Nullable{System.DateTimeOffset})">
+            <summary>Returns the checksum value computed over the input arguments.</summary>
+            <returns>The checksum computed over the input values.</returns>
+            <param name="arg1">The value for which the checksum is calculated.</param>
+            <param name="arg2">The value for which the checksum is calculated.</param>
+            <param name="arg3">The value for which the checksum is calculated.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Checksum(System.Nullable{System.TimeSpan},System.Nullable{System.TimeSpan},System.Nullable{System.TimeSpan})">
+            <summary>Returns the checksum value computed over the input arguments.</summary>
+            <returns>The checksum computed over the input values.</returns>
+            <param name="arg1">The value for which the checksum is calculated.</param>
+            <param name="arg2">The value for which the checksum is calculated.</param>
+            <param name="arg3">The value for which the checksum is calculated.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Checksum(System.Byte[],System.Byte[],System.Byte[])">
+            <summary>Returns the checksum value computed over the input arguments.</summary>
+            <returns>The checksum computed over the input values.</returns>
+            <param name="arg1">The character array for which the checksum is calculated.</param>
+            <param name="arg2">The character array for which the checksum is calculated.</param>
+            <param name="arg3">The character array for which the checksum is calculated.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Checksum(System.Nullable{System.Guid},System.Nullable{System.Guid},System.Nullable{System.Guid})">
+            <summary>Returns the checksum value computed over the input arguments.</summary>
+            <returns>The checksum computed over the input values.</returns>
+            <param name="arg1">The value for which the checksum is calculated.</param>
+            <param name="arg2">The value for which the checksum is calculated.</param>
+            <param name="arg3">The value for which the checksum is calculated.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.CurrentTimestamp">
+            <summary>Returns the current date and time. </summary>
+            <returns>The current date and time.</returns>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.CurrentUser">
+            <summary>Returns the name of the current user.</summary>
+            <returns>The name of the current user.</returns>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.HostName">
+            <summary>Returns the workstation name.</summary>
+            <returns>The name of the workstation.</returns>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.UserName(System.Nullable{System.Int32})">
+            <summary>Returns a database user name corresponding to a specified identification number.</summary>
+            <returns>The user name.</returns>
+            <param name="arg">A user ID.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.UserName">
+            <summary>Returns a database user name corresponding to a specified identification number.</summary>
+            <returns>The user name.</returns>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.IsNumeric(System.String)">
+            <summary>Indicates whether the input value is a valid numeric type.</summary>
+            <returns>1 if the input expression is a valid numeric data type; otherwise, 0.</returns>
+            <param name="arg">A string expression.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.IsDate(System.String)">
+            <summary>Indicates whether the input value is a valid date or time.</summary>
+            <returns>1 if the input expression is a valid date or time value of datetime or smalldatetime data types; otherwise, 0.</returns>
+            <param name="arg">The tested value.</param>
+        </member>
+        <member name="T:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator">
+            <summary>
+            Provider to convert provider agnostic migration operations into SQL commands
+            that can be run against a Microsoft SQL Server database.
+            </summary>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.IsPermissionDeniedError(System.Exception)">
+            <summary>
+            Determines if a provider specific exception corresponds to a database-level permission denied error.
+            </summary>
+            <param name="exception">The database exception.</param>
+            <returns> true if the supplied exception corresponds to a database-level permission denied error; otherwise false. </returns>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Collections.Generic.IEnumerable{System.Data.Entity.Migrations.Model.MigrationOperation},System.String)">
+            <summary>
+            Converts a set of migration operations into Microsoft SQL Server specific SQL.
+            </summary>
+            <param name="migrationOperations"> The operations to be converted. </param>
+            <param name="providerManifestToken"> Token representing the version of SQL Server being targeted (i.e. "2005", "2008"). </param>
+            <returns> A list of SQL statements to be executed to perform the migration operations. </returns>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.GenerateProcedureBody(System.Collections.Generic.ICollection{System.Data.Entity.Core.Common.CommandTrees.DbModificationCommandTree},System.String,System.String)">
+            <summary>
+            Generates the SQL body for a stored procedure.
+            </summary>
+            <param name="commandTrees">The command trees representing the commands for an insert, update or delete operation.</param>
+            <param name="rowsAffectedParameter">The rows affected parameter name.</param>
+            <param name="providerManifestToken">The provider manifest token.</param>
+            <returns>The SQL body for the stored procedure.</returns>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.UpdateDatabaseOperation)">
+            <summary>
+            Generates the specified update database operation which represents applying a series of migrations.
+            The generated script is idempotent, meaning it contains conditional logic to check if individual migrations 
+            have already been applied and only apply the pending ones.
+            </summary>
+            <param name="updateDatabaseOperation">The update database operation.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.MigrationOperation)">
+            <summary>
+            Generates SQL for a <see cref="T:System.Data.Entity.Migrations.Model.MigrationOperation"/>.
+            Allows derived providers to handle additional operation types.
+            Generated SQL should be added using the Statement method.
+            </summary>
+            <param name="migrationOperation"> The operation to produce SQL for. </param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.CreateConnection">
+            <summary>
+            Creates an empty connection for the current provider.
+            Allows derived providers to use connection other than <see cref="T:System.Data.SqlClient.SqlConnection"/>.
+            </summary>
+            <returns> An empty connection for the current provider. </returns>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.CreateProcedureOperation)">
+            <summary>
+            Generates the specified create procedure operation.
+            </summary>
+            <param name="createProcedureOperation">The create procedure operation.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.AlterProcedureOperation)">
+            <summary>
+            Generates the specified alter procedure operation.
+            </summary>
+            <param name="alterProcedureOperation">The alter procedure operation.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.DropProcedureOperation)">
+            <summary>
+            Generates the specified drop procedure operation.
+            </summary>
+            <param name="dropProcedureOperation">The drop procedure operation.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.CreateTableOperation)">
+            <summary>
+            Generates SQL for a <see cref="T:System.Data.Entity.Migrations.Model.CreateTableOperation"/>. This method differs from
+            <see cref="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.WriteCreateTable(System.Data.Entity.Migrations.Model.CreateTableOperation)"/> in that it will
+            create the target database schema if it does not already exist.
+            Generated SQL should be added using the Statement method.
+            </summary>
+            <param name="createTableOperation"> The operation to produce SQL for. </param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.WriteCreateTable(System.Data.Entity.Migrations.Model.CreateTableOperation)">
+            <summary>
+            Generates SQL for a <see cref="T:System.Data.Entity.Migrations.Model.CreateTableOperation"/>.
+            Generated SQL should be added using the Statement method.
+            </summary>
+            <param name="createTableOperation"> The operation to produce SQL for. </param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.WriteCreateTable(System.Data.Entity.Migrations.Model.CreateTableOperation,System.Data.Entity.Migrations.Utilities.IndentedTextWriter)">
+            <summary>
+            Writes CREATE TABLE SQL to the target writer.
+            </summary>
+            <param name="createTableOperation"> The operation to produce SQL for. </param>
+            <param name="writer"> The target writer. </param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.AlterTableOperation)">
+            <summary>
+            Override this method to generate SQL when the definition of a table or its attributes are changed.
+            The default implementation of this method does nothing.
+            </summary>
+            <param name="alterTableOperation"> The operation describing changes to the table. </param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.GenerateMakeSystemTable(System.Data.Entity.Migrations.Model.CreateTableOperation,System.Data.Entity.Migrations.Utilities.IndentedTextWriter)">
+            <summary>
+            Generates SQL to mark a table as a system table.
+            Generated SQL should be added using the Statement method.
+            </summary>
+            <param name="createTableOperation"> The table to mark as a system table. </param>
+            <param name="writer"> The <see cref="T:System.Data.Entity.Migrations.Utilities.IndentedTextWriter"/> to write the generated SQL to. </param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.GenerateCreateSchema(System.String)">
+            <summary>
+            Generates SQL to create a database schema.
+            Generated SQL should be added using the Statement method.
+            </summary>
+            <param name="schema"> The name of the schema to create. </param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.AddForeignKeyOperation)">
+            <summary>
+            Generates SQL for a <see cref="T:System.Data.Entity.Migrations.Model.AddForeignKeyOperation"/>.
+            Generated SQL should be added using the Statement method.
+            </summary>
+            <param name="addForeignKeyOperation"> The operation to produce SQL for. </param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.DropForeignKeyOperation)">
+            <summary>
+            Generates SQL for a <see cref="T:System.Data.Entity.Migrations.Model.DropForeignKeyOperation"/>.
+            Generated SQL should be added using the Statement method.
+            </summary>
+            <param name="dropForeignKeyOperation"> The operation to produce SQL for. </param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.CreateIndexOperation)">
+            <summary>
+            Generates SQL for a <see cref="T:System.Data.Entity.Migrations.Model.CreateIndexOperation"/>.
+            Generated SQL should be added using the Statement method.
+            </summary>
+            <param name="createIndexOperation"> The operation to produce SQL for. </param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.DropIndexOperation)">
+            <summary>
+            Generates SQL for a <see cref="T:System.Data.Entity.Migrations.Model.DropIndexOperation"/>.
+            Generated SQL should be added using the Statement method.
+            </summary>
+            <param name="dropIndexOperation"> The operation to produce SQL for. </param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.AddPrimaryKeyOperation)">
+            <summary>
+            Generates SQL for a <see cref="T:System.Data.Entity.Migrations.Model.AddPrimaryKeyOperation"/>.
+            Generated SQL should be added using the Statement method.
+            </summary>
+            <param name="addPrimaryKeyOperation"> The operation to produce SQL for. </param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.DropPrimaryKeyOperation)">
+            <summary>
+            Generates SQL for a <see cref="T:System.Data.Entity.Migrations.Model.DropPrimaryKeyOperation"/>.
+            Generated SQL should be added using the Statement method.
+            </summary>
+            <param name="dropPrimaryKeyOperation"> The operation to produce SQL for. </param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.AddColumnOperation)">
+            <summary>
+            Generates SQL for a <see cref="T:System.Data.Entity.Migrations.Model.AddColumnOperation"/>.
+            Generated SQL should be added using the Statement method.
+            </summary>
+            <param name="addColumnOperation"> The operation to produce SQL for. </param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.DropColumnOperation)">
+            <summary>
+            Generates SQL for a <see cref="T:System.Data.Entity.Migrations.Model.DropColumnOperation"/>.
+            Generated SQL should be added using the Statement method.
+            </summary>
+            <param name="dropColumnOperation"> The operation to produce SQL for. </param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.AlterColumnOperation)">
+            <summary>
+            Generates SQL for a <see cref="T:System.Data.Entity.Migrations.Model.AlterColumnOperation"/>.
+            Generated SQL should be added using the Statement method.
+            </summary>
+            <param name="alterColumnOperation"> The operation to produce SQL for. </param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.DropDefaultConstraint(System.String,System.String,System.Data.Entity.Migrations.Utilities.IndentedTextWriter)">
+            <summary>
+            Call this method to generate SQL that will attempt to drop the default constraint created
+            when a column is created. This method is usually called by code that overrides the creation or
+            altering of columns.
+            </summary>
+            <param name="table">The table to which the constraint applies.</param>
+            <param name="column">The column to which the constraint applies.</param>
+            <param name="writer">The writer to which generated SQL should be written.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.DropTableOperation)">
+            <summary>
+            Generates SQL for a <see cref="T:System.Data.Entity.Migrations.Model.DropTableOperation"/>.
+            Generated SQL should be added using the Statement method.
+            </summary>
+            <param name="dropTableOperation"> The operation to produce SQL for. </param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.SqlOperation)">
+            <summary>
+            Generates SQL for a <see cref="T:System.Data.Entity.Migrations.Model.SqlOperation"/>.
+            Generated SQL should be added using the Statement or StatementBatch methods.
+            </summary>
+            <param name="sqlOperation"> The operation to produce SQL for. </param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.RenameColumnOperation)">
+            <summary>
+            Generates SQL for a <see cref="T:System.Data.Entity.Migrations.Model.RenameColumnOperation"/>.
+            Generated SQL should be added using the Statement method.
+            </summary>
+            <param name="renameColumnOperation"> The operation to produce SQL for. </param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.RenameIndexOperation)">
+            <summary>
+            Generates SQL for a <see cref="T:System.Data.Entity.Migrations.Model.RenameIndexOperation"/>.
+            Generated SQL should be added using the Statement method.
+            </summary>
+            <param name="renameIndexOperation"> The operation to produce SQL for. </param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.RenameTableOperation)">
+            <summary>
+            Generates SQL for a <see cref="T:System.Data.Entity.Migrations.Model.RenameTableOperation"/>.
+            Generated SQL should be added using the Statement method.
+            </summary>
+            <param name="renameTableOperation"> The operation to produce SQL for. </param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.RenameProcedureOperation)">
+            <summary>
+            Generates the specified rename procedure operation.
+            </summary>
+            <param name="renameProcedureOperation">The rename procedure operation.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.MoveProcedureOperation)">
+            <summary>
+            Generates the specified move procedure operation.
+            </summary>
+            <param name="moveProcedureOperation">The move procedure operation.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.MoveTableOperation)">
+            <summary>
+            Generates SQL for a <see cref="T:System.Data.Entity.Migrations.Model.MoveTableOperation"/>.
+            Generated SQL should be added using the Statement method.
+            </summary>
+            <param name="moveTableOperation"> The operation to produce SQL for. </param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.ColumnModel,System.Data.Entity.Migrations.Utilities.IndentedTextWriter)">
+            <summary>
+            Generates SQL for the given column model. This method is called by other methods that
+            process columns and can be overridden to change the SQL generated.
+            </summary>
+            <param name="column">The column for which SQL is being generated.</param>
+            <param name="writer">The writer to which generated SQL should be written.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.HistoryOperation)">
+            <summary>
+            Generates SQL for a <see cref="T:System.Data.Entity.Migrations.Model.HistoryOperation"/>.
+            Generated SQL should be added using the Statement method.
+            </summary>
+            <param name="historyOperation"> The operation to produce SQL for. </param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Byte[])">
+            <summary>
+            Generates SQL to specify a constant byte[] default value being set on a column.
+            This method just generates the actual value, not the SQL to set the default value.
+            </summary>
+            <param name="defaultValue"> The value to be set. </param>
+            <returns> SQL representing the default value. </returns>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Boolean)">
+            <summary>
+            Generates SQL to specify a constant bool default value being set on a column.
+            This method just generates the actual value, not the SQL to set the default value.
+            </summary>
+            <param name="defaultValue"> The value to be set. </param>
+            <returns> SQL representing the default value. </returns>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.DateTime)">
+            <summary>
+            Generates SQL to specify a constant DateTime default value being set on a column.
+            This method just generates the actual value, not the SQL to set the default value.
+            </summary>
+            <param name="defaultValue"> The value to be set. </param>
+            <returns> SQL representing the default value. </returns>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.DateTimeOffset)">
+            <summary>
+            Generates SQL to specify a constant DateTimeOffset default value being set on a column.
+            This method just generates the actual value, not the SQL to set the default value.
+            </summary>
+            <param name="defaultValue"> The value to be set. </param>
+            <returns> SQL representing the default value. </returns>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Guid)">
+            <summary>
+            Generates SQL to specify a constant Guid default value being set on a column.
+            This method just generates the actual value, not the SQL to set the default value.
+            </summary>
+            <param name="defaultValue"> The value to be set. </param>
+            <returns> SQL representing the default value. </returns>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.String)">
+            <summary>
+            Generates SQL to specify a constant string default value being set on a column.
+            This method just generates the actual value, not the SQL to set the default value.
+            </summary>
+            <param name="defaultValue"> The value to be set. </param>
+            <returns> SQL representing the default value. </returns>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.TimeSpan)">
+            <summary>
+            Generates SQL to specify a constant TimeSpan default value being set on a column.
+            This method just generates the actual value, not the SQL to set the default value.
+            </summary>
+            <param name="defaultValue"> The value to be set. </param>
+            <returns> SQL representing the default value. </returns>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Data.Entity.Spatial.DbGeography)">
+            <summary>
+            Generates SQL to specify a constant geogrpahy default value being set on a column.
+            This method just generates the actual value, not the SQL to set the default value.
+            </summary>
+            <param name="defaultValue"> The value to be set. </param>
+            <returns> SQL representing the default value. </returns>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Data.Entity.Spatial.DbGeometry)">
+            <summary>
+            Generates SQL to specify a constant geometry default value being set on a column.
+            This method just generates the actual value, not the SQL to set the default value.
+            </summary>
+            <param name="defaultValue"> The value to be set. </param>
+            <returns> SQL representing the default value. </returns>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Object)">
+            <summary>
+            Generates SQL to specify a constant default value being set on a column.
+            This method just generates the actual value, not the SQL to set the default value.
+            </summary>
+            <param name="defaultValue"> The value to be set. </param>
+            <returns> SQL representing the default value. </returns>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.BuildColumnType(System.Data.Entity.Migrations.Model.ColumnModel)">
+            <summary>
+            Generates SQL to specify the data type of a column.
+            This method just generates the actual type, not the SQL to create the column.
+            </summary>
+            <param name="columnModel"> The definition of the column. </param>
+            <returns> SQL representing the data type. </returns>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Name(System.String)">
+            <summary>
+            Generates a quoted name. The supplied name may or may not contain the schema.
+            </summary>
+            <param name="name"> The name to be quoted. </param>
+            <returns> The quoted name. </returns>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Quote(System.String)">
+            <summary>
+            Quotes an identifier for SQL Server.
+            </summary>
+            <param name="identifier"> The identifier to be quoted. </param>
+            <returns> The quoted identifier. </returns>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Statement(System.String,System.Boolean,System.String)">
+            <summary>
+            Adds a new Statement to be executed against the database.
+            </summary>
+            <param name="sql"> The statement to be executed. </param>
+            <param name="suppressTransaction"> Gets or sets a value indicating whether this statement should be performed outside of the transaction scope that is used to make the migration process transactional. If set to true, this operation will not be rolled back if the migration process fails. </param>
+            <param name="batchTerminator">The batch terminator for the database provider.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Writer">
+            <summary>
+            Gets a new <see cref="T:System.Data.Entity.Migrations.Utilities.IndentedTextWriter"/> that can be used to build SQL.
+            This is just a helper method to create a writer. Writing to the writer will
+            not cause SQL to be registered for execution. You must pass the generated
+            SQL to the Statement method.
+            </summary>
+            <returns> An empty text writer to use for SQL generation. </returns>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Statement(System.Data.Entity.Migrations.Utilities.IndentedTextWriter,System.String)">
+            <summary>
+            Adds a new Statement to be executed against the database.
+            </summary>
+            <param name="writer"> The writer containing the SQL to be executed. </param>
+            <param name="batchTerminator">The batch terminator for the database provider.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.StatementBatch(System.String,System.Boolean)">
+            <summary>
+            Breaks sql string into one or more statements, handling T-SQL utility statements as necessary.
+            </summary>
+            <param name="sqlBatch"> The SQL to split into one ore more statements to be executed. </param>
+            <param name="suppressTransaction"> Gets or sets a value indicating whether this statement should be performed outside of the transaction scope that is used to make the migration process transactional. If set to true, this operation will not be rolled back if the migration process fails. </param>
+        </member>
+        <member name="P:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.GuidColumnDefault">
+            <summary>
+            Returns the column default value to use for store-generated GUID columns when
+            no default value is explicitly specified in the migration.
+            Returns newsequentialid() for on-premises SQL Server 2005 and later.
+            Returns newid() for SQL Azure.
+            </summary>
+            <value>Either newsequentialid() or newid() as described above.</value>
+        </member>
+        <member name="T:System.Data.Entity.SqlServer.SqlSpatialFunctions">
+            <summary>
+            Contains function stubs that expose SqlServer methods in Linq to Entities.
+            </summary>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialFunctions.PointGeography(System.Nullable{System.Double},System.Nullable{System.Double},System.Nullable{System.Int32})">
+            <summary>Constructs a geography instance representing a Point instance from its x and y values and a spatial reference ID (SRID). </summary>
+            <returns>The constructed geography instance.</returns>
+            <param name="latitude">The x-coordinate of the Point being generated.</param>
+            <param name="longitude">The y-coordinate of the Point being generated</param>
+            <param name="spatialReferenceId">The SRID of the geography instance.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialFunctions.AsTextZM(System.Data.Entity.Spatial.DbGeography)">
+            <summary>Returns the Open Geospatial Consortium (OGC) Well-Known Text (WKT) representation of a geography instance augmented with any Z (elevation) and M (measure) values carried by the instance.</summary>
+            <returns>The Open Geospatial Consortium (OGC) Well-Known Text (WKT) representation of a geography instance.</returns>
+            <param name="geographyValue">The geography value.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialFunctions.BufferWithTolerance(System.Data.Entity.Spatial.DbGeography,System.Nullable{System.Double},System.Nullable{System.Double},System.Nullable{System.Boolean})">
+            <summary>Returns a geometric object representing the union of all point values whose distance from a geography instance is less than or equal to a specified value, allowing for a specified tolerance.</summary>
+            <returns>The union of all point values whose distance from a geography instance is less than or equal to a specified value</returns>
+            <param name="geographyValue">The geography value.</param>
+            <param name="distance">The distance.</param>
+            <param name="tolerance">The specified tolerance.</param>
+            <param name="relative">Specifying whether the tolerance value is relative or absolute.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialFunctions.EnvelopeAngle(System.Data.Entity.Spatial.DbGeography)">
+            <summary>Returns the maximum angle between the point returned by EnvelopeCenter() and a point in the geography instance in degrees.</summary>
+            <returns>the maximum angle between the point returned by EnvelopeCenter().</returns>
+            <param name="geographyValue">The geography value.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialFunctions.EnvelopeCenter(System.Data.Entity.Spatial.DbGeography)">
+            <summary>Returns a point that can be used as the center of a bounding circle for the geography instance.</summary>
+            <returns>A SqlGeography value that specifies the location of the center of a bounding circle.</returns>
+            <param name="geographyValue">The geography value.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialFunctions.Filter(System.Data.Entity.Spatial.DbGeography,System.Data.Entity.Spatial.DbGeography)">
+            <summary>Offers a fast, index-only intersection method to determine if a geography instance intersects another SqlGeography instance, assuming an index is available.</summary>
+            <returns>True if a geography instance potentially intersects another SqlGeography instance; otherwise, false.</returns>
+            <param name="geographyValue">The geography value.</param>
+            <param name="geographyOther">Another geography instance to compare against the instance on which Filter is invoked.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialFunctions.InstanceOf(System.Data.Entity.Spatial.DbGeography,System.String)">
+            <summary>Tests if the SqlGeography instance is the same as the specified type.</summary>
+            <returns>A string that specifies one of the 12 types exposed in the geography type hierarchy.</returns>
+            <param name="geographyValue">The geography value.</param>
+            <param name="geometryTypeName">A string that specifies one of the 12 types exposed in the geography type hierarchy.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialFunctions.NumRings(System.Data.Entity.Spatial.DbGeography)">
+            <summary>Returns the total number of rings in a Polygon instance.</summary>
+            <returns>The total number of rings.</returns>
+            <param name="geographyValue">The geography value.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialFunctions.Reduce(System.Data.Entity.Spatial.DbGeography,System.Nullable{System.Double})">
+            <summary>Returns an approximation of the given geography instance produced by running the Douglas-Peucker algorithm on the instance with the given tolerance.</summary>
+            <returns>
+            Returns <see cref="T:System.Data.Entity.Spatial.DbGeography" />.
+            </returns>
+            <param name="geographyValue">The geography value.</param>
+            <param name="tolerance">The tolerance to input to the Douglas-Peucker algorithm. tolerance must be a positive number.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialFunctions.RingN(System.Data.Entity.Spatial.DbGeography,System.Nullable{System.Int32})">
+            <summary>Returns the specified ring of the SqlGeography instance: 1 ≤ n ≤ NumRings().</summary>
+            <returns>A SqlGeography object that represents the ring specified by n.</returns>
+            <param name="geographyValue">The geography value.</param>
+            <param name="index">An int expression between 1 and the number of rings in a polygon instance.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialFunctions.PointGeometry(System.Nullable{System.Double},System.Nullable{System.Double},System.Nullable{System.Int32})">
+            <summary>Constructs a geometry instance representing a Point instance from its x and y values and a spatial reference ID (SRID). </summary>
+            <returns>The constructed geometry instance.</returns>
+            <param name="xCoordinate">The x-coordinate of the Point being generated.</param>
+            <param name="yCoordinate">The y-coordinate of the Point being generated</param>
+            <param name="spatialReferenceId">The SRID of the geography instance.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialFunctions.AsTextZM(System.Data.Entity.Spatial.DbGeometry)">
+            <summary>Returns the Open Geospatial Consortium (OGC) Well-Known Text (WKT) representation of a geography instance augmented with any Z (elevation) and M (measure) values carried by the instance.</summary>
+            <returns>The Open Geospatial Consortium (OGC) Well-Known Text (WKT) representation of a geometry instance.</returns>
+            <param name="geometryValue">The geometry value.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialFunctions.BufferWithTolerance(System.Data.Entity.Spatial.DbGeometry,System.Nullable{System.Double},System.Nullable{System.Double},System.Nullable{System.Boolean})">
+            <summary>Returns a geometric object representing the union of all point values whose distance from a geometry instance is less than or equal to a specified value, allowing for a specified tolerance.</summary>
+            <returns>The union of all point values whose distance from a geometry instance is less than or equal to a specified value</returns>
+            <param name="geometryValue">The geometry value.</param>
+            <param name="distance">The distance.</param>
+            <param name="tolerance">The specified tolerance.</param>
+            <param name="relative">Specifying whether the tolerance value is relative or absolute.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialFunctions.InstanceOf(System.Data.Entity.Spatial.DbGeometry,System.String)">
+            <summary>Tests if the SqlGeometry instance is the same as the specified type.</summary>
+            <returns>A string that specifies one of the 12 types exposed in the geography type hierarchy.</returns>
+            <param name="geometryValue">The geometry value.</param>
+            <param name="geometryTypeName">A string that specifies one of the 12 types exposed in the geography type hierarchy.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialFunctions.Filter(System.Data.Entity.Spatial.DbGeometry,System.Data.Entity.Spatial.DbGeometry)">
+            <summary>Offers a fast, index-only intersection method to determine if a geography instance intersects another SqlGeometry instance, assuming an index is available.</summary>
+            <returns>True if a geography instance potentially intersects another SqlGeography instance; otherwise, false.</returns>
+            <param name="geometryValue">The geometry value.</param>
+            <param name="geometryOther">Another geography instance to compare against the instance on which Filter is invoked.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialFunctions.MakeValid(System.Data.Entity.Spatial.DbGeometry)">
+            <summary>Converts an invalid geometry instance into a geometry instance with a valid Open Geospatial Consortium (OGC) type. </summary>
+            <returns>The converted geometry instance.</returns>
+            <param name="geometryValue">The geometry value.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialFunctions.Reduce(System.Data.Entity.Spatial.DbGeometry,System.Nullable{System.Double})">
+            <summary>Returns an approximation of the given geography instance produced by running the Douglas-Peucker algorithm on the instance with the given tolerance.</summary>
+            <returns>
+            Returns <see cref="T:System.Data.Entity.Spatial.DbGeometry" />.
+            </returns>
+            <param name="geometryValue">The geometry value.</param>
+            <param name="tolerance">The tolerance to input to the Douglas-Peucker algorithm. tolerance must be a positive number.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlProviderManifest.SupportsParameterOptimizationInSchemaQueries">
+            <summary>
+            Indicates if the provider supports the parameter optimization described in EntityFramework6 GitHub issue #195.
+            </summary>
+            <returns><c>True</c> since this provider supports the parameter optimization.</returns>
+        </member>
+        <member name="T:System.Data.Entity.SqlServer.SqlProviderServices">
+            <summary>
+            The DbProviderServices implementation for the SqlClient provider for SQL Server.
+            </summary>
+            <remarks>
+            Note that instance of this type also resolve additional provider services for Microsoft SQL Server
+            when this type is registered as an EF provider either using an entry in the application's config file
+            or through code-based registration in <see cref="T:System.Data.Entity.DbConfiguration"/>.
+            The services resolved are:
+            Requests for <see cref="T:System.Data.Entity.Infrastructure.IDbConnectionFactory"/> are resolved to a Singleton instance of
+            <see cref="T:System.Data.Entity.Infrastructure.SqlConnectionFactory"/> to create connections to SQL Express by default.
+            Requests for <see cref="T:System.Func`1"/> for the invariant name "System.Data.SqlClient"
+            for any server name are resolved to a delegate that returns a <see cref="T:System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy"/>
+            to provide a non-retrying policy for SQL Server.
+            Requests for <see cref="T:System.Data.Entity.Migrations.Sql.MigrationSqlGenerator"/> for the invariant name "System.Data.SqlClient" are
+            resolved to <see cref="T:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator"/> instances to provide default Migrations SQL
+            generation for SQL Server.
+            Requests for <see cref="T:System.Data.Entity.Spatial.DbSpatialServices"/> for the invariant name "System.Data.SqlClient" are
+            resolved to a Singleton instance of <see cref="T:System.Data.Entity.SqlServer.SqlSpatialServices"/> to provide default spatial
+            services for SQL Server.
+            </remarks>
+        </member>
+        <member name="F:System.Data.Entity.SqlServer.SqlProviderServices.ProviderInvariantName">
+            <summary>
+            This is the well-known string using in configuration files and code-based configuration as
+            the "provider invariant name" used to specify Microsoft SQL Server for ADO.NET and
+            Entity Framework provider services.
+            </summary>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlProviderServices.RegisterInfoMessageHandler(System.Data.Common.DbConnection,System.Action{System.String})">
+            <summary>
+            Registers a handler to process non-error messages coming from the database provider.
+            </summary>
+            <param name="connection"> The connection to receive information for. </param>
+            <param name="handler"> The handler to process messages. </param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlProviderServices.CreateDbCommandDefinition(System.Data.Entity.Core.Common.DbProviderManifest,System.Data.Entity.Core.Common.CommandTrees.DbCommandTree)">
+            <summary>
+            Create a Command Definition object, given the connection and command tree
+            </summary>
+            <param name="providerManifest"> provider manifest that was determined from metadata </param>
+            <param name="commandTree"> command tree for the statement </param>
+            <returns> an executable command definition object </returns>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlProviderServices.CloneDbCommand(System.Data.Common.DbCommand)">
+            <summary>
+            See issue 2390 - cloning the DesignTimeVisible property on the
+            <see cref="T:System.Data.SqlClient.SqlCommand" /> can cause deadlocks.
+            So here overriding to provide a method that does not clone DesignTimeVisible.
+            </summary>
+            <param name="fromDbCommand"> the <see cref="T:System.Data.Common.DbCommand" /> object to clone </param>
+            <returns >a clone of the <see cref="T:System.Data.Common.DbCommand" /> </returns>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlProviderServices.SetDbParameterValue(System.Data.Common.DbParameter,System.Data.Entity.Core.Metadata.Edm.TypeUsage,System.Object)">
+            <summary>
+            Sets the parameter value and appropriate facets for the given <see cref="T:System.Data.Entity.Core.Metadata.Edm.TypeUsage"/>.
+            </summary>
+            <param name="parameter">The parameter.</param>
+            <param name="parameterType">The type of the parameter.</param>
+            <param name="value">The value of the parameter.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlProviderServices.GetDbProviderManifestToken(System.Data.Common.DbConnection)">
+            <summary>
+            Returns provider manifest token for a given connection.
+            </summary>
+            <param name="connection"> Connection to find manifest token from. </param>
+            <returns> The provider manifest token for the specified connection. </returns>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlProviderServices.GetDbProviderManifest(System.String)">
+            <summary>
+            Returns the provider manifest by using the specified version information.
+            </summary>
+            <param name="versionHint"> The token information associated with the provider manifest. </param>
+            <returns> The provider manifest by using the specified version information. </returns>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlProviderServices.GetDbSpatialDataReader(System.Data.Common.DbDataReader,System.String)">
+            <summary>
+            Gets a spatial data reader for SQL Server.
+            </summary>
+            <param name="fromReader"> The reader where the spatial data came from. </param>
+            <param name="versionHint"> The manifest token associated with the provider manifest. </param>
+            <returns> The spatial data reader. </returns>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlProviderServices.DbGetSpatialServices(System.String)">
+            <summary>
+            Gets a spatial data reader for SQL Server.
+            </summary>
+            <param name="versionHint"> The manifest token associated with the provider manifest. </param>
+            <returns> The spatial data reader. </returns>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlProviderServices.DbCreateDatabaseScript(System.String,System.Data.Entity.Core.Metadata.Edm.StoreItemCollection)">
+            <summary>
+            Generates a data definition language (DDL) script that creates schema objects 
+            (tables, primary keys, foreign keys) based on the contents of the StoreItemCollection 
+            parameter and targeted for the version of the database corresponding to the provider manifest token.
+            </summary>
+            <param name="providerManifestToken"> The provider manifest token identifying the target version. </param>
+            <param name="storeItemCollection"> The structure of the database. </param>
+            <returns>
+            A DDL script that creates schema objects based on the contents of the StoreItemCollection parameter 
+            and targeted for the version of the database corresponding to the provider manifest token.
+            </returns>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlProviderServices.DbCreateDatabase(System.Data.Common.DbConnection,System.Nullable{System.Int32},System.Data.Entity.Core.Metadata.Edm.StoreItemCollection)">
+            <summary>
+            Create the database and the database objects.
+            If initial catalog is not specified, but AttachDBFilename is specified, we generate a random database name based on the AttachDBFilename.
+            Note: this causes pollution of the db, as when the connection string is later used, the mdf will get attached under a different name.
+            However if we try to replicate the name under which it would be attached, the following scenario would fail:
+            The file does not exist, but registered with database.
+            The user calls:  If (DatabaseExists) DeleteDatabase
+            CreateDatabase
+            For further details on the behavior when AttachDBFilename is specified see Dev10# 188936
+            </summary>
+            <param name="connection">Connection to a non-existent database that needs to be created and populated with the store objects indicated with the storeItemCollection parameter.</param>
+            <param name="commandTimeout">Execution timeout for any commands needed to create the database.</param>
+            <param name="storeItemCollection">The collection of all store items based on which the script should be created.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlProviderServices.DbDatabaseExists(System.Data.Common.DbConnection,System.Nullable{System.Int32},System.Data.Entity.Core.Metadata.Edm.StoreItemCollection)">
+            <summary>
+            Determines whether the database for the given connection exists.
+            There are three cases:
+            1.  Initial Catalog = X, AttachDBFilename = null:   (SELECT Count(*) FROM sys.databases WHERE [name]= X) > 0
+            2.  Initial Catalog = X, AttachDBFilename = F:      if (SELECT Count(*) FROM sys.databases WHERE [name]= X) > 0 then <c>true</c>,
+            if not, try to open the connection and then return (SELECT Count(*) FROM sys.databases WHERE [name]= X) > 0
+            3.  Initial Catalog = null, AttachDBFilename = F:   Try to open the connection. If that succeeds the result is true, otherwise
+            if the there are no databases corresponding to the given file return <c>false</c>, otherwise throw.
+            Note: We open the connection to cover the scenario when the mdf exists, but is not attached.
+            Given that opening the connection would auto-attach it, it would not be appropriate to return <c>false</c> in this case.
+            Also note that checking for the existence of the file does not work for a remote server.  (Dev11 #290487)
+            For further details on the behavior when AttachDBFilename is specified see Dev10# 188936
+            </summary>
+            <param name="connection">Connection to a database whose existence is checked by this method.</param>
+            <param name="commandTimeout">Execution timeout for any commands needed to determine the existence of the database.</param>
+            <param name="storeItemCollection">The collection of all store items from the model. This parameter is no longer used for determining database existence.</param>
+            <returns>True if the provider can deduce the database only based on the connection.</returns>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlProviderServices.DbDatabaseExists(System.Data.Common.DbConnection,System.Nullable{System.Int32},System.Lazy{System.Data.Entity.Core.Metadata.Edm.StoreItemCollection})">
+            <summary>
+            Determines whether the database for the given connection exists.
+            There are three cases:
+            1.  Initial Catalog = X, AttachDBFilename = null:   (SELECT Count(*) FROM sys.databases WHERE [name]= X) > 0
+            2.  Initial Catalog = X, AttachDBFilename = F:      if (SELECT Count(*) FROM sys.databases WHERE [name]= X) > 0 then <c>true</c>,
+            if not, try to open the connection and then return (SELECT Count(*) FROM sys.databases WHERE [name]= X) > 0
+            3.  Initial Catalog = null, AttachDBFilename = F:   Try to open the connection. If that succeeds the result is true, otherwise
+            if the there are no databases corresponding to the given file return <c>false</c>, otherwise throw.
+            Note: We open the connection to cover the scenario when the mdf exists, but is not attached.
+            Given that opening the connection would auto-attach it, it would not be appropriate to return <c>false</c> in this case.
+            Also note that checking for the existence of the file does not work for a remote server.  (Dev11 #290487)
+            For further details on the behavior when AttachDBFilename is specified see Dev10# 188936
+            </summary>
+            <param name="connection">Connection to a database whose existence is checked by this method.</param>
+            <param name="commandTimeout">Execution timeout for any commands needed to determine the existence of the database.</param>
+            <param name="storeItemCollection">The collection of all store items from the model. This parameter is no longer used for determining database existence.</param>
+            <returns>True if the provider can deduce the database only based on the connection.</returns>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlProviderServices.DbDeleteDatabase(System.Data.Common.DbConnection,System.Nullable{System.Int32},System.Data.Entity.Core.Metadata.Edm.StoreItemCollection)">
+            <summary>
+            Delete the database for the given connection.
+            There are three cases:
+            1.  If Initial Catalog is specified (X) drop database X
+            2.  Else if AttachDBFilename is specified (F) drop all the databases corresponding to F
+            if none throw
+            3.  If niether the catalog not the file name is specified - throw
+            Note that directly deleting the files does not work for a remote server.  However, even for not attached
+            databases the current logic would work assuming the user does: if (DatabaseExists) DeleteDatabase
+            </summary>
+            <param name="connection"> Connection </param>
+            <param name="commandTimeout"> Timeout for internal commands. </param>
+            <param name="storeItemCollection"> Item Collection. </param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlProviderServices.CloneDbConnection(System.Data.Common.DbConnection,System.Data.Common.DbProviderFactory)">
+            <summary>
+            Clones the connection.
+            </summary>
+            <param name="connection">The original connection.</param>
+            <param name="factory">The factory to use.</param>
+            <returns>Cloned connection</returns>
+        </member>
+        <member name="P:System.Data.Entity.SqlServer.SqlProviderServices.Instance">
+            <summary>
+            The Singleton instance of the SqlProviderServices type.
+            </summary>
+        </member>
+        <member name="P:System.Data.Entity.SqlServer.SqlProviderServices.SqlServerTypesAssemblyName">
+            <summary>
+            Set to the full name of the Microsoft.SqlServer.Types assembly to override the default selection
+            </summary>
+        </member>
+        <member name="P:System.Data.Entity.SqlServer.SqlProviderServices.TruncateDecimalsToScale">
+            <summary>
+            Get or sets a value indicating whether <see cref="T:System.Decimal"/> parameter values are truncated to 
+            the scale (number of decimal places) defined for their corresponding columns when they are sent 
+            to the database. A value of <c>true</c> indicates that <see cref="T:System.Data.SqlClient.SqlParameter"/> objects 
+            created for <see cref="T:System.Decimal"/> columns will have their <see cref="P:System.Data.SqlClient.SqlParameter.Scale"/> 
+            properties set, which will cause the parameter values to be truncated. If set to <c>false</c> 
+            then the <see cref="P:System.Data.SqlClient.SqlParameter.Scale"/> properties will not be set, avoiding the truncation 
+            behavior of <see cref="T:System.Data.SqlClient.SqlParameter"/> and allowing SQL Server to round values if necessary. 
+            The default value is <c>true</c> to prevent breaking existing applications that depend on this 
+            behavior. 
+            </summary>
+        </member>
+        <member name="P:System.Data.Entity.SqlServer.SqlProviderServices.UseScopeIdentity">
+            <summary>
+            Gets or sets a value indicating whether to use the SCOPE_IDENTITY() function to retrieve values 
+            generated by the database for numeric columns during an INSERT operation. The default value of 
+            <c>true</c> is recommended and can provide better performance if all numeric values are generated 
+            using IDENTITY columns. If set to <c>false</c>, an OUTPUT clause will be used instead. An OUTPUT 
+            clause makes it possible to retrieve values generated by sequences or other means.
+            </summary>
+        </member>
+        <member name="P:System.Data.Entity.SqlServer.SqlProviderServices.UseRowNumberOrderingInOffsetQueries">
+            <summary>
+            Gets or sets a value indicating whether the ROW_NUMBER() function is used in sort expression 
+            passed to the ORDER BY clause when OFFSET is present in query. The default value of <c>true</c> 
+            is recommended to obtain query results that are stable for paging operations. The value of 
+            <c>false</c> can be used for compatibility with previous versions of EF and will cause the sort 
+            expression to be passed unmodified to the ORDER BY clause, which can lead to unstable results 
+            if the ordering is ambiguous. 
+            </summary>
+            <remarks>
+            This flag only applies to SQL Server 2012 or later. This flag does not affect queries that have 
+            already been translated to SQL and cached, therefore applications that need to set the value to 
+            <c>false</c> for compatibility should do so before executing any queries.
+            </remarks>
+        </member>
+        <member name="T:System.Data.Entity.SqlServer.SqlSpatialServices">
+            <summary>
+            An implementation of <see cref="T:System.Data.Entity.Spatial.DbSpatialServices"/> to provide support for geospatial types when using
+            Entity Framework with Microsoft SQL Server.
+            </summary>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.CreateProviderValue(System.Data.Entity.Spatial.DbGeographyWellKnownValue)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeographyFromProviderValue(System.Object)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.CreateWellKnownValue(System.Data.Entity.Spatial.DbGeography)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.CreateProviderValue(System.Data.Entity.Spatial.DbGeometryWellKnownValue)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeometryFromProviderValue(System.Object)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.CreateWellKnownValue(System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.AsTextIncludingElevationAndMeasure(System.Data.Entity.Spatial.DbGeography)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.AsTextIncludingElevationAndMeasure(System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeographyFromText(System.String)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeographyFromText(System.String,System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeographyPointFromText(System.String,System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeographyLineFromText(System.String,System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeographyPolygonFromText(System.String,System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeographyMultiPointFromText(System.String,System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeographyMultiLineFromText(System.String,System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeographyMultiPolygonFromText(System.String,System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeographyCollectionFromText(System.String,System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeographyFromBinary(System.Byte[],System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeographyFromBinary(System.Byte[])">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeographyPointFromBinary(System.Byte[],System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeographyLineFromBinary(System.Byte[],System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeographyPolygonFromBinary(System.Byte[],System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeographyMultiPointFromBinary(System.Byte[],System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeographyMultiLineFromBinary(System.Byte[],System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeographyMultiPolygonFromBinary(System.Byte[],System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeographyCollectionFromBinary(System.Byte[],System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeographyFromGml(System.String)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeographyFromGml(System.String,System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GetCoordinateSystemId(System.Data.Entity.Spatial.DbGeography)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GetSpatialTypeName(System.Data.Entity.Spatial.DbGeography)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GetDimension(System.Data.Entity.Spatial.DbGeography)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.AsBinary(System.Data.Entity.Spatial.DbGeography)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.AsGml(System.Data.Entity.Spatial.DbGeography)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.AsText(System.Data.Entity.Spatial.DbGeography)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GetIsEmpty(System.Data.Entity.Spatial.DbGeography)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.SpatialEquals(System.Data.Entity.Spatial.DbGeography,System.Data.Entity.Spatial.DbGeography)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.Disjoint(System.Data.Entity.Spatial.DbGeography,System.Data.Entity.Spatial.DbGeography)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.Intersects(System.Data.Entity.Spatial.DbGeography,System.Data.Entity.Spatial.DbGeography)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.Buffer(System.Data.Entity.Spatial.DbGeography,System.Double)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.Distance(System.Data.Entity.Spatial.DbGeography,System.Data.Entity.Spatial.DbGeography)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.Intersection(System.Data.Entity.Spatial.DbGeography,System.Data.Entity.Spatial.DbGeography)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.Union(System.Data.Entity.Spatial.DbGeography,System.Data.Entity.Spatial.DbGeography)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.Difference(System.Data.Entity.Spatial.DbGeography,System.Data.Entity.Spatial.DbGeography)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.SymmetricDifference(System.Data.Entity.Spatial.DbGeography,System.Data.Entity.Spatial.DbGeography)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GetElementCount(System.Data.Entity.Spatial.DbGeography)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.ElementAt(System.Data.Entity.Spatial.DbGeography,System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GetLatitude(System.Data.Entity.Spatial.DbGeography)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GetLongitude(System.Data.Entity.Spatial.DbGeography)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GetElevation(System.Data.Entity.Spatial.DbGeography)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GetMeasure(System.Data.Entity.Spatial.DbGeography)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GetLength(System.Data.Entity.Spatial.DbGeography)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GetStartPoint(System.Data.Entity.Spatial.DbGeography)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GetEndPoint(System.Data.Entity.Spatial.DbGeography)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GetIsClosed(System.Data.Entity.Spatial.DbGeography)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GetPointCount(System.Data.Entity.Spatial.DbGeography)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.PointAt(System.Data.Entity.Spatial.DbGeography,System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GetArea(System.Data.Entity.Spatial.DbGeography)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeometryFromText(System.String)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeometryFromText(System.String,System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeometryPointFromText(System.String,System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeometryLineFromText(System.String,System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeometryPolygonFromText(System.String,System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeometryMultiPointFromText(System.String,System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeometryMultiLineFromText(System.String,System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeometryMultiPolygonFromText(System.String,System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeometryCollectionFromText(System.String,System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeometryFromBinary(System.Byte[])">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeometryFromBinary(System.Byte[],System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeometryPointFromBinary(System.Byte[],System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeometryLineFromBinary(System.Byte[],System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeometryPolygonFromBinary(System.Byte[],System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeometryMultiPointFromBinary(System.Byte[],System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeometryMultiLineFromBinary(System.Byte[],System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeometryMultiPolygonFromBinary(System.Byte[],System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeometryCollectionFromBinary(System.Byte[],System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeometryFromGml(System.String)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeometryFromGml(System.String,System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GetCoordinateSystemId(System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GetSpatialTypeName(System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GetDimension(System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GetEnvelope(System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.AsBinary(System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.AsGml(System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.AsText(System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GetIsEmpty(System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GetIsSimple(System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GetBoundary(System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GetIsValid(System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.SpatialEquals(System.Data.Entity.Spatial.DbGeometry,System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.Disjoint(System.Data.Entity.Spatial.DbGeometry,System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.Intersects(System.Data.Entity.Spatial.DbGeometry,System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.Touches(System.Data.Entity.Spatial.DbGeometry,System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.Crosses(System.Data.Entity.Spatial.DbGeometry,System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.Within(System.Data.Entity.Spatial.DbGeometry,System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.Contains(System.Data.Entity.Spatial.DbGeometry,System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.Overlaps(System.Data.Entity.Spatial.DbGeometry,System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.Relate(System.Data.Entity.Spatial.DbGeometry,System.Data.Entity.Spatial.DbGeometry,System.String)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.Buffer(System.Data.Entity.Spatial.DbGeometry,System.Double)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.Distance(System.Data.Entity.Spatial.DbGeometry,System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GetConvexHull(System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.Intersection(System.Data.Entity.Spatial.DbGeometry,System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.Union(System.Data.Entity.Spatial.DbGeometry,System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.Difference(System.Data.Entity.Spatial.DbGeometry,System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.SymmetricDifference(System.Data.Entity.Spatial.DbGeometry,System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GetElementCount(System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.ElementAt(System.Data.Entity.Spatial.DbGeometry,System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GetXCoordinate(System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GetYCoordinate(System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GetElevation(System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GetMeasure(System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GetLength(System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GetStartPoint(System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GetEndPoint(System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GetIsClosed(System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GetIsRing(System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GetPointCount(System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.PointAt(System.Data.Entity.Spatial.DbGeometry,System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GetArea(System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GetCentroid(System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GetPointOnSurface(System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GetExteriorRing(System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GetInteriorRingCount(System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.InteriorRingAt(System.Data.Entity.Spatial.DbGeometry,System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="P:System.Data.Entity.SqlServer.SqlSpatialServices.NativeTypesAvailable">
+            <inheritdoc />
+        </member>
+    </members>
+</doc>

BIN
bin/Debug/EntityFramework.dll


File diff suppressed because it is too large
+ 5356 - 0
bin/Debug/EntityFramework.xml


BIN
bin/Debug/ru/EntityFramework.resources.dll


+ 4 - 0
obj/Debug/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs

@@ -0,0 +1,4 @@
+// <autogenerated />
+using System;
+using System.Reflection;
+[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]

BIN
obj/Debug/BeautySaloon.AdmKlientForm.resources


BIN
obj/Debug/BeautySaloon.AdminAuthForm.resources


BIN
obj/Debug/BeautySaloon.AdminForm.resources


BIN
obj/Debug/BeautySaloon.AuthForm.resources


BIN
obj/Debug/BeautySaloon.EditKlientForm.resources


BIN
obj/Debug/BeautySaloon.KlientForm.resources


BIN
obj/Debug/BeautySaloon.Properties.Resources.resources


BIN
obj/Debug/BeautySaloon.ServiceEditForm.resources


BIN
obj/Debug/BeautySaloon.ServiceForm.resources


BIN
obj/Debug/BeautySaloon.csproj.AssemblyReference.cache


+ 0 - 0
obj/Debug/BeautySaloon.csproj.CopyComplete


+ 1 - 0
obj/Debug/BeautySaloon.csproj.CoreCompileInputs.cache

@@ -0,0 +1 @@
+7b3e80812d9f2206831f1f8282726b233ce54bb7

+ 23 - 0
obj/Debug/BeautySaloon.csproj.FileListAbsolute.txt

@@ -0,0 +1,23 @@
+C:\Users\user2\source\repos\BeautySaloon\bin\Debug\BeautySaloon.exe.config
+C:\Users\user2\source\repos\BeautySaloon\bin\Debug\BeautySaloon.exe
+C:\Users\user2\source\repos\BeautySaloon\bin\Debug\BeautySaloon.pdb
+C:\Users\user2\source\repos\BeautySaloon\obj\Debug\BeautySaloon.csproj.AssemblyReference.cache
+C:\Users\user2\source\repos\BeautySaloon\obj\Debug\BeautySaloon.AuthForm.resources
+C:\Users\user2\source\repos\BeautySaloon\obj\Debug\BeautySaloon.Properties.Resources.resources
+C:\Users\user2\source\repos\BeautySaloon\obj\Debug\BeautySaloon.csproj.GenerateResource.cache
+C:\Users\user2\source\repos\BeautySaloon\obj\Debug\BeautySaloon.csproj.CoreCompileInputs.cache
+C:\Users\user2\source\repos\BeautySaloon\obj\Debug\BeautySaloon.exe
+C:\Users\user2\source\repos\BeautySaloon\obj\Debug\BeautySaloon.pdb
+C:\Users\user2\source\repos\BeautySaloon\obj\Debug\BeautySaloon.KlientForm.resources
+C:\Users\user2\source\repos\BeautySaloon\bin\Debug\EntityFramework.dll
+C:\Users\user2\source\repos\BeautySaloon\bin\Debug\EntityFramework.SqlServer.dll
+C:\Users\user2\source\repos\BeautySaloon\bin\Debug\EntityFramework.xml
+C:\Users\user2\source\repos\BeautySaloon\bin\Debug\EntityFramework.SqlServer.xml
+C:\Users\user2\source\repos\BeautySaloon\bin\Debug\ru\EntityFramework.resources.dll
+C:\Users\user2\source\repos\BeautySaloon\obj\Debug\BeautySaloon.csproj.CopyComplete
+C:\Users\user2\source\repos\BeautySaloon\obj\Debug\BeautySaloon.AdminAuthForm.resources
+C:\Users\user2\source\repos\BeautySaloon\obj\Debug\BeautySaloon.AdminForm.resources
+C:\Users\user2\source\repos\BeautySaloon\obj\Debug\BeautySaloon.ServiceEditForm.resources
+C:\Users\user2\source\repos\BeautySaloon\obj\Debug\BeautySaloon.ServiceForm.resources
+C:\Users\user2\source\repos\BeautySaloon\obj\Debug\BeautySaloon.AdmKlientForm.resources
+C:\Users\user2\source\repos\BeautySaloon\obj\Debug\BeautySaloon.EditKlientForm.resources

BIN
obj/Debug/BeautySaloon.csproj.GenerateResource.cache


BIN
obj/Debug/BeautySaloon.exe


BIN
obj/Debug/BeautySaloon.pdb


BIN
obj/Debug/DesignTimeResolveAssemblyReferences.cache


BIN
obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache


+ 0 - 0
obj/Debug/TempPE/SaloonModel.Context.cs.dll


BIN
obj/Debug/TempPE/SaloonModel.Designer.cs.dll


BIN
obj/Debug/TempPE/SaloonModel.cs.dll


BIN
obj/Debug/TempPE/beauty_saloonDataSet.Designer.cs.dll


+ 356 - 0
obj/Debug/edmxResourcesToEmbed/SaloonModel.csdl

@@ -0,0 +1,356 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Schema Namespace="beauty_saloonModel" Alias="Self" annotation:UseStrongSpatialTypes="false" xmlns:annotation="http://schemas.microsoft.com/ado/2009/02/edm/annotation" xmlns:customannotation="http://schemas.microsoft.com/ado/2013/11/edm/customannotation" xmlns="http://schemas.microsoft.com/ado/2009/11/edm">
+  <EntityType Name="Client">
+    <Key>
+      <PropertyRef Name="ID" />
+    </Key>
+    <Property Name="ID" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
+    <Property Name="FirstName" Type="String" MaxLength="50" FixedLength="false" Unicode="true" Nullable="false" />
+    <Property Name="LastName" Type="String" MaxLength="50" FixedLength="false" Unicode="true" Nullable="false" />
+    <Property Name="Patronymic" Type="String" MaxLength="50" FixedLength="false" Unicode="true" />
+    <Property Name="Birthday" Type="DateTime" Precision="0" />
+    <Property Name="RegistrationDate" Type="DateTime" Nullable="false" Precision="3" />
+    <Property Name="Email" Type="String" MaxLength="255" FixedLength="false" Unicode="true" />
+    <Property Name="Phone" Type="String" MaxLength="20" FixedLength="false" Unicode="true" Nullable="false" />
+    <Property Name="GenderCode" Type="String" MaxLength="1" FixedLength="true" Unicode="true" Nullable="false" />
+    <Property Name="PhotoPath" Type="String" MaxLength="1000" FixedLength="false" Unicode="true" />
+    <NavigationProperty Name="Gender" Relationship="Self.FK_Client_Gender" FromRole="Client" ToRole="Gender" />
+    <NavigationProperty Name="ClientService" Relationship="Self.FK_ClientService_Client" FromRole="Client" ToRole="ClientService" />
+    <NavigationProperty Name="Tag" Relationship="Self.TagOfClient" FromRole="Client" ToRole="Tag" />
+  </EntityType>
+  <EntityType Name="ClientService">
+    <Key>
+      <PropertyRef Name="ID" />
+    </Key>
+    <Property Name="ID" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
+    <Property Name="ClientID" Type="Int32" Nullable="false" />
+    <Property Name="ServiceID" Type="Int32" Nullable="false" />
+    <Property Name="StartTime" Type="DateTime" Nullable="false" Precision="3" />
+    <Property Name="Comment" Type="String" MaxLength="Max" FixedLength="false" Unicode="true" />
+    <NavigationProperty Name="Client" Relationship="Self.FK_ClientService_Client" FromRole="ClientService" ToRole="Client" />
+    <NavigationProperty Name="Service" Relationship="Self.FK_ClientService_Service" FromRole="ClientService" ToRole="Service" />
+    <NavigationProperty Name="DocumentByService" Relationship="Self.FK_DocumentByService_ClientService" FromRole="ClientService" ToRole="DocumentByService" />
+    <NavigationProperty Name="ProductSale" Relationship="Self.FK_ProductSale_ClientService" FromRole="ClientService" ToRole="ProductSale" />
+  </EntityType>
+  <EntityType Name="DocumentByService">
+    <Key>
+      <PropertyRef Name="ID" />
+    </Key>
+    <Property Name="ID" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
+    <Property Name="ClientServiceID" Type="Int32" Nullable="false" />
+    <Property Name="DocumentPath" Type="String" MaxLength="1000" FixedLength="false" Unicode="true" Nullable="false" />
+    <NavigationProperty Name="ClientService" Relationship="Self.FK_DocumentByService_ClientService" FromRole="DocumentByService" ToRole="ClientService" />
+  </EntityType>
+  <EntityType Name="Gender">
+    <Key>
+      <PropertyRef Name="Code" />
+    </Key>
+    <Property Name="Code" Type="String" MaxLength="1" FixedLength="true" Unicode="true" Nullable="false" />
+    <Property Name="Name" Type="String" MaxLength="10" FixedLength="false" Unicode="true" />
+    <NavigationProperty Name="Client" Relationship="Self.FK_Client_Gender" FromRole="Gender" ToRole="Client" />
+  </EntityType>
+  <EntityType Name="Manufacturer">
+    <Key>
+      <PropertyRef Name="ID" />
+    </Key>
+    <Property Name="ID" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
+    <Property Name="Name" Type="String" MaxLength="100" FixedLength="false" Unicode="true" Nullable="false" />
+    <Property Name="StartDate" Type="DateTime" Precision="0" />
+    <NavigationProperty Name="Product" Relationship="Self.FK_Product_Manufacturer" FromRole="Manufacturer" ToRole="Product" />
+  </EntityType>
+  <EntityType Name="Product">
+    <Key>
+      <PropertyRef Name="ID" />
+    </Key>
+    <Property Name="ID" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
+    <Property Name="Title" Type="String" MaxLength="100" FixedLength="false" Unicode="true" Nullable="false" />
+    <Property Name="Cost" Type="Decimal" Precision="19" Scale="4" Nullable="false" />
+    <Property Name="Description" Type="String" MaxLength="Max" FixedLength="false" Unicode="true" />
+    <Property Name="MainImagePath" Type="String" MaxLength="1000" FixedLength="false" Unicode="true" />
+    <Property Name="IsActive" Type="Boolean" Nullable="false" />
+    <Property Name="ManufacturerID" Type="Int32" />
+    <NavigationProperty Name="Manufacturer" Relationship="Self.FK_Product_Manufacturer" FromRole="Product" ToRole="Manufacturer" />
+    <NavigationProperty Name="ProductPhoto" Relationship="Self.FK_ProductPhoto_Product" FromRole="Product" ToRole="ProductPhoto" />
+    <NavigationProperty Name="ProductSale" Relationship="Self.FK_ProductSale_Product" FromRole="Product" ToRole="ProductSale" />
+    <NavigationProperty Name="Product1" Relationship="Self.AttachedProduct" FromRole="Product" ToRole="Product1" />
+    <NavigationProperty Name="Product2" Relationship="Self.AttachedProduct" FromRole="Product1" ToRole="Product" />
+  </EntityType>
+  <EntityType Name="ProductPhoto">
+    <Key>
+      <PropertyRef Name="ID" />
+    </Key>
+    <Property Name="ID" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
+    <Property Name="ProductID" Type="Int32" Nullable="false" />
+    <Property Name="PhotoPath" Type="String" MaxLength="1000" FixedLength="false" Unicode="true" Nullable="false" />
+    <NavigationProperty Name="Product" Relationship="Self.FK_ProductPhoto_Product" FromRole="ProductPhoto" ToRole="Product" />
+  </EntityType>
+  <EntityType Name="ProductSale">
+    <Key>
+      <PropertyRef Name="ID" />
+    </Key>
+    <Property Name="ID" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
+    <Property Name="SaleDate" Type="DateTime" Nullable="false" Precision="3" />
+    <Property Name="ProductID" Type="Int32" Nullable="false" />
+    <Property Name="Quantity" Type="Int32" Nullable="false" />
+    <Property Name="ClientServiceID" Type="Int32" />
+    <NavigationProperty Name="ClientService" Relationship="Self.FK_ProductSale_ClientService" FromRole="ProductSale" ToRole="ClientService" />
+    <NavigationProperty Name="Product" Relationship="Self.FK_ProductSale_Product" FromRole="ProductSale" ToRole="Product" />
+  </EntityType>
+  <EntityType Name="Service">
+    <Key>
+      <PropertyRef Name="ID" />
+    </Key>
+    <Property Name="ID" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
+    <Property Name="Title" Type="String" MaxLength="100" FixedLength="false" Unicode="true" Nullable="false" />
+    <Property Name="Cost" Type="Decimal" Precision="19" Scale="4" Nullable="false" />
+    <Property Name="DurationInSeconds" Type="Int32" Nullable="false" />
+    <Property Name="Description" Type="String" MaxLength="Max" FixedLength="false" Unicode="true" />
+    <Property Name="Discount" Type="Double" />
+    <Property Name="MainImagePath" Type="String" MaxLength="1000" FixedLength="false" Unicode="true" />
+    <NavigationProperty Name="ClientService" Relationship="Self.FK_ClientService_Service" FromRole="Service" ToRole="ClientService" />
+    <NavigationProperty Name="ServicePhoto" Relationship="Self.FK_ServicePhoto_Service" FromRole="Service" ToRole="ServicePhoto" />
+  </EntityType>
+  <EntityType Name="ServicePhoto">
+    <Key>
+      <PropertyRef Name="ID" />
+    </Key>
+    <Property Name="ID" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
+    <Property Name="ServiceID" Type="Int32" Nullable="false" />
+    <Property Name="PhotoPath" Type="String" MaxLength="1000" FixedLength="false" Unicode="true" Nullable="false" />
+    <NavigationProperty Name="Service" Relationship="Self.FK_ServicePhoto_Service" FromRole="ServicePhoto" ToRole="Service" />
+  </EntityType>
+  <EntityType Name="sysdiagrams">
+    <Key>
+      <PropertyRef Name="diagram_id" />
+    </Key>
+    <Property Name="name" Type="String" MaxLength="128" FixedLength="false" Unicode="true" Nullable="false" />
+    <Property Name="principal_id" Type="Int32" Nullable="false" />
+    <Property Name="diagram_id" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
+    <Property Name="version" Type="Int32" />
+    <Property Name="definition" Type="Binary" MaxLength="Max" FixedLength="false" />
+  </EntityType>
+  <EntityType Name="Tag">
+    <Key>
+      <PropertyRef Name="ID" />
+    </Key>
+    <Property Name="ID" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
+    <Property Name="Title" Type="String" MaxLength="30" FixedLength="false" Unicode="true" Nullable="false" />
+    <Property Name="Color" Type="String" MaxLength="6" FixedLength="true" Unicode="true" Nullable="false" />
+    <NavigationProperty Name="Client" Relationship="Self.TagOfClient" FromRole="Tag" ToRole="Client" />
+  </EntityType>
+  <Association Name="FK_Client_Gender">
+    <End Role="Gender" Type="Self.Gender" Multiplicity="1" />
+    <End Role="Client" Type="Self.Client" Multiplicity="*" />
+    <ReferentialConstraint>
+      <Principal Role="Gender">
+        <PropertyRef Name="Code" />
+      </Principal>
+      <Dependent Role="Client">
+        <PropertyRef Name="GenderCode" />
+      </Dependent>
+    </ReferentialConstraint>
+  </Association>
+  <Association Name="FK_ClientService_Client">
+    <End Role="Client" Type="Self.Client" Multiplicity="1" />
+    <End Role="ClientService" Type="Self.ClientService" Multiplicity="*" />
+    <ReferentialConstraint>
+      <Principal Role="Client">
+        <PropertyRef Name="ID" />
+      </Principal>
+      <Dependent Role="ClientService">
+        <PropertyRef Name="ClientID" />
+      </Dependent>
+    </ReferentialConstraint>
+  </Association>
+  <Association Name="FK_ClientService_Service">
+    <End Role="Service" Type="Self.Service" Multiplicity="1" />
+    <End Role="ClientService" Type="Self.ClientService" Multiplicity="*" />
+    <ReferentialConstraint>
+      <Principal Role="Service">
+        <PropertyRef Name="ID" />
+      </Principal>
+      <Dependent Role="ClientService">
+        <PropertyRef Name="ServiceID" />
+      </Dependent>
+    </ReferentialConstraint>
+  </Association>
+  <Association Name="FK_DocumentByService_ClientService">
+    <End Role="ClientService" Type="Self.ClientService" Multiplicity="1" />
+    <End Role="DocumentByService" Type="Self.DocumentByService" Multiplicity="*" />
+    <ReferentialConstraint>
+      <Principal Role="ClientService">
+        <PropertyRef Name="ID" />
+      </Principal>
+      <Dependent Role="DocumentByService">
+        <PropertyRef Name="ClientServiceID" />
+      </Dependent>
+    </ReferentialConstraint>
+  </Association>
+  <Association Name="FK_ProductSale_ClientService">
+    <End Role="ClientService" Type="Self.ClientService" Multiplicity="0..1" />
+    <End Role="ProductSale" Type="Self.ProductSale" Multiplicity="*" />
+    <ReferentialConstraint>
+      <Principal Role="ClientService">
+        <PropertyRef Name="ID" />
+      </Principal>
+      <Dependent Role="ProductSale">
+        <PropertyRef Name="ClientServiceID" />
+      </Dependent>
+    </ReferentialConstraint>
+  </Association>
+  <Association Name="FK_Product_Manufacturer">
+    <End Role="Manufacturer" Type="Self.Manufacturer" Multiplicity="0..1" />
+    <End Role="Product" Type="Self.Product" Multiplicity="*" />
+    <ReferentialConstraint>
+      <Principal Role="Manufacturer">
+        <PropertyRef Name="ID" />
+      </Principal>
+      <Dependent Role="Product">
+        <PropertyRef Name="ManufacturerID" />
+      </Dependent>
+    </ReferentialConstraint>
+  </Association>
+  <Association Name="FK_ProductPhoto_Product">
+    <End Role="Product" Type="Self.Product" Multiplicity="1" />
+    <End Role="ProductPhoto" Type="Self.ProductPhoto" Multiplicity="*" />
+    <ReferentialConstraint>
+      <Principal Role="Product">
+        <PropertyRef Name="ID" />
+      </Principal>
+      <Dependent Role="ProductPhoto">
+        <PropertyRef Name="ProductID" />
+      </Dependent>
+    </ReferentialConstraint>
+  </Association>
+  <Association Name="FK_ProductSale_Product">
+    <End Role="Product" Type="Self.Product" Multiplicity="1" />
+    <End Role="ProductSale" Type="Self.ProductSale" Multiplicity="*" />
+    <ReferentialConstraint>
+      <Principal Role="Product">
+        <PropertyRef Name="ID" />
+      </Principal>
+      <Dependent Role="ProductSale">
+        <PropertyRef Name="ProductID" />
+      </Dependent>
+    </ReferentialConstraint>
+  </Association>
+  <Association Name="FK_ServicePhoto_Service">
+    <End Role="Service" Type="Self.Service" Multiplicity="1" />
+    <End Role="ServicePhoto" Type="Self.ServicePhoto" Multiplicity="*" />
+    <ReferentialConstraint>
+      <Principal Role="Service">
+        <PropertyRef Name="ID" />
+      </Principal>
+      <Dependent Role="ServicePhoto">
+        <PropertyRef Name="ServiceID" />
+      </Dependent>
+    </ReferentialConstraint>
+  </Association>
+  <Association Name="AttachedProduct">
+    <End Role="Product" Type="Self.Product" Multiplicity="*" />
+    <End Role="Product1" Type="Self.Product" Multiplicity="*" />
+  </Association>
+  <Association Name="TagOfClient">
+    <End Role="Client" Type="Self.Client" Multiplicity="*" />
+    <End Role="Tag" Type="Self.Tag" Multiplicity="*" />
+  </Association>
+  <EntityContainer Name="beauty_saloonEntities" annotation:LazyLoadingEnabled="true">
+    <EntitySet Name="Client" EntityType="Self.Client" />
+    <EntitySet Name="ClientService" EntityType="Self.ClientService" />
+    <EntitySet Name="DocumentByService" EntityType="Self.DocumentByService" />
+    <EntitySet Name="Gender" EntityType="Self.Gender" />
+    <EntitySet Name="Manufacturer" EntityType="Self.Manufacturer" />
+    <EntitySet Name="Product" EntityType="Self.Product" />
+    <EntitySet Name="ProductPhoto" EntityType="Self.ProductPhoto" />
+    <EntitySet Name="ProductSale" EntityType="Self.ProductSale" />
+    <EntitySet Name="Service" EntityType="Self.Service" />
+    <EntitySet Name="ServicePhoto" EntityType="Self.ServicePhoto" />
+    <EntitySet Name="sysdiagrams" EntityType="Self.sysdiagrams" />
+    <EntitySet Name="Tag" EntityType="Self.Tag" />
+    <AssociationSet Name="FK_Client_Gender" Association="Self.FK_Client_Gender">
+      <End Role="Gender" EntitySet="Gender" />
+      <End Role="Client" EntitySet="Client" />
+    </AssociationSet>
+    <AssociationSet Name="FK_ClientService_Client" Association="Self.FK_ClientService_Client">
+      <End Role="Client" EntitySet="Client" />
+      <End Role="ClientService" EntitySet="ClientService" />
+    </AssociationSet>
+    <AssociationSet Name="FK_ClientService_Service" Association="Self.FK_ClientService_Service">
+      <End Role="Service" EntitySet="Service" />
+      <End Role="ClientService" EntitySet="ClientService" />
+    </AssociationSet>
+    <AssociationSet Name="FK_DocumentByService_ClientService" Association="Self.FK_DocumentByService_ClientService">
+      <End Role="ClientService" EntitySet="ClientService" />
+      <End Role="DocumentByService" EntitySet="DocumentByService" />
+    </AssociationSet>
+    <AssociationSet Name="FK_ProductSale_ClientService" Association="Self.FK_ProductSale_ClientService">
+      <End Role="ClientService" EntitySet="ClientService" />
+      <End Role="ProductSale" EntitySet="ProductSale" />
+    </AssociationSet>
+    <AssociationSet Name="FK_Product_Manufacturer" Association="Self.FK_Product_Manufacturer">
+      <End Role="Manufacturer" EntitySet="Manufacturer" />
+      <End Role="Product" EntitySet="Product" />
+    </AssociationSet>
+    <AssociationSet Name="FK_ProductPhoto_Product" Association="Self.FK_ProductPhoto_Product">
+      <End Role="Product" EntitySet="Product" />
+      <End Role="ProductPhoto" EntitySet="ProductPhoto" />
+    </AssociationSet>
+    <AssociationSet Name="FK_ProductSale_Product" Association="Self.FK_ProductSale_Product">
+      <End Role="Product" EntitySet="Product" />
+      <End Role="ProductSale" EntitySet="ProductSale" />
+    </AssociationSet>
+    <AssociationSet Name="FK_ServicePhoto_Service" Association="Self.FK_ServicePhoto_Service">
+      <End Role="Service" EntitySet="Service" />
+      <End Role="ServicePhoto" EntitySet="ServicePhoto" />
+    </AssociationSet>
+    <AssociationSet Name="AttachedProduct" Association="Self.AttachedProduct">
+      <End Role="Product" EntitySet="Product" />
+      <End Role="Product1" EntitySet="Product" />
+    </AssociationSet>
+    <AssociationSet Name="TagOfClient" Association="Self.TagOfClient">
+      <End Role="Client" EntitySet="Client" />
+      <End Role="Tag" EntitySet="Tag" />
+    </AssociationSet>
+    <FunctionImport Name="sp_alterdiagram">
+      <Parameter Name="diagramname" Mode="In" Type="String" />
+      <Parameter Name="owner_id" Mode="In" Type="Int32" />
+      <Parameter Name="version" Mode="In" Type="Int32" />
+      <Parameter Name="definition" Mode="In" Type="Binary" />
+    </FunctionImport>
+    <FunctionImport Name="sp_creatediagram">
+      <Parameter Name="diagramname" Mode="In" Type="String" />
+      <Parameter Name="owner_id" Mode="In" Type="Int32" />
+      <Parameter Name="version" Mode="In" Type="Int32" />
+      <Parameter Name="definition" Mode="In" Type="Binary" />
+    </FunctionImport>
+    <FunctionImport Name="sp_dropdiagram">
+      <Parameter Name="diagramname" Mode="In" Type="String" />
+      <Parameter Name="owner_id" Mode="In" Type="Int32" />
+    </FunctionImport>
+    <FunctionImport Name="sp_helpdiagramdefinition" ReturnType="Collection(beauty_saloonModel.sp_helpdiagramdefinition_Result)">
+      <Parameter Name="diagramname" Mode="In" Type="String" />
+      <Parameter Name="owner_id" Mode="In" Type="Int32" />
+    </FunctionImport>
+    <FunctionImport Name="sp_helpdiagrams" ReturnType="Collection(beauty_saloonModel.sp_helpdiagrams_Result)">
+      <Parameter Name="diagramname" Mode="In" Type="String" />
+      <Parameter Name="owner_id" Mode="In" Type="Int32" />
+    </FunctionImport>
+    <FunctionImport Name="sp_renamediagram">
+      <Parameter Name="diagramname" Mode="In" Type="String" />
+      <Parameter Name="owner_id" Mode="In" Type="Int32" />
+      <Parameter Name="new_diagramname" Mode="In" Type="String" />
+    </FunctionImport>
+    <FunctionImport Name="sp_upgraddiagrams" />
+  </EntityContainer>
+  <ComplexType Name="sp_helpdiagramdefinition_Result">
+    <Property Type="Int32" Name="version" Nullable="true" />
+    <Property Type="Binary" Name="definition" Nullable="true" />
+  </ComplexType>
+  <ComplexType Name="sp_helpdiagrams_Result">
+    <Property Type="String" Name="Database" Nullable="true" MaxLength="128" />
+    <Property Type="String" Name="Name" Nullable="false" MaxLength="128" />
+    <Property Type="Int32" Name="ID" Nullable="false" />
+    <Property Type="String" Name="Owner" Nullable="true" MaxLength="128" />
+    <Property Type="Int32" Name="OwnerID" Nullable="false" />
+  </ComplexType>
+</Schema>

+ 173 - 0
obj/Debug/edmxResourcesToEmbed/SaloonModel.msl

@@ -0,0 +1,173 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Mapping Space="C-S" xmlns="http://schemas.microsoft.com/ado/2009/11/mapping/cs">
+  <EntityContainerMapping StorageEntityContainer="Хранилище beauty_saloonModelContainer" CdmEntityContainer="beauty_saloonEntities">
+    <EntitySetMapping Name="Client">
+      <EntityTypeMapping TypeName="beauty_saloonModel.Client">
+        <MappingFragment StoreEntitySet="Client">
+          <ScalarProperty Name="ID" ColumnName="ID" />
+          <ScalarProperty Name="FirstName" ColumnName="FirstName" />
+          <ScalarProperty Name="LastName" ColumnName="LastName" />
+          <ScalarProperty Name="Patronymic" ColumnName="Patronymic" />
+          <ScalarProperty Name="Birthday" ColumnName="Birthday" />
+          <ScalarProperty Name="RegistrationDate" ColumnName="RegistrationDate" />
+          <ScalarProperty Name="Email" ColumnName="Email" />
+          <ScalarProperty Name="Phone" ColumnName="Phone" />
+          <ScalarProperty Name="GenderCode" ColumnName="GenderCode" />
+          <ScalarProperty Name="PhotoPath" ColumnName="PhotoPath" />
+        </MappingFragment>
+      </EntityTypeMapping>
+    </EntitySetMapping>
+    <EntitySetMapping Name="ClientService">
+      <EntityTypeMapping TypeName="beauty_saloonModel.ClientService">
+        <MappingFragment StoreEntitySet="ClientService">
+          <ScalarProperty Name="ID" ColumnName="ID" />
+          <ScalarProperty Name="ClientID" ColumnName="ClientID" />
+          <ScalarProperty Name="ServiceID" ColumnName="ServiceID" />
+          <ScalarProperty Name="StartTime" ColumnName="StartTime" />
+          <ScalarProperty Name="Comment" ColumnName="Comment" />
+        </MappingFragment>
+      </EntityTypeMapping>
+    </EntitySetMapping>
+    <EntitySetMapping Name="DocumentByService">
+      <EntityTypeMapping TypeName="beauty_saloonModel.DocumentByService">
+        <MappingFragment StoreEntitySet="DocumentByService">
+          <ScalarProperty Name="ID" ColumnName="ID" />
+          <ScalarProperty Name="ClientServiceID" ColumnName="ClientServiceID" />
+          <ScalarProperty Name="DocumentPath" ColumnName="DocumentPath" />
+        </MappingFragment>
+      </EntityTypeMapping>
+    </EntitySetMapping>
+    <EntitySetMapping Name="Gender">
+      <EntityTypeMapping TypeName="beauty_saloonModel.Gender">
+        <MappingFragment StoreEntitySet="Gender">
+          <ScalarProperty Name="Code" ColumnName="Code" />
+          <ScalarProperty Name="Name" ColumnName="Name" />
+        </MappingFragment>
+      </EntityTypeMapping>
+    </EntitySetMapping>
+    <EntitySetMapping Name="Manufacturer">
+      <EntityTypeMapping TypeName="beauty_saloonModel.Manufacturer">
+        <MappingFragment StoreEntitySet="Manufacturer">
+          <ScalarProperty Name="ID" ColumnName="ID" />
+          <ScalarProperty Name="Name" ColumnName="Name" />
+          <ScalarProperty Name="StartDate" ColumnName="StartDate" />
+        </MappingFragment>
+      </EntityTypeMapping>
+    </EntitySetMapping>
+    <EntitySetMapping Name="Product">
+      <EntityTypeMapping TypeName="beauty_saloonModel.Product">
+        <MappingFragment StoreEntitySet="Product">
+          <ScalarProperty Name="ID" ColumnName="ID" />
+          <ScalarProperty Name="Title" ColumnName="Title" />
+          <ScalarProperty Name="Cost" ColumnName="Cost" />
+          <ScalarProperty Name="Description" ColumnName="Description" />
+          <ScalarProperty Name="MainImagePath" ColumnName="MainImagePath" />
+          <ScalarProperty Name="IsActive" ColumnName="IsActive" />
+          <ScalarProperty Name="ManufacturerID" ColumnName="ManufacturerID" />
+        </MappingFragment>
+      </EntityTypeMapping>
+    </EntitySetMapping>
+    <EntitySetMapping Name="ProductPhoto">
+      <EntityTypeMapping TypeName="beauty_saloonModel.ProductPhoto">
+        <MappingFragment StoreEntitySet="ProductPhoto">
+          <ScalarProperty Name="ID" ColumnName="ID" />
+          <ScalarProperty Name="ProductID" ColumnName="ProductID" />
+          <ScalarProperty Name="PhotoPath" ColumnName="PhotoPath" />
+        </MappingFragment>
+      </EntityTypeMapping>
+    </EntitySetMapping>
+    <EntitySetMapping Name="ProductSale">
+      <EntityTypeMapping TypeName="beauty_saloonModel.ProductSale">
+        <MappingFragment StoreEntitySet="ProductSale">
+          <ScalarProperty Name="ID" ColumnName="ID" />
+          <ScalarProperty Name="SaleDate" ColumnName="SaleDate" />
+          <ScalarProperty Name="ProductID" ColumnName="ProductID" />
+          <ScalarProperty Name="Quantity" ColumnName="Quantity" />
+          <ScalarProperty Name="ClientServiceID" ColumnName="ClientServiceID" />
+        </MappingFragment>
+      </EntityTypeMapping>
+    </EntitySetMapping>
+    <EntitySetMapping Name="Service">
+      <EntityTypeMapping TypeName="beauty_saloonModel.Service">
+        <MappingFragment StoreEntitySet="Service">
+          <ScalarProperty Name="ID" ColumnName="ID" />
+          <ScalarProperty Name="Title" ColumnName="Title" />
+          <ScalarProperty Name="Cost" ColumnName="Cost" />
+          <ScalarProperty Name="DurationInSeconds" ColumnName="DurationInSeconds" />
+          <ScalarProperty Name="Description" ColumnName="Description" />
+          <ScalarProperty Name="Discount" ColumnName="Discount" />
+          <ScalarProperty Name="MainImagePath" ColumnName="MainImagePath" />
+        </MappingFragment>
+      </EntityTypeMapping>
+    </EntitySetMapping>
+    <EntitySetMapping Name="ServicePhoto">
+      <EntityTypeMapping TypeName="beauty_saloonModel.ServicePhoto">
+        <MappingFragment StoreEntitySet="ServicePhoto">
+          <ScalarProperty Name="ID" ColumnName="ID" />
+          <ScalarProperty Name="ServiceID" ColumnName="ServiceID" />
+          <ScalarProperty Name="PhotoPath" ColumnName="PhotoPath" />
+        </MappingFragment>
+      </EntityTypeMapping>
+    </EntitySetMapping>
+    <EntitySetMapping Name="sysdiagrams">
+      <EntityTypeMapping TypeName="beauty_saloonModel.sysdiagrams">
+        <MappingFragment StoreEntitySet="sysdiagrams">
+          <ScalarProperty Name="name" ColumnName="name" />
+          <ScalarProperty Name="principal_id" ColumnName="principal_id" />
+          <ScalarProperty Name="diagram_id" ColumnName="diagram_id" />
+          <ScalarProperty Name="version" ColumnName="version" />
+          <ScalarProperty Name="definition" ColumnName="definition" />
+        </MappingFragment>
+      </EntityTypeMapping>
+    </EntitySetMapping>
+    <EntitySetMapping Name="Tag">
+      <EntityTypeMapping TypeName="beauty_saloonModel.Tag">
+        <MappingFragment StoreEntitySet="Tag">
+          <ScalarProperty Name="ID" ColumnName="ID" />
+          <ScalarProperty Name="Title" ColumnName="Title" />
+          <ScalarProperty Name="Color" ColumnName="Color" />
+        </MappingFragment>
+      </EntityTypeMapping>
+    </EntitySetMapping>
+    <AssociationSetMapping Name="AttachedProduct" TypeName="beauty_saloonModel.AttachedProduct" StoreEntitySet="AttachedProduct">
+      <EndProperty Name="Product">
+        <ScalarProperty Name="ID" ColumnName="MainProductID" />
+      </EndProperty>
+      <EndProperty Name="Product1">
+        <ScalarProperty Name="ID" ColumnName="AttachedProductID" />
+      </EndProperty>
+    </AssociationSetMapping>
+    <AssociationSetMapping Name="TagOfClient" TypeName="beauty_saloonModel.TagOfClient" StoreEntitySet="TagOfClient">
+      <EndProperty Name="Client">
+        <ScalarProperty Name="ID" ColumnName="ClientID" />
+      </EndProperty>
+      <EndProperty Name="Tag">
+        <ScalarProperty Name="ID" ColumnName="TagID" />
+      </EndProperty>
+    </AssociationSetMapping>
+    <FunctionImportMapping FunctionImportName="sp_alterdiagram" FunctionName="Хранилище beauty_saloonModel.sp_alterdiagram" />
+    <FunctionImportMapping FunctionImportName="sp_creatediagram" FunctionName="Хранилище beauty_saloonModel.sp_creatediagram" />
+    <FunctionImportMapping FunctionImportName="sp_dropdiagram" FunctionName="Хранилище beauty_saloonModel.sp_dropdiagram" />
+    <FunctionImportMapping FunctionImportName="sp_helpdiagramdefinition" FunctionName="Хранилище beauty_saloonModel.sp_helpdiagramdefinition">
+      <ResultMapping>
+        <ComplexTypeMapping TypeName="beauty_saloonModel.sp_helpdiagramdefinition_Result">
+          <ScalarProperty Name="version" ColumnName="version" />
+          <ScalarProperty Name="definition" ColumnName="definition" />
+        </ComplexTypeMapping>
+      </ResultMapping>
+    </FunctionImportMapping>
+    <FunctionImportMapping FunctionImportName="sp_helpdiagrams" FunctionName="Хранилище beauty_saloonModel.sp_helpdiagrams">
+      <ResultMapping>
+        <ComplexTypeMapping TypeName="beauty_saloonModel.sp_helpdiagrams_Result">
+          <ScalarProperty Name="Database" ColumnName="Database" />
+          <ScalarProperty Name="Name" ColumnName="Name" />
+          <ScalarProperty Name="ID" ColumnName="ID" />
+          <ScalarProperty Name="Owner" ColumnName="Owner" />
+          <ScalarProperty Name="OwnerID" ColumnName="OwnerID" />
+        </ComplexTypeMapping>
+      </ResultMapping>
+    </FunctionImportMapping>
+    <FunctionImportMapping FunctionImportName="sp_renamediagram" FunctionName="Хранилище beauty_saloonModel.sp_renamediagram" />
+    <FunctionImportMapping FunctionImportName="sp_upgraddiagrams" FunctionName="Хранилище beauty_saloonModel.sp_upgraddiagrams" />
+  </EntityContainerMapping>
+</Mapping>

+ 390 - 0
obj/Debug/edmxResourcesToEmbed/SaloonModel.ssdl

@@ -0,0 +1,390 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Schema Namespace="Хранилище beauty_saloonModel" Provider="System.Data.SqlClient" ProviderManifestToken="2012" Alias="Self" xmlns:store="http://schemas.microsoft.com/ado/2007/12/edm/EntityStoreSchemaGenerator" xmlns:customannotation="http://schemas.microsoft.com/ado/2013/11/edm/customannotation" xmlns="http://schemas.microsoft.com/ado/2009/11/edm/ssdl">
+  <EntityType Name="AttachedProduct">
+    <Key>
+      <PropertyRef Name="MainProductID" />
+      <PropertyRef Name="AttachedProductID" />
+    </Key>
+    <Property Name="MainProductID" Type="int" Nullable="false" />
+    <Property Name="AttachedProductID" Type="int" Nullable="false" />
+  </EntityType>
+  <EntityType Name="Client">
+    <Key>
+      <PropertyRef Name="ID" />
+    </Key>
+    <Property Name="ID" Type="int" StoreGeneratedPattern="Identity" Nullable="false" />
+    <Property Name="FirstName" Type="nvarchar" MaxLength="50" Nullable="false" />
+    <Property Name="LastName" Type="nvarchar" MaxLength="50" Nullable="false" />
+    <Property Name="Patronymic" Type="nvarchar" MaxLength="50" />
+    <Property Name="Birthday" Type="date" />
+    <Property Name="RegistrationDate" Type="datetime" Nullable="false" />
+    <Property Name="Email" Type="nvarchar" MaxLength="255" />
+    <Property Name="Phone" Type="nvarchar" MaxLength="20" Nullable="false" />
+    <Property Name="GenderCode" Type="nchar" MaxLength="1" Nullable="false" />
+    <Property Name="PhotoPath" Type="nvarchar" MaxLength="1000" />
+  </EntityType>
+  <EntityType Name="ClientService">
+    <Key>
+      <PropertyRef Name="ID" />
+    </Key>
+    <Property Name="ID" Type="int" StoreGeneratedPattern="Identity" Nullable="false" />
+    <Property Name="ClientID" Type="int" Nullable="false" />
+    <Property Name="ServiceID" Type="int" Nullable="false" />
+    <Property Name="StartTime" Type="datetime" Nullable="false" />
+    <Property Name="Comment" Type="nvarchar(max)" />
+  </EntityType>
+  <EntityType Name="DocumentByService">
+    <Key>
+      <PropertyRef Name="ID" />
+    </Key>
+    <Property Name="ID" Type="int" StoreGeneratedPattern="Identity" Nullable="false" />
+    <Property Name="ClientServiceID" Type="int" Nullable="false" />
+    <Property Name="DocumentPath" Type="nvarchar" MaxLength="1000" Nullable="false" />
+  </EntityType>
+  <EntityType Name="Gender">
+    <Key>
+      <PropertyRef Name="Code" />
+    </Key>
+    <Property Name="Code" Type="nchar" MaxLength="1" Nullable="false" />
+    <Property Name="Name" Type="nvarchar" MaxLength="10" />
+  </EntityType>
+  <EntityType Name="Manufacturer">
+    <Key>
+      <PropertyRef Name="ID" />
+    </Key>
+    <Property Name="ID" Type="int" StoreGeneratedPattern="Identity" Nullable="false" />
+    <Property Name="Name" Type="nvarchar" MaxLength="100" Nullable="false" />
+    <Property Name="StartDate" Type="date" />
+  </EntityType>
+  <EntityType Name="Product">
+    <Key>
+      <PropertyRef Name="ID" />
+    </Key>
+    <Property Name="ID" Type="int" StoreGeneratedPattern="Identity" Nullable="false" />
+    <Property Name="Title" Type="nvarchar" MaxLength="100" Nullable="false" />
+    <Property Name="Cost" Type="money" Nullable="false" />
+    <Property Name="Description" Type="nvarchar(max)" />
+    <Property Name="MainImagePath" Type="nvarchar" MaxLength="1000" />
+    <Property Name="IsActive" Type="bit" Nullable="false" />
+    <Property Name="ManufacturerID" Type="int" />
+  </EntityType>
+  <EntityType Name="ProductPhoto">
+    <Key>
+      <PropertyRef Name="ID" />
+    </Key>
+    <Property Name="ID" Type="int" StoreGeneratedPattern="Identity" Nullable="false" />
+    <Property Name="ProductID" Type="int" Nullable="false" />
+    <Property Name="PhotoPath" Type="nvarchar" MaxLength="1000" Nullable="false" />
+  </EntityType>
+  <EntityType Name="ProductSale">
+    <Key>
+      <PropertyRef Name="ID" />
+    </Key>
+    <Property Name="ID" Type="int" StoreGeneratedPattern="Identity" Nullable="false" />
+    <Property Name="SaleDate" Type="datetime" Nullable="false" />
+    <Property Name="ProductID" Type="int" Nullable="false" />
+    <Property Name="Quantity" Type="int" Nullable="false" />
+    <Property Name="ClientServiceID" Type="int" />
+  </EntityType>
+  <EntityType Name="Service">
+    <Key>
+      <PropertyRef Name="ID" />
+    </Key>
+    <Property Name="ID" Type="int" StoreGeneratedPattern="Identity" Nullable="false" />
+    <Property Name="Title" Type="nvarchar" MaxLength="100" Nullable="false" />
+    <Property Name="Cost" Type="money" Nullable="false" />
+    <Property Name="DurationInSeconds" Type="int" Nullable="false" />
+    <Property Name="Description" Type="nvarchar(max)" />
+    <Property Name="Discount" Type="float" />
+    <Property Name="MainImagePath" Type="nvarchar" MaxLength="1000" />
+  </EntityType>
+  <EntityType Name="ServicePhoto">
+    <Key>
+      <PropertyRef Name="ID" />
+    </Key>
+    <Property Name="ID" Type="int" StoreGeneratedPattern="Identity" Nullable="false" />
+    <Property Name="ServiceID" Type="int" Nullable="false" />
+    <Property Name="PhotoPath" Type="nvarchar" MaxLength="1000" Nullable="false" />
+  </EntityType>
+  <EntityType Name="sysdiagrams">
+    <Key>
+      <PropertyRef Name="diagram_id" />
+    </Key>
+    <Property Name="name" Type="nvarchar" MaxLength="128" Nullable="false" />
+    <Property Name="principal_id" Type="int" Nullable="false" />
+    <Property Name="diagram_id" Type="int" StoreGeneratedPattern="Identity" Nullable="false" />
+    <Property Name="version" Type="int" />
+    <Property Name="definition" Type="varbinary(max)" />
+  </EntityType>
+  <EntityType Name="Tag">
+    <Key>
+      <PropertyRef Name="ID" />
+    </Key>
+    <Property Name="ID" Type="int" StoreGeneratedPattern="Identity" Nullable="false" />
+    <Property Name="Title" Type="nvarchar" MaxLength="30" Nullable="false" />
+    <Property Name="Color" Type="nchar" MaxLength="6" Nullable="false" />
+  </EntityType>
+  <EntityType Name="TagOfClient">
+    <Key>
+      <PropertyRef Name="ClientID" />
+      <PropertyRef Name="TagID" />
+    </Key>
+    <Property Name="ClientID" Type="int" Nullable="false" />
+    <Property Name="TagID" Type="int" Nullable="false" />
+  </EntityType>
+  <Association Name="FK_AttachedProduct_Product">
+    <End Role="Product" Type="Self.Product" Multiplicity="1" />
+    <End Role="AttachedProduct" Type="Self.AttachedProduct" Multiplicity="*" />
+    <ReferentialConstraint>
+      <Principal Role="Product">
+        <PropertyRef Name="ID" />
+      </Principal>
+      <Dependent Role="AttachedProduct">
+        <PropertyRef Name="MainProductID" />
+      </Dependent>
+    </ReferentialConstraint>
+  </Association>
+  <Association Name="FK_AttachedProduct_Product1">
+    <End Role="Product" Type="Self.Product" Multiplicity="1" />
+    <End Role="AttachedProduct" Type="Self.AttachedProduct" Multiplicity="*" />
+    <ReferentialConstraint>
+      <Principal Role="Product">
+        <PropertyRef Name="ID" />
+      </Principal>
+      <Dependent Role="AttachedProduct">
+        <PropertyRef Name="AttachedProductID" />
+      </Dependent>
+    </ReferentialConstraint>
+  </Association>
+  <Association Name="FK_Client_Gender">
+    <End Role="Gender" Type="Self.Gender" Multiplicity="1" />
+    <End Role="Client" Type="Self.Client" Multiplicity="*" />
+    <ReferentialConstraint>
+      <Principal Role="Gender">
+        <PropertyRef Name="Code" />
+      </Principal>
+      <Dependent Role="Client">
+        <PropertyRef Name="GenderCode" />
+      </Dependent>
+    </ReferentialConstraint>
+  </Association>
+  <Association Name="FK_ClientService_Client">
+    <End Role="Client" Type="Self.Client" Multiplicity="1" />
+    <End Role="ClientService" Type="Self.ClientService" Multiplicity="*" />
+    <ReferentialConstraint>
+      <Principal Role="Client">
+        <PropertyRef Name="ID" />
+      </Principal>
+      <Dependent Role="ClientService">
+        <PropertyRef Name="ClientID" />
+      </Dependent>
+    </ReferentialConstraint>
+  </Association>
+  <Association Name="FK_ClientService_Service">
+    <End Role="Service" Type="Self.Service" Multiplicity="1" />
+    <End Role="ClientService" Type="Self.ClientService" Multiplicity="*" />
+    <ReferentialConstraint>
+      <Principal Role="Service">
+        <PropertyRef Name="ID" />
+      </Principal>
+      <Dependent Role="ClientService">
+        <PropertyRef Name="ServiceID" />
+      </Dependent>
+    </ReferentialConstraint>
+  </Association>
+  <Association Name="FK_DocumentByService_ClientService">
+    <End Role="ClientService" Type="Self.ClientService" Multiplicity="1" />
+    <End Role="DocumentByService" Type="Self.DocumentByService" Multiplicity="*" />
+    <ReferentialConstraint>
+      <Principal Role="ClientService">
+        <PropertyRef Name="ID" />
+      </Principal>
+      <Dependent Role="DocumentByService">
+        <PropertyRef Name="ClientServiceID" />
+      </Dependent>
+    </ReferentialConstraint>
+  </Association>
+  <Association Name="FK_Product_Manufacturer">
+    <End Role="Manufacturer" Type="Self.Manufacturer" Multiplicity="0..1" />
+    <End Role="Product" Type="Self.Product" Multiplicity="*" />
+    <ReferentialConstraint>
+      <Principal Role="Manufacturer">
+        <PropertyRef Name="ID" />
+      </Principal>
+      <Dependent Role="Product">
+        <PropertyRef Name="ManufacturerID" />
+      </Dependent>
+    </ReferentialConstraint>
+  </Association>
+  <Association Name="FK_ProductPhoto_Product">
+    <End Role="Product" Type="Self.Product" Multiplicity="1" />
+    <End Role="ProductPhoto" Type="Self.ProductPhoto" Multiplicity="*" />
+    <ReferentialConstraint>
+      <Principal Role="Product">
+        <PropertyRef Name="ID" />
+      </Principal>
+      <Dependent Role="ProductPhoto">
+        <PropertyRef Name="ProductID" />
+      </Dependent>
+    </ReferentialConstraint>
+  </Association>
+  <Association Name="FK_ProductSale_ClientService">
+    <End Role="ClientService" Type="Self.ClientService" Multiplicity="0..1" />
+    <End Role="ProductSale" Type="Self.ProductSale" Multiplicity="*" />
+    <ReferentialConstraint>
+      <Principal Role="ClientService">
+        <PropertyRef Name="ID" />
+      </Principal>
+      <Dependent Role="ProductSale">
+        <PropertyRef Name="ClientServiceID" />
+      </Dependent>
+    </ReferentialConstraint>
+  </Association>
+  <Association Name="FK_ProductSale_Product">
+    <End Role="Product" Type="Self.Product" Multiplicity="1" />
+    <End Role="ProductSale" Type="Self.ProductSale" Multiplicity="*" />
+    <ReferentialConstraint>
+      <Principal Role="Product">
+        <PropertyRef Name="ID" />
+      </Principal>
+      <Dependent Role="ProductSale">
+        <PropertyRef Name="ProductID" />
+      </Dependent>
+    </ReferentialConstraint>
+  </Association>
+  <Association Name="FK_ServicePhoto_Service">
+    <End Role="Service" Type="Self.Service" Multiplicity="1" />
+    <End Role="ServicePhoto" Type="Self.ServicePhoto" Multiplicity="*" />
+    <ReferentialConstraint>
+      <Principal Role="Service">
+        <PropertyRef Name="ID" />
+      </Principal>
+      <Dependent Role="ServicePhoto">
+        <PropertyRef Name="ServiceID" />
+      </Dependent>
+    </ReferentialConstraint>
+  </Association>
+  <Association Name="FK_TagOfClient_Client">
+    <End Role="Client" Type="Self.Client" Multiplicity="1" />
+    <End Role="TagOfClient" Type="Self.TagOfClient" Multiplicity="*" />
+    <ReferentialConstraint>
+      <Principal Role="Client">
+        <PropertyRef Name="ID" />
+      </Principal>
+      <Dependent Role="TagOfClient">
+        <PropertyRef Name="ClientID" />
+      </Dependent>
+    </ReferentialConstraint>
+  </Association>
+  <Association Name="FK_TagOfClient_Tag">
+    <End Role="Tag" Type="Self.Tag" Multiplicity="1" />
+    <End Role="TagOfClient" Type="Self.TagOfClient" Multiplicity="*" />
+    <ReferentialConstraint>
+      <Principal Role="Tag">
+        <PropertyRef Name="ID" />
+      </Principal>
+      <Dependent Role="TagOfClient">
+        <PropertyRef Name="TagID" />
+      </Dependent>
+    </ReferentialConstraint>
+  </Association>
+  <Function Name="fn_diagramobjects" Aggregate="false" BuiltIn="false" NiladicFunction="false" IsComposable="true" ParameterTypeSemantics="AllowImplicitConversion" Schema="dbo" ReturnType="int" />
+  <Function Name="sp_alterdiagram" Aggregate="false" BuiltIn="false" NiladicFunction="false" IsComposable="false" ParameterTypeSemantics="AllowImplicitConversion" Schema="dbo">
+    <Parameter Name="diagramname" Type="nvarchar" Mode="In" />
+    <Parameter Name="owner_id" Type="int" Mode="In" />
+    <Parameter Name="version" Type="int" Mode="In" />
+    <Parameter Name="definition" Type="varbinary(max)" Mode="In" />
+  </Function>
+  <Function Name="sp_creatediagram" Aggregate="false" BuiltIn="false" NiladicFunction="false" IsComposable="false" ParameterTypeSemantics="AllowImplicitConversion" Schema="dbo">
+    <Parameter Name="diagramname" Type="nvarchar" Mode="In" />
+    <Parameter Name="owner_id" Type="int" Mode="In" />
+    <Parameter Name="version" Type="int" Mode="In" />
+    <Parameter Name="definition" Type="varbinary(max)" Mode="In" />
+  </Function>
+  <Function Name="sp_dropdiagram" Aggregate="false" BuiltIn="false" NiladicFunction="false" IsComposable="false" ParameterTypeSemantics="AllowImplicitConversion" Schema="dbo">
+    <Parameter Name="diagramname" Type="nvarchar" Mode="In" />
+    <Parameter Name="owner_id" Type="int" Mode="In" />
+  </Function>
+  <Function Name="sp_helpdiagramdefinition" Aggregate="false" BuiltIn="false" NiladicFunction="false" IsComposable="false" ParameterTypeSemantics="AllowImplicitConversion" Schema="dbo">
+    <Parameter Name="diagramname" Type="nvarchar" Mode="In" />
+    <Parameter Name="owner_id" Type="int" Mode="In" />
+  </Function>
+  <Function Name="sp_helpdiagrams" Aggregate="false" BuiltIn="false" NiladicFunction="false" IsComposable="false" ParameterTypeSemantics="AllowImplicitConversion" Schema="dbo">
+    <Parameter Name="diagramname" Type="nvarchar" Mode="In" />
+    <Parameter Name="owner_id" Type="int" Mode="In" />
+  </Function>
+  <Function Name="sp_renamediagram" Aggregate="false" BuiltIn="false" NiladicFunction="false" IsComposable="false" ParameterTypeSemantics="AllowImplicitConversion" Schema="dbo">
+    <Parameter Name="diagramname" Type="nvarchar" Mode="In" />
+    <Parameter Name="owner_id" Type="int" Mode="In" />
+    <Parameter Name="new_diagramname" Type="nvarchar" Mode="In" />
+  </Function>
+  <Function Name="sp_upgraddiagrams" Aggregate="false" BuiltIn="false" NiladicFunction="false" IsComposable="false" ParameterTypeSemantics="AllowImplicitConversion" Schema="dbo" />
+  <EntityContainer Name="Хранилище beauty_saloonModelContainer">
+    <EntitySet Name="AttachedProduct" EntityType="Self.AttachedProduct" Schema="dbo" store:Type="Tables" />
+    <EntitySet Name="Client" EntityType="Self.Client" Schema="dbo" store:Type="Tables" />
+    <EntitySet Name="ClientService" EntityType="Self.ClientService" Schema="dbo" store:Type="Tables" />
+    <EntitySet Name="DocumentByService" EntityType="Self.DocumentByService" Schema="dbo" store:Type="Tables" />
+    <EntitySet Name="Gender" EntityType="Self.Gender" Schema="dbo" store:Type="Tables" />
+    <EntitySet Name="Manufacturer" EntityType="Self.Manufacturer" Schema="dbo" store:Type="Tables" />
+    <EntitySet Name="Product" EntityType="Self.Product" Schema="dbo" store:Type="Tables" />
+    <EntitySet Name="ProductPhoto" EntityType="Self.ProductPhoto" Schema="dbo" store:Type="Tables" />
+    <EntitySet Name="ProductSale" EntityType="Self.ProductSale" Schema="dbo" store:Type="Tables" />
+    <EntitySet Name="Service" EntityType="Self.Service" Schema="dbo" store:Type="Tables" />
+    <EntitySet Name="ServicePhoto" EntityType="Self.ServicePhoto" Schema="dbo" store:Type="Tables" />
+    <EntitySet Name="sysdiagrams" EntityType="Self.sysdiagrams" Schema="dbo" store:Type="Tables" />
+    <EntitySet Name="Tag" EntityType="Self.Tag" Schema="dbo" store:Type="Tables" />
+    <EntitySet Name="TagOfClient" EntityType="Self.TagOfClient" Schema="dbo" store:Type="Tables" />
+    <AssociationSet Name="FK_AttachedProduct_Product" Association="Self.FK_AttachedProduct_Product">
+      <End Role="Product" EntitySet="Product" />
+      <End Role="AttachedProduct" EntitySet="AttachedProduct" />
+    </AssociationSet>
+    <AssociationSet Name="FK_AttachedProduct_Product1" Association="Self.FK_AttachedProduct_Product1">
+      <End Role="Product" EntitySet="Product" />
+      <End Role="AttachedProduct" EntitySet="AttachedProduct" />
+    </AssociationSet>
+    <AssociationSet Name="FK_Client_Gender" Association="Self.FK_Client_Gender">
+      <End Role="Gender" EntitySet="Gender" />
+      <End Role="Client" EntitySet="Client" />
+    </AssociationSet>
+    <AssociationSet Name="FK_ClientService_Client" Association="Self.FK_ClientService_Client">
+      <End Role="Client" EntitySet="Client" />
+      <End Role="ClientService" EntitySet="ClientService" />
+    </AssociationSet>
+    <AssociationSet Name="FK_ClientService_Service" Association="Self.FK_ClientService_Service">
+      <End Role="Service" EntitySet="Service" />
+      <End Role="ClientService" EntitySet="ClientService" />
+    </AssociationSet>
+    <AssociationSet Name="FK_DocumentByService_ClientService" Association="Self.FK_DocumentByService_ClientService">
+      <End Role="ClientService" EntitySet="ClientService" />
+      <End Role="DocumentByService" EntitySet="DocumentByService" />
+    </AssociationSet>
+    <AssociationSet Name="FK_Product_Manufacturer" Association="Self.FK_Product_Manufacturer">
+      <End Role="Manufacturer" EntitySet="Manufacturer" />
+      <End Role="Product" EntitySet="Product" />
+    </AssociationSet>
+    <AssociationSet Name="FK_ProductPhoto_Product" Association="Self.FK_ProductPhoto_Product">
+      <End Role="Product" EntitySet="Product" />
+      <End Role="ProductPhoto" EntitySet="ProductPhoto" />
+    </AssociationSet>
+    <AssociationSet Name="FK_ProductSale_ClientService" Association="Self.FK_ProductSale_ClientService">
+      <End Role="ClientService" EntitySet="ClientService" />
+      <End Role="ProductSale" EntitySet="ProductSale" />
+    </AssociationSet>
+    <AssociationSet Name="FK_ProductSale_Product" Association="Self.FK_ProductSale_Product">
+      <End Role="Product" EntitySet="Product" />
+      <End Role="ProductSale" EntitySet="ProductSale" />
+    </AssociationSet>
+    <AssociationSet Name="FK_ServicePhoto_Service" Association="Self.FK_ServicePhoto_Service">
+      <End Role="Service" EntitySet="Service" />
+      <End Role="ServicePhoto" EntitySet="ServicePhoto" />
+    </AssociationSet>
+    <AssociationSet Name="FK_TagOfClient_Client" Association="Self.FK_TagOfClient_Client">
+      <End Role="Client" EntitySet="Client" />
+      <End Role="TagOfClient" EntitySet="TagOfClient" />
+    </AssociationSet>
+    <AssociationSet Name="FK_TagOfClient_Tag" Association="Self.FK_TagOfClient_Tag">
+      <End Role="Tag" EntitySet="Tag" />
+      <End Role="TagOfClient" EntitySet="TagOfClient" />
+    </AssociationSet>
+  </EntityContainer>
+</Schema>

+ 5 - 0
packages.config

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<packages>
+  <package id="EntityFramework" version="6.2.0" targetFramework="net472" />
+  <package id="EntityFramework.ru" version="6.2.0" targetFramework="net472" />
+</packages>

+ 5 - 0
packages/EntityFramework.6.2.0/Content/net40/App.config.transform

@@ -0,0 +1,5 @@
+<configuration>
+    <configSections>
+        <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
+    </configSections>
+</configuration>

+ 5 - 0
packages/EntityFramework.6.2.0/Content/net40/Web.config.transform

@@ -0,0 +1,5 @@
+<configuration>
+    <configSections>
+        <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
+    </configSections>
+</configuration>

BIN
packages/EntityFramework.6.2.0/EntityFramework.6.2.0.nupkg


BIN
packages/EntityFramework.6.2.0/lib/net40/EntityFramework.SqlServer.dll


+ 1959 - 0
packages/EntityFramework.6.2.0/lib/net40/EntityFramework.SqlServer.xml

@@ -0,0 +1,1959 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>EntityFramework.SqlServer</name>
+    </assembly>
+    <members>
+        <member name="T:System.Data.Entity.SqlServer.SqlAzureExecutionStrategy">
+            <summary>
+            An <see cref="T:System.Data.Entity.Infrastructure.IDbExecutionStrategy"/> that retries actions that throw exceptions caused by SQL Azure transient failures.
+            </summary>
+            <remarks>
+            This execution strategy will retry the operation on <see cref="T:System.TimeoutException"/> and <see cref="T:System.Data.SqlClient.SqlException"/>
+            if the <see cref="P:System.Data.SqlClient.SqlException.Errors"/> contains any of the following error numbers:
+            40613, 40501, 40197, 10929, 10928, 10060, 10054, 10053, 233, 64 and 20
+            </remarks>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlAzureExecutionStrategy.#ctor">
+            <summary>
+            Creates a new instance of <see cref="T:System.Data.Entity.SqlServer.SqlAzureExecutionStrategy"/>.
+            </summary>
+            <remarks>
+            The default retry limit is 5, which means that the total amount of time spent between retries is 26 seconds plus the random factor.
+            </remarks>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlAzureExecutionStrategy.#ctor(System.Int32,System.TimeSpan)">
+            <summary>
+            Creates a new instance of <see cref="T:System.Data.Entity.SqlServer.SqlAzureExecutionStrategy"/> with the specified limits for
+            number of retries and the delay between retries.
+            </summary>
+            <param name="maxRetryCount"> The maximum number of retry attempts. </param>
+            <param name="maxDelay"> The maximum delay in milliseconds between retries. </param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlAzureExecutionStrategy.ShouldRetryOn(System.Exception)">
+            <inheritdoc/>
+        </member>
+        <member name="T:System.Data.Entity.SqlServer.SqlFunctions">
+            <summary>
+            Contains function stubs that expose SqlServer methods in Linq to Entities.
+            </summary>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.ChecksumAggregate(System.Collections.Generic.IEnumerable{System.Int32})">
+            <summary>Returns the checksum of the values in a collection. Null values are ignored.</summary>
+            <returns>The checksum computed from the input collection.</returns>
+            <param name="arg">The collection of values over which the checksum is computed.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.ChecksumAggregate(System.Collections.Generic.IEnumerable{System.Nullable{System.Int32}})">
+            <summary>Returns the checksum of the values in a collection. Null values are ignored.</summary>
+            <returns>The checksum computed from the input collection.</returns>
+            <param name="arg">The collection of values over which the checksum is computed.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Ascii(System.String)">
+            <summary>Returns the ASCII code value of the left-most character of a character expression.</summary>
+            <returns>The ASCII code of the first character in the input string.</returns>
+            <param name="arg">A valid string.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Char(System.Nullable{System.Int32})">
+            <summary>Returns the character that corresponds to the specified integer ASCII value.</summary>
+            <returns>The character that corresponds to the specified ASCII value.</returns>
+            <param name="arg">An ASCII code.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.CharIndex(System.String,System.String)">
+            <summary>Returns the starting position of one expression found within another expression.</summary>
+            <returns>The starting position of  toFind  if it is found in  toSearch .</returns>
+            <param name="toFind">The string expression to be found.</param>
+            <param name="toSearch">The string expression to be searched.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.CharIndex(System.Byte[],System.Byte[])">
+            <summary>Returns the starting position of one expression found within another expression.</summary>
+            <returns>The starting position of  toFind  if it is found in  toSearch .</returns>
+            <param name="toFind">The string expression to be found.</param>
+            <param name="toSearch">The string expression to be searched.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.CharIndex(System.String,System.String,System.Nullable{System.Int32})">
+            <summary>Returns the starting position of one expression found within another expression.</summary>
+            <returns>The starting position of  toFind  if it is found in  toSearch .</returns>
+            <param name="toFind">The string expression to be found.</param>
+            <param name="toSearch">The string expression to be searched.</param>
+            <param name="startLocation">The character position in  toSearch  where searching begins.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.CharIndex(System.Byte[],System.Byte[],System.Nullable{System.Int32})">
+            <summary>Returns the starting position of one expression found within another expression.</summary>
+            <returns>The starting position of  toFind  if it is found in  toSearch .</returns>
+            <param name="toFind">The string expression to be found.</param>
+            <param name="toSearch">The string expression to be searched.</param>
+            <param name="startLocation">The character position in  toSearch  where searching begins.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.CharIndex(System.String,System.String,System.Nullable{System.Int64})">
+            <summary>Returns the starting position of one expression found within another expression.</summary>
+            <returns>
+            A <see cref="T:System.Nullable`1" /> of <see cref="T:System.Int64" /> value that is the starting position of  toFind  if it is found in  toSearch .
+            </returns>
+            <param name="toFind">The string expression to be found.</param>
+            <param name="toSearch">The string expression to be searched.</param>
+            <param name="startLocation">The character position in  toSearch  where searching begins.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.CharIndex(System.Byte[],System.Byte[],System.Nullable{System.Int64})">
+            <summary>Returns the starting position of one expression found within another expression.</summary>
+            <returns>The starting position of  toFind  if it is found in  toSearch .</returns>
+            <param name="toFind">The string expression to be found.</param>
+            <param name="toSearch">The string expression to be searched.</param>
+            <param name="startLocation">The character position in  toSearch  where searching begins.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Difference(System.String,System.String)">
+            <summary>Returns an integer value that indicates the difference between the SOUNDEX values of two character expressions.</summary>
+            <returns>The SOUNDEX difference between the two strings.</returns>
+            <param name="string1">The first string.</param>
+            <param name="string2">The second string.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.NChar(System.Nullable{System.Int32})">
+            <summary>Returns the Unicode character with the specified integer code, as defined by the Unicode standard.</summary>
+            <returns>The character that corresponds to the input character code.</returns>
+            <param name="arg">A character code.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.PatIndex(System.String,System.String)">
+            <summary>Returns the starting position of the first occurrence of a pattern in a specified expression, or zeros if the pattern is not found, on all valid text and character data types.</summary>
+            <returns>The starting character position where the string pattern was found.</returns>
+            <param name="stringPattern">A string pattern to search for.</param>
+            <param name="target">The string to search.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.QuoteName(System.String)">
+            <summary>Returns a Unicode string with the delimiters added to make the input string a valid Microsoft SQL Server delimited identifier.</summary>
+            <returns>The original string with brackets added.</returns>
+            <param name="stringArg">The expression that quote characters will be added to.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.QuoteName(System.String,System.String)">
+            <summary>Returns a Unicode string with the delimiters added to make the input string a valid Microsoft SQL Server delimited identifier.</summary>
+            <returns>The original string with the specified quote characters added.</returns>
+            <param name="stringArg">The expression that quote characters will be added to.</param>
+            <param name="quoteCharacter">The one-character string to use as the delimiter. It can be a single quotation mark ( ' ), a left or right bracket ( [ ] ), or a double quotation mark ( " ). If quote_character is not specified, brackets are used.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Replicate(System.String,System.Nullable{System.Int32})">
+            <summary>Repeats a string value a specified number of times.</summary>
+            <returns>The target string, repeated the number of times specified by  count .</returns>
+            <param name="target">A valid string.</param>
+            <param name="count">The value that specifies how many time to repeat  target .</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.SoundCode(System.String)">
+            <summary>Converts an alphanumeric string to a four-character (SOUNDEX) code to find similar-sounding words or names.</summary>
+            <returns>The SOUNDEX code of the input string.</returns>
+            <param name="arg">A valid string.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Space(System.Nullable{System.Int32})">
+            <summary>Returns a string of repeated spaces.</summary>
+            <returns>A string that consists of the specified number of spaces.</returns>
+            <param name="arg1">The number of spaces. If negative, a null string is returned.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.StringConvert(System.Nullable{System.Double})">
+            <summary>Returns character data converted from numeric data.</summary>
+            <returns>The numeric input expression converted to a string.</returns>
+            <param name="number">A numeric expression.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.StringConvert(System.Nullable{System.Decimal})">
+            <summary>Returns character data converted from numeric data.</summary>
+            <returns>The input expression converted to a string.</returns>
+            <param name="number">A numeric expression.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.StringConvert(System.Nullable{System.Double},System.Nullable{System.Int32})">
+            <summary>Returns character data converted from numeric data.</summary>
+            <returns>The numeric input expression converted to a string.</returns>
+            <param name="number">A numeric expression.</param>
+            <param name="length">The total length of the string. This includes decimal point, sign, digits, and spaces. The default is 10.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.StringConvert(System.Nullable{System.Decimal},System.Nullable{System.Int32})">
+            <summary>Returns character data converted from numeric data.</summary>
+            <returns>The input expression converted to a string.</returns>
+            <param name="number">A numeric expression.</param>
+            <param name="length">The total length of the string. This includes decimal point, sign, digits, and spaces. The default is 10.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.StringConvert(System.Nullable{System.Double},System.Nullable{System.Int32},System.Nullable{System.Int32})">
+            <summary>Returns character data converted from numeric data.</summary>
+            <returns>The numeric input expression converted to a string.</returns>
+            <param name="number">A numeric expression.</param>
+            <param name="length">The total length of the string. This includes decimal point, sign, digits, and spaces. The default is 10.</param>
+            <param name="decimalArg">The number of places to the right of the decimal point.  decimal  must be less than or equal to 16. If  decimal  is more than 16 then the result is truncated to sixteen places to the right of the decimal point.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.StringConvert(System.Nullable{System.Decimal},System.Nullable{System.Int32},System.Nullable{System.Int32})">
+            <summary>Returns character data converted from numeric data.</summary>
+            <returns>The input expression converted to a string.</returns>
+            <param name="number">A numeric expression.</param>
+            <param name="length">The total length of the string. This includes decimal point, sign, digits, and spaces. The default is 10.</param>
+            <param name="decimalArg">The number of places to the right of the decimal point.  decimal  must be less than or equal to 16. If  decimal  is more than 16 then the result is truncated to sixteen places to the right of the decimal point.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Stuff(System.String,System.Nullable{System.Int32},System.Nullable{System.Int32},System.String)">
+            <summary>Inserts a string into another string. It deletes a specified length of characters in the target string at the start position and then inserts the second string into the target string at the start position.</summary>
+            <returns>A string consisting of the two strings.</returns>
+            <param name="stringInput">The target string.</param>
+            <param name="start">The character position in  stringinput  where the replacement string is to be inserted.</param>
+            <param name="length">The number of characters to delete from  stringInput . If  length  is longer than  stringInput , deletion occurs up to the last character in  stringReplacement .</param>
+            <param name="stringReplacement">The substring to be inserted into  stringInput .</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Unicode(System.String)">
+            <summary>Returns the integer value, as defined by the Unicode standard, for the first character of the input expression.</summary>
+            <returns>The character code for the first character in the input string.</returns>
+            <param name="arg">A valid string.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Acos(System.Nullable{System.Double})">
+            <summary>A mathematical function that returns the angle, in radians, whose cosine is the specified numerical value. This angle is called the arccosine.</summary>
+            <returns>The angle, in radians, defined by the input cosine value.</returns>
+            <param name="arg1">The cosine of an angle.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Acos(System.Nullable{System.Decimal})">
+            <summary>A mathematical function that returns the angle, in radians, whose cosine is the specified numerical value. This angle is called the arccosine.</summary>
+            <returns>An angle, measured in radians.</returns>
+            <param name="arg1">The cosine of an angle.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Asin(System.Nullable{System.Double})">
+            <summary>A mathematical function that returns the angle, in radians, whose sine is the specified numerical value. This angle is called the arcsine.</summary>
+            <returns>An angle, measured in radians.</returns>
+            <param name="arg">The sine of an angle.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Asin(System.Nullable{System.Decimal})">
+            <summary>A mathematical function that returns the angle, in radians, whose sine is the specified numerical value. This angle is called the arcsine.</summary>
+            <returns>An angle, measured in radians.</returns>
+            <param name="arg">The sine of an angle.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Atan(System.Nullable{System.Double})">
+            <summary>A mathematical function that returns the angle, in radians, whose tangent is the specified numerical value. This angle is called the arctangent.</summary>
+            <returns>An angle, measured in radians.</returns>
+            <param name="arg">The tangent of an angle.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Atan(System.Nullable{System.Decimal})">
+            <summary>A mathematical function that returns the angle, in radians, whose tangent is the specified numerical value. This angle is called the arctangent.</summary>
+            <returns>An angle, measured in radians.</returns>
+            <param name="arg">The tangent of an angle.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Atan2(System.Nullable{System.Double},System.Nullable{System.Double})">
+            <summary>Returns the positive angle, in radians, between the positive x-axis and the ray from the origin through the point (x, y), where x and y are the two specified numerical values. The first parameter passed to the function is the y-value and the second parameter is the x-value.</summary>
+            <returns>An angle, measured in radians.</returns>
+            <param name="arg1">The y-coordinate of a point.</param>
+            <param name="arg2">The x-coordinate of a point.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Atan2(System.Nullable{System.Decimal},System.Nullable{System.Decimal})">
+            <summary>Returns the positive angle, in radians, between the positive x-axis and the ray from the origin through the point (x, y), where x and y are the two specified numerical values. The first parameter passed to the function is the y-value and the second parameter is the x-value.</summary>
+            <returns>An angle, measured in radians.</returns>
+            <param name="arg1">The y-coordinate of a point.</param>
+            <param name="arg2">The x-coordinate of a point.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Cos(System.Nullable{System.Double})">
+            <summary>Returns the trigonometric cosine of the specified angle, in radians, in the specified expression.</summary>
+            <returns>The trigonometric cosine of the specified angle.</returns>
+            <param name="arg">An angle, measured in radians.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Cos(System.Nullable{System.Decimal})">
+            <summary>Returns the trigonometric cosine of the specified angle, in radians, in the specified expression.</summary>
+            <returns>The trigonometric cosine of the specified angle.</returns>
+            <param name="arg">An angle, measured in radians.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Cot(System.Nullable{System.Double})">
+            <summary>A mathematical function that returns the trigonometric cotangent of the specified angle, in radians.</summary>
+            <returns>The trigonometric cotangent of the specified angle.</returns>
+            <param name="arg">An angle, measured in radians.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Cot(System.Nullable{System.Decimal})">
+            <summary>A mathematical function that returns the trigonometric cotangent of the specified angle, in radians.</summary>
+            <returns>The trigonometric cotangent of the specified angle.</returns>
+            <param name="arg">An angle, measured in radians.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Degrees(System.Nullable{System.Int32})">
+            <summary>Returns the corresponding angle in degrees for an angle specified in radians.</summary>
+            <returns>The specified angle converted to degrees.</returns>
+            <param name="arg1">An angle, measured in radians.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Degrees(System.Nullable{System.Int64})">
+            <summary>Returns the corresponding angle in degrees for an angle specified in radians.</summary>
+            <returns>The specified angle converted to degrees.</returns>
+            <param name="arg1">An angle, measured in radians.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Degrees(System.Nullable{System.Decimal})">
+            <summary>Returns the corresponding angle in degrees for an angle specified in radians.</summary>
+            <returns>The specified angle converted to degrees.</returns>
+            <param name="arg1">An angle, measured in radians.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Degrees(System.Nullable{System.Double})">
+            <summary>Returns the corresponding angle in degrees for an angle specified in radians.</summary>
+            <returns>The specified angle converted to degrees.</returns>
+            <param name="arg1">An angle, measured in radians.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Exp(System.Nullable{System.Double})">
+            <summary>Returns the exponential value of the specified float expression.</summary>
+            <returns>The constant e raised to the power of the input value.</returns>
+            <param name="arg">The input value.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Exp(System.Nullable{System.Decimal})">
+            <summary>Returns the exponential value of the specified float expression.</summary>
+            <returns>The constant e raised to the power of the input value.</returns>
+            <param name="arg">The input value.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Log(System.Nullable{System.Double})">
+            <summary>Returns the natural logarithm of the specified input value.</summary>
+            <returns>The natural logarithm of the input value.</returns>
+            <param name="arg">A numeric expression.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Log(System.Nullable{System.Decimal})">
+            <summary>Returns the natural logarithm of the specified input value.</summary>
+            <returns>The natural logarithm of the input value.</returns>
+            <param name="arg">A numeric expression.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Log10(System.Nullable{System.Double})">
+            <summary>Returns the base-10 logarithm of the specified input value.</summary>
+            <returns>The base-10 logarithm of the input value.</returns>
+            <param name="arg">A numeric expression.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Log10(System.Nullable{System.Decimal})">
+            <summary>Returns the base-10 logarithm of the specified input value.</summary>
+            <returns>The base-10 logarithm of the input value.</returns>
+            <param name="arg">A numeric expression.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Pi">
+            <summary>Returns the constant value of pi.</summary>
+            <returns>The numeric value of pi.</returns>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Radians(System.Nullable{System.Int32})">
+            <summary>Returns the radian measure corresponding to the specified angle in degrees.</summary>
+            <returns>The radian measure of the specified angle.</returns>
+            <param name="arg">The angle, measured in degrees</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Radians(System.Nullable{System.Int64})">
+            <summary>Returns the radian measure corresponding to the specified angle in degrees.</summary>
+            <returns>The radian measure of the specified angle.</returns>
+            <param name="arg">The angle, measured in degrees</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Radians(System.Nullable{System.Decimal})">
+            <summary>Returns the radian measure corresponding to the specified angle in degrees.</summary>
+            <returns>The radian measure of the specified angle.</returns>
+            <param name="arg">The angle, measured in degrees.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Radians(System.Nullable{System.Double})">
+            <summary>Returns the radian measure corresponding to the specified angle in degrees.</summary>
+            <returns>The radian measure of the specified angle.</returns>
+            <param name="arg">The angle, measured in degrees.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Rand">
+            <summary>Returns a pseudo-random float value from 0 through 1, exclusive.</summary>
+            <returns>The pseudo-random value.</returns>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Rand(System.Nullable{System.Int32})">
+            <summary>Returns a pseudo-random float value from 0 through 1, exclusive.</summary>
+            <returns>The pseudo-random value.</returns>
+            <param name="seed">The seed value. If  seed  is not specified, the SQL Server Database Engine assigns a seed value at random. For a specified seed value, the result returned is always the same.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Sign(System.Nullable{System.Int32})">
+            <summary>Returns the positive (+1), zero (0), or negative (-1) sign of the specified expression.</summary>
+            <returns>The sign of the input expression.</returns>
+            <param name="arg">A numeric expression.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Sign(System.Nullable{System.Int64})">
+            <summary>Returns the positive (+1), zero (0), or negative (-1) sign of the specified expression.</summary>
+            <returns>The sign of the input expression.</returns>
+            <param name="arg">A numeric expression.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Sign(System.Nullable{System.Decimal})">
+            <summary>Returns the positive (+1), zero (0), or negative (-1) sign of the specified expression.</summary>
+            <returns>The sign of the input expression.</returns>
+            <param name="arg">A numeric expression.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Sign(System.Nullable{System.Double})">
+            <summary>Returns the positive (+1), zero (0), or negative (-1) sign of the specified expression.</summary>
+            <returns>The sign of the input expression.</returns>
+            <param name="arg">A numeric expression.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Sin(System.Nullable{System.Decimal})">
+            <summary>Returns the trigonometric sine of the specified angle.</summary>
+            <returns>The trigonometric sine of the input expression.</returns>
+            <param name="arg">An angle, measured in radians.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Sin(System.Nullable{System.Double})">
+            <summary>Returns the trigonometric sine of the specified angle.</summary>
+            <returns>The trigonometric sine of the input expression.</returns>
+            <param name="arg">An angle, measured in radians.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.SquareRoot(System.Nullable{System.Double})">
+            <summary>Returns the square root of the specified number.</summary>
+            <returns>The square root of the input value.</returns>
+            <param name="arg">A numeric expression.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.SquareRoot(System.Nullable{System.Decimal})">
+            <summary>Returns the square root of the specified number.</summary>
+            <returns>The square root of the input value.</returns>
+            <param name="arg">A numeric expression.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Square(System.Nullable{System.Double})">
+            <summary>Returns the square of the specified number.</summary>
+            <returns>The square of the input value.</returns>
+            <param name="arg1">A numeric expression.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Square(System.Nullable{System.Decimal})">
+            <summary>Returns the square of the specified number.</summary>
+            <returns>The square of the input value.</returns>
+            <param name="arg1">A numeric expression.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Tan(System.Nullable{System.Double})">
+            <summary>Returns the trigonometric tangent of the input expression.</summary>
+            <returns>The tangent of the input angle.</returns>
+            <param name="arg">An angle, measured in radians.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Tan(System.Nullable{System.Decimal})">
+            <summary>Returns the trigonometric tangent of the input expression.</summary>
+            <returns>The tangent of the input angle.</returns>
+            <param name="arg">An angle, measured in radians.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DateAdd(System.String,System.Nullable{System.Double},System.Nullable{System.DateTime})">
+            <summary>Returns a new datetime value based on adding an interval to the specified date.</summary>
+            <returns>The new date.</returns>
+            <param name="datePartArg">The part of the date to increment. </param>
+            <param name="number">The value used to increment a date by a specified amount.</param>
+            <param name="date">The date to increment.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DateAdd(System.String,System.Nullable{System.Double},System.Nullable{System.TimeSpan})">
+            <summary>Returns a new time span value based on adding an interval to the specified time span.</summary>
+            <returns>The new time span.</returns>
+            <param name="datePartArg">The part of the date to increment.</param>
+            <param name="number">The value used to increment a date by a specified amount.</param>
+            <param name="time">The time span to increment.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DateAdd(System.String,System.Nullable{System.Double},System.Nullable{System.DateTimeOffset})">
+            <summary>Returns a new date value based on adding an interval to the specified date.</summary>
+            <returns>The new point in time, expressed as a date and time of day, relative to Coordinated Universal Time (UTC).</returns>
+            <param name="datePartArg">The part of the date to increment.</param>
+            <param name="number">The value used to increment a date by a specified amount.</param>
+            <param name="dateTimeOffsetArg">The date to increment.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DateAdd(System.String,System.Nullable{System.Double},System.String)">
+            <summary>Returns a new datetime value based on adding an interval to the specified date.</summary>
+            <returns>
+            A <see cref="T:System.Nullable`1" /> of <see cref="T:System.DateTime" /> value that is the new date.
+            </returns>
+            <param name="datePartArg">The part of the date to increment.</param>
+            <param name="number">The value used to increment a date by a specified amount.</param>
+            <param name="date">The date to increment.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DateDiff(System.String,System.Nullable{System.DateTime},System.Nullable{System.DateTime})">
+            <summary>Returns the count of the specified datepart boundaries crossed between the specified start date and end date.</summary>
+            <returns>The number of time intervals between the two dates.</returns>
+            <param name="datePartArg">The part of the date to calculate the differing number of time intervals.</param>
+            <param name="startDate">The first date.</param>
+            <param name="endDate">The second date.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DateDiff(System.String,System.Nullable{System.DateTimeOffset},System.Nullable{System.DateTimeOffset})">
+            <summary>Returns the count of the specified datepart boundaries crossed between the specified start date and end date.</summary>
+            <returns>The number of time intervals between the two dates.</returns>
+            <param name="datePartArg">The part of the date to calculate the differing number of time intervals.</param>
+            <param name="startDate">The first date.</param>
+            <param name="endDate">The second date.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DateDiff(System.String,System.Nullable{System.TimeSpan},System.Nullable{System.TimeSpan})">
+            <summary>Returns the count of the specified datepart boundaries crossed between the specified start date and end date.</summary>
+            <returns>The number of time intervals between the two dates.</returns>
+            <param name="datePartArg">The part of the date to calculate the differing number of time intervals.</param>
+            <param name="startDate">The first date.</param>
+            <param name="endDate">The second date.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DateDiff(System.String,System.String,System.Nullable{System.DateTime})">
+            <summary>Returns the count of the specified datepart boundaries crossed between the specified start date and end date.</summary>
+            <returns>The number of time intervals between the two dates.</returns>
+            <param name="datePartArg">The part of the date to calculate the differing number of time intervals.</param>
+            <param name="startDate">The first date.</param>
+            <param name="endDate">The second date.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DateDiff(System.String,System.String,System.Nullable{System.DateTimeOffset})">
+            <summary>Returns the count of the specified datepart boundaries crossed between the specified start date and end date.</summary>
+            <returns>The number of time intervals between the two dates.</returns>
+            <param name="datePartArg">The part of the date to calculate the differing number of time intervals.</param>
+            <param name="startDate">The first date.</param>
+            <param name="endDate">The second date.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DateDiff(System.String,System.String,System.Nullable{System.TimeSpan})">
+            <summary>Returns the count of the specified datepart boundaries crossed between the specified start date and end date.</summary>
+            <returns>The value specifying the number of time intervals between the two dates.</returns>
+            <param name="datePartArg">The part of the date to calculate the differing number of time intervals.</param>
+            <param name="startDate">The first date.</param>
+            <param name="endDate">The second date.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DateDiff(System.String,System.Nullable{System.TimeSpan},System.String)">
+            <summary>Returns the count of the specified datepart boundaries crossed between the specified start date and end date.</summary>
+            <returns>The number of time intervals between the two dates.</returns>
+            <param name="datePartArg">The part of the date to calculate the differing number of time intervals.</param>
+            <param name="startDate">The first date.</param>
+            <param name="endDate">The second date.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DateDiff(System.String,System.Nullable{System.DateTime},System.String)">
+            <summary>Returns the count of the specified datepart boundaries crossed between the specified start date and end date.</summary>
+            <returns>The number of time intervals between the two dates.</returns>
+            <param name="datePartArg">The part of the date to calculate the differing number of time intervals.</param>
+            <param name="startDate">The first date.</param>
+            <param name="endDate">The second date.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DateDiff(System.String,System.Nullable{System.DateTimeOffset},System.String)">
+            <summary>Returns the count of the specified datepart boundaries crossed between the specified start date and end date.</summary>
+            <returns>The number of time intervals between the two dates.</returns>
+            <param name="datePartArg">The part of the date to calculate the differing number of time intervals.</param>
+            <param name="startDate">The first date.</param>
+            <param name="endDate">The second date.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DateDiff(System.String,System.String,System.String)">
+            <summary>Returns the count of the specified datepart boundaries crossed between the specified start date and end date.</summary>
+            <returns>The number of time intervals between the two dates.</returns>
+            <param name="datePartArg">The part of the date to calculate the differing number of time intervals.</param>
+            <param name="startDate">The first date.</param>
+            <param name="endDate">The second date.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DateDiff(System.String,System.Nullable{System.TimeSpan},System.Nullable{System.DateTime})">
+            <summary>Returns the count of the specified datepart boundaries crossed between the specified start date and end date.</summary>
+            <returns>The number of time intervals between the two dates.</returns>
+            <param name="datePartArg">The part of the date to calculate the differing number of time intervals.</param>
+            <param name="startDate">The first date.</param>
+            <param name="endDate">The second date.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DateDiff(System.String,System.Nullable{System.TimeSpan},System.Nullable{System.DateTimeOffset})">
+            <summary>Returns the count of the specified datepart boundaries crossed between the specified start date and end date.</summary>
+            <returns>The number of time intervals between the two dates.</returns>
+            <param name="datePartArg">The part of the date to calculate the differing number of time intervals.</param>
+            <param name="startDate">The first date.</param>
+            <param name="endDate">The second date.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DateDiff(System.String,System.Nullable{System.DateTime},System.Nullable{System.TimeSpan})">
+            <summary>Returns the count of the specified datepart boundaries crossed between the specified start date and end date.</summary>
+            <returns>The number of time intervals between the two dates.</returns>
+            <param name="datePartArg">The part of the date to calculate the differing number of time intervals.</param>
+            <param name="startDate">The first date.</param>
+            <param name="endDate">The second date.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DateDiff(System.String,System.Nullable{System.DateTimeOffset},System.Nullable{System.TimeSpan})">
+            <summary>Returns the count of the specified datepart boundaries crossed between the specified start date and end date.</summary>
+            <returns>The number of time intervals between the two Dates.</returns>
+            <param name="datePartArg">The part of the date to calculate the differing number of time intervals.</param>
+            <param name="startDate">The first date.</param>
+            <param name="endDate">The second date.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DateDiff(System.String,System.Nullable{System.DateTime},System.Nullable{System.DateTimeOffset})">
+            <summary>Returns the count of the specified datepart boundaries crossed between the specified start date and end date.</summary>
+            <returns>The number of time intervals between the two dates.</returns>
+            <param name="datePartArg">The part of the date to calculate the differing number of time intervals.</param>
+            <param name="startDate">The first date.</param>
+            <param name="endDate">The second date.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DateDiff(System.String,System.Nullable{System.DateTimeOffset},System.Nullable{System.DateTime})">
+            <summary>Returns the count of the specified datepart boundaries crossed between the specified start date and end date.</summary>
+            <returns>The number of time intervals between the two dates.</returns>
+            <param name="datePartArg">The part of the date to calculate the differing number of time intervals.</param>
+            <param name="startDate">The first date.</param>
+            <param name="endDate">The second date.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DateName(System.String,System.Nullable{System.DateTime})">
+            <summary>Returns a character string that represents the specified datepart of the specified date.</summary>
+            <returns>The specified part of the specified date.</returns>
+            <param name="datePartArg">The part of the date to calculate the differing number of time intervals.</param>
+            <param name="date">The date.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DateName(System.String,System.String)">
+            <summary>Returns a character string that represents the specified datepart of the specified date.</summary>
+            <returns>The specified part of the specified date.</returns>
+            <param name="datePartArg">The part of the date to calculate the differing number of time intervals.</param>
+            <param name="date">The date.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DateName(System.String,System.Nullable{System.TimeSpan})">
+            <summary>Returns a character string that represents the specified datepart of the specified date.</summary>
+            <returns>The specified part of the specified date.</returns>
+            <param name="datePartArg">The part of the date to calculate the differing number of time intervals.</param>
+            <param name="date">The date.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DateName(System.String,System.Nullable{System.DateTimeOffset})">
+            <summary>Returns a character string that represents the specified datepart of the specified date.</summary>
+            <returns>The specified part of the specified date.</returns>
+            <param name="datePartArg">The part of the date to calculate the differing number of time intervals.</param>
+            <param name="date">The date.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DatePart(System.String,System.Nullable{System.DateTime})">
+            <summary>Returns an integer that represents the specified datepart of the specified date.</summary>
+            <returns>The the specified datepart of the specified date.</returns>
+            <param name="datePartArg">The part of the date to return the value.</param>
+            <param name="date">The date.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DatePart(System.String,System.Nullable{System.DateTimeOffset})">
+            <summary>Returns an integer that represents the specified datepart of the specified date.</summary>
+            <returns>The specified datepart of the specified date.</returns>
+            <param name="datePartArg">The part of the date to return the value.</param>
+            <param name="date">The date.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DatePart(System.String,System.String)">
+            <summary>Returns an integer that represents the specified datepart of the specified date.</summary>
+            <returns>The specified datepart of the specified date.</returns>
+            <param name="datePartArg">The part of the date to return the value.</param>
+            <param name="date">The date.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DatePart(System.String,System.Nullable{System.TimeSpan})">
+            <summary>Returns an integer that represents the specified datepart of the specified date.</summary>
+            <returns>The specified datepart of the specified date.</returns>
+            <param name="datePartArg">The part of the date to return the value.</param>
+            <param name="date">The date.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.GetDate">
+            <summary>Returns the current database system timestamp as a datetime value without the database time zone offset. This value is derived from the operating system of the computer on which the instance of SQL Server is running.</summary>
+            <returns>The current database timestamp.</returns>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.GetUtcDate">
+            <summary>Returns the current database system timestamp as a datetime value. The database time zone offset is not included. This value represents the current UTC time (Coordinated Universal Time). This value is derived from the operating system of the computer on which the instance of SQL Server is running.</summary>
+            <returns>The current database UTC timestamp.</returns>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DataLength(System.Nullable{System.Boolean})">
+            <summary>Returns the number of bytes used to represent any expression.</summary>
+            <returns>The number of bytes in the input value.</returns>
+            <param name="arg">The value to be examined for data length.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DataLength(System.Nullable{System.Double})">
+            <summary>Returns the number of bytes used to represent any expression.</summary>
+            <returns>The number of bytes in the input value.</returns>
+            <param name="arg">The value to be examined for data length.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DataLength(System.Nullable{System.Decimal})">
+            <summary>Returns the number of bytes used to represent any expression.</summary>
+            <returns>The number of bytes in the input value.</returns>
+            <param name="arg">The value to be examined for data length.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DataLength(System.Nullable{System.DateTime})">
+            <summary>Returns the number of bytes used to represent any expression.</summary>
+            <returns>The number of bytes in the input value.</returns>
+            <param name="arg">The value to be examined for data length.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DataLength(System.Nullable{System.TimeSpan})">
+            <summary>Returns the number of bytes used to represent any expression.</summary>
+            <returns>The number of bytes in the input value.</returns>
+            <param name="arg">The value to be examined for data length.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DataLength(System.Nullable{System.DateTimeOffset})">
+            <summary>Returns the number of bytes used to represent any expression.</summary>
+            <returns>The number of bytes in the input value.</returns>
+            <param name="arg">The value to be examined for data length.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DataLength(System.String)">
+            <summary>Returns the number of bytes used to represent any expression.</summary>
+            <returns>The number of bytes in the input value.</returns>
+            <param name="arg">The value to be examined for data length.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DataLength(System.Byte[])">
+            <summary>Returns the number of bytes used to represent any expression.</summary>
+            <returns>The number of bytes in the input value.</returns>
+            <param name="arg">The value to be examined for length.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.DataLength(System.Nullable{System.Guid})">
+            <summary>Returns the number of bytes used to represent any expression.</summary>
+            <returns>The number of bytes in the input value.</returns>
+            <param name="arg">The value to be examined for data length.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Checksum(System.Nullable{System.Boolean})">
+            <summary>Returns the checksum value computed over the input argument.</summary>
+            <returns>The checksum computed over the input value.</returns>
+            <param name="arg1">The value for which the checksum is calculated.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Checksum(System.Nullable{System.Double})">
+            <summary>Returns the checksum value computed over the input argument.</summary>
+            <returns>The checksum computed over the input value.</returns>
+            <param name="arg1">The value for which the checksum is calculated.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Checksum(System.Nullable{System.Decimal})">
+            <summary>Returns the checksum value computed over the input argument.</summary>
+            <returns>The checksum computed over the input value.</returns>
+            <param name="arg1">The value for which the checksum is calculated.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Checksum(System.String)">
+            <summary>Returns the checksum value computed over the input argument.</summary>
+            <returns>The checksum computed over the input value.</returns>
+            <param name="arg1">The value for which the checksum is calculated.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Checksum(System.Nullable{System.DateTime})">
+            <summary>Returns the checksum value computed over the input argument.</summary>
+            <returns>The checksum computed over the input values.</returns>
+            <param name="arg1">The value for which the checksum is calculated.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Checksum(System.Nullable{System.TimeSpan})">
+            <summary>Returns the checksum value computed over the input argument.</summary>
+            <returns>The checksum computed over the input value.</returns>
+            <param name="arg1">The value for which the checksum is calculated.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Checksum(System.Nullable{System.DateTimeOffset})">
+            <summary>Returns the checksum value computed over the input argument.</summary>
+            <returns>The checksum computed over the input value.</returns>
+            <param name="arg1">The value for which the checksum is calculated.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Checksum(System.Byte[])">
+            <summary>Returns the checksum value computed over the input argument.</summary>
+            <returns>The checksum computed over the input value.</returns>
+            <param name="arg1">The character array for which the checksum is calculated.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Checksum(System.Nullable{System.Guid})">
+            <summary>Returns the checksum value computed over the input argument.</summary>
+            <returns>The checksum computed over the input value.</returns>
+            <param name="arg1">The value for which the checksum is calculated.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Checksum(System.Nullable{System.Boolean},System.Nullable{System.Boolean})">
+            <summary>Returns the checksum value computed over the input arguments.</summary>
+            <returns>The checksum computed over the input values.</returns>
+            <param name="arg1">The value for which the checksum is calculated.</param>
+            <param name="arg2">The value for which the checksum is calculated.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Checksum(System.Nullable{System.Double},System.Nullable{System.Double})">
+            <summary>Returns the checksum value computed over the input arguments.</summary>
+            <returns>The checksum computed over the input values.</returns>
+            <param name="arg1">The value for which the checksum is calculated.</param>
+            <param name="arg2">The value for which the checksum is calculated.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Checksum(System.Nullable{System.Decimal},System.Nullable{System.Decimal})">
+            <summary>Returns the checksum value computed over the input arguments.</summary>
+            <returns>The checksum computed over the input values.</returns>
+            <param name="arg1">The value for which the checksum is calculated.</param>
+            <param name="arg2">The value for which the checksum is calculated.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Checksum(System.String,System.String)">
+            <summary>Returns the checksum value computed over the input arguments.</summary>
+            <returns>The checksum computed over the input values.</returns>
+            <param name="arg1">The value for which the checksum is calculated.</param>
+            <param name="arg2">The value for which the checksum is calculated.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Checksum(System.Nullable{System.DateTime},System.Nullable{System.DateTime})">
+            <summary>Returns the checksum value computed over the input arguments.</summary>
+            <returns>The checksum computed over the input values.</returns>
+            <param name="arg1">The value for which the checksum is calculated.</param>
+            <param name="arg2">The value for which the checksum is calculated.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Checksum(System.Nullable{System.TimeSpan},System.Nullable{System.TimeSpan})">
+            <summary>Returns the checksum value computed over the input arguments.</summary>
+            <returns>The checksum computed over the input values.</returns>
+            <param name="arg1">The value for which the checksum is calculated.</param>
+            <param name="arg2">The value for which the checksum is calculated.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Checksum(System.Nullable{System.DateTimeOffset},System.Nullable{System.DateTimeOffset})">
+            <summary>Returns the checksum value computed over the input arguments.</summary>
+            <returns>The checksum computed over the input values.</returns>
+            <param name="arg1">The value for which the checksum is calculated.</param>
+            <param name="arg2">The value for which the checksum is calculated.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Checksum(System.Byte[],System.Byte[])">
+            <summary>Returns the checksum value computed over the input arguments.</summary>
+            <returns>The checksum computed over the input values.</returns>
+            <param name="arg1">The character array for which the checksum is calculated.</param>
+            <param name="arg2">The character array for which the checksum is calculated.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Checksum(System.Nullable{System.Guid},System.Nullable{System.Guid})">
+            <summary>Returns the checksum value computed over the input arguments.</summary>
+            <returns>The checksum computed over the input values.</returns>
+            <param name="arg1">The value for which the checksum is calculated.</param>
+            <param name="arg2">The value for which the checksum is calculated.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Checksum(System.Nullable{System.Boolean},System.Nullable{System.Boolean},System.Nullable{System.Boolean})">
+            <summary>Returns the checksum value computed over the input arguments.</summary>
+            <returns>The checksum computed over the input values.</returns>
+            <param name="arg1">The value for which the checksum is calculated.</param>
+            <param name="arg2">The value for which the checksum is calculated.</param>
+            <param name="arg3">The value for which the checksum is calculated.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Checksum(System.Nullable{System.Double},System.Nullable{System.Double},System.Nullable{System.Double})">
+            <summary>Returns the checksum value computed over the input arguments.</summary>
+            <returns>The checksum computed over the input values.</returns>
+            <param name="arg1">The value for which the checksum is calculated.</param>
+            <param name="arg2">The value for which the checksum is calculated.</param>
+            <param name="arg3">The value for which the checksum is calculated.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Checksum(System.Nullable{System.Decimal},System.Nullable{System.Decimal},System.Nullable{System.Decimal})">
+            <summary>Returns the checksum value computed over the input arguments.</summary>
+            <returns>The checksum computed over the input values.</returns>
+            <param name="arg1">The value for which the checksum is calculated.</param>
+            <param name="arg2">The value for which the checksum is calculated.</param>
+            <param name="arg3">The value for which the checksum is calculated.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Checksum(System.String,System.String,System.String)">
+            <summary>Returns the checksum value computed over the input arguments.</summary>
+            <returns>The checksum computed over the input values.</returns>
+            <param name="arg1">The value for which the checksum is calculated.</param>
+            <param name="arg2">The value for which the checksum is calculated.</param>
+            <param name="arg3">The value for which the checksum is calculated.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Checksum(System.Nullable{System.DateTime},System.Nullable{System.DateTime},System.Nullable{System.DateTime})">
+            <summary>Returns the checksum value computed over the input arguments.</summary>
+            <returns>The checksum computed over the input values.</returns>
+            <param name="arg1">The value for which the checksum is calculated.</param>
+            <param name="arg2">The value for which the checksum is calculated.</param>
+            <param name="arg3">The value for which the checksum is calculated.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Checksum(System.Nullable{System.DateTimeOffset},System.Nullable{System.DateTimeOffset},System.Nullable{System.DateTimeOffset})">
+            <summary>Returns the checksum value computed over the input arguments.</summary>
+            <returns>The checksum computed over the input values.</returns>
+            <param name="arg1">The value for which the checksum is calculated.</param>
+            <param name="arg2">The value for which the checksum is calculated.</param>
+            <param name="arg3">The value for which the checksum is calculated.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Checksum(System.Nullable{System.TimeSpan},System.Nullable{System.TimeSpan},System.Nullable{System.TimeSpan})">
+            <summary>Returns the checksum value computed over the input arguments.</summary>
+            <returns>The checksum computed over the input values.</returns>
+            <param name="arg1">The value for which the checksum is calculated.</param>
+            <param name="arg2">The value for which the checksum is calculated.</param>
+            <param name="arg3">The value for which the checksum is calculated.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Checksum(System.Byte[],System.Byte[],System.Byte[])">
+            <summary>Returns the checksum value computed over the input arguments.</summary>
+            <returns>The checksum computed over the input values.</returns>
+            <param name="arg1">The character array for which the checksum is calculated.</param>
+            <param name="arg2">The character array for which the checksum is calculated.</param>
+            <param name="arg3">The character array for which the checksum is calculated.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.Checksum(System.Nullable{System.Guid},System.Nullable{System.Guid},System.Nullable{System.Guid})">
+            <summary>Returns the checksum value computed over the input arguments.</summary>
+            <returns>The checksum computed over the input values.</returns>
+            <param name="arg1">The value for which the checksum is calculated.</param>
+            <param name="arg2">The value for which the checksum is calculated.</param>
+            <param name="arg3">The value for which the checksum is calculated.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.CurrentTimestamp">
+            <summary>Returns the current date and time. </summary>
+            <returns>The current date and time.</returns>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.CurrentUser">
+            <summary>Returns the name of the current user.</summary>
+            <returns>The name of the current user.</returns>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.HostName">
+            <summary>Returns the workstation name.</summary>
+            <returns>The name of the workstation.</returns>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.UserName(System.Nullable{System.Int32})">
+            <summary>Returns a database user name corresponding to a specified identification number.</summary>
+            <returns>The user name.</returns>
+            <param name="arg">A user ID.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.UserName">
+            <summary>Returns a database user name corresponding to a specified identification number.</summary>
+            <returns>The user name.</returns>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.IsNumeric(System.String)">
+            <summary>Indicates whether the input value is a valid numeric type.</summary>
+            <returns>1 if the input expression is a valid numeric data type; otherwise, 0.</returns>
+            <param name="arg">A string expression.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlFunctions.IsDate(System.String)">
+            <summary>Indicates whether the input value is a valid date or time.</summary>
+            <returns>1 if the input expression is a valid date or time value of datetime or smalldatetime data types; otherwise, 0.</returns>
+            <param name="arg">The tested value.</param>
+        </member>
+        <member name="T:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator">
+            <summary>
+            Provider to convert provider agnostic migration operations into SQL commands
+            that can be run against a Microsoft SQL Server database.
+            </summary>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.IsPermissionDeniedError(System.Exception)">
+            <summary>
+            Determines if a provider specific exception corresponds to a database-level permission denied error.
+            </summary>
+            <param name="exception">The database exception.</param>
+            <returns> true if the supplied exception corresponds to a database-level permission denied error; otherwise false. </returns>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Collections.Generic.IEnumerable{System.Data.Entity.Migrations.Model.MigrationOperation},System.String)">
+            <summary>
+            Converts a set of migration operations into Microsoft SQL Server specific SQL.
+            </summary>
+            <param name="migrationOperations"> The operations to be converted. </param>
+            <param name="providerManifestToken"> Token representing the version of SQL Server being targeted (i.e. "2005", "2008"). </param>
+            <returns> A list of SQL statements to be executed to perform the migration operations. </returns>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.GenerateProcedureBody(System.Collections.Generic.ICollection{System.Data.Entity.Core.Common.CommandTrees.DbModificationCommandTree},System.String,System.String)">
+            <summary>
+            Generates the SQL body for a stored procedure.
+            </summary>
+            <param name="commandTrees">The command trees representing the commands for an insert, update or delete operation.</param>
+            <param name="rowsAffectedParameter">The rows affected parameter name.</param>
+            <param name="providerManifestToken">The provider manifest token.</param>
+            <returns>The SQL body for the stored procedure.</returns>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.UpdateDatabaseOperation)">
+            <summary>
+            Generates the specified update database operation which represents applying a series of migrations.
+            The generated script is idempotent, meaning it contains conditional logic to check if individual migrations 
+            have already been applied and only apply the pending ones.
+            </summary>
+            <param name="updateDatabaseOperation">The update database operation.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.MigrationOperation)">
+            <summary>
+            Generates SQL for a <see cref="T:System.Data.Entity.Migrations.Model.MigrationOperation"/>.
+            Allows derived providers to handle additional operation types.
+            Generated SQL should be added using the Statement method.
+            </summary>
+            <param name="migrationOperation"> The operation to produce SQL for. </param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.CreateConnection">
+            <summary>
+            Creates an empty connection for the current provider.
+            Allows derived providers to use connection other than <see cref="T:System.Data.SqlClient.SqlConnection"/>.
+            </summary>
+            <returns> An empty connection for the current provider. </returns>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.CreateProcedureOperation)">
+            <summary>
+            Generates the specified create procedure operation.
+            </summary>
+            <param name="createProcedureOperation">The create procedure operation.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.AlterProcedureOperation)">
+            <summary>
+            Generates the specified alter procedure operation.
+            </summary>
+            <param name="alterProcedureOperation">The alter procedure operation.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.DropProcedureOperation)">
+            <summary>
+            Generates the specified drop procedure operation.
+            </summary>
+            <param name="dropProcedureOperation">The drop procedure operation.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.CreateTableOperation)">
+            <summary>
+            Generates SQL for a <see cref="T:System.Data.Entity.Migrations.Model.CreateTableOperation"/>. This method differs from
+            <see cref="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.WriteCreateTable(System.Data.Entity.Migrations.Model.CreateTableOperation)"/> in that it will
+            create the target database schema if it does not already exist.
+            Generated SQL should be added using the Statement method.
+            </summary>
+            <param name="createTableOperation"> The operation to produce SQL for. </param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.WriteCreateTable(System.Data.Entity.Migrations.Model.CreateTableOperation)">
+            <summary>
+            Generates SQL for a <see cref="T:System.Data.Entity.Migrations.Model.CreateTableOperation"/>.
+            Generated SQL should be added using the Statement method.
+            </summary>
+            <param name="createTableOperation"> The operation to produce SQL for. </param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.WriteCreateTable(System.Data.Entity.Migrations.Model.CreateTableOperation,System.Data.Entity.Migrations.Utilities.IndentedTextWriter)">
+            <summary>
+            Writes CREATE TABLE SQL to the target writer.
+            </summary>
+            <param name="createTableOperation"> The operation to produce SQL for. </param>
+            <param name="writer"> The target writer. </param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.AlterTableOperation)">
+            <summary>
+            Override this method to generate SQL when the definition of a table or its attributes are changed.
+            The default implementation of this method does nothing.
+            </summary>
+            <param name="alterTableOperation"> The operation describing changes to the table. </param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.GenerateMakeSystemTable(System.Data.Entity.Migrations.Model.CreateTableOperation,System.Data.Entity.Migrations.Utilities.IndentedTextWriter)">
+            <summary>
+            Generates SQL to mark a table as a system table.
+            Generated SQL should be added using the Statement method.
+            </summary>
+            <param name="createTableOperation"> The table to mark as a system table. </param>
+            <param name="writer"> The <see cref="T:System.Data.Entity.Migrations.Utilities.IndentedTextWriter"/> to write the generated SQL to. </param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.GenerateCreateSchema(System.String)">
+            <summary>
+            Generates SQL to create a database schema.
+            Generated SQL should be added using the Statement method.
+            </summary>
+            <param name="schema"> The name of the schema to create. </param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.AddForeignKeyOperation)">
+            <summary>
+            Generates SQL for a <see cref="T:System.Data.Entity.Migrations.Model.AddForeignKeyOperation"/>.
+            Generated SQL should be added using the Statement method.
+            </summary>
+            <param name="addForeignKeyOperation"> The operation to produce SQL for. </param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.DropForeignKeyOperation)">
+            <summary>
+            Generates SQL for a <see cref="T:System.Data.Entity.Migrations.Model.DropForeignKeyOperation"/>.
+            Generated SQL should be added using the Statement method.
+            </summary>
+            <param name="dropForeignKeyOperation"> The operation to produce SQL for. </param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.CreateIndexOperation)">
+            <summary>
+            Generates SQL for a <see cref="T:System.Data.Entity.Migrations.Model.CreateIndexOperation"/>.
+            Generated SQL should be added using the Statement method.
+            </summary>
+            <param name="createIndexOperation"> The operation to produce SQL for. </param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.DropIndexOperation)">
+            <summary>
+            Generates SQL for a <see cref="T:System.Data.Entity.Migrations.Model.DropIndexOperation"/>.
+            Generated SQL should be added using the Statement method.
+            </summary>
+            <param name="dropIndexOperation"> The operation to produce SQL for. </param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.AddPrimaryKeyOperation)">
+            <summary>
+            Generates SQL for a <see cref="T:System.Data.Entity.Migrations.Model.AddPrimaryKeyOperation"/>.
+            Generated SQL should be added using the Statement method.
+            </summary>
+            <param name="addPrimaryKeyOperation"> The operation to produce SQL for. </param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.DropPrimaryKeyOperation)">
+            <summary>
+            Generates SQL for a <see cref="T:System.Data.Entity.Migrations.Model.DropPrimaryKeyOperation"/>.
+            Generated SQL should be added using the Statement method.
+            </summary>
+            <param name="dropPrimaryKeyOperation"> The operation to produce SQL for. </param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.AddColumnOperation)">
+            <summary>
+            Generates SQL for a <see cref="T:System.Data.Entity.Migrations.Model.AddColumnOperation"/>.
+            Generated SQL should be added using the Statement method.
+            </summary>
+            <param name="addColumnOperation"> The operation to produce SQL for. </param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.DropColumnOperation)">
+            <summary>
+            Generates SQL for a <see cref="T:System.Data.Entity.Migrations.Model.DropColumnOperation"/>.
+            Generated SQL should be added using the Statement method.
+            </summary>
+            <param name="dropColumnOperation"> The operation to produce SQL for. </param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.AlterColumnOperation)">
+            <summary>
+            Generates SQL for a <see cref="T:System.Data.Entity.Migrations.Model.AlterColumnOperation"/>.
+            Generated SQL should be added using the Statement method.
+            </summary>
+            <param name="alterColumnOperation"> The operation to produce SQL for. </param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.DropDefaultConstraint(System.String,System.String,System.Data.Entity.Migrations.Utilities.IndentedTextWriter)">
+            <summary>
+            Call this method to generate SQL that will attempt to drop the default constraint created
+            when a column is created. This method is usually called by code that overrides the creation or
+            altering of columns.
+            </summary>
+            <param name="table">The table to which the constraint applies.</param>
+            <param name="column">The column to which the constraint applies.</param>
+            <param name="writer">The writer to which generated SQL should be written.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.DropTableOperation)">
+            <summary>
+            Generates SQL for a <see cref="T:System.Data.Entity.Migrations.Model.DropTableOperation"/>.
+            Generated SQL should be added using the Statement method.
+            </summary>
+            <param name="dropTableOperation"> The operation to produce SQL for. </param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.SqlOperation)">
+            <summary>
+            Generates SQL for a <see cref="T:System.Data.Entity.Migrations.Model.SqlOperation"/>.
+            Generated SQL should be added using the Statement or StatementBatch methods.
+            </summary>
+            <param name="sqlOperation"> The operation to produce SQL for. </param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.RenameColumnOperation)">
+            <summary>
+            Generates SQL for a <see cref="T:System.Data.Entity.Migrations.Model.RenameColumnOperation"/>.
+            Generated SQL should be added using the Statement method.
+            </summary>
+            <param name="renameColumnOperation"> The operation to produce SQL for. </param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.RenameIndexOperation)">
+            <summary>
+            Generates SQL for a <see cref="T:System.Data.Entity.Migrations.Model.RenameIndexOperation"/>.
+            Generated SQL should be added using the Statement method.
+            </summary>
+            <param name="renameIndexOperation"> The operation to produce SQL for. </param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.RenameTableOperation)">
+            <summary>
+            Generates SQL for a <see cref="T:System.Data.Entity.Migrations.Model.RenameTableOperation"/>.
+            Generated SQL should be added using the Statement method.
+            </summary>
+            <param name="renameTableOperation"> The operation to produce SQL for. </param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.RenameProcedureOperation)">
+            <summary>
+            Generates the specified rename procedure operation.
+            </summary>
+            <param name="renameProcedureOperation">The rename procedure operation.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.MoveProcedureOperation)">
+            <summary>
+            Generates the specified move procedure operation.
+            </summary>
+            <param name="moveProcedureOperation">The move procedure operation.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.MoveTableOperation)">
+            <summary>
+            Generates SQL for a <see cref="T:System.Data.Entity.Migrations.Model.MoveTableOperation"/>.
+            Generated SQL should be added using the Statement method.
+            </summary>
+            <param name="moveTableOperation"> The operation to produce SQL for. </param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.ColumnModel,System.Data.Entity.Migrations.Utilities.IndentedTextWriter)">
+            <summary>
+            Generates SQL for the given column model. This method is called by other methods that
+            process columns and can be overridden to change the SQL generated.
+            </summary>
+            <param name="column">The column for which SQL is being generated.</param>
+            <param name="writer">The writer to which generated SQL should be written.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Data.Entity.Migrations.Model.HistoryOperation)">
+            <summary>
+            Generates SQL for a <see cref="T:System.Data.Entity.Migrations.Model.HistoryOperation"/>.
+            Generated SQL should be added using the Statement method.
+            </summary>
+            <param name="historyOperation"> The operation to produce SQL for. </param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Byte[])">
+            <summary>
+            Generates SQL to specify a constant byte[] default value being set on a column.
+            This method just generates the actual value, not the SQL to set the default value.
+            </summary>
+            <param name="defaultValue"> The value to be set. </param>
+            <returns> SQL representing the default value. </returns>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Boolean)">
+            <summary>
+            Generates SQL to specify a constant bool default value being set on a column.
+            This method just generates the actual value, not the SQL to set the default value.
+            </summary>
+            <param name="defaultValue"> The value to be set. </param>
+            <returns> SQL representing the default value. </returns>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.DateTime)">
+            <summary>
+            Generates SQL to specify a constant DateTime default value being set on a column.
+            This method just generates the actual value, not the SQL to set the default value.
+            </summary>
+            <param name="defaultValue"> The value to be set. </param>
+            <returns> SQL representing the default value. </returns>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.DateTimeOffset)">
+            <summary>
+            Generates SQL to specify a constant DateTimeOffset default value being set on a column.
+            This method just generates the actual value, not the SQL to set the default value.
+            </summary>
+            <param name="defaultValue"> The value to be set. </param>
+            <returns> SQL representing the default value. </returns>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Guid)">
+            <summary>
+            Generates SQL to specify a constant Guid default value being set on a column.
+            This method just generates the actual value, not the SQL to set the default value.
+            </summary>
+            <param name="defaultValue"> The value to be set. </param>
+            <returns> SQL representing the default value. </returns>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.String)">
+            <summary>
+            Generates SQL to specify a constant string default value being set on a column.
+            This method just generates the actual value, not the SQL to set the default value.
+            </summary>
+            <param name="defaultValue"> The value to be set. </param>
+            <returns> SQL representing the default value. </returns>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.TimeSpan)">
+            <summary>
+            Generates SQL to specify a constant TimeSpan default value being set on a column.
+            This method just generates the actual value, not the SQL to set the default value.
+            </summary>
+            <param name="defaultValue"> The value to be set. </param>
+            <returns> SQL representing the default value. </returns>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Data.Entity.Spatial.DbGeography)">
+            <summary>
+            Generates SQL to specify a constant geogrpahy default value being set on a column.
+            This method just generates the actual value, not the SQL to set the default value.
+            </summary>
+            <param name="defaultValue"> The value to be set. </param>
+            <returns> SQL representing the default value. </returns>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Data.Entity.Spatial.DbGeometry)">
+            <summary>
+            Generates SQL to specify a constant geometry default value being set on a column.
+            This method just generates the actual value, not the SQL to set the default value.
+            </summary>
+            <param name="defaultValue"> The value to be set. </param>
+            <returns> SQL representing the default value. </returns>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Generate(System.Object)">
+            <summary>
+            Generates SQL to specify a constant default value being set on a column.
+            This method just generates the actual value, not the SQL to set the default value.
+            </summary>
+            <param name="defaultValue"> The value to be set. </param>
+            <returns> SQL representing the default value. </returns>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.BuildColumnType(System.Data.Entity.Migrations.Model.ColumnModel)">
+            <summary>
+            Generates SQL to specify the data type of a column.
+            This method just generates the actual type, not the SQL to create the column.
+            </summary>
+            <param name="columnModel"> The definition of the column. </param>
+            <returns> SQL representing the data type. </returns>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Name(System.String)">
+            <summary>
+            Generates a quoted name. The supplied name may or may not contain the schema.
+            </summary>
+            <param name="name"> The name to be quoted. </param>
+            <returns> The quoted name. </returns>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Quote(System.String)">
+            <summary>
+            Quotes an identifier for SQL Server.
+            </summary>
+            <param name="identifier"> The identifier to be quoted. </param>
+            <returns> The quoted identifier. </returns>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Statement(System.String,System.Boolean,System.String)">
+            <summary>
+            Adds a new Statement to be executed against the database.
+            </summary>
+            <param name="sql"> The statement to be executed. </param>
+            <param name="suppressTransaction"> Gets or sets a value indicating whether this statement should be performed outside of the transaction scope that is used to make the migration process transactional. If set to true, this operation will not be rolled back if the migration process fails. </param>
+            <param name="batchTerminator">The batch terminator for the database provider.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Writer">
+            <summary>
+            Gets a new <see cref="T:System.Data.Entity.Migrations.Utilities.IndentedTextWriter"/> that can be used to build SQL.
+            This is just a helper method to create a writer. Writing to the writer will
+            not cause SQL to be registered for execution. You must pass the generated
+            SQL to the Statement method.
+            </summary>
+            <returns> An empty text writer to use for SQL generation. </returns>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.Statement(System.Data.Entity.Migrations.Utilities.IndentedTextWriter,System.String)">
+            <summary>
+            Adds a new Statement to be executed against the database.
+            </summary>
+            <param name="writer"> The writer containing the SQL to be executed. </param>
+            <param name="batchTerminator">The batch terminator for the database provider.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.StatementBatch(System.String,System.Boolean)">
+            <summary>
+            Breaks sql string into one or more statements, handling T-SQL utility statements as necessary.
+            </summary>
+            <param name="sqlBatch"> The SQL to split into one ore more statements to be executed. </param>
+            <param name="suppressTransaction"> Gets or sets a value indicating whether this statement should be performed outside of the transaction scope that is used to make the migration process transactional. If set to true, this operation will not be rolled back if the migration process fails. </param>
+        </member>
+        <member name="P:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator.GuidColumnDefault">
+            <summary>
+            Returns the column default value to use for store-generated GUID columns when
+            no default value is explicitly specified in the migration.
+            Returns newsequentialid() for on-premises SQL Server 2005 and later.
+            Returns newid() for SQL Azure.
+            </summary>
+            <value>Either newsequentialid() or newid() as described above.</value>
+        </member>
+        <member name="T:System.Data.Entity.SqlServer.SqlSpatialFunctions">
+            <summary>
+            Contains function stubs that expose SqlServer methods in Linq to Entities.
+            </summary>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialFunctions.PointGeography(System.Nullable{System.Double},System.Nullable{System.Double},System.Nullable{System.Int32})">
+            <summary>Constructs a geography instance representing a Point instance from its x and y values and a spatial reference ID (SRID). </summary>
+            <returns>The constructed geography instance.</returns>
+            <param name="latitude">The x-coordinate of the Point being generated.</param>
+            <param name="longitude">The y-coordinate of the Point being generated</param>
+            <param name="spatialReferenceId">The SRID of the geography instance.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialFunctions.AsTextZM(System.Data.Entity.Spatial.DbGeography)">
+            <summary>Returns the Open Geospatial Consortium (OGC) Well-Known Text (WKT) representation of a geography instance augmented with any Z (elevation) and M (measure) values carried by the instance.</summary>
+            <returns>The Open Geospatial Consortium (OGC) Well-Known Text (WKT) representation of a geography instance.</returns>
+            <param name="geographyValue">The geography value.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialFunctions.BufferWithTolerance(System.Data.Entity.Spatial.DbGeography,System.Nullable{System.Double},System.Nullable{System.Double},System.Nullable{System.Boolean})">
+            <summary>Returns a geometric object representing the union of all point values whose distance from a geography instance is less than or equal to a specified value, allowing for a specified tolerance.</summary>
+            <returns>The union of all point values whose distance from a geography instance is less than or equal to a specified value</returns>
+            <param name="geographyValue">The geography value.</param>
+            <param name="distance">The distance.</param>
+            <param name="tolerance">The specified tolerance.</param>
+            <param name="relative">Specifying whether the tolerance value is relative or absolute.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialFunctions.EnvelopeAngle(System.Data.Entity.Spatial.DbGeography)">
+            <summary>Returns the maximum angle between the point returned by EnvelopeCenter() and a point in the geography instance in degrees.</summary>
+            <returns>the maximum angle between the point returned by EnvelopeCenter().</returns>
+            <param name="geographyValue">The geography value.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialFunctions.EnvelopeCenter(System.Data.Entity.Spatial.DbGeography)">
+            <summary>Returns a point that can be used as the center of a bounding circle for the geography instance.</summary>
+            <returns>A SqlGeography value that specifies the location of the center of a bounding circle.</returns>
+            <param name="geographyValue">The geography value.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialFunctions.Filter(System.Data.Entity.Spatial.DbGeography,System.Data.Entity.Spatial.DbGeography)">
+            <summary>Offers a fast, index-only intersection method to determine if a geography instance intersects another SqlGeography instance, assuming an index is available.</summary>
+            <returns>True if a geography instance potentially intersects another SqlGeography instance; otherwise, false.</returns>
+            <param name="geographyValue">The geography value.</param>
+            <param name="geographyOther">Another geography instance to compare against the instance on which Filter is invoked.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialFunctions.InstanceOf(System.Data.Entity.Spatial.DbGeography,System.String)">
+            <summary>Tests if the SqlGeography instance is the same as the specified type.</summary>
+            <returns>A string that specifies one of the 12 types exposed in the geography type hierarchy.</returns>
+            <param name="geographyValue">The geography value.</param>
+            <param name="geometryTypeName">A string that specifies one of the 12 types exposed in the geography type hierarchy.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialFunctions.NumRings(System.Data.Entity.Spatial.DbGeography)">
+            <summary>Returns the total number of rings in a Polygon instance.</summary>
+            <returns>The total number of rings.</returns>
+            <param name="geographyValue">The geography value.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialFunctions.Reduce(System.Data.Entity.Spatial.DbGeography,System.Nullable{System.Double})">
+            <summary>Returns an approximation of the given geography instance produced by running the Douglas-Peucker algorithm on the instance with the given tolerance.</summary>
+            <returns>
+            Returns <see cref="T:System.Data.Entity.Spatial.DbGeography" />.
+            </returns>
+            <param name="geographyValue">The geography value.</param>
+            <param name="tolerance">The tolerance to input to the Douglas-Peucker algorithm. tolerance must be a positive number.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialFunctions.RingN(System.Data.Entity.Spatial.DbGeography,System.Nullable{System.Int32})">
+            <summary>Returns the specified ring of the SqlGeography instance: 1 ≤ n ≤ NumRings().</summary>
+            <returns>A SqlGeography object that represents the ring specified by n.</returns>
+            <param name="geographyValue">The geography value.</param>
+            <param name="index">An int expression between 1 and the number of rings in a polygon instance.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialFunctions.PointGeometry(System.Nullable{System.Double},System.Nullable{System.Double},System.Nullable{System.Int32})">
+            <summary>Constructs a geometry instance representing a Point instance from its x and y values and a spatial reference ID (SRID). </summary>
+            <returns>The constructed geometry instance.</returns>
+            <param name="xCoordinate">The x-coordinate of the Point being generated.</param>
+            <param name="yCoordinate">The y-coordinate of the Point being generated</param>
+            <param name="spatialReferenceId">The SRID of the geography instance.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialFunctions.AsTextZM(System.Data.Entity.Spatial.DbGeometry)">
+            <summary>Returns the Open Geospatial Consortium (OGC) Well-Known Text (WKT) representation of a geography instance augmented with any Z (elevation) and M (measure) values carried by the instance.</summary>
+            <returns>The Open Geospatial Consortium (OGC) Well-Known Text (WKT) representation of a geometry instance.</returns>
+            <param name="geometryValue">The geometry value.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialFunctions.BufferWithTolerance(System.Data.Entity.Spatial.DbGeometry,System.Nullable{System.Double},System.Nullable{System.Double},System.Nullable{System.Boolean})">
+            <summary>Returns a geometric object representing the union of all point values whose distance from a geometry instance is less than or equal to a specified value, allowing for a specified tolerance.</summary>
+            <returns>The union of all point values whose distance from a geometry instance is less than or equal to a specified value</returns>
+            <param name="geometryValue">The geometry value.</param>
+            <param name="distance">The distance.</param>
+            <param name="tolerance">The specified tolerance.</param>
+            <param name="relative">Specifying whether the tolerance value is relative or absolute.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialFunctions.InstanceOf(System.Data.Entity.Spatial.DbGeometry,System.String)">
+            <summary>Tests if the SqlGeometry instance is the same as the specified type.</summary>
+            <returns>A string that specifies one of the 12 types exposed in the geography type hierarchy.</returns>
+            <param name="geometryValue">The geometry value.</param>
+            <param name="geometryTypeName">A string that specifies one of the 12 types exposed in the geography type hierarchy.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialFunctions.Filter(System.Data.Entity.Spatial.DbGeometry,System.Data.Entity.Spatial.DbGeometry)">
+            <summary>Offers a fast, index-only intersection method to determine if a geography instance intersects another SqlGeometry instance, assuming an index is available.</summary>
+            <returns>True if a geography instance potentially intersects another SqlGeography instance; otherwise, false.</returns>
+            <param name="geometryValue">The geometry value.</param>
+            <param name="geometryOther">Another geography instance to compare against the instance on which Filter is invoked.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialFunctions.MakeValid(System.Data.Entity.Spatial.DbGeometry)">
+            <summary>Converts an invalid geometry instance into a geometry instance with a valid Open Geospatial Consortium (OGC) type. </summary>
+            <returns>The converted geometry instance.</returns>
+            <param name="geometryValue">The geometry value.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialFunctions.Reduce(System.Data.Entity.Spatial.DbGeometry,System.Nullable{System.Double})">
+            <summary>Returns an approximation of the given geography instance produced by running the Douglas-Peucker algorithm on the instance with the given tolerance.</summary>
+            <returns>
+            Returns <see cref="T:System.Data.Entity.Spatial.DbGeometry" />.
+            </returns>
+            <param name="geometryValue">The geometry value.</param>
+            <param name="tolerance">The tolerance to input to the Douglas-Peucker algorithm. tolerance must be a positive number.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlProviderManifest.SupportsParameterOptimizationInSchemaQueries">
+            <summary>
+            Indicates if the provider supports the parameter optimization described in EntityFramework6 GitHub issue #195.
+            </summary>
+            <returns><c>True</c> since this provider supports the parameter optimization.</returns>
+        </member>
+        <member name="T:System.Data.Entity.SqlServer.SqlProviderServices">
+            <summary>
+            The DbProviderServices implementation for the SqlClient provider for SQL Server.
+            </summary>
+            <remarks>
+            Note that instance of this type also resolve additional provider services for Microsoft SQL Server
+            when this type is registered as an EF provider either using an entry in the application's config file
+            or through code-based registration in <see cref="T:System.Data.Entity.DbConfiguration"/>.
+            The services resolved are:
+            Requests for <see cref="T:System.Data.Entity.Infrastructure.IDbConnectionFactory"/> are resolved to a Singleton instance of
+            <see cref="T:System.Data.Entity.Infrastructure.SqlConnectionFactory"/> to create connections to SQL Express by default.
+            Requests for <see cref="T:System.Func`1"/> for the invariant name "System.Data.SqlClient"
+            for any server name are resolved to a delegate that returns a <see cref="T:System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy"/>
+            to provide a non-retrying policy for SQL Server.
+            Requests for <see cref="T:System.Data.Entity.Migrations.Sql.MigrationSqlGenerator"/> for the invariant name "System.Data.SqlClient" are
+            resolved to <see cref="T:System.Data.Entity.SqlServer.SqlServerMigrationSqlGenerator"/> instances to provide default Migrations SQL
+            generation for SQL Server.
+            Requests for <see cref="T:System.Data.Entity.Spatial.DbSpatialServices"/> for the invariant name "System.Data.SqlClient" are
+            resolved to a Singleton instance of <see cref="T:System.Data.Entity.SqlServer.SqlSpatialServices"/> to provide default spatial
+            services for SQL Server.
+            </remarks>
+        </member>
+        <member name="F:System.Data.Entity.SqlServer.SqlProviderServices.ProviderInvariantName">
+            <summary>
+            This is the well-known string using in configuration files and code-based configuration as
+            the "provider invariant name" used to specify Microsoft SQL Server for ADO.NET and
+            Entity Framework provider services.
+            </summary>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlProviderServices.RegisterInfoMessageHandler(System.Data.Common.DbConnection,System.Action{System.String})">
+            <summary>
+            Registers a handler to process non-error messages coming from the database provider.
+            </summary>
+            <param name="connection"> The connection to receive information for. </param>
+            <param name="handler"> The handler to process messages. </param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlProviderServices.CreateDbCommandDefinition(System.Data.Entity.Core.Common.DbProviderManifest,System.Data.Entity.Core.Common.CommandTrees.DbCommandTree)">
+            <summary>
+            Create a Command Definition object, given the connection and command tree
+            </summary>
+            <param name="providerManifest"> provider manifest that was determined from metadata </param>
+            <param name="commandTree"> command tree for the statement </param>
+            <returns> an executable command definition object </returns>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlProviderServices.CloneDbCommand(System.Data.Common.DbCommand)">
+            <summary>
+            See issue 2390 - cloning the DesignTimeVisible property on the
+            <see cref="T:System.Data.SqlClient.SqlCommand" /> can cause deadlocks.
+            So here overriding to provide a method that does not clone DesignTimeVisible.
+            </summary>
+            <param name="fromDbCommand"> the <see cref="T:System.Data.Common.DbCommand" /> object to clone </param>
+            <returns >a clone of the <see cref="T:System.Data.Common.DbCommand" /> </returns>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlProviderServices.SetDbParameterValue(System.Data.Common.DbParameter,System.Data.Entity.Core.Metadata.Edm.TypeUsage,System.Object)">
+            <summary>
+            Sets the parameter value and appropriate facets for the given <see cref="T:System.Data.Entity.Core.Metadata.Edm.TypeUsage"/>.
+            </summary>
+            <param name="parameter">The parameter.</param>
+            <param name="parameterType">The type of the parameter.</param>
+            <param name="value">The value of the parameter.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlProviderServices.GetDbProviderManifestToken(System.Data.Common.DbConnection)">
+            <summary>
+            Returns provider manifest token for a given connection.
+            </summary>
+            <param name="connection"> Connection to find manifest token from. </param>
+            <returns> The provider manifest token for the specified connection. </returns>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlProviderServices.GetDbProviderManifest(System.String)">
+            <summary>
+            Returns the provider manifest by using the specified version information.
+            </summary>
+            <param name="versionHint"> The token information associated with the provider manifest. </param>
+            <returns> The provider manifest by using the specified version information. </returns>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlProviderServices.GetDbSpatialDataReader(System.Data.Common.DbDataReader,System.String)">
+            <summary>
+            Gets a spatial data reader for SQL Server.
+            </summary>
+            <param name="fromReader"> The reader where the spatial data came from. </param>
+            <param name="versionHint"> The manifest token associated with the provider manifest. </param>
+            <returns> The spatial data reader. </returns>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlProviderServices.DbGetSpatialServices(System.String)">
+            <summary>
+            Gets a spatial data reader for SQL Server.
+            </summary>
+            <param name="versionHint"> The manifest token associated with the provider manifest. </param>
+            <returns> The spatial data reader. </returns>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlProviderServices.DbCreateDatabaseScript(System.String,System.Data.Entity.Core.Metadata.Edm.StoreItemCollection)">
+            <summary>
+            Generates a data definition language (DDL) script that creates schema objects 
+            (tables, primary keys, foreign keys) based on the contents of the StoreItemCollection 
+            parameter and targeted for the version of the database corresponding to the provider manifest token.
+            </summary>
+            <param name="providerManifestToken"> The provider manifest token identifying the target version. </param>
+            <param name="storeItemCollection"> The structure of the database. </param>
+            <returns>
+            A DDL script that creates schema objects based on the contents of the StoreItemCollection parameter 
+            and targeted for the version of the database corresponding to the provider manifest token.
+            </returns>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlProviderServices.DbCreateDatabase(System.Data.Common.DbConnection,System.Nullable{System.Int32},System.Data.Entity.Core.Metadata.Edm.StoreItemCollection)">
+            <summary>
+            Create the database and the database objects.
+            If initial catalog is not specified, but AttachDBFilename is specified, we generate a random database name based on the AttachDBFilename.
+            Note: this causes pollution of the db, as when the connection string is later used, the mdf will get attached under a different name.
+            However if we try to replicate the name under which it would be attached, the following scenario would fail:
+            The file does not exist, but registered with database.
+            The user calls:  If (DatabaseExists) DeleteDatabase
+            CreateDatabase
+            For further details on the behavior when AttachDBFilename is specified see Dev10# 188936
+            </summary>
+            <param name="connection">Connection to a non-existent database that needs to be created and populated with the store objects indicated with the storeItemCollection parameter.</param>
+            <param name="commandTimeout">Execution timeout for any commands needed to create the database.</param>
+            <param name="storeItemCollection">The collection of all store items based on which the script should be created.</param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlProviderServices.DbDatabaseExists(System.Data.Common.DbConnection,System.Nullable{System.Int32},System.Data.Entity.Core.Metadata.Edm.StoreItemCollection)">
+            <summary>
+            Determines whether the database for the given connection exists.
+            There are three cases:
+            1.  Initial Catalog = X, AttachDBFilename = null:   (SELECT Count(*) FROM sys.databases WHERE [name]= X) > 0
+            2.  Initial Catalog = X, AttachDBFilename = F:      if (SELECT Count(*) FROM sys.databases WHERE [name]= X) > 0 then <c>true</c>,
+            if not, try to open the connection and then return (SELECT Count(*) FROM sys.databases WHERE [name]= X) > 0
+            3.  Initial Catalog = null, AttachDBFilename = F:   Try to open the connection. If that succeeds the result is true, otherwise
+            if the there are no databases corresponding to the given file return <c>false</c>, otherwise throw.
+            Note: We open the connection to cover the scenario when the mdf exists, but is not attached.
+            Given that opening the connection would auto-attach it, it would not be appropriate to return <c>false</c> in this case.
+            Also note that checking for the existence of the file does not work for a remote server.  (Dev11 #290487)
+            For further details on the behavior when AttachDBFilename is specified see Dev10# 188936
+            </summary>
+            <param name="connection">Connection to a database whose existence is checked by this method.</param>
+            <param name="commandTimeout">Execution timeout for any commands needed to determine the existence of the database.</param>
+            <param name="storeItemCollection">The collection of all store items from the model. This parameter is no longer used for determining database existence.</param>
+            <returns>True if the provider can deduce the database only based on the connection.</returns>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlProviderServices.DbDatabaseExists(System.Data.Common.DbConnection,System.Nullable{System.Int32},System.Lazy{System.Data.Entity.Core.Metadata.Edm.StoreItemCollection})">
+            <summary>
+            Determines whether the database for the given connection exists.
+            There are three cases:
+            1.  Initial Catalog = X, AttachDBFilename = null:   (SELECT Count(*) FROM sys.databases WHERE [name]= X) > 0
+            2.  Initial Catalog = X, AttachDBFilename = F:      if (SELECT Count(*) FROM sys.databases WHERE [name]= X) > 0 then <c>true</c>,
+            if not, try to open the connection and then return (SELECT Count(*) FROM sys.databases WHERE [name]= X) > 0
+            3.  Initial Catalog = null, AttachDBFilename = F:   Try to open the connection. If that succeeds the result is true, otherwise
+            if the there are no databases corresponding to the given file return <c>false</c>, otherwise throw.
+            Note: We open the connection to cover the scenario when the mdf exists, but is not attached.
+            Given that opening the connection would auto-attach it, it would not be appropriate to return <c>false</c> in this case.
+            Also note that checking for the existence of the file does not work for a remote server.  (Dev11 #290487)
+            For further details on the behavior when AttachDBFilename is specified see Dev10# 188936
+            </summary>
+            <param name="connection">Connection to a database whose existence is checked by this method.</param>
+            <param name="commandTimeout">Execution timeout for any commands needed to determine the existence of the database.</param>
+            <param name="storeItemCollection">The collection of all store items from the model. This parameter is no longer used for determining database existence.</param>
+            <returns>True if the provider can deduce the database only based on the connection.</returns>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlProviderServices.DbDeleteDatabase(System.Data.Common.DbConnection,System.Nullable{System.Int32},System.Data.Entity.Core.Metadata.Edm.StoreItemCollection)">
+            <summary>
+            Delete the database for the given connection.
+            There are three cases:
+            1.  If Initial Catalog is specified (X) drop database X
+            2.  Else if AttachDBFilename is specified (F) drop all the databases corresponding to F
+            if none throw
+            3.  If niether the catalog not the file name is specified - throw
+            Note that directly deleting the files does not work for a remote server.  However, even for not attached
+            databases the current logic would work assuming the user does: if (DatabaseExists) DeleteDatabase
+            </summary>
+            <param name="connection"> Connection </param>
+            <param name="commandTimeout"> Timeout for internal commands. </param>
+            <param name="storeItemCollection"> Item Collection. </param>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlProviderServices.CloneDbConnection(System.Data.Common.DbConnection,System.Data.Common.DbProviderFactory)">
+            <summary>
+            Clones the connection.
+            </summary>
+            <param name="connection">The original connection.</param>
+            <param name="factory">The factory to use.</param>
+            <returns>Cloned connection</returns>
+        </member>
+        <member name="P:System.Data.Entity.SqlServer.SqlProviderServices.Instance">
+            <summary>
+            The Singleton instance of the SqlProviderServices type.
+            </summary>
+        </member>
+        <member name="P:System.Data.Entity.SqlServer.SqlProviderServices.SqlServerTypesAssemblyName">
+            <summary>
+            Set to the full name of the Microsoft.SqlServer.Types assembly to override the default selection
+            </summary>
+        </member>
+        <member name="P:System.Data.Entity.SqlServer.SqlProviderServices.TruncateDecimalsToScale">
+            <summary>
+            Get or sets a value indicating whether <see cref="T:System.Decimal"/> parameter values are truncated to 
+            the scale (number of decimal places) defined for their corresponding columns when they are sent 
+            to the database. A value of <c>true</c> indicates that <see cref="T:System.Data.SqlClient.SqlParameter"/> objects 
+            created for <see cref="T:System.Decimal"/> columns will have their <see cref="P:System.Data.SqlClient.SqlParameter.Scale"/> 
+            properties set, which will cause the parameter values to be truncated. If set to <c>false</c> 
+            then the <see cref="P:System.Data.SqlClient.SqlParameter.Scale"/> properties will not be set, avoiding the truncation 
+            behavior of <see cref="T:System.Data.SqlClient.SqlParameter"/> and allowing SQL Server to round values if necessary. 
+            The default value is <c>true</c> to prevent breaking existing applications that depend on this 
+            behavior. 
+            </summary>
+        </member>
+        <member name="P:System.Data.Entity.SqlServer.SqlProviderServices.UseScopeIdentity">
+            <summary>
+            Gets or sets a value indicating whether to use the SCOPE_IDENTITY() function to retrieve values 
+            generated by the database for numeric columns during an INSERT operation. The default value of 
+            <c>true</c> is recommended and can provide better performance if all numeric values are generated 
+            using IDENTITY columns. If set to <c>false</c>, an OUTPUT clause will be used instead. An OUTPUT 
+            clause makes it possible to retrieve values generated by sequences or other means.
+            </summary>
+        </member>
+        <member name="P:System.Data.Entity.SqlServer.SqlProviderServices.UseRowNumberOrderingInOffsetQueries">
+            <summary>
+            Gets or sets a value indicating whether the ROW_NUMBER() function is used in sort expression 
+            passed to the ORDER BY clause when OFFSET is present in query. The default value of <c>true</c> 
+            is recommended to obtain query results that are stable for paging operations. The value of 
+            <c>false</c> can be used for compatibility with previous versions of EF and will cause the sort 
+            expression to be passed unmodified to the ORDER BY clause, which can lead to unstable results 
+            if the ordering is ambiguous. 
+            </summary>
+            <remarks>
+            This flag only applies to SQL Server 2012 or later. This flag does not affect queries that have 
+            already been translated to SQL and cached, therefore applications that need to set the value to 
+            <c>false</c> for compatibility should do so before executing any queries.
+            </remarks>
+        </member>
+        <member name="T:System.Data.Entity.SqlServer.SqlSpatialServices">
+            <summary>
+            An implementation of <see cref="T:System.Data.Entity.Spatial.DbSpatialServices"/> to provide support for geospatial types when using
+            Entity Framework with Microsoft SQL Server.
+            </summary>
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.CreateProviderValue(System.Data.Entity.Spatial.DbGeographyWellKnownValue)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeographyFromProviderValue(System.Object)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.CreateWellKnownValue(System.Data.Entity.Spatial.DbGeography)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.CreateProviderValue(System.Data.Entity.Spatial.DbGeometryWellKnownValue)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeometryFromProviderValue(System.Object)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.CreateWellKnownValue(System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.AsTextIncludingElevationAndMeasure(System.Data.Entity.Spatial.DbGeography)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.AsTextIncludingElevationAndMeasure(System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeographyFromText(System.String)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeographyFromText(System.String,System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeographyPointFromText(System.String,System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeographyLineFromText(System.String,System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeographyPolygonFromText(System.String,System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeographyMultiPointFromText(System.String,System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeographyMultiLineFromText(System.String,System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeographyMultiPolygonFromText(System.String,System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeographyCollectionFromText(System.String,System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeographyFromBinary(System.Byte[],System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeographyFromBinary(System.Byte[])">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeographyPointFromBinary(System.Byte[],System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeographyLineFromBinary(System.Byte[],System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeographyPolygonFromBinary(System.Byte[],System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeographyMultiPointFromBinary(System.Byte[],System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeographyMultiLineFromBinary(System.Byte[],System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeographyMultiPolygonFromBinary(System.Byte[],System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeographyCollectionFromBinary(System.Byte[],System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeographyFromGml(System.String)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeographyFromGml(System.String,System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GetCoordinateSystemId(System.Data.Entity.Spatial.DbGeography)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GetSpatialTypeName(System.Data.Entity.Spatial.DbGeography)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GetDimension(System.Data.Entity.Spatial.DbGeography)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.AsBinary(System.Data.Entity.Spatial.DbGeography)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.AsGml(System.Data.Entity.Spatial.DbGeography)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.AsText(System.Data.Entity.Spatial.DbGeography)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GetIsEmpty(System.Data.Entity.Spatial.DbGeography)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.SpatialEquals(System.Data.Entity.Spatial.DbGeography,System.Data.Entity.Spatial.DbGeography)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.Disjoint(System.Data.Entity.Spatial.DbGeography,System.Data.Entity.Spatial.DbGeography)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.Intersects(System.Data.Entity.Spatial.DbGeography,System.Data.Entity.Spatial.DbGeography)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.Buffer(System.Data.Entity.Spatial.DbGeography,System.Double)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.Distance(System.Data.Entity.Spatial.DbGeography,System.Data.Entity.Spatial.DbGeography)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.Intersection(System.Data.Entity.Spatial.DbGeography,System.Data.Entity.Spatial.DbGeography)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.Union(System.Data.Entity.Spatial.DbGeography,System.Data.Entity.Spatial.DbGeography)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.Difference(System.Data.Entity.Spatial.DbGeography,System.Data.Entity.Spatial.DbGeography)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.SymmetricDifference(System.Data.Entity.Spatial.DbGeography,System.Data.Entity.Spatial.DbGeography)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GetElementCount(System.Data.Entity.Spatial.DbGeography)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.ElementAt(System.Data.Entity.Spatial.DbGeography,System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GetLatitude(System.Data.Entity.Spatial.DbGeography)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GetLongitude(System.Data.Entity.Spatial.DbGeography)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GetElevation(System.Data.Entity.Spatial.DbGeography)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GetMeasure(System.Data.Entity.Spatial.DbGeography)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GetLength(System.Data.Entity.Spatial.DbGeography)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GetStartPoint(System.Data.Entity.Spatial.DbGeography)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GetEndPoint(System.Data.Entity.Spatial.DbGeography)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GetIsClosed(System.Data.Entity.Spatial.DbGeography)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GetPointCount(System.Data.Entity.Spatial.DbGeography)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.PointAt(System.Data.Entity.Spatial.DbGeography,System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GetArea(System.Data.Entity.Spatial.DbGeography)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeometryFromText(System.String)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeometryFromText(System.String,System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeometryPointFromText(System.String,System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeometryLineFromText(System.String,System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeometryPolygonFromText(System.String,System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeometryMultiPointFromText(System.String,System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeometryMultiLineFromText(System.String,System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeometryMultiPolygonFromText(System.String,System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeometryCollectionFromText(System.String,System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeometryFromBinary(System.Byte[])">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeometryFromBinary(System.Byte[],System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeometryPointFromBinary(System.Byte[],System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeometryLineFromBinary(System.Byte[],System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeometryPolygonFromBinary(System.Byte[],System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeometryMultiPointFromBinary(System.Byte[],System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeometryMultiLineFromBinary(System.Byte[],System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeometryMultiPolygonFromBinary(System.Byte[],System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeometryCollectionFromBinary(System.Byte[],System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeometryFromGml(System.String)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GeometryFromGml(System.String,System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GetCoordinateSystemId(System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GetSpatialTypeName(System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GetDimension(System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GetEnvelope(System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.AsBinary(System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.AsGml(System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.AsText(System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GetIsEmpty(System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GetIsSimple(System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GetBoundary(System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GetIsValid(System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.SpatialEquals(System.Data.Entity.Spatial.DbGeometry,System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.Disjoint(System.Data.Entity.Spatial.DbGeometry,System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.Intersects(System.Data.Entity.Spatial.DbGeometry,System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.Touches(System.Data.Entity.Spatial.DbGeometry,System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.Crosses(System.Data.Entity.Spatial.DbGeometry,System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.Within(System.Data.Entity.Spatial.DbGeometry,System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.Contains(System.Data.Entity.Spatial.DbGeometry,System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.Overlaps(System.Data.Entity.Spatial.DbGeometry,System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.Relate(System.Data.Entity.Spatial.DbGeometry,System.Data.Entity.Spatial.DbGeometry,System.String)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.Buffer(System.Data.Entity.Spatial.DbGeometry,System.Double)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.Distance(System.Data.Entity.Spatial.DbGeometry,System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GetConvexHull(System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.Intersection(System.Data.Entity.Spatial.DbGeometry,System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.Union(System.Data.Entity.Spatial.DbGeometry,System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.Difference(System.Data.Entity.Spatial.DbGeometry,System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.SymmetricDifference(System.Data.Entity.Spatial.DbGeometry,System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GetElementCount(System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.ElementAt(System.Data.Entity.Spatial.DbGeometry,System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GetXCoordinate(System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GetYCoordinate(System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GetElevation(System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GetMeasure(System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GetLength(System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GetStartPoint(System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GetEndPoint(System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GetIsClosed(System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GetIsRing(System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GetPointCount(System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.PointAt(System.Data.Entity.Spatial.DbGeometry,System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GetArea(System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GetCentroid(System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GetPointOnSurface(System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GetExteriorRing(System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.GetInteriorRingCount(System.Data.Entity.Spatial.DbGeometry)">
+            <inheritdoc />
+        </member>
+        <member name="M:System.Data.Entity.SqlServer.SqlSpatialServices.InteriorRingAt(System.Data.Entity.Spatial.DbGeometry,System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="P:System.Data.Entity.SqlServer.SqlSpatialServices.NativeTypesAvailable">
+            <inheritdoc />
+        </member>
+    </members>
+</doc>

BIN
packages/EntityFramework.6.2.0/lib/net40/EntityFramework.dll


File diff suppressed because it is too large
+ 5356 - 0
packages/EntityFramework.6.2.0/lib/net40/EntityFramework.xml


BIN
packages/EntityFramework.6.2.0/lib/net40/ru/EntityFramework.resources.dll


File diff suppressed because it is too large
+ 83 - 0
packages/EntityFramework.6.2.0/lib/net40/ru/EntityFramework.xml


BIN
packages/EntityFramework.6.2.0/lib/net45/EntityFramework.SqlServer.dll


Some files were not shown because too many files changed in this diff