Главная страница
Навигация по странице:

  • СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

  • ПРИЛОЖЕНИЕ А Диаграмма

  • ПРИЛОЖЕНИЕ Б ER-диаграмма

  • Webсистема "Складская логистика " на платформе asp net mvc


    Скачать 377 Kb.
    НазваниеWebсистема "Складская логистика " на платформе asp net mvc
    Дата13.06.2022
    Размер377 Kb.
    Формат файлаdoc
    Имя файла12093753_VEBLOGISTIKA.doc
    ТипПрограмма
    #589151
    страница2 из 2
    1   2

    ЗАКЛЮЧЕНИЕ

    В ходе выполнения курсовой работы была разработано WEB- приложение на платформе ASP.NET MVC. Были выполнены следующие работы:

      • проанализирована предметная область;

      • разработана база данных средствами СУБД Oracle;

      • разработан необходимый набор триггеров, функций и процедур;

      • разработана возможность авторизации и предусмотрено разделение ролей;

      • разработаны интерфейсные формы для возможности добавления, просмотра и редактирования данных;

      • разработаны WEB-формы для просмотра выполнения запросов;

      • определен функционал системы в зависимости от роли;

      • спроектирован и создан выходной документ.

    По завершению курсовой работы были систематизированы и закреплены полученные теоретические и практические умения по разработке информационных систем с использованием языка программирования C# и СУБД Oracle. Была изучена соответствующая литература по разработке приложений на языке программирования C#, по проектированию и разработке баз данных в СУБД Oracle; был получен практический опыт разработки базы данных в СУБД Oracle и информационной системы на языке C#.

    СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

    1. ASP NET. Сборник рецептов [Текст] / Агуров П.В. Цифровая книга. БХВ.

    2. ASP.NET MVC 5 с примерами на C#5.0 для профессионалов [Текст] / Адам Фримен; [перевод с английского Ю. Н. Артеменко]. - 5-е изд. - Москва [и др.]: Вильямс, 2017. - 733 с.

    3. Visual Studio 2019 — Официальный сайт Microsoft — 2019. — С. 1 — [Электронный ресурс] – URL: https://visualstudio.microsoft.com/ru/vs/ (дата обращения: 20.03.2021).

    4. Введение в ASP NET MVC. Глава 4. Представления. Введение в представления. [Электронный ресурс] – URL: https://metanit.com/sharp/mvc5/4.1.php (дата обращения: 22.04.2021).

    5. Введение в ASP NET MVC. Глава 5. Модели. [Электронный ресурс] URL: https://metanit.com/sharp/mvc5/5.1.php (дата обращения: 10.05.2020).

    6. Видео-лекция «C# и СУБД Oracle» — 2020 — [Электронный ресурс] — URL: https://moodle.asu.edu.ru/mod/page/view.php?id=168957 (дата обращения: 14.04.2021).

    7. ГОСТ 2.105–95 ЕСКД. Основные требования к текстовым документам; (ИЗДАНИЕ (апрель 2011 г.) с Изменением N 1, утвержденным в июне 2006 г. (ИУС 9–2006), Поправкой (ИУС 12–2001).

    8. ГОСТ 2.301–68 ЕСКД. Форматы.

    9. ГОСТ 7.82-2001 СИБИД. Библиографическая запись. Библиографическое описание электронных ресурсов. Общие требования и правила составления.

    10. ГОСТ Р 7.05–2008 Библиографическая ссылка.

    11. Документация по ASP.NET [Электронный ресурс] – URL: https://docs.microsoft.com/ru-ru/aspnet/core/?view=aspnetcore-3.1 (дата обращения: 28.03.2021).

    12. Кассир.ru. [Электронный ресурс] – URL: https://kassir.ru (дата обращения: 16.03.2021).

    13. Киномакс. Сеть кинотеатров. [Электронный ресурс] – URL: https://kinomax.ru/ (дата обращения: 16.03.2021).

    14. Краткий обзор языка C# Официальный сайт Microsoft 2019. С. 1 — [Электронный ресурс] – URL: https://docs.microsoft.com/ru- ru/dotnet/csharp/tour-of-csharp/index (дата обращения: 12.04.2021).

    15. Малиновская Е.А. Языки программирования. Часть 1 [Электронный ресурс]: лабораторный практикум/ Малиновская Е.А., Рыскаленко Р.А.— Электрон. текстовые данные.— Ставрополь: Северо-Кавказский федеральный университет, 2016.— 103 c.— Режим доступа: http://www.iprbookshop.ru/69449.html.— ЭБС «IPRbooks». (дата обращения: 19.04.2021).

    16. Мираж Синема. [Электронный ресурс] – URL: https://mirage.ru (дата обращения: 16.03.2021).

    17. Описание СУБД «Oracle» — 2020. — Официальный сайт Oracle — [Электронный ресурс] — URL: https://www.oracle.com/ru/database/ (дата обращения: 19.04.2021).

    18. Презентация — «Провайдеры баз данных» — [Электронный ресурс] — URL:

    https://moodle.asu.edu.ru/pluginfile.php/291241/mod_resource/content/1/Oracl e%2BC%23.pdf (дата обращения: 12.05.2021).

    1. Премьер-зал. [Электронный ресурс] – URL: https://new.premierzal.ru. (дата обращения: 16.03.2021).

    2. Проектирование информационных систем [Электронный ресурс] / Грекул В.И., Денищенко Г.Н., Коровкина Н.Л. - М.: Национальный Открытый Университет "ИНТУИТ", 2016. Основы информационных технологий Режим доступа: http://www.studentlibrary.ru/book/ISBN9785947748178.html. (дата обращения: 04.04.2021).

    3. Рамблер-касса. [Электронный ресурс] – URL: https://kassa.rambler.ru/ (дата обращения: 16.03.2021).

    22.. Ревунков Г.И. Проектирование баз данных [Электронный ресурс]: учебное пособие по курсу «Банки данных»/ Ревунков Г.И.— Электрон. текстовые данные.— Москва: Московский государственный технический

    университет имени Н.Э. Баумана, 2009.— 20 c.— Режим доступа: http://www.iprbookshop.ru/31513.html.— ЭБС «IPRbooks». (дата обращения: 26.04.2021).

    1. Синема парк /Формула кино. [Электронный ресурс] – URL: https://kinoteatr.ru/. (дата обращения: 16.03.2021).

    2. Чедвик Джесс, Снайдер Тодд, Панда Хришикеш ASP.NET MVC 4. Разработка реальных веб-приложений с помощью ASP.NET MVC; Вильямс

    - Москва, 2013. - 432 с.

    1. Яндекс Афиша. [Электронный ресурс] URL: https://afisha.yandex.ru/ (дата обращения: 16.03.2021).

    ПРИЛОЖЕНИЕ А

    Диаграмма в нотации Питера-Чена


    ПРИЛОЖЕНИЕ Б

    ER-диаграмма
    ПРИЛОЖЕНИЕ В

    Коды созданой таблицы
    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 Storage_Coursework

    {

    public partial class FormLogon: Form

    {

    public FormLogon()

    {

    InitializeComponent();

    }

    public event EventHandler UserLogining;

    private void btIn_Click(object sender, EventArgs e)

    {

    string uName = tbUserName.Text.Trim();

    string uPassword = tbUserPassword.Text.Trim();

    var user = Storage_Coursework.Providers.UserProvider.GetUser(uName, uPassword);

    UserLogining(user, new EventArgs());

    this.Close();

    }

    namespace Storage_Coursework

    {

    partial class FormLogon

    {

    private System.ComponentModel.IContainer components = null;

    protected override void Dispose(bool disposing)

    {

    if (disposing && (components != null))

    {

    components.Dispose();

    }

    base.Dispose(disposing);

    }

    #region Windows Form Designer generated code

    private void InitializeComponent()

    {

    this.gbLogon = new System.Windows.Forms.GroupBox();

    this.lbUserName = new System.Windows.Forms.Label();

    this.lbUserPassword = new System.Windows.Forms.Label();

    this.tbUserName = new System.Windows.Forms.TextBox();

    this.tbUserPassword = new System.Windows.Forms.TextBox();

    this.btIn = new System.Windows.Forms.Button();

    this.gbLogon.SuspendLayout();

    this.SuspendLayout();

    this.gbLogon.Anchor = System.Windows.Forms.AnchorStyles.None;

    this.gbLogon.Controls.Add(this.btIn);

    this.gbLogon.Controls.Add(this.tbUserPassword);

    this.gbLogon.Controls.Add(this.tbUserName);

    this.gbLogon.Controls.Add(this.lbUserPassword);

    this.gbLogon.Controls.Add(this.lbUserName);

    this.gbLogon.Location = new System.Drawing.Point(12, 12);

    this.gbLogon.Name = "gbLogon";

    this.gbLogon.Size = new System.Drawing.Size(425, 145);

    this.gbLogon.TabIndex = 0;

    this.gbLogon.TabStop = false;

    this.gbLogon.Text = "Учётные данные";

    this.lbUserName.AutoSize = true;

    this.lbUserName.Location = new System.Drawing.Point(6, 35);

    this.lbUserName.Name = "lbUserName";

    this.lbUserName.Size = new System.Drawing.Size(111, 19);

    this.lbUserName.TabIndex = 0;

    this.lbUserName.Text = "Пользователь";

    this.lbUserPassword.AutoSize = true;

    this.lbUserPassword.Location = new System.Drawing.Point(6, 69);

    this.lbUserPassword.Name = "lbUserPassword";

    this.lbUserPassword.Size = new System.Drawing.Size(63, 19);

    this.lbUserPassword.TabIndex = 1;

    this.lbUserPassword.Text = "Пароль";

    this.tbUserName.Location = new System.Drawing.Point(153, 32);

    this.tbUserName.Name = "tbUserName";

    this.tbUserName.Size = new System.Drawing.Size(266, 27);

    this.tbUserName.TabIndex = 2;

    this.tbUserName.TextAlign = System.Windows.Forms.HorizontalAlignment.Right;

    this.tbUserPassword.Location = new System.Drawing.Point(153, 66);

    this.tbUserPassword.Name = "tbUserPassword";

    this.tbUserPassword.Size = new System.Drawing.Size(266, 27);

    this.tbUserPassword.TabIndex = 3;

    this.tbUserPassword.TextAlign = System.Windows.Forms.HorizontalAlignment.Right;

    this.tbUserPassword.UseSystemPasswordChar = true;

    this.btIn.Location = new System.Drawing.Point(330, 99);

    this.btIn.Name = "btIn";

    this.btIn.Size = new System.Drawing.Size(89, 34);

    this.btIn.TabIndex = 4;

    this.btIn.Text = "Вход";

    this.btIn.UseVisualStyleBackColor = true;

    this.btIn.Click += new System.EventHandler(this.btIn_Click);

    this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 19F);

    this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;

    this.ClientSize = new System.Drawing.Size(449, 169);

    this.Controls.Add(this.gbLogon);

    this.Font = new System.Drawing.Font("Tahoma", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));

    this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;

    this.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);

    this.Name = "FormLogon";

    this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;

    this.Text = "Вход";

    this.gbLogon.ResumeLayout(false);

    this.gbLogon.PerformLayout();

    this.ResumeLayout(false);

    }

    #endregion
    private System.Windows.Forms.GroupBox gbLogon;

    private System.Windows.Forms.Button btIn;

    private System.Windows.Forms.TextBox tbUserPassword;

    private System.Windows.Forms.TextBox tbUserName;

    private System.Windows.Forms.Label lbUserPassword;

    private System.Windows.Forms.Label lbUserName;

    }

    namespace Storage_Coursework

    {

    public partial class FormMain: Form

    {

    private Storage_Coursework.Objects.User currentUser;

    public FormMain()

    {

    InitializeComponent();

    }

    public void UserIn()

    {

    FormLogon fl = new FormLogon();

    fl.UserLogining += fl_UserLogining;

    fl.ShowDialog(this);

    }

    private void fl_UserLogining(object sender, EventArgs e)

    {

    if (sender == null)

    {

    MessageBox.Show("У Вас нет прав доступа к приложению");

    }

    else

    currentUser = (Storage_Coursework.Objects.User)sender;

    }

    private void FormMain_Load(object sender, EventArgs e)

    {

    UserIn();

    SetupControls();

    }

    private void SetupControls()

    {

    if (currentUser == null)

    {

    this.Close();

    return;

    }

    slbUser.Text = "Пользователь: " + currentUser.UserName + " [" + currentUser.UserRole.RoleName + "]";

    pnlStorage.Visible = currentUser.UserRole.ExistAccess("StorageView");

    btAdmin.Visible = currentUser.UserRole.ExistAccess("ShowAdminPanel");

    LoadStorage();

    }

    private void LoadStorage()

    {

    var mtrls = Storage_Coursework.Providers.MaterialProvider.GetMaterials();

    List cntrls = new List();

    foreach (Storage_Coursework.Objects.Material m in mtrls)

    {

    var c = new Storage_Coursework.UserControls.Material(m, currentUser);

    c.Dock = DockStyle.Top;

    cntrls.Add(c);

    }

    pnlStorage.Controls.AddRange(cntrls.ToArray());

    }

    private void btAdmin_Click(object sender, EventArgs e)

    {

    MessageBox.Show("Администратор имеет права:" + Environment.NewLine +

    "- добавления/удаления пользователей;" + Environment.NewLine +

    "- редактирование ролей пользователей;" + Environment.NewLine +

    "- настройка приложения." + Environment.NewLine +

    "В рамках данной курсовой работы этот функционал не разрабатывался.");

    }

    namespace Storage_Coursework

    {

    partial class FormMain

    {

    private System.ComponentModel.IContainer components = null;

    protected override void Dispose(bool disposing)

    {

    if (disposing && (components != null))

    {

    components.Dispose();

    }

    base.Dispose(disposing);

    }

    #region Код, автоматически созданный конструктором форм Windows
    private void InitializeComponent()

    {

    this.statusStrip1 = new System.Windows.Forms.StatusStrip();

    this.slbUser = new System.Windows.Forms.ToolStripStatusLabel();

    this.pnlStorage = new System.Windows.Forms.Panel();

    this.lbMaterials = new System.Windows.Forms.Label();

    this.btAdmin = new System.Windows.Forms.Button();

    this.statusStrip1.SuspendLayout();

    this.SuspendLayout();

    this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {

    this.slbUser});

    this.statusStrip1.Location = new System.Drawing.Point(0, 451);

    this.statusStrip1.Name = "statusStrip1";

    this.statusStrip1.Size = new System.Drawing.Size(660, 22);

    this.statusStrip1.TabIndex = 0;

    this.statusStrip1.Text = "statusStrip1";

    this.slbUser.Name = "slbUser";

    this.slbUser.Size = new System.Drawing.Size(87, 17);

    this.slbUser.Text = "Пользователь:";

    this.pnlStorage.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)

    System.Windows.Forms.AnchorStyles.Left)

    System.Windows.Forms.AnchorStyles.Right)));

    this.pnlStorage.AutoScroll = true;

    this.pnlStorage.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;

    this.pnlStorage.Location = new System.Drawing.Point(12, 31);

    this.pnlStorage.Name = "pnlStorage";

    this.pnlStorage.Size = new System.Drawing.Size(636, 417);

    this.pnlStorage.TabIndex = 1;

    this.lbMaterials.AutoSize = true;

    this.lbMaterials.Font = new System.Drawing.Font("Tahoma", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));

    this.lbMaterials.Location = new System.Drawing.Point(12, 9);

    this.lbMaterials.Name = "lbMaterials";

    this.lbMaterials.Size = new System.Drawing.Size(167, 19);

    this.lbMaterials.TabIndex = 2;

    this.lbMaterials.Text = "Материалы на складе";

    this.btAdmin.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));

    this.btAdmin.Location = new System.Drawing.Point(501, 2);

    this.btAdmin.Name = "btAdmin";

    this.btAdmin.Size = new System.Drawing.Size(147, 26);

    this.btAdmin.TabIndex = 3;

    this.btAdmin.Text = "Администрирование";

    this.btAdmin.UseVisualStyleBackColor = true;

    this.btAdmin.Click += new System.EventHandler(this.btAdmin_Click);

    this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);

    this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;

    this.ClientSize = new System.Drawing.Size(660, 473);

    this.Controls.Add(this.btAdmin);

    this.Controls.Add(this.lbMaterials);

    this.Controls.Add(this.pnlStorage);

    this.Controls.Add(this.statusStrip1);

    this.Name = "FormMain";

    this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;

    this.Text = "Склад";

    this.Load += new System.EventHandler(this.FormMain_Load);

    this.statusStrip1.ResumeLayout(false);

    this.statusStrip1.PerformLayout();

    this.ResumeLayout(false);

    this.PerformLayout();

    }

    #endregion

    private System.Windows.Forms.StatusStrip statusStrip1;

    private System.Windows.Forms.ToolStripStatusLabel slbUser;

    private System.Windows.Forms.Panel pnlStorage;

    private System.Windows.Forms.Label lbMaterials;

    private System.Windows.Forms.Button btAdmin;

    }

    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 Storage_Coursework

    {

    public partial class FormMatCount: Form

    {

    private Storage_Coursework.Objects.Material material;

    private int matCount;

    private int delta;

    private int total;

    public int Total

    {

    get { return total; }

    set

    {

    total = value;

    txtTotal.Text = total + " " + material.MaterialMeasure;

    }

    public event EventHandler CountChanged;

    public FormMatCount(Storage_Coursework.Objects.Material m, int d)

    {

    InitializeComponent();

    material = m;

    matCount = material.StorageCount;

    delta = d;

    }

    private void FormMatCount_Load(object sender, EventArgs e)

    {

    SetupControls();

    }

    private void SetupControls()

    {

    txtCount.Text = matCount + " " + material.MaterialMeasure;

    txtTotal.Text = txtCount.Text;

    nudInOut.ValueChanged += nudInOut_ValueChanged;

    if (delta > 0)

    {

    this.Text = "Добавить материал";

    lbInOut.Text = "Ввод на склад";

    lbTotal.Text = "Станет";

    }

    else

    {

    this.Text = "Вывести материал";

    lbInOut.Text = "Вывод со склада";

    lbTotal.Text = "Останется";

    }

    void nudInOut_ValueChanged(object sender, EventArgs e)

    {

    if (delta > 0)

    {

    Total = matCount + (int)nudInOut.Value;

    }

    else

    {

    if ((int)nudInOut.Value > matCount)

    nudInOut.Value = matCount;

    Total = matCount - (int)nudInOut.Value;

    }

    private void btOk_Click(object sender, EventArgs e)

    {

    if ((int)nudInOut.Value != 0)

    {

    Storage_Coursework.Providers.MaterialProvider.UpdateMaterialCount(this.material.MaterialID, this.total);

    CountChanged(null, null);

    }

    this.Close();

    }

    namespace Storage_Coursework

    {

    partial class FormMatCount

    {

    private System.ComponentModel.IContainer components = null;

    protected override void Dispose(bool disposing)

    {

    if (disposing && (components != null))

    {

    components.Dispose();

    }

    base.Dispose(disposing);

    }

    #region Windows Form Designer generated code

    private void InitializeComponent()

    {

    this.gbMaterial = new System.Windows.Forms.GroupBox();

    this.btOk = new System.Windows.Forms.Button();

    this.nudInOut = new System.Windows.Forms.NumericUpDown();

    this.txtTotal = new System.Windows.Forms.Label();

    this.txtCount = new System.Windows.Forms.Label();

    this.lbTotal = new System.Windows.Forms.Label();

    this.lbInOut = new System.Windows.Forms.Label();

    this.lbStorage = new System.Windows.Forms.Label();

    this.gbMaterial.SuspendLayout();

    ((System.ComponentModel.ISupportInitialize)(this.nudInOut)).BeginInit();

    this.SuspendLayout();

    this.gbMaterial.Anchor = System.Windows.Forms.AnchorStyles.None;

    this.gbMaterial.Controls.Add(this.btOk);

    this.gbMaterial.Controls.Add(this.nudInOut);

    this.gbMaterial.Controls.Add(this.txtTotal);

    this.gbMaterial.Controls.Add(this.txtCount);

    this.gbMaterial.Controls.Add(this.lbTotal);

    this.gbMaterial.Controls.Add(this.lbInOut);

    this.gbMaterial.Controls.Add(this.lbStorage);

    this.gbMaterial.Location = new System.Drawing.Point(12, 12);

    this.gbMaterial.Name = "gbMaterial";

    this.gbMaterial.Size = new System.Drawing.Size(448, 171);

    this.gbMaterial.TabIndex = 0;

    this.gbMaterial.TabStop = false;

    this.gbMaterial.Text = "Материал";

    this.btOk.Location = new System.Drawing.Point(331, 131);

    this.btOk.Name = "btOk";

    this.btOk.Size = new System.Drawing.Size(111, 34);

    this.btOk.TabIndex = 6;

    this.btOk.Text = "Выполнить";

    this.btOk.UseVisualStyleBackColor = true;

    this.btOk.Click += new System.EventHandler(this.btOk_Click);

    this.nudInOut.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));

    this.nudInOut.Location = new System.Drawing.Point(340, 63);

    this.nudInOut.Maximum = new decimal(new int[] {

    this.nudInOut.Name = "nudInOut";

    this.nudInOut.Size = new System.Drawing.Size(102, 27);

    this.nudInOut.TabIndex = 5;

    this.nudInOut.TextAlign = System.Windows.Forms.HorizontalAlignment.Right;

    this.txtTotal.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));

    this.txtTotal.Location = new System.Drawing.Point(260, 96);

    this.txtTotal.Name = "txtTotal";

    this.txtTotal.Size = new System.Drawing.Size(182, 19);

    this.txtTotal.TabIndex = 4;

    this.txtTotal.Text = "0";

    this.txtTotal.TextAlign = System.Drawing.ContentAlignment.TopRight;

    this.txtCount.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));

    this.txtCount.Location = new System.Drawing.Point(256, 34);

    this.txtCount.Name = "txtCount";

    this.txtCount.Size = new System.Drawing.Size(186, 19);

    this.txtCount.TabIndex = 3;

    this.txtCount.Text = "0";

    this.txtCount.TextAlign = System.Drawing.ContentAlignment.TopRight;

    this.lbTotal.AutoSize = true;

    this.lbTotal.Location = new System.Drawing.Point(6, 96);

    this.lbTotal.Name = "lbTotal";

    this.lbTotal.Size = new System.Drawing.Size(127, 19);

    this.lbTotal.TabIndex = 2;

    this.lbTotal.Text = "Будет на складе";

    this.lbInOut.AutoSize = true;

    this.lbInOut.Location = new System.Drawing.Point(6, 65);

    this.lbInOut.Name = "lbInOut";

    this.lbInOut.Size = new System.Drawing.Size(112, 19);

    this.lbInOut.TabIndex = 1;

    this.lbInOut.Text = "Ввод на склад";

    this.lbStorage.AutoSize = true;

    this.lbStorage.Location = new System.Drawing.Point(6, 34);

    this.lbStorage.Name = "lbStorage";

    this.lbStorage.Size = new System.Drawing.Size(145, 19);

    this.lbStorage.TabIndex = 0;

    this.lbStorage.Text = "Имеется на складе";

    this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 19F);

    this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;

    this.ClientSize = new System.Drawing.Size(472, 195);

    this.Controls.Add(this.gbMaterial);

    this.Font = new System.Drawing.Font("Tahoma", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));

    this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;

    this.Margin = new System.Windows.Forms.Padding(4);

    this.Name = "FormMatCount";

    this.Text = "Добавить";

    this.Load += new System.EventHandler(this.FormMatCount_Load);

    this.gbMaterial.ResumeLayout(false);

    this.gbMaterial.PerformLayout();

    ((System.ComponentModel.ISupportInitialize)(this.nudInOut)).EndInit();

    this.ResumeLayout(false);

    }

    #endregion

    private System.Windows.Forms.GroupBox gbMaterial;

    private System.Windows.Forms.Button btOk;

    private System.Windows.Forms.NumericUpDown nudInOut;

    private System.Windows.Forms.Label txtTotal;

    private System.Windows.Forms.Label txtCount;

    private System.Windows.Forms.Label lbTotal;

    private System.Windows.Forms.Label lbInOut;

    private System.Windows.Forms.Label lbStorage;

    }

    using System;

    using System.Collections.Generic;

    using System.Linq;

    using System.Text;

    using System.Threading.Tasks;

    using System.Data;

    namespace Storage_Coursework

    {

    public class ObjectProvider

    {

    public ObjectProvider()

    }

    public static object GetObject(DataRow r, Type objectType)

    {

    System.Reflection.ConstructorInfo cnstr = objectType.GetConstructor(System.Type.EmptyTypes);

    var o = cnstr.Invoke(null);

    System.Reflection.MemberInfo[] members = objectType.GetMembers();

    int fieldsCount = r.Table.Columns.Count;

    for (int i = 0; i < fieldsCount; i++)

    {

    string fieldName = r.Table.Columns[i].ColumnName;

    object fieldValue = r[fieldName];

    var member = members.First(t => t.Name == fieldName && t.MemberType == System.Reflection.MemberTypes.Property);

    if (member != null)

    {

    System.Reflection.PropertyInfo property = (System.Reflection.PropertyInfo)member;

    Type t = property.PropertyType;

    object val;

    if (t.Name == "String" || t.Name == "Char")

    if (fieldValue.ToString() != "")

    val = fieldValue;

    else

    val = null;

    else

    {

    if (fieldValue.ToString() == "")

    val = null;

    else

    {

    System.Reflection.MethodInfo parseMethod = t.GetMethod("Parse", new Type[] { "s".GetType() });

    val = parseMethod.Invoke(o, new object[] { fieldValue.ToString() });

    }

    property.SetValue(o, val, null);

    }

    return o;

    }

    using System;

    using System.Collections.Generic;

    using System.Linq;

    using System.Text;

    using System.Threading.Tasks;

    using System.Data;

    using System.Data.OleDb;

    namespace Storage_Coursework

    {

    public static class OleDB

    {

    private static OleDbConnection ole;

    static OleDB()

    {

    string connStr = "Provider=Microsoft.Ace.OLEDB.12.0; Data Source=Storage_CourseworkDB.accdb";

    ole = new OleDbConnection(connStr);

    ole.Open();

    }

    public static DataSet ExecuteQuery(string query)

    {

    try

    {

    OleDbDataAdapter adapter = new OleDbDataAdapter(query, ole);

    DataSet ds = new DataSet("Data");

    adapter.FillSchema(ds, SchemaType.Source, "Table");

    adapter.Fill(ds, "Table");

    return ds;

    }

    catch (Exception e)

    {

    return null;

    }

    public static bool DsIsNullOrEmpty(DataSet ds)

    {

    if (ds == null || ds.Tables[0].Rows.Count == 0)

    return true;

    return false;

    }

    using System;

    using System.Collections.Generic;

    using System.Linq;

    using System.Threading.Tasks;

    using System.Windows.Forms;

    namespace Storage_Coursework

    {

    static class Program

    {

    [STAThread]

    static void Main()

    {

    Application.EnableVisualStyles();

    Application.SetCompatibleTextRenderingDefault(false);

    Application.Run(new FormMain());

    using System;

    using System.Collections.Generic;

    using System.Linq;

    using System.Text;

    using System.Threading.Tasks;

    using System.Data;

    using System.Data.SqlClient;

    namespace Storage_Coursework

    {

    public static class SqlDB

    {

    private static SqlConnection sql;

    static SqlDB()

    {

    string connStr = "Data Source=TIMOFEYPC\\SQLEXPRESS;Database=Storage_Coursework;Integrated Security=false;User ID=sa; Password=123123";

    sql = new SqlConnection(connStr);

    sql.Open();

    }

    public static DataSet ExecuteQuery(string query)

    {

    try

    {

    SqlDataAdapter adapter = new SqlDataAdapter(query, sql);

    DataSet ds = new DataSet("Data");

    adapter.FillSchema(ds, SchemaType.Source, "Table");

    adapter.Fill(ds, "Table");

    return ds;

    }

    catch (Exception e)

    {

    return null;

    }

    public static bool DsIsNullOrEmpty(DataSet ds)

    {

    if (ds == null || ds.Tables[0].Rows.Count == 0)

    return true;

    return false;

    }

    ПРИЛОЖЕНИЕ Г

    1   2


    написать администратору сайта