Advertisement
DimcheDim

Form1

May 22nd, 2019
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 18.62 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using System.Windows.Forms;
  10.  
  11. namespace student_progress
  12. {
  13.     public partial class Form1 : Form
  14.     {
  15.         public Form1()
  16.         {
  17.             InitializeComponent();
  18.             Start();
  19.         }
  20.  
  21.         // functions
  22.  
  23.         int id = -1;
  24.  
  25.         PgSQL pgsql = null;
  26.  
  27.  
  28.         DataTable table = null;
  29.  
  30.         DataTable student = null;
  31.         DataTable teacher = null;
  32.         DataTable discipline = null;
  33.         DataTable faculty = null;
  34.         DataTable cathedra = null;
  35.         DataTable speciality = null;
  36.         DataTable form_study = null;
  37.         DataTable group = null;
  38.  
  39.         string pageName = "1";
  40.  
  41.         void Start()
  42.         {
  43.             pgsql = new PgSQL("Server=localhost;Port=5432;Database=dump;User Id=postgres;Password=77Cnekmt;");
  44.             grid.MultiSelect = false;
  45.             getRecordsForComboBox();
  46.             showTable();
  47.         }
  48.  
  49.         void getRecordsForComboBox()
  50.         {
  51.             student = pgsql.OutTable("get_student");
  52.             teacher = pgsql.OutTable("get_teacher");
  53.             discipline = pgsql.OutTable("get_discipline");
  54.             faculty = pgsql.OutTable("get_faculty");
  55.             cathedra = pgsql.OutTable("get_cathedra");
  56.             speciality = pgsql.OutTable("get_speciality");
  57.             form_study = pgsql.OutTable("get_form_study");
  58.             group = pgsql.OutTable("get_group");
  59.  
  60.             statStudBox.DataSource = student.DefaultView;
  61.             statStudBox.DisplayMember = "Наименование";
  62.             statStudBox.ValueMember = "#";
  63.             statStudBox.Text = null;
  64.  
  65.             statTeachBox.DataSource = teacher.DefaultView;
  66.             statTeachBox.DisplayMember = "Наименование";
  67.             statTeachBox.ValueMember = "#";
  68.             statTeachBox.Text = null;
  69.  
  70.             statDiscBox.DataSource = discipline.DefaultView;
  71.             statDiscBox.DisplayMember = "Наименование";
  72.             statDiscBox.ValueMember = "#";
  73.             statDiscBox.Text = null;
  74.  
  75.             cathFacBox.DataSource = faculty.DefaultView;
  76.             cathFacBox.DisplayMember = "Наименование";
  77.             cathFacBox.ValueMember = "#";
  78.             cathFacBox.Text = null;
  79.  
  80.             specCathBox.DataSource = cathedra.DefaultView;
  81.             specCathBox.DisplayMember = "Наименование";
  82.             specCathBox.ValueMember = "#";
  83.             specCathBox.Text = null;
  84.  
  85.             grSpecBox.DataSource = speciality.DefaultView;
  86.             grSpecBox.DisplayMember = "Наименование";
  87.             grSpecBox.ValueMember = "#";
  88.             grSpecBox.Text = null;
  89.  
  90.             studFormBox.DataSource = form_study.DefaultView;
  91.             studFormBox.DisplayMember = "Наименование";
  92.             studFormBox.ValueMember = "#";
  93.             studFormBox.Text = null;
  94.  
  95.             statGrBox.DataSource = group.DefaultView;
  96.             statGrBox.DisplayMember = "Наименование";
  97.             statGrBox.ValueMember = "#";
  98.             statGrBox.Text = null;
  99.  
  100.             studGrBox.DataSource = group.DefaultView;
  101.             studGrBox.DisplayMember = "Наименование";
  102.             studGrBox.ValueMember = "#";
  103.             studGrBox.Text = null;
  104.  
  105.             teachCathBox.DataSource = cathedra.DefaultView;
  106.             teachCathBox.DisplayMember = "Наименование";
  107.             teachCathBox.ValueMember = "#";
  108.             teachCathBox.Text = null;
  109.         }
  110.  
  111.         private void showTable()
  112.         {
  113.             switch (pageName)
  114.             {
  115.                 case "1":
  116.                     table = pgsql.OutTable("show_statement");
  117.                     grid.DataSource = table.DefaultView;
  118.                     grid.Columns[0].Visible = false;
  119.                     break;
  120.                 case "2":
  121.                     table = pgsql.OutTable("show_student");
  122.                     grid.DataSource = table.DefaultView;
  123.                     grid.Columns[0].Visible = false;
  124.                     break;
  125.                 case "3":
  126.                     table = pgsql.OutTable("show_discipline");
  127.                     grid.DataSource = table.DefaultView;
  128.                     grid.Columns[0].Visible = false;
  129.                     break;
  130.                 case "4":
  131.                     table = pgsql.OutTable("show_teacher");
  132.                     grid.DataSource = table.DefaultView;
  133.                     grid.Columns[0].Visible = false;
  134.                     break;
  135.                 case "5":
  136.                     table = pgsql.OutTable("show_faculty");
  137.                     grid.DataSource = table.DefaultView;
  138.                     grid.Columns[0].Visible = false;
  139.                     break;
  140.                 case "6":
  141.                     table = pgsql.OutTable("show_cathedra");
  142.                     grid.DataSource = table.DefaultView;
  143.                     grid.Columns[0].Visible = false;
  144.                     break;
  145.                 case "7":
  146.                     table = pgsql.OutTable("show_speciality");
  147.                     grid.DataSource = table.DefaultView;
  148.                     grid.Columns[0].Visible = false;
  149.                     break;
  150.                 case "8":
  151.                     table = pgsql.OutTable("show_group");
  152.                     grid.DataSource = table.DefaultView;
  153.                     grid.Columns[0].Visible = false;
  154.                     break;
  155.             }
  156.         }
  157.  
  158.         private void editForRow()
  159.         {
  160.             id = -1;
  161.             int num = grid.SelectedRows[0].Index;
  162.             if (num == -1) throw new Exception("Не выбрана строка для изменения!");
  163.             id = Convert.ToInt32(table.Rows[num][0]);
  164.             switch (pageName)
  165.             {
  166.                 case "1":
  167.                     statTermBox.Text = table.Rows[num][1].ToString();
  168.                     statDiscBox.Text = table.Rows[num][2].ToString();
  169.                     statTeachBox.Text = table.Rows[num][3].ToString();
  170.                     statGrBox.Text = table.Rows[num][4].ToString();
  171.                     statStudBox.Text = table.Rows[num][5].ToString();
  172.                     statAttBox.Text = table.Rows[num][6].ToString();
  173.                     statRatBox.Text = table.Rows[num][7].ToString();
  174.                     statDatBox.Text = table.Rows[num][8].ToString();
  175.                     break;
  176.                 case "2":
  177.                     studNameBox.Text = table.Rows[num][1].ToString();
  178.                     studRbBox.Text = table.Rows[num][2].ToString();
  179.                     studGrBox.Text = table.Rows[num][3].ToString();
  180.                     studPhoneBox.Text = table.Rows[num][4].ToString();
  181.                     studFormBox.Text = table.Rows[num][5].ToString();
  182.                     studYearBox.Text = table.Rows[num][6].ToString();
  183.                     break;
  184.                 case "3":
  185.                     discNameBox.Text = table.Rows[num][1].ToString();
  186.                     break;
  187.                 case "4":
  188.                     teachNameBox.Text = table.Rows[num][1].ToString();
  189.                     teachPhoneBox.Text = table.Rows[num][2].ToString();
  190.                     teachCathBox.Text = table.Rows[num][3].ToString();
  191.                     break;
  192.                 case "5":
  193.                     facNameBox.Text = table.Rows[num][1].ToString();
  194.                     break;
  195.                 case "6":
  196.                     cathNameBox.Text = table.Rows[num][1].ToString();
  197.                     cathFacBox.Text = table.Rows[num][2].ToString();
  198.                     cathPhoneBox.Text = table.Rows[num][3].ToString();
  199.                     cathMrgBox.Text = table.Rows[num][4].ToString();
  200.                     break;
  201.                 case "7":
  202.                     specNameBox.Text = table.Rows[num][1].ToString();
  203.                     specCathBox.Text = table.Rows[num][2].ToString();
  204.                     specCodeBox.Text = table.Rows[num][3].ToString();
  205.                     break;
  206.                 case "8":
  207.                     grNumbBox.Text = table.Rows[num][1].ToString();
  208.                     grSpecBox.Text = table.Rows[num][2].ToString();
  209.                     grHmBox.Text = table.Rows[num][3].ToString();
  210.                     grPplnBox.Text = table.Rows[num][4].ToString();
  211.                     break;
  212.             }
  213.             cancelEditButton.Enabled = true;
  214.             saveEditButton.Enabled = true;
  215.             addButton.Enabled = false;
  216.             editButton.Enabled = false;
  217.             grid.Enabled = false;
  218.         }
  219.  
  220.         private void saveEditForRecord()
  221.         {
  222.             switch (pageName)
  223.             {
  224.                 case "1":
  225.                     pgsql.AddEditStat("update_statement", Convert.ToInt32(statStudBox.SelectedValue), Convert.ToInt32(statTeachBox.SelectedValue), Convert.ToInt32(statDiscBox.SelectedValue), statRatBox.Text, statDatBox.Text, Convert.ToInt32(statTermBox.Text), Convert.ToInt32(statGrBox.SelectedValue), statAttBox.Text, id);
  226.                     break;
  227.                 case "2":
  228.                     pgsql.AddEditStudent("update_student", studNameBox.Text, studPhoneBox.Text, studYearBox.Text, Convert.ToInt32(studFormBox.SelectedValue), Convert.ToInt32(studGrBox.SelectedValue), studRbBox.Text, id);
  229.                     break;
  230.                 case "3":
  231.                     pgsql.AddEditDisc("update_discipline", discNameBox.Text, id);
  232.                     break;
  233.                 case "4":
  234.                     pgsql.AddEditTeacher("update_teacher", teachNameBox.Text, teachPhoneBox.Text, Convert.ToInt32(teachCathBox.SelectedValue), id);
  235.                     break;
  236.                 case "5":
  237.                     pgsql.AddEditFaculty("update_faculty", facNameBox.Text, id);
  238.                     break;
  239.                 case "6":
  240.                     pgsql.AddEditCathedra("update_cathedra", cathNameBox.Text, Convert.ToInt32(cathFacBox.SelectedValue), cathPhoneBox.Text, cathMrgBox.Text, id);
  241.                     break;
  242.                 case "7":
  243.                     pgsql.AddEditSpec("update_speciality", specNameBox.Text, specCodeBox.Text, Convert.ToInt32(specCathBox.SelectedValue), id);
  244.                     break;
  245.                 case "8":
  246.                     pgsql.AddEditGroup("update_group", grNumbBox.Text, Convert.ToInt32(grSpecBox.SelectedValue), grHmBox.Text, Convert.ToInt32(grPplnBox.Text), id);
  247.                     break;
  248.             }
  249.             cancelEditButton.Enabled = false;
  250.             saveEditButton.Enabled = false;
  251.             addButton.Enabled = true;
  252.             grid.Enabled = true;
  253.             editButton.Enabled = true;
  254.             Cancel();
  255.             getRecordsForComboBox();
  256.             showTable();
  257.             id = -1;
  258.         }
  259.  
  260.         private void Cancel()
  261.         {
  262.             switch (pageName)
  263.             {
  264.                 case "1":
  265.                     statStudBox.Text = null;
  266.                     statDiscBox.Text = null;
  267.                     statTeachBox.Text = null;
  268.                     statRatBox.Text = null;
  269.                     statDatBox.Text = null;
  270.                     statTermBox.Text = null;
  271.                     statAttBox.Text = null;
  272.                     statGrBox.Text = null;
  273.                     break;
  274.                 case "2":
  275.                     studNameBox.Text = null;
  276.                     studRbBox.Text = null;
  277.                     studGrBox.Text = null;
  278.                     studPhoneBox.Text = null;
  279.                     studYearBox.Text = null;
  280.                     studFormBox.Text = null;
  281.                     break;
  282.                 case "3":
  283.                     discNameBox.Text = null;
  284.                     break;
  285.                 case "4":
  286.                     teachNameBox.Text = null;
  287.                     teachPhoneBox.Text = null;
  288.                     teachCathBox.Text = null;
  289.                     break;
  290.                 case "5":
  291.                     facNameBox.Text = null;
  292.                     break;
  293.                 case "6":
  294.                     cathNameBox.Text = null;
  295.                     cathFacBox.Text = null;
  296.                     cathPhoneBox.Text = null;
  297.                     cathMrgBox.Text = null;
  298.                     break;
  299.                 case "7":
  300.                     specNameBox.Text = null;
  301.                     specCathBox.Text = null;
  302.                     specCodeBox.Text = null;
  303.                     break;
  304.                 case "8":
  305.                     grNumbBox.Text = null;
  306.                     grSpecBox.Text = null;
  307.                     grHmBox.Text = null;
  308.                     grPplnBox.Text = null;
  309.                     break;
  310.             }
  311.             cancelEditButton.Enabled = false;
  312.             saveEditButton.Enabled = false;
  313.             addButton.Enabled = true;
  314.             editButton.Enabled = true;
  315.             grid.Enabled = true;
  316.             id = -1;
  317.         }
  318.  
  319.         private void addRecord()
  320.         {
  321.             switch (pageName)
  322.             {
  323.                 case "1":
  324.                     pgsql.AddEditStat("insert_statement", Convert.ToInt32(statStudBox.SelectedValue), Convert.ToInt32(statTeachBox.SelectedValue), Convert.ToInt32(statDiscBox.SelectedValue), statRatBox.Text, statDatBox.Text, Convert.ToInt32(statTermBox.Text), Convert.ToInt32(statGrBox.SelectedValue), statAttBox.Text);
  325.                     break;
  326.                 case "2":
  327.                     pgsql.AddEditStudent("insert_student", studNameBox.Text,  studPhoneBox.Text, studYearBox.Text, Convert.ToInt32(studFormBox.SelectedValue), Convert.ToInt32(studGrBox.SelectedValue), studRbBox.Text);
  328.                     break;
  329.                 case "3":
  330.                     pgsql.AddEditDisc("insert_discipline", discNameBox.Text);
  331.                     break;
  332.                 case "4":
  333.                     pgsql.AddEditTeacher("insert_teacher", teachNameBox.Text, teachPhoneBox.Text, Convert.ToInt32(teachCathBox.SelectedValue));
  334.                     break;
  335.                 case "5":
  336.                     pgsql.AddEditFaculty("insert_faculty", facNameBox.Text);
  337.                     break;
  338.                 case "6":
  339.                     pgsql.AddEditCathedra("insert_cathedra", cathNameBox.Text, Convert.ToInt32(cathFacBox.SelectedValue), cathPhoneBox.Text, cathMrgBox.Text);
  340.                     break;
  341.                 case "7":
  342.                     pgsql.AddEditSpec("insert_speciality",specNameBox.Text, specCodeBox.Text, Convert.ToInt32(specCathBox.SelectedValue));
  343.                     break;
  344.                 case "8":
  345.                     pgsql.AddEditGroup("insert_group", grNumbBox.Text, Convert.ToInt32(grSpecBox.SelectedValue), grHmBox.Text, Convert.ToInt32(grPplnBox.Text));
  346.                     break;
  347.             }
  348.             Cancel();
  349.             getRecordsForComboBox();
  350.             showTable();
  351.             id = -1;
  352.         }
  353.  
  354.         private void deleteRecord()
  355.         {
  356.             id = -1;
  357.             int num = grid.SelectedRows[0].Index;
  358.             if (num == -1) throw new Exception("Не выбрана строка для удаления!");
  359.             id = Convert.ToInt32(table.Rows[num][0]);
  360.             switch (pageName)
  361.             {
  362.                 case "1":
  363.                     pgsql.Del("remove_statement", id);
  364.                     break;
  365.                 case "2":
  366.                     pgsql.Del("remove_student", id);
  367.                     break;
  368.                 case "3":
  369.                     pgsql.Del("remove_discipline", id);
  370.                     break;
  371.                 case "4":
  372.                     pgsql.Del("remove_teacher", id);
  373.                     break;
  374.                 case "5":
  375.                     pgsql.Del("remove_faculty", id);
  376.                     break;
  377.                 case "6":
  378.                     pgsql.Del("remove_cathedra", id);
  379.                     break;
  380.                 case "7":
  381.                     pgsql.Del("remove_speciality", id);
  382.                     break;
  383.                 case "8":
  384.                     pgsql.Del("remove_group", id);
  385.                     break;
  386.             }
  387.             getRecordsForComboBox();
  388.             showTable();
  389.             id = -1;
  390.         }
  391.  
  392.         // buttons
  393.  
  394.         private void addButton_Click(object sender, EventArgs e)
  395.         {
  396.             try
  397.             {
  398.                 addRecord();
  399.             }
  400.             catch (Exception q)
  401.             {
  402.                 MessageBox.Show(q.Message);
  403.             }
  404.         }
  405.  
  406.         private void editButton_Click(object sender, EventArgs e)
  407.         {
  408.             try
  409.             {
  410.                 editForRow();
  411.             }
  412.             catch (Exception q)
  413.             {
  414.                 MessageBox.Show(q.Message);
  415.             }
  416.         }
  417.  
  418.         private void cancelEditButton_Click(object sender, EventArgs e)
  419.         {
  420.             try
  421.             {
  422.                 Cancel();
  423.             }
  424.             catch (Exception q)
  425.             {
  426.                 MessageBox.Show(q.Message);
  427.             }
  428.         }
  429.  
  430.         private void saveEditButton_Click(object sender, EventArgs e)
  431.         {
  432.             try
  433.             {
  434.                 saveEditForRecord();
  435.             }
  436.             catch (Exception q)
  437.             {
  438.                 MessageBox.Show(q.Message);
  439.             }
  440.         }
  441.  
  442.         private void deleteButton_Click(object sender, EventArgs e)
  443.         {
  444.             try
  445.             {
  446.                 deleteRecord();
  447.             }
  448.             catch (Exception q)
  449.             {
  450.                 MessageBox.Show(q.Message);
  451.             }
  452.         }
  453.  
  454.         // focus
  455.  
  456.         private void tabPage1_Enter(object sender, EventArgs e)
  457.         {
  458.             pageName = "1";
  459.             showTable();
  460.         }
  461.  
  462.         private void tabPage2_Enter(object sender, EventArgs e)
  463.         {
  464.             pageName = "2";
  465.             showTable();
  466.         }
  467.  
  468.         private void tabPage4_Enter(object sender, EventArgs e)
  469.         {
  470.             pageName = "4";
  471.             showTable();
  472.         }
  473.  
  474.         private void tabPage3_Enter(object sender, EventArgs e)
  475.         {
  476.             pageName = "3";
  477.             showTable();
  478.         }
  479.  
  480.         private void tabPage5_Enter(object sender, EventArgs e)
  481.         {
  482.             pageName = "5";
  483.             showTable();
  484.         }
  485.  
  486.         private void tabPage6_Enter(object sender, EventArgs e)
  487.         {
  488.             pageName = "6";
  489.             showTable();
  490.         }
  491.  
  492.         private void tabPage7_Enter(object sender, EventArgs e)
  493.         {
  494.             pageName = "7";
  495.             showTable();
  496.         }
  497.         private void tabPage8_Enter(object sender, EventArgs e)
  498.         {
  499.             pageName = "8";
  500.             showTable();
  501.         }
  502.     }
  503. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement