Advertisement
Guest User

Untitled

a guest
Feb 7th, 2019
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 21.16 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. //Erforderliche SQL Klasse hinzufügen
  7. using System.Data.SqlClient;
  8.  
  9. namespace ConsoleApp2
  10. {
  11.     class Program
  12.     {
  13.         static void Main(string[] args)
  14.         {
  15.             SqlConnection connection = null;
  16.             Console.WriteLine("Programm startet...");
  17.             try
  18.             {
  19.                
  20.  
  21.             }
  22.             catch (Exception e)
  23.             {
  24.                 Console.WriteLine("Es gab einen Fehler mit der Datenbank!\n {0}", e.ToString());
  25.                 Console.ReadKey();
  26.                 //Environment.ExitCode = -1;
  27.             }
  28.  
  29.             Verwaltung verwaltung1 = new Verwaltung();
  30.  
  31.             Console.WriteLine("Bitte wählen Sie die gewünschte Option:\n" +
  32.                 "\n 1 - Gerät anlegen" +
  33.                 "\n 2 - Geräte ausgeben" +
  34.                 "\n 3 - Geräte löschen" +
  35.                 "\n" +
  36.                 "\n 4 - Raum anlegen" +
  37.                 "\n 5 - Räume ausgeben" +
  38.                 "\n 6 - Raum löschen" +
  39.                 "\n" +
  40.                 "\n 7 - Hardware-Komponenten anlegen" +
  41.                 "\n 8 - Hardware-Komponenten gefiltert ausgeben" +
  42.                 "\n 9 - Hardware-Komponenten löschen" +
  43.                 "\n" +
  44.                 "\n10 - Geräte-Kategorien anlegen" +
  45.                 "\n11 - Geräte-Kategorien löschen");
  46.  
  47.             int selection = Convert.ToInt32(Console.ReadLine());
  48.  
  49.             switch (selection)
  50.             {
  51.                 case 1:
  52.                     verwaltung1.createDevice();
  53.                     break;
  54.                 case 2:
  55.                     verwaltung1.getDevices(connection);
  56.                     break;
  57.                 case 3:
  58.                     verwaltung1.deleteDevice(connection);
  59.                     break;
  60.                 case 4:
  61.                     verwaltung1.createRoom(connection);
  62.                     break;
  63.                 case 5:
  64.                     verwaltung1.getRooms(connection);
  65.                     break;
  66.                 case 6:
  67.                     verwaltung1.deleteRoom(connection);
  68.                     break;
  69.                 case 7:
  70.                     verwaltung1.deleteRoom(connection);
  71.                     break;
  72.                 case 8:
  73.                     verwaltung1.deleteRoom(connection);
  74.                     break;
  75.                 case 9:
  76.                     verwaltung1.deleteRoom(connection);
  77.                     break;
  78.                 case 10:
  79.                     verwaltung1.deleteRoom(connection);
  80.                     break;
  81.                 case 11:
  82.                     verwaltung1.deleteRoom(connection);
  83.                     break;
  84.                 default:
  85.                     Console.WriteLine("Falsche Eingabe");
  86.                     break;
  87.             }
  88.  
  89.             connection.Close();
  90.             Console.ReadLine();
  91.         }
  92.     }
  93.  
  94.     class Verwaltung
  95.     {
  96.         public Verwaltung()
  97.         {
  98.  
  99.         }
  100.  
  101.         public SqlConnection openConnection()
  102.         {
  103.             SqlConnection connection = null;
  104.  
  105.             try
  106.             {
  107.                 // Variablen deklarieren
  108.                 string connectionDetails;
  109.                 string data_source      = "172.17.0.188";
  110.                 string initial_catalog  = "Iventarisierung";
  111.                 string user_id          = "BIF22Inventar";
  112.                 string password         = "hausNummer58";
  113.  
  114.                 // Verbindungsstring setzen
  115.                 connectionDetails = String.Format(@"Data Source={0};Initial Catalog={1};User ID={2};Password={3}", data_source, initial_catalog, user_id, password);
  116.  
  117.                 // Verbindung zuweisen
  118.                 connection = new SqlConnection(connectionDetails));
  119.                 connection.Open();
  120.                
  121.             } catch(Exception e)
  122.             {
  123.                 Console.WriteLine("Es konnte keine Datenbankverbindung hergestellt werden!\nPrüfen Sie die Datenbank Credentials.\n\n{0}", e.ToString());
  124.                 connection.Close();
  125.             }
  126.  
  127.             return connection;
  128.         }
  129.  
  130.         public void closeConnection(SqlConnection connection)
  131.         {
  132.             connection.Close();
  133.         }
  134.  
  135.         public bool createDevice()
  136.         {
  137.             // Check current user Permission
  138.             User user = new User();
  139.             int currentUser = user.UserPermission;
  140.  
  141.             if (currentUser < 3)
  142.             {
  143.                 Console.WriteLine("\nSie haben nicht die Berechtigung dazu!\n Sie müssen Administrator sein.\n");
  144.                 return false;
  145.             }
  146.  
  147.             // Database Verbindung öffnen
  148.             SqlConnection connection = null;
  149.             try
  150.             {
  151.                 Verwaltung getConnection = new Verwaltung();
  152.                 connection = getConnection.openConnection();
  153.  
  154.             } catch(Exception e)
  155.             {
  156.                 Console.WriteLine("Es konnte keine Datenbankverbindung aufgebaut werden! (Fehler)\n\n {0}", e.ToString());
  157.                 return false;
  158.             }
  159.  
  160.             // Letzte Id finden (da kein autoinc. vorhanden war)
  161.             SqlCommand command;
  162.             SqlDataReader dataReader2;
  163.             String sql = "";
  164.             int lastId = 0;
  165.  
  166.             sql = "SELECT MAX(id) FROM Geraete;";
  167.  
  168.             //Befehl erzeugen
  169.             command = new SqlCommand(sql, connection);
  170.  
  171.             //DataReader initialisieren
  172.             dataReader2 = command.ExecuteReader();
  173.  
  174.             //Werte der Tabellen auslesen
  175.             while (dataReader2.Read())
  176.             {
  177.                 lastId = dataReader2.GetInt32(0);
  178.                 lastId++;
  179.             }
  180.             dataReader2.Close();
  181.  
  182.             Console.WriteLine("\nWillkommen beim Geräte anlegen!\n");
  183.  
  184.             Console.WriteLine("Preis:");
  185.             double preis = Convert.ToDouble(Console.ReadLine());
  186.  
  187.             //Daten einlesen
  188.             Console.WriteLine("Inventar-Nr.:");
  189.             int inventarNr = Convert.ToInt32(Console.ReadLine());
  190.  
  191.             Console.WriteLine("Verkäufer-ID:");
  192.             int verkaeuferId = Convert.ToInt32(Console.ReadLine());
  193.  
  194.             Console.WriteLine("Kategorie-ID:");
  195.             int kategorieId = Convert.ToInt32(Console.ReadLine());
  196.  
  197.             Console.WriteLine("Raum-ID:");
  198.             int raumId = Convert.ToInt32(Console.ReadLine());
  199.  
  200.             Console.WriteLine(lastId);
  201.  
  202.             SqlCommand addDeviceCommand = connection.CreateCommand();
  203.  
  204.             //Gerät aus Strings in Tabelle Geraet einfügen
  205.             addDeviceCommand.CommandText = "INSERT INTO Geraete (id,datumAnschaffung,preis,inventarNr,verkaeufterId,kategorieId,raumId) VALUES (@id, '2019-01-15', @preis, @inventarNr, @verkaeuferId, @kategorieId, @raumId)";
  206.  
  207.             addDeviceCommand.Parameters.AddWithValue("@id", lastId);
  208.             addDeviceCommand.Parameters.AddWithValue("@preis", preis);
  209.             addDeviceCommand.Parameters.AddWithValue("@inventarNr", inventarNr);
  210.             addDeviceCommand.Parameters.AddWithValue("@verkaeuferId", verkaeuferId);
  211.             addDeviceCommand.Parameters.AddWithValue("@kategorieId", kategorieId);
  212.             addDeviceCommand.Parameters.AddWithValue("@raumId", raumId);
  213.  
  214.             //Command ausführen
  215.             addDeviceCommand.ExecuteNonQuery();
  216.  
  217.             //Command schließen
  218.             addDeviceCommand.Dispose();
  219.  
  220.             Console.WriteLine("Der Gerät wurde erfolgreich angelegt!");
  221.  
  222.             // SQL-VERBINDUNG SCHLIEßEN?!?
  223.  
  224.             return true;
  225.  
  226.         }
  227.  
  228.         public bool getDevices(SqlConnection connection)
  229.         {
  230.  
  231.             Console.WriteLine("\nWillkommen beim Geräte ausgeben!\n");
  232.  
  233.             // Check current user Permission
  234.             User user = new User();
  235.             int currentUser = user.UserPermission;
  236.  
  237.             if (currentUser < 1)
  238.             {
  239.                 Console.WriteLine("\nSie haben nicht die Berechtigung dazu!\n Sie müssen User sein.\n");
  240.                 return false;
  241.             }
  242.  
  243.             //Variablen deklarieren
  244.             SqlCommand command;
  245.             SqlDataReader dataReader;
  246.             String sql = "";
  247.  
  248.             //SQL-Befehl definieren
  249.             sql = "SELECT * FROM Geraete";
  250.  
  251.             //Befehl erzeugen
  252.             command = new SqlCommand(sql, connection);
  253.  
  254.             //DataReader initialisieren
  255.             dataReader = command.ExecuteReader();
  256.  
  257.             //Werte der Tabellen auslesen
  258.             int i = 0;
  259.             while (dataReader.Read())
  260.             {
  261.                 //Geraet geraet1 = new Geraet(10, "PC", true);
  262.  
  263.                 Geraet geraet1 = new Geraet(dataReader.GetInt32(0), dataReader.GetDateTime(1), dataReader.GetDouble(2), dataReader.GetInt32(3), dataReader.GetInt32(4), dataReader.GetInt32(5), dataReader.GetInt32(6));
  264.                 Console.WriteLine("Gerät:" + geraet1.ID + ", Anschaffungs-Datum: " + geraet1.DatumAnschaffung + ", Preis: " + geraet1.Preis + ", Inventarnummer: " + geraet1.InventarNr + ", VerkäuferID: " + geraet1.VerkaeuferId + "Kategorie-ID: " + geraet1.KategorieId + ", RaumID: " + geraet1.RaumId);
  265.                 i++;
  266.                 //dataReader.GetDateTime(1),
  267.             }
  268.             Console.ReadKey();
  269.  
  270.             return true;
  271.         }
  272.  
  273.         public bool deleteDevice(SqlConnection connection)
  274.         {
  275.             Console.WriteLine("\nWillkommen beim Gerätelöschen!\n");
  276.  
  277.             // Check current user Permission
  278.             User user = new User();
  279.             int currentUser = user.UserPermission;
  280.  
  281.             if (currentUser < 3)
  282.             {
  283.                 Console.WriteLine("\nSie haben nicht die Berechtigung dazu!\n Sie müssen Administrator sein.\n");
  284.                 return false;
  285.             }
  286.  
  287.             Console.WriteLine("\n\nGeräte-ID des zu löschenden gerätes eingeben:\n");
  288.  
  289.             string geraeteId = Convert.ToString(Console.ReadLine());
  290.             Console.WriteLine(geraeteId);
  291.             Console.ReadKey();
  292.  
  293.             try
  294.             {
  295.                 //SQL-Befehl definieren
  296.                 SqlCommand addDeviceCommand = connection.CreateCommand();
  297.  
  298.                 //Gerät aus Strings in Tabelle Geraet einfügen
  299.                 addDeviceCommand.CommandText = "DELETE FROM Geraete WHERE id =" + geraeteId;
  300.  
  301.                 //Daten löschen
  302.                 addDeviceCommand.ExecuteNonQuery();
  303.                 //Command schließen
  304.                 addDeviceCommand.Dispose();
  305.  
  306.                 Console.WriteLine("\nErfolgreich gelöscht!\n");
  307.  
  308.             }
  309.             catch (Exception e)
  310.             {
  311.                 Console.WriteLine("Gerät konnte nicht gelöscht werden, möglicherweise ist es noch mit einer Hardwarekomponente verknüpft oder die ID existiert nicht. {0}", e.ToString());
  312.             }
  313.  
  314.             return true;
  315.  
  316.         }
  317.  
  318.         public bool createRoom(SqlConnection connection)
  319.         {
  320.  
  321.             // Check current user Permission
  322.             User user = new User();
  323.             int currentUser = user.UserPermission;
  324.  
  325.             if (currentUser < 3)
  326.             {
  327.                 Console.WriteLine("\nSie haben nicht die Berechtigung dazu!\n Sie müssen Administrator sein.\n");
  328.                 return false;
  329.             }
  330.  
  331.             // Letzte Id finden
  332.             SqlCommand command;
  333.             SqlDataReader dataReader2;
  334.             String sql = "";
  335.             int lastId = 0;
  336.  
  337.             sql = "SELECT MAX(id) FROM Raeume;";
  338.  
  339.             //Befehl erzeugen
  340.             command = new SqlCommand(sql, connection);
  341.  
  342.             //DataReader initialisieren
  343.             dataReader2 = command.ExecuteReader();
  344.  
  345.             //Werte der Tabellen auslesen
  346.             while (dataReader2.Read())
  347.             {
  348.                 lastId = dataReader2.GetInt32(0);
  349.                 lastId++;
  350.             }
  351.             dataReader2.Close();
  352.  
  353.             Console.WriteLine("\nWillkommen beim Räume anlegen!\n");
  354.  
  355.             Console.WriteLine("Raum-Nummer.:");
  356.             string raumId = Convert.ToString(Console.ReadLine());
  357.  
  358.             SqlCommand addDeviceCommand = connection.CreateCommand();
  359.  
  360.             //Gerät aus Strings in Tabelle Geraet einfügen
  361.             addDeviceCommand.CommandText = "INSERT INTO Raeume (id,raumNr) VALUES (@id, @raumId)";
  362.  
  363.             addDeviceCommand.Parameters.AddWithValue("@id", lastId);
  364.             addDeviceCommand.Parameters.AddWithValue("@raumId", raumId);
  365.  
  366.             //Command ausführen
  367.             addDeviceCommand.ExecuteNonQuery();
  368.  
  369.             //Command schließen
  370.             addDeviceCommand.Dispose();
  371.  
  372.             Console.WriteLine("Der Raum wurde erfolgreich angelegt!");
  373.             return true;
  374.         }
  375.  
  376.         public bool getRooms(SqlConnection connection)
  377.         {
  378.             Console.WriteLine("\nWillkommen beim Geräte auslesen!\n");
  379.  
  380.  
  381.             // Check current user Permission
  382.             User user = new User();
  383.             int currentUser = user.UserPermission;
  384.  
  385.             if (currentUser < 2)
  386.             {
  387.                 Console.WriteLine("\nSie haben nicht die Berechtigung dazu!\n Sie müssen Administrator sein.\n");
  388.                 return false;
  389.             }
  390.  
  391.  
  392.             //Variablen deklarieren
  393.             SqlCommand command;
  394.             SqlDataReader dataReader;
  395.             String sql = "";
  396.  
  397.             //SQL-Befehl definieren
  398.             sql = "SELECT * FROM Raeume";
  399.  
  400.             //Befehl erzeugen
  401.             command = new SqlCommand(sql, connection);
  402.  
  403.             //DataReader initialisieren
  404.             dataReader = command.ExecuteReader();
  405.  
  406.             //Werte der Tabellen auslesen
  407.             int i = 0;
  408.             while (dataReader.Read())
  409.             {
  410.                 Raum raum1 = new Raum(dataReader.GetInt32(0), dataReader.GetString(1));
  411.                 Console.WriteLine(i + 1 + ". " + raum1.raumNr);
  412.                 i++;
  413.             }
  414.             Console.ReadKey();
  415.  
  416.             return true;
  417.         }
  418.  
  419.         public bool deleteRoom(SqlConnection connection)
  420.         {
  421.             Console.WriteLine("\nWillkommen beim Raumlöschen!\n");
  422.  
  423.             // Check current user Permission
  424.             User user = new User();
  425.             int currentUser = user.UserPermission;
  426.  
  427.             if (currentUser < 2)
  428.             {
  429.                 Console.WriteLine("\nSie haben nicht die Berechtigung dazu!\n Sie müssen Administrator sein.\n");
  430.                 return false;
  431.             }
  432.  
  433.             Console.WriteLine("\n\n Raum-ID des zu löschenden Raumes eingeben:\n");
  434.  
  435.             string raumId = Convert.ToString(Console.ReadLine());
  436.             Console.ReadKey();
  437.  
  438.             try
  439.             {
  440.                 //SQL-Befehl definieren
  441.                 SqlCommand addDeviceCommand = connection.CreateCommand();
  442.  
  443.                 //Gerät aus Strings in Tabelle Geraet einfügen
  444.                 addDeviceCommand.CommandText = "DELETE FROM Raeume WHERE id =" + raumId;
  445.  
  446.                 //Daten löschen
  447.                 addDeviceCommand.ExecuteNonQuery();
  448.                 //Command schließen
  449.                 addDeviceCommand.Dispose();
  450.  
  451.                 Console.WriteLine("\nErfolgreich gelöscht!\n");
  452.                 return true;
  453.             }
  454.             catch (Exception e)
  455.             {
  456.                 Console.WriteLine("Raum konnte nicht gelöscht werden, möglicherweise ist die ID nicht korrekt! {0}", e.ToString());
  457.                 return false;
  458.             }
  459.  
  460.         }
  461.  
  462.         public bool createHwComp()
  463.         {
  464.             Console.WriteLine("\n\nNeue Hardware-Komponenten anlegen:\n\n");
  465.  
  466.             // Check current user Permission
  467.             User user = new User();
  468.             int currentUser = user.UserPermission;
  469.  
  470.             if (currentUser < 3)
  471.             {
  472.                 Console.WriteLine("\nSie haben nicht die Berechtigung dazu!\n Sie müssen Administrator sein.\n");
  473.                 return false;
  474.             }
  475.  
  476.             // Database Verbindung öffnen
  477.             SqlConnection connection = null;
  478.             try
  479.             {
  480.                 Verwaltung getConnection = new Verwaltung();
  481.                 connection = getConnection.openConnection();
  482.  
  483.             }
  484.             catch (Exception e)
  485.             {
  486.                 Console.WriteLine("Es konnte keine Datenbankverbindung aufgebaut werden! (Fehler)\n\n {0}", e.ToString());
  487.                 return false;
  488.             }
  489.  
  490.             // Get user inputs
  491.  
  492.             //
  493.             // Kategorie Section //
  494.             Console.WriteLine("In welcher Kategorie soll die Komponente eingeordnet werden?\n" +
  495.                 "Wählen Sie aus den bestehenden:\n");
  496.             // Loop Kategorien
  497.  
  498.            
  499.             double preis = Convert.ToDouble(Console.ReadLine());
  500.  
  501.             //Daten einlesen
  502.             Console.WriteLine("Inventar-Nr.:");
  503.             int inventarNr = Convert.ToInt32(Console.ReadLine());
  504.  
  505.             Console.WriteLine("Verkäufer-ID:");
  506.             int verkaeuferId = Convert.ToInt32(Console.ReadLine());
  507.  
  508.             Console.WriteLine("Kategorie-ID:");
  509.             int kategorieId = Convert.ToInt32(Console.ReadLine());
  510.  
  511.             Console.WriteLine("Raum-ID:");
  512.             int raumId = Convert.ToInt32(Console.ReadLine());
  513.  
  514.             return true;
  515.         }
  516.  
  517.         private List<Verwaltung> _verbauteHwKomp = new List<Verwaltung>();
  518.         public List<Verwaltung> verbauteHwKomp
  519.         {
  520.             get { return _verbauteHwKomp; }
  521.             set { _verbauteHwKomp = value; }
  522.         }
  523.  
  524.         private List<Verwaltung> _freieHwKomp = new List<Verwaltung>();
  525.         public List<Verwaltung> freieHwKomp
  526.         {
  527.             get { return _freieHwKomp; }
  528.             set { _freieHwKomp = value; }
  529.         }
  530.  
  531.  
  532.         public List<Hardwarekomponente> getAllFreeHwKomp(SqlDataReader dataReader)
  533.         {
  534.             List<Hardwarekomponente> list = new List<Hardwarekomponente>();
  535.  
  536.             while (dataReader.Read())
  537.             {
  538.                 list.Add(new Hardwarekomponente(dataReader.GetInt32(0), dataReader.GetInt32(1)));
  539.             }
  540.  
  541.             return list;
  542.         }
  543.     }
  544.  
  545.     class Geraet
  546.     {
  547.         public Geraet(int _id, DateTime _datumAnschaffung, double _preis, int _inventarNr, int _verkaeuferId, int _kategorieId, int _raumId)
  548.         {
  549.             id = _id;
  550.             datumAnschaffung = _datumAnschaffung;
  551.             preis = _preis;
  552.             inventarNr = _inventarNr;
  553.             verkaeuferId = _verkaeuferId;
  554.             kategorieId = _kategorieId;
  555.             raumId = _raumId;
  556.         }
  557.  
  558.         private int id;
  559.         private DateTime datumAnschaffung;
  560.         private double preis;
  561.         private int inventarNr;
  562.         private int verkaeuferId;
  563.         private int kategorieId;
  564.         private int raumId;
  565.  
  566.         public int ID
  567.         {
  568.             get { return id; }
  569.             set { id = value; }
  570.         }
  571.  
  572.         public DateTime DatumAnschaffung
  573.         {
  574.             get { return datumAnschaffung; }
  575.             set { datumAnschaffung = value; }
  576.         }
  577.  
  578.         public double Preis
  579.         {
  580.             get { return preis; }
  581.             set { preis = value; }
  582.         }
  583.  
  584.         public int InventarNr
  585.         {
  586.             get { return inventarNr; }
  587.             set { inventarNr = value; }
  588.         }
  589.  
  590.         public int VerkaeuferId
  591.         {
  592.             get { return verkaeuferId; }
  593.             set { verkaeuferId = value; }
  594.         }
  595.  
  596.         public int KategorieId
  597.         {
  598.             get { return kategorieId; }
  599.             set { kategorieId = value; }
  600.         }
  601.  
  602.         public int RaumId
  603.         {
  604.             get { return raumId; }
  605.             set { raumId = value; }
  606.         }
  607.     }
  608.  
  609.     class Raum
  610.     {
  611.         public Raum(int _raumID, string _raumNr)
  612.         {
  613.             raumID = _raumID;
  614.             raumNr = _raumNr;
  615.         }
  616.  
  617.         private int _raumID;
  618.         private string _raumNr;
  619.  
  620.         public int raumID
  621.         {
  622.             get { return _raumID; }
  623.             set { _raumID = value; }
  624.         }
  625.  
  626.         public string raumNr
  627.         {
  628.             get { return _raumNr; }
  629.             set { _raumNr = value; }
  630.         }
  631.  
  632.     }
  633.  
  634.     class Hardwarekomponente
  635.     {
  636.  
  637.         public Hardwarekomponente(int _hardwareid, int _gerateid)
  638.         {
  639.             hardwareid = _hardwareid;
  640.             inventarnr = _gerateid;
  641.         }
  642.  
  643.         private int hardwareid;
  644.         private int inventarnr;
  645.         private List<Hardwarekomponente> hwKategorien;
  646.  
  647.         public int HardwareID
  648.         {
  649.             get { return hardwareid; }
  650.             set { hardwareid = value; }
  651.         }
  652.  
  653.         //public int InventarNr
  654.         //{
  655.         //    get { return inventarNr; }
  656.         //    set { inventarNr = value; }
  657.         //}
  658.  
  659.         public List<Hardwarekomponente> HwKategorien()
  660.         {
  661.             return;
  662.         }
  663.  
  664.     }
  665.  
  666.     class User
  667.     {
  668.         public User()
  669.         {
  670.         }
  671.  
  672.         private int userPermission;
  673.  
  674.         public int UserPermission
  675.         {
  676.             get
  677.             {
  678.                 userPermission = 3;
  679.                 return userPermission;
  680.             }
  681.         }
  682.     }
  683. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement