Advertisement
Guest User

methods.cs

a guest
Mar 4th, 2016
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 32.78 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Web;
  5. using Npgsql;
  6. using NpgsqlTypes;
  7. using System.Configuration;
  8. using System.Diagnostics;
  9. using System.Data;
  10.  
  11. namespace DSU_g5
  12. {
  13.  
  14.     public static class methods
  15.     {
  16.  
  17.         public static void bookMember(DateTime date, int timeId, int chosenMid)
  18.         {
  19.             string sqlInsToGame; //SQLsträng för att skapa rad i game-tabellen.
  20.             string sqlInsToGM;  //SQLsträng för att skapa rad i game_member-tabellen.
  21.  
  22.             int dateID = 0; //DateID som får värde efter att datumet kollats mot tabellen.
  23.  
  24.             try
  25.             {
  26.                 string sqlGetDateId = "SELECT dates_id FROM game_dates WHERE dates = '" + date + "'";
  27.                
  28.                 NpgsqlConnection conn = new NpgsqlConnection(ConfigurationManager.ConnectionStrings["Halslaget"].ConnectionString);
  29.                 conn.Open();
  30.                 NpgsqlCommand cmd = new NpgsqlCommand(sqlGetDateId, conn);
  31.                 NpgsqlDataReader dr = cmd.ExecuteReader();
  32.  
  33.                 if (dr.Read())
  34.                 {
  35.                     dateID = int.Parse(dr["dates_id"].ToString());
  36.                 }
  37.  
  38.                 else
  39.                 {
  40.                     Debug.WriteLine("Finns ej detta datum i databasen");
  41.                     return;
  42.                 }
  43.                 dr.Close();
  44.  
  45.  
  46.                 //Går att byta ut date nedan. Då bör en date-klass skapas som får det värdet istället.
  47.                 sqlInsToGame = "INSERT INTO game (date_id, time_id) VALUES (@da, @t) RETURNING game_id";
  48.  
  49.                 sqlInsToGM = "INSERT INTO game_member (game_id, member_id) VALUES (@gId, @mId)";
  50.  
  51.  
  52.                 NpgsqlCommand cmdInsToGame = new NpgsqlCommand(sqlInsToGame, conn);
  53.                 cmdInsToGame.Parameters.AddWithValue("da", dateID);
  54.                 cmdInsToGame.Parameters.AddWithValue("t", timeId);
  55.  
  56.                 int gameID = Convert.ToInt32(cmdInsToGame.ExecuteScalar()); // Returnerar game_id som används i nästa query.
  57.                 conn.Close(); //kanske stäng
  58.  
  59.  
  60.  
  61.                 NpgsqlCommand cmdInsToGameMem = new NpgsqlCommand(sqlInsToGM, conn);
  62.                 cmdInsToGameMem.Parameters.AddWithValue("gId", gameID);
  63.                 cmdInsToGameMem.Parameters.AddWithValue("mId", chosenMid);
  64.  
  65.                 conn.Open();
  66.                 cmdInsToGameMem.ExecuteNonQuery();
  67.                 conn.Close();
  68.  
  69.             }
  70.  
  71.             catch (NpgsqlException ex)
  72.             {
  73.                 Debug.WriteLine(ex.Message);
  74.             }
  75.             }
  76.  
  77.         public static void unBookMember(DateTime date, int timeId, int chosenMemberId)
  78.         {
  79.             NpgsqlConnection conn = new NpgsqlConnection(ConfigurationManager.ConnectionStrings["Halslaget"].ConnectionString);
  80.            
  81.             int dateId = 0;
  82.             int gameId = 0;
  83.             List<game> gameList = new List<game>();
  84.  
  85.  
  86.             string sqlGetDateId = "SELECT dates_id FROM game_dates WHERE dates = '" + date + "'";
  87.  
  88.  
  89.             try
  90.             {
  91.                 conn.Open();
  92.  
  93.                 NpgsqlCommand cmdGetDateId = new NpgsqlCommand(sqlGetDateId, conn);
  94.                 NpgsqlDataReader dr = cmdGetDateId.ExecuteReader();
  95.  
  96.                 if(dr.Read())
  97.                 {
  98.                     dateId = int.Parse(dr["dates_id"].ToString());
  99.                 }
  100.                 else
  101.                 {
  102.                     Debug.WriteLine("Finns ej detta datum_id i databasen");
  103.                     return;
  104.                 }
  105.                 dr.Close();
  106.                 conn.Close();
  107.  
  108.  
  109.                 conn.Open();
  110.                 string sqlGetGameId = "SELECT game_id FROM game WHERE date_id = '" + dateId + "' AND time_id = '" + timeId + "'";
  111.                 NpgsqlCommand cmdGetGameId = new NpgsqlCommand(sqlGetGameId, conn);
  112.                 NpgsqlDataReader dRead = cmdGetGameId.ExecuteReader();
  113.                
  114.                 if(dRead.HasRows)
  115.                 {
  116.                     while (dRead.Read())
  117.                     {
  118.                         game g = new game();
  119.                         g.game_id = int.Parse(dRead["game_id"].ToString());
  120.                         gameList.Add(g);
  121.  
  122.                         //gameId = int.Parse(dRead["game_id"].ToString()); - FUNKAR OM DET ÄR 1 SPELARE PÅ EN BOKNING.
  123.                     }
  124.                 }
  125.                 else
  126.                 {
  127.                     Debug.WriteLine("Finns ej detta game_id i databasen");
  128.                     return;
  129.                 }
  130.                 dRead.Close();
  131.  
  132.  
  133.                 //Tar bort rad från game_member.
  134.                 foreach (game game in gameList)
  135.                 {
  136.                     string sqlDelFromGM = "DELETE FROM game_member WHERE game_id = '" + game.game_id + "' AND member_id = '" + chosenMemberId + "'";
  137.                 NpgsqlCommand cmdDelGM = new NpgsqlCommand(sqlDelFromGM, conn);
  138.                 cmdDelGM.ExecuteNonQuery();
  139.                 }
  140.  
  141.  
  142.  
  143.                 //Tar bort om det finns ett game_id UTAN en spelare.
  144.                 string sqlDelNonUsedGameID = "DELETE FROM game g WHERE g.game_id NOT IN (SELECT gm.game_id FROM game_member gm)";
  145.                 NpgsqlCommand cmdDelGameID = new NpgsqlCommand(sqlDelNonUsedGameID, conn);
  146.                 cmdDelGameID.ExecuteNonQuery();
  147.  
  148.                 conn.Close();
  149.  
  150.             }
  151.  
  152.             catch (NpgsqlException ex)
  153.             {
  154.                 Debug.WriteLine(ex.Message);
  155.                 conn.Close();
  156.             }
  157.  
  158.             finally
  159.             {
  160.                 conn.Close();
  161.             }
  162.  
  163.         }
  164.  
  165.  
  166.         public static List<member> getBookedMember(DateTime selectedDate)
  167.         {
  168.             NpgsqlConnection conn = new NpgsqlConnection(ConfigurationManager.ConnectionStrings["Halslaget"].ConnectionString);
  169.             List<member> bookingmembers = new List<member>();
  170.             member m;
  171.             game_starts gs;
  172.             game_dates gd;
  173.  
  174.             string sql = "";
  175.             try
  176.             {
  177.                 sql = "SELECT first_name, last_name, gender, gm.member_id, hcp, times, dates " +
  178.                         "FROM member_new m " +
  179.                         "INNER JOIN game_member gm ON gm.member_id = m.id_member " +
  180.                         "INNER JOIN game g ON g.game_id = gm.game_id " +
  181.                         "INNER JOIN game_dates gd ON gd.dates_id = g.date_id " +
  182.                         "INNER JOIN game_starts gs ON gs.time_id = g.time_id " +
  183.                         "WHERE gd.dates = '" + selectedDate + "' " +
  184.                         "GROUP BY m.first_name, m.last_name, m.gender, gm.member_id, m.hcp, gs.times, dates";
  185.                 conn.Open();
  186.  
  187.                 NpgsqlCommand cmd = new NpgsqlCommand(sql, conn);
  188.                 NpgsqlDataReader dr = cmd.ExecuteReader();
  189.  
  190.                 while (dr.Read())
  191.                 {
  192.                     m = new member();
  193.                     m.memberId = int.Parse(dr["member_id"].ToString());
  194.                     m.firstName = dr["first_name"].ToString();
  195.                     m.lastName = dr["last_name"].ToString();
  196.                     m.gender = dr["gender"].ToString();
  197.                     m.hcp = double.Parse(dr["hcp"].ToString());
  198.  
  199.                     gs = new game_starts();
  200.                     gs.times = Convert.ToDateTime(dr["times"].ToString());
  201.  
  202.                     gd = new game_dates();
  203.                     gd.dates = DateTime.Parse(dr["dates"].ToString());
  204.  
  205.  
  206.                     bookingmembers.Add(m);
  207.                 }
  208.                
  209.             }
  210.             catch (NpgsqlException ex)
  211.             {
  212.                 Debug.WriteLine(ex.Message);
  213.             }
  214.  
  215.             return bookingmembers;
  216.         }
  217.                
  218.         //Admin får se alla medlemmar i en lista. Möjliggör för att lägga in personer på bokning.
  219.         public static DataTable showAllMembersForBooking()
  220.         {
  221.             NpgsqlConnection conn = new NpgsqlConnection(ConfigurationManager.ConnectionStrings["Halslaget"].ConnectionString);
  222.  
  223.             string sql;
  224.  
  225.             DataTable dt = new DataTable();
  226.            
  227.             try
  228.             {
  229.                 sql = "SELECT (first_name ||  ' ' ||  last_name) AS namn, id_member AS mID FROM member_new"; //first_name och last_name blir en egen kolumn som heter 'name'.
  230.  
  231.                 conn.Open();
  232.  
  233.                 NpgsqlDataAdapter da = new NpgsqlDataAdapter(sql, conn);
  234.                 da.Fill(dt); //Fyller dataAdatpter med dataTable.
  235.             }
  236.             catch (NpgsqlException ex)
  237.             {
  238.                 Debug.WriteLine(ex.Message);
  239.             }
  240.             finally
  241.             {
  242.                 conn.Close();
  243.             }
  244.            
  245.             return dt;          
  246.         }
  247.  
  248.         //Returnerar en datatable med medlemmar inbokade på en viss tid
  249.         public static DataTable showAllMembersForBookingByGameId(int gameId)
  250.         {
  251.             NpgsqlConnection conn = new NpgsqlConnection(ConfigurationManager.ConnectionStrings["Halslaget"].ConnectionString);
  252.  
  253.             string sql;
  254.  
  255.             DataTable dt = new DataTable();
  256.  
  257.             try
  258.             {
  259.                 sql = "SELECT (first_name ||  ' ' ||  last_name) AS namn, id_member AS mID, game_id FROM member_new, game_member "+
  260.                       "WHERE member_id = id_member "+
  261.                       "AND game_id = "+ gameId +";";
  262.  
  263.                 conn.Open();
  264.  
  265.                 NpgsqlDataAdapter da = new NpgsqlDataAdapter(sql, conn);
  266.                 da.Fill(dt); //Fyller dataAdatpter med dataTable.
  267.             }
  268.             catch (NpgsqlException ex)
  269.             {
  270.                 Debug.WriteLine(ex.Message);
  271.             }
  272.             finally
  273.             {
  274.                 conn.Close();
  275.             }
  276.  
  277.             return dt;
  278.         }
  279.  
  280.         #region medlemssida
  281.         public static void addMember(member newMember, users newUser)
  282.         {
  283.             NpgsqlConnection conn = new NpgsqlConnection(ConfigurationManager.ConnectionStrings["Halslaget"].ConnectionString);
  284.             NpgsqlTransaction tran = null;
  285.  
  286.             NpgsqlCommand command = new NpgsqlCommand();
  287.             command.Connection = conn;
  288.             try
  289.             {
  290.                 conn.Open();
  291.                 tran = conn.BeginTransaction();
  292.                 command.Connection = conn;
  293.                 command.Transaction = tran;
  294.                 string plsql = string.Empty;
  295.  
  296.                 plsql = plsql + "INSERT INTO member_new (first_name, last_name, address, postal_code,  city, mail, gender, hcp, golf_id, member_category)";
  297.                 plsql = plsql + " VALUES (:newFirstName, :newLastName, :newAddress, :newPostalCode, :newCity, :newMail, :newGender, :newHcp, :newGolfId, :newMemberCategori)";
  298.                 plsql = plsql + " RETURNING id_member";
  299.  
  300.                 command.Parameters.Add(new NpgsqlParameter("newFirstName", NpgsqlDbType.Varchar));
  301.                 command.Parameters["newFirstName"].Value = newMember.firstName;
  302.                 command.Parameters.Add(new NpgsqlParameter("newLastName", NpgsqlDbType.Varchar));
  303.                 command.Parameters["newLastName"].Value = newMember.lastName;
  304.                 command.Parameters.Add(new NpgsqlParameter("newAddress", NpgsqlDbType.Varchar));
  305.                 command.Parameters["newAddress"].Value = newMember.address;
  306.                 command.Parameters.Add(new NpgsqlParameter("newPostalCode", NpgsqlDbType.Varchar));
  307.                 command.Parameters["newPostalCode"].Value = newMember.postalCode;
  308.                 command.Parameters.Add(new NpgsqlParameter("newCity", NpgsqlDbType.Varchar));
  309.                 command.Parameters["newCity"].Value = newMember.city;
  310.                 command.Parameters.Add(new NpgsqlParameter("newMail", NpgsqlDbType.Varchar));
  311.                 command.Parameters["newMail"].Value = newMember.mail;
  312.                 command.Parameters.Add(new NpgsqlParameter("newGender", NpgsqlDbType.Varchar));
  313.                 command.Parameters["newGender"].Value = newMember.gender;
  314.                 command.Parameters.Add(new NpgsqlParameter("newHcp", NpgsqlDbType.Double));
  315.                 command.Parameters["newHcp"].Value = newMember.hcp;
  316.                 command.Parameters.Add(new NpgsqlParameter("newGolfId", NpgsqlDbType.Varchar));
  317.                 command.Parameters["newGolfId"].Value = newMember.golfId;
  318.                
  319.                 command.Parameters.Add(new NpgsqlParameter("newMemberCategori", NpgsqlDbType.Varchar));
  320.                 command.Parameters["newMemberCategori"].Value = newMember.category;
  321.  
  322.                 command.CommandText = plsql;
  323.                 int id_member = Convert.ToInt32(command.ExecuteScalar());
  324.  
  325.                 // user
  326.                 newUser.fkIdMember = id_member;
  327.  
  328.                 plsql = string.Empty;
  329.                 plsql = "INSERT INTO users (user_name, user_password, fk_id_member)";
  330.                 plsql = plsql + " VALUES (:newUserName, :newUserPassword, :newFkIdMember)";
  331.                 plsql = plsql + " RETURNING id_user";
  332.  
  333.                 command.Parameters.Add(new NpgsqlParameter("newUserName", NpgsqlDbType.Varchar));
  334.                 command.Parameters["newUserName"].Value = newUser.userName;
  335.                 command.Parameters.Add(new NpgsqlParameter("newUserPassword", NpgsqlDbType.Varchar));
  336.                 command.Parameters["newUserPassword"].Value = newUser.userPassword;
  337.                 command.Parameters.Add(new NpgsqlParameter("newFkIdMember", NpgsqlDbType.Integer));
  338.                 command.Parameters["newFkIdMember"].Value = newUser.fkIdMember;
  339.  
  340.                 command.CommandText = plsql;
  341.                 int id_user = Convert.ToInt32(command.ExecuteScalar());
  342.  
  343.                 tran.Commit();
  344.             }
  345.             catch (Exception ex)
  346.             {
  347.                 Debug.WriteLine(ex.Message);
  348.                 tran.Rollback();
  349.             }
  350.             finally
  351.             {
  352.                 conn.Close();
  353.             }
  354.         }
  355.  
  356.         public static void modifyMember(member newMember, users newUser)
  357.         {
  358.             NpgsqlConnection conn = new NpgsqlConnection(ConfigurationManager.ConnectionStrings["Halslaget"].ConnectionString);
  359.             NpgsqlTransaction tran = null;
  360.  
  361.             NpgsqlCommand command = new NpgsqlCommand();
  362.             command.Connection = conn;
  363.             try
  364.             {
  365.                 conn.Open();
  366.                 tran = conn.BeginTransaction();
  367.                 command.Connection = conn;
  368.                 command.Transaction = tran;
  369.                 string plsql = string.Empty;
  370.  
  371.                 plsql = plsql + "UPDATE member_new ";
  372.                 plsql = plsql + " SET first_name = :newFirstName,";
  373.                 plsql = plsql + "  last_name = :newLastName,";
  374.                 plsql = plsql + "  address = :newAddress,";
  375.                 plsql = plsql + "  postal_code = :newAddress,";
  376.                 plsql = plsql + "  city = :newCity,";
  377.                 plsql = plsql + "  mail = :newMail,";
  378.                 plsql = plsql + "  gender = :newGender,";
  379.                 plsql = plsql + "  hcp = :newHcp,";
  380.                 plsql = plsql + "  golf_id = :newGolfId,";
  381.                 plsql = plsql + "  member_category = :newMemberCategori";
  382.                 plsql = plsql + " WHERE id_member = :newIdMember";
  383.                
  384.                 command.Parameters.Add(new NpgsqlParameter("newFirstName", NpgsqlDbType.Varchar));
  385.                 command.Parameters["newFirstName"].Value = newMember.firstName;
  386.                 command.Parameters.Add(new NpgsqlParameter("newLastName", NpgsqlDbType.Varchar));
  387.                 command.Parameters["newLastName"].Value = newMember.lastName;
  388.                 command.Parameters.Add(new NpgsqlParameter("newAddress", NpgsqlDbType.Varchar));
  389.                 command.Parameters["newAddress"].Value = newMember.address;
  390.                 command.Parameters.Add(new NpgsqlParameter("newPostalCode", NpgsqlDbType.Varchar));
  391.                 command.Parameters["newPostalCode"].Value = newMember.postalCode;
  392.                 command.Parameters.Add(new NpgsqlParameter("newCity", NpgsqlDbType.Varchar));
  393.                 command.Parameters["newCity"].Value = newMember.city;
  394.                 command.Parameters.Add(new NpgsqlParameter("newMail", NpgsqlDbType.Varchar));
  395.                 command.Parameters["newMail"].Value = newMember.mail;
  396.                 command.Parameters.Add(new NpgsqlParameter("newGender", NpgsqlDbType.Varchar));
  397.                 command.Parameters["newGender"].Value = newMember.gender;
  398.                 command.Parameters.Add(new NpgsqlParameter("newHcp", NpgsqlDbType.Double));
  399.                 command.Parameters["newHcp"].Value = newMember.hcp;
  400.                 command.Parameters.Add(new NpgsqlParameter("newGolfId", NpgsqlDbType.Varchar));
  401.                 command.Parameters["newGolfId"].Value = newMember.golfId;
  402.                 command.Parameters.Add(new NpgsqlParameter("newMemberCategori", NpgsqlDbType.Varchar));
  403.                 command.Parameters["newMemberCategori"].Value = newMember.category;
  404.  
  405.                 // key
  406.                 command.Parameters.Add(new NpgsqlParameter("newIdMember", NpgsqlDbType.Integer));
  407.                 command.Parameters["newIdMember"].Value = newMember.memberId;
  408.                
  409.                 command.CommandText = plsql;
  410.                 int id_member = Convert.ToInt32(command.ExecuteScalar());
  411.  
  412.                 // user
  413.                 plsql = string.Empty;
  414.                 newUser.fkIdMember = newMember.memberId;
  415.  
  416.                 plsql = plsql + "UPDATE users ";
  417.                 plsql = plsql + " SET user_name = :newUserName,";
  418.                 plsql = plsql + "  user_password = :newUserPassword,";
  419.                 plsql = plsql + "  fk_id_member = :newFkIdMember";
  420.                 plsql = plsql + " WHERE id_user = :newIdUser";
  421.  
  422.                 command.Parameters.Add(new NpgsqlParameter("newUserName", NpgsqlDbType.Varchar));
  423.                 command.Parameters["newUserName"].Value = newUser.userName;
  424.                 command.Parameters.Add(new NpgsqlParameter("newUserPassword", NpgsqlDbType.Varchar));
  425.                 command.Parameters["newUserPassword"].Value = newUser.userPassword;
  426.                 command.Parameters.Add(new NpgsqlParameter("newFkIdMember", NpgsqlDbType.Integer));
  427.                 command.Parameters["newFkIdMember"].Value = newUser.fkIdMember;
  428.  
  429.                 command.Parameters.Add(new NpgsqlParameter("newIdUser", NpgsqlDbType.Integer));
  430.                 command.Parameters["newIdUser"].Value = newUser.idUser;
  431.  
  432.                 command.CommandText = plsql;
  433.                 int id_user = Convert.ToInt32(command.ExecuteScalar());
  434.  
  435.                 tran.Commit();
  436.             }
  437.             catch (Exception ex)
  438.             {
  439.                 Debug.WriteLine(ex.Message);
  440.                 tran.Rollback();
  441.             }
  442.             finally
  443.             {
  444.                 conn.Close();
  445.             }        
  446.         }
  447.        
  448.         public static void removeMember(member newMember, users newUser)
  449.         {
  450.             NpgsqlConnection conn = new NpgsqlConnection(ConfigurationManager.ConnectionStrings["Halslaget"].ConnectionString);
  451.             NpgsqlTransaction tran = null;
  452.  
  453.             NpgsqlCommand command = new NpgsqlCommand();
  454.             command.Connection = conn;
  455.             try
  456.             {
  457.                 conn.Open();
  458.                 tran = conn.BeginTransaction();
  459.                 command.Connection = conn;
  460.                 command.Transaction = tran;
  461.  
  462.                 string plsql = string.Empty;
  463.                 plsql = plsql + "DELETE FROM users WHERE id_user = :newUser.IdUser";
  464.                 command.Parameters.Add(new NpgsqlParameter("newUser.IdUser", NpgsqlDbType.Integer));
  465.                 command.Parameters["newUser.IdUser"].Value = newUser.idUser;
  466.                 command.CommandText = plsql;
  467.                 int id_user = Convert.ToInt32(command.ExecuteScalar());
  468.  
  469.                 plsql = string.Empty;
  470.                 plsql = plsql + "DELETE FROM member_new WHERE id_member = :newMember.memberId";
  471.                 command.Parameters.Add(new NpgsqlParameter("newMember.memberId", NpgsqlDbType.Integer));
  472.                 command.Parameters["newMember.memberId"].Value = newMember.memberId;
  473.                 command.CommandText = plsql;
  474.                 int id_member = Convert.ToInt32(command.ExecuteScalar());
  475.  
  476.                 tran.Commit();
  477.             }
  478.             catch (Exception ex)
  479.             {
  480.                 Debug.WriteLine(ex.Message);
  481.                 tran.Rollback();
  482.             }
  483.             finally
  484.             {
  485.                 conn.Close();
  486.             }
  487.         }
  488.        
  489.         public static member getMember(int id_member)
  490.         {
  491.             NpgsqlConnection conn = new NpgsqlConnection(ConfigurationManager.ConnectionStrings["Halslaget"].ConnectionString);
  492.             member newMember = new member();
  493.             try
  494.             {
  495.                 conn.Open();
  496.                 string plsql = string.Empty;
  497.                 plsql = "SELECT id_member, first_name, last_name, address, postal_code, city, mail, gender, hcp, golf_id, fk_category_id, member_category FROM member_new WHERE id_member = :newIdMember;";
  498.                 NpgsqlCommand command = new NpgsqlCommand(@plsql, conn);
  499.                 command.Parameters.Add(new NpgsqlParameter("newIdMember", NpgsqlDbType.Integer));
  500.                 command.Parameters["newIdMember"].Value = id_member;
  501.                 NpgsqlDataReader dr = command.ExecuteReader();
  502.                 while (dr.Read())
  503.                 {
  504.                     newMember.memberId = (int)(dr["id_member"]);
  505.                     newMember.firstName = (string)(dr["first_name"]);
  506.                     newMember.lastName = (string)(dr["last_name"]);
  507.                     newMember.address = (string)(dr["address"]);
  508.                     newMember.postalCode = (string)(dr["postal_code"]);
  509.                     newMember.city = (string)(dr["city"]);
  510.                     newMember.mail = (string)(dr["mail"]);
  511.                     newMember.gender = (string)(dr["gender"]);
  512.                     newMember.hcp = (double)(dr["hcp"]);
  513.                     newMember.golfId = (string)(dr["golf_id"]);
  514.                     newMember.category = (string)(dr["member_category"]);
  515.                 }
  516.             }
  517.             finally
  518.             {
  519.                 conn.Close();
  520.             }
  521.             return newMember;
  522.         }
  523.  
  524.         public static users getUser(int fk_id_member)
  525.         {
  526.             NpgsqlConnection conn = new NpgsqlConnection(ConfigurationManager.ConnectionStrings["Halslaget"].ConnectionString);
  527.             users newUser = new users();
  528.             try
  529.             {
  530.                 conn.Open();
  531.                 string plsql = string.Empty;
  532.  
  533.                 plsql = "SELECT id_user, user_name, user_password, fk_id_member FROM users WHERE fk_id_member = :newFkIdMember;";
  534.                 NpgsqlCommand command = new NpgsqlCommand(@plsql, conn);
  535.                 command.Parameters.Add(new NpgsqlParameter("newFkIdMember", NpgsqlDbType.Integer));
  536.                 command.Parameters["newFkIdMember"].Value = fk_id_member;
  537.                 NpgsqlDataReader dr = command.ExecuteReader();
  538.                 while (dr.Read())
  539.                 {
  540.                     newUser.idUser = (int)(dr["id_user"]);
  541.                     newUser.userName = (string)(dr["user_name"]);
  542.                     newUser.userPassword = (string)(dr["user_password"]);
  543.                     newUser.fkIdMember = (int)(dr["fk_id_member"]);
  544.                 }
  545.             }
  546.             finally
  547.             {
  548.                 conn.Close();
  549.             }
  550.             return newUser;
  551.         }
  552.  
  553.         public static List<member_category> getMemberCategoryList()
  554.         {
  555.             List<member_category> memberCategoryList = new List<member_category>();
  556.             NpgsqlConnection conn = new NpgsqlConnection(ConfigurationManager.ConnectionStrings["Halslaget"].ConnectionString);
  557.             users newUser = new users();
  558.             try
  559.             {
  560.                 conn.Open();
  561.                 string plsql = string.Empty;
  562.                 plsql = "SELECT category_id, category, cleaningfee FROM member_category;";
  563.                 NpgsqlCommand command = new NpgsqlCommand(@plsql, conn);
  564.                 NpgsqlDataReader dr = command.ExecuteReader();
  565.                 while (dr.Read())
  566.                 {
  567.                     member_category nyMemberCategory = new member_category();
  568.                     nyMemberCategory.categoryId = (int)(dr["category_id"]);
  569.                     nyMemberCategory.category = (string)(dr["category"]);
  570.                     nyMemberCategory.cleaningFee = (int)(dr["cleaningfee"]);
  571.                     memberCategoryList.Add(nyMemberCategory);
  572.                 }
  573.             }
  574.             finally
  575.             {
  576.                 conn.Close();
  577.             }
  578.             return memberCategoryList;
  579.         }
  580.  
  581.         public static List<games> getGamesByDate(DateTime selectedDate)
  582.         {
  583.             NpgsqlConnection conn = new NpgsqlConnection(ConfigurationManager.ConnectionStrings["Halslaget"].ConnectionString);
  584.             List<games> gameList = new List<games>();
  585.  
  586.             string date = selectedDate.ToString().Split(' ')[0];
  587.             string sql = "";
  588.             try
  589.             {
  590.                 sql = "SELECT game_id, dates, times, game_starts.time_id " +
  591.                       "FROM game, game_dates, game_starts " +
  592.                       "WHERE game.date_id = game_dates.dates_id " +
  593.                       "AND game.time_id = game_starts.time_id " +
  594.                       "AND dates = '" + date + "';";
  595.  
  596.                 conn.Open();
  597.  
  598.                 NpgsqlCommand cmd = new NpgsqlCommand(sql, conn);
  599.                 NpgsqlDataReader dr = cmd.ExecuteReader();
  600.                
  601.                 while (dr.Read())
  602.                 {
  603.                     games g = new games();
  604.                     g.date = DateTime.Parse(dr["dates"].ToString());
  605.                     g.time = Convert.ToDateTime(dr["times"].ToString());
  606.                     g.timeId = int.Parse(dr["time_id"].ToString());
  607.                     g.gameId = int.Parse(dr["game_id"].ToString());
  608.                     g.memberInGameList = getBookedMembersByGameId(g.gameId);
  609.  
  610.                     gameList.Add(g);
  611.                 }
  612.             }
  613.             catch (NpgsqlException ex)
  614.             {
  615.                 Debug.WriteLine(ex.Message);
  616.             }
  617.  
  618.             return gameList;
  619.         }
  620.  
  621.         public static List<member> getBookedMembersByGameId(int gameId)
  622.         {
  623.             NpgsqlConnection conn = new NpgsqlConnection(ConfigurationManager.ConnectionStrings["Halslaget"].ConnectionString);
  624.             List<member> memberList = new List<member>();
  625.  
  626.             string sql = "";
  627.             try
  628.             {
  629.                 sql = "SELECT id_member, first_name, last_name, address, postal_code, city, mail, gender, hcp, golf_id, member_category " +
  630.                       "FROM game, game_member, member_new " +
  631.                       "WHERE game.game_id = game_member.game_id " +
  632.                       "AND game_member.member_id = member_new.id_member " +
  633.                       "AND game.game_id = " + gameId + ";";
  634.  
  635.                 conn.Open();
  636.  
  637.                 NpgsqlCommand cmd = new NpgsqlCommand(sql, conn);
  638.                 NpgsqlDataReader dr = cmd.ExecuteReader();
  639.                
  640.                 while (dr.Read())
  641.                 {
  642.                     member m = new member();
  643.                     m.memberId = int.Parse(dr["id_member"].ToString());
  644.                     m.firstName = dr["first_name"].ToString();
  645.                     m.lastName = dr["last_name"].ToString();
  646.                     m.gender = dr["gender"].ToString();
  647.                     m.hcp = double.Parse(dr["hcp"].ToString());
  648.  
  649.                     memberList.Add(m);
  650.                 }
  651.             }
  652.             catch (NpgsqlException ex)
  653.             {
  654.                 Debug.WriteLine(ex.Message);
  655.             }
  656.  
  657.             finally
  658.             {
  659.                 conn.Close();
  660.             }
  661.  
  662.             return memberList;
  663.         }
  664.  
  665.  
  666.         public static void addNews(news newNews)
  667.         {
  668.             NpgsqlConnection conn = new NpgsqlConnection(ConfigurationManager.ConnectionStrings["Halslaget"].ConnectionString);
  669.             NpgsqlTransaction trans = null;
  670.  
  671.             NpgsqlCommand command = new NpgsqlCommand();
  672.             command.Connection = conn;
  673.  
  674.             try
  675.             {
  676.                 string sql = string.Empty;
  677.                 conn.Open();
  678.                 trans = conn.BeginTransaction();
  679.                 command.Connection = conn;
  680.                 command.Transaction = trans;
  681.                 sql = "INSERT INTO news (news_info, news_name, news_date) VALUES(:newNewsInfo, :newNewsName, :newNewsDate) RETURNING news_id";
  682.  
  683.                 command.Parameters.Add(new NpgsqlParameter("newNewsInfo", NpgsqlDbType.Varchar));
  684.                 command.Parameters["newNewsInfo"].Value = newNews.newsInfo;
  685.                 command.Parameters.Add(new NpgsqlParameter("newNewsName", NpgsqlDbType.Varchar));
  686.                 command.Parameters["newNewsName"].Value = newNews.newsName;
  687.                 command.Parameters.Add(new NpgsqlParameter("newNewsDate", NpgsqlDbType.Date));
  688.                 command.Parameters["newNewsDate"].Value = newNews.newsDate;
  689.  
  690.  
  691.                 command.CommandText = sql;
  692.                 int newsID = Convert.ToInt32(command.ExecuteScalar());
  693.                 trans.Commit();
  694.                 int numberOfAffectedRows = command.ExecuteNonQuery();
  695.             }
  696.             catch (Exception ex)
  697.             {
  698.                 Debug.WriteLine(ex.Message);
  699.                 trans.Rollback();
  700.             }
  701.             finally
  702.             {
  703.                 conn.Close();
  704.             }
  705.         }
  706.         public static void updateNews(news newNews)
  707.         {
  708.             NpgsqlConnection conn = new NpgsqlConnection(ConfigurationManager.ConnectionStrings["Halslaget"].ConnectionString);
  709.             NpgsqlTransaction trans = null;
  710.  
  711.             NpgsqlCommand command = new NpgsqlCommand();
  712.             command.Connection = conn;
  713.             try
  714.             {
  715.                 string sql = string.Empty;
  716.                 conn.Open();
  717.                 trans = conn.BeginTransaction();
  718.                 command.Connection = conn;
  719.                 command.Transaction = trans;
  720.                 sql = "UPDATE news SET news_info = :newNewsInfo WHERE news_id = :newNewsId RETURNING news_id";
  721.  
  722.                 command.Parameters.Add(new NpgsqlParameter("newNewsInfo", NpgsqlDbType.Varchar));
  723.                 command.Parameters["newNewsInfo"].Value = newNews.newsInfo;
  724.                 command.Parameters.Add(new NpgsqlParameter("newNewsId", NpgsqlDbType.Integer));
  725.                 command.Parameters["newNewsId"].Value = newNews.newsId;
  726.  
  727.                 command.CommandText = sql;
  728.                 int news_id = Convert.ToInt32(command.ExecuteScalar());
  729.                 trans.Commit();
  730.                 int numberOfAffectedRows = command.ExecuteNonQuery();
  731.             }
  732.             catch (Exception ex)
  733.             {
  734.                 Debug.WriteLine(ex.Message);
  735.                 trans.Rollback();
  736.             }
  737.             finally
  738.             {
  739.                 conn.Close();
  740.             }
  741.         }
  742.  
  743.         public static void addSeason(DateTime startDate)
  744.         {
  745.             NpgsqlConnection conn = new NpgsqlConnection(ConfigurationManager.ConnectionStrings["Halslaget"].ConnectionString);
  746.             string sql;
  747.             conn.Open();
  748.             try
  749.             {
  750.                 sql = "insert into game_dates(dates) VALUES ('" + startDate + "')";                
  751.                 NpgsqlCommand cmd = new NpgsqlCommand(sql, conn);
  752.                 cmd.ExecuteNonQuery();
  753.             }
  754.             catch
  755.             {
  756.  
  757.     }
  758.             finally
  759.             {
  760.                 conn.Close();
  761.             }
  762.         }
  763.         #endregion medlemssida
  764.         #region loggin
  765.         #endregion loggin
  766.  
  767.  
  768.  
  769. #region news
  770. public static List<news> getNewsList()
  771. {
  772.     List<news> newsList = new List<news>();
  773.     NpgsqlConnection conn = new NpgsqlConnection(ConfigurationManager.ConnectionStrings["Halslaget"].ConnectionString);
  774.  
  775.     try
  776.     {
  777.         conn.Open();
  778.         string sql = string.Empty;
  779.         sql = "SELECT news_id,news_info,news_name FROM news;";
  780.         NpgsqlCommand command = new NpgsqlCommand(@sql, conn);
  781.         NpgsqlDataReader dr = command.ExecuteReader();
  782.         while (dr.Read())
  783.         {
  784.             news newNews = new news();
  785.             newNews.newsId = (int)(dr["news_id"]);
  786.             newNews.newsInfo = (string)(dr["news_info"]);
  787.             newNews.newsName = (string)(dr["news_name"]);
  788.             newsList.Add(newNews);
  789.     }
  790.     }
  791.             finally
  792.             {
  793.                 conn.Close();
  794.             }
  795.     return newsList;
  796. }
  797.  
  798.    
  799.         #endregion news
  800.     }
  801. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement