CGC_Codes

Class DB

Jun 4th, 2017
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 10.33 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Data;
  4. using System.Data.Common;
  5. using System.Data.SqlClient;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using System.Windows.Forms;
  10.  
  11. namespace DataBase
  12. {
  13.  
  14.     public class Person
  15.     {
  16.         public int id;
  17.         public string login;
  18.         public string password;
  19.         public string hint;
  20.     }
  21.     public class Date
  22.     {
  23.         public Date() { Events = new Event[10]; EventsWasRecorded = true; }
  24.         public Date(Event vrem) { Events = new Event[10]; Date.Events[0] = vrem; }
  25.         public static Event[] Events { set; get; }
  26.         public static bool EventsWasRecorded { set; get; }
  27.  
  28.     }
  29.  
  30.     public class ClassDataBase
  31.     {
  32.         private static int PrivateKey;
  33.         public ClassDataBase() { }
  34.         public ClassDataBase(int Key)
  35.         {
  36.             PrivateKey = Key;
  37.         }
  38.         public DbConnection OpenConnection()
  39.         {
  40.             var factory = DbProviderFactories.GetFactory("System.Data.SqlClient");
  41.             DbConnection connection = factory.CreateConnection();
  42.  
  43.             connection.ConnectionString = "data source = boss; initial catalog = manageevent; integrated security = true";
  44.            
  45.             connection.Open();
  46.             return connection;
  47.         }
  48.         public List<Event> GetEvent()
  49.         {
  50.             List<Event> result = new List<Event>();
  51.             using (var connection = OpenConnection())
  52.             using (var command = connection.CreateCommand())
  53.             {
  54.                 command.CommandText = "SELECT * FROM [TabEvent] Where [PrivateKey]=" + PrivateKey + ";";
  55.                 var reader = command.ExecuteReader();
  56.                 while (reader.Read())
  57.                 {
  58.                     var temp = new Event();
  59.                     temp.Id = (int)reader["Id"];
  60.                     temp.NameEvent = (string)reader["Event"];
  61.                     temp.Date = (DateTime)reader["Date"];
  62.                     if (reader["Discription"] != DBNull.Value)
  63.                         temp.Description = (string)reader["Discription"];
  64.                     result.Add(temp);
  65.  
  66.                 }
  67.             }
  68.             return result;
  69.         }
  70.  
  71.         public Event AddEvent(Event Even)
  72.         {
  73.             using (var connection = OpenConnection())
  74.             using (var command = connection.CreateCommand())
  75.             {
  76.                 command.CommandText = "INSERT INTO [TabEvent] ([Date], [Event], [Discription]) OUTPUT INSERTED.[Id] VALUES (@Date, @Event, @Discription)";
  77.                 var parameter = command.CreateParameter();
  78.                 parameter.ParameterName = "Date";
  79.                 parameter.Value = Even.Date;
  80.                 command.Parameters.Add(parameter);
  81.  
  82.                 parameter = command.CreateParameter();
  83.                 parameter.ParameterName = "Event";
  84.                 parameter.Value = Even.NameEvent;
  85.                 command.Parameters.Add(parameter);
  86.  
  87.                 parameter = command.CreateParameter();
  88.                 parameter.ParameterName = "Discription";
  89.                 parameter.Value = Even.Description;
  90.                 command.Parameters.Add(parameter);
  91.  
  92.                 Even.Id = (int)command.ExecuteScalar();
  93.                 return Even;
  94.             }
  95.         }
  96.  
  97.         public void EditEvent(Event Even)
  98.         {
  99.             using (var connection = OpenConnection())
  100.             using (var command = connection.CreateCommand())
  101.             {
  102.                 command.CommandText = "UPDATE [TabEvent] SET [Date] = @Date, [Event] = @Event, [Discription] = @Discription WHERE [Id] = @Id";
  103.  
  104.                 var parameter = command.CreateParameter();
  105.                 parameter.ParameterName = "Date";
  106.                 parameter.Value = Even.Date;
  107.                 command.Parameters.Add(parameter);
  108.  
  109.                 parameter = command.CreateParameter();
  110.                 parameter.ParameterName = "Event";
  111.                 parameter.Value = Even.NameEvent;
  112.                 command.Parameters.Add(parameter);
  113.  
  114.                 parameter = command.CreateParameter();
  115.                 parameter.ParameterName = "Discription";
  116.                 parameter.Value = Even.Description;
  117.                 command.Parameters.Add(parameter);
  118.  
  119.                 parameter = command.CreateParameter();
  120.                 parameter.ParameterName = "Id";
  121.                 parameter.Value = Even.Id;
  122.                 command.Parameters.Add(parameter);
  123.  
  124.                 command.ExecuteNonQuery();
  125.             }
  126.         }
  127.  
  128.         public void DeleteEven(Event Even)
  129.         {
  130.             using (var connection = OpenConnection())
  131.             using (var command = connection.CreateCommand())
  132.             {
  133.                 command.CommandText = "DELETE FROM [TabEvent] WHERE [Id] = @id";
  134.                 var parameter = command.CreateParameter();
  135.                 parameter.ParameterName = "id";
  136.                 parameter.Value = Even.Id;
  137.                 command.Parameters.Add(parameter);
  138.                 command.ExecuteNonQuery();
  139.             }
  140.         }
  141.         public void DeleteEven(int id)
  142.         {
  143.             using (var connection = OpenConnection())
  144.             using (var command = connection.CreateCommand())
  145.             {
  146.                 command.CommandText = "DELETE FROM [TabEvent] WHERE [Id] = @id";
  147.                 var parameter = command.CreateParameter();
  148.                 parameter.ParameterName = "id";
  149.                 parameter.Value = id;
  150.                 command.Parameters.Add(parameter);
  151.                 command.ExecuteNonQuery();
  152.             }
  153.         }
  154.  
  155.     }
  156.     public class Event
  157.     {
  158.         public int Id { get; set; }
  159.         public DateTime Date { get; set; }
  160.         public string NameEvent { get; set; }
  161.         public string Description { get; set; }
  162.  
  163.         public Event(DateTime Time, string NameEvent, string Description, int id = 0)  
  164.         {
  165.             this.Date = Time;
  166.             this.NameEvent = NameEvent;
  167.             this.Description = Description;
  168.             this.Id = id;
  169.         }
  170.         public Event() { }
  171.     }
  172.  
  173.     public enum TypeQuiry { SETALL, SETLOGIN, SETPASSWORD, ADD, HINT, GETID }
  174.     public class SQLDate
  175.     {
  176.         private SqlConnection Connection()
  177.         {
  178.  
  179.             string ConnectionString = "data source = boss; initial catalog = manageevent; integrated security = true";
  180.             SqlConnection connection = new SqlConnection(ConnectionString);
  181.             try
  182.             {
  183.                 connection.Open();
  184.                
  185.             }
  186.             catch (SqlException ex)
  187.             {
  188.                 System.Windows.Forms.MessageBox.Show(ex.Message);
  189.             }
  190.             return connection;
  191.         }
  192.         public DataSet Get(TypeQuiry quiry, Person person)
  193.         {
  194.  
  195.             String sqlexpression = transform(quiry, person);
  196.             using (SqlConnection conection = Connection())
  197.             {
  198.                 SqlCommand command = new SqlCommand(sqlexpression, conection);
  199.                 command = ParametrCommands(quiry, command, person);
  200.                 SqlDataAdapter adapter = new SqlDataAdapter(command);
  201.  
  202.                 DataSet dateset = new DataSet();
  203.  
  204.                 adapter.Fill(dateset);              
  205.  
  206.                 return dateset;
  207.             }
  208.  
  209.         }
  210.         private string transform(TypeQuiry quiry, Person person)
  211.         {
  212.             string expression = "";
  213.             switch (quiry)
  214.             {
  215.                 case TypeQuiry.SETALL:
  216.                     expression = "GetUsers";
  217.                     break;
  218.                 case TypeQuiry.SETLOGIN:
  219.                     expression = "GetLogin";
  220.                     break;
  221.                 case TypeQuiry.SETPASSWORD:
  222.                     expression = "GetPas";
  223.                     break;
  224.                 case TypeQuiry.ADD:
  225.                     expression = "registration";
  226.                     break;
  227.                 case TypeQuiry.HINT:
  228.                     expression = "GetHint";
  229.                     break;
  230.                 case TypeQuiry.GETID:
  231.                     expression = "GetId";
  232.                     break;
  233.             }
  234.             return expression;
  235.         }
  236.         public void registration(Person person)
  237.         {
  238.  
  239.             string expression = transform(TypeQuiry.ADD, person);
  240.             using (SqlConnection conection = Connection())
  241.             {
  242.                 SqlCommand command = new SqlCommand(expression, conection);
  243.                 command = ParametrCommands(TypeQuiry.ADD, command, person);
  244.  
  245.             }
  246.         }
  247.         private SqlCommand ParametrCommands(TypeQuiry quiry, SqlCommand command, Person person)
  248.         {
  249.             command.CommandType = CommandType.StoredProcedure;
  250.             switch (quiry)
  251.             {
  252.  
  253.                 case TypeQuiry.ADD:
  254.                     {
  255.                         SqlParameter login = new SqlParameter
  256.                         {
  257.                             ParameterName = "@login",
  258.                             Value = person.login
  259.                         };
  260.                         command.Parameters.Add(login);
  261.  
  262.                         SqlParameter password = new SqlParameter
  263.                         {
  264.                             ParameterName = "@password",
  265.                             Value = person.password
  266.                         };
  267.                         command.Parameters.Add(password);
  268.  
  269.                         SqlParameter hint = new SqlParameter
  270.                         {
  271.                             ParameterName = "@hint",
  272.                             Value = person.hint
  273.                         };
  274.                         command.Parameters.Add(hint);
  275.                        
  276.                         command.ExecuteNonQuery();
  277.                     }
  278.                     break;
  279.                 default:
  280.                     if ((quiry == TypeQuiry.SETPASSWORD) || (quiry == TypeQuiry.HINT) || (quiry == TypeQuiry.SETLOGIN))
  281.                     {
  282.                         SqlParameter login = new SqlParameter
  283.                         {
  284.                             ParameterName = "@login",
  285.                             Value = person.login
  286.                         };
  287.                         command.Parameters.Add(login);
  288.                     }
  289.                     break;
  290.             }
  291.             return command;
  292.         }
  293.  
  294.     }
  295.  
  296. }
Advertisement
Add Comment
Please, Sign In to add comment