123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using MySql.Data.MySqlClient;
- using System.Configuration;
- namespace parkMonitor.DB
- {
- public class DBOperation
- {
- private static MySqlConnection con;
- private static MySqlCommand cmd;
- IDBOperator oper = new Operator();
- //遍历用户号牌,查询号牌是否为该用户
- public bool IsUserNumberPlate(int userID, string numberPlate)
- {
- bool isUserNumberPlate = false;
- List<string> list = new List<string>();
- MySqlDataReader reader = null;
- string sql = "select numberPlate from usercarrelation where userID = '" + userID + "'";
- con = oper.getConn();
- try
- {
- con.Open();
- cmd = oper.getComm(sql, con);
- reader = oper.getResultSet(cmd);
- while (reader.Read())
- {
- if (reader.HasRows)
- {
- list.Add(reader.GetString("numberPlate"));
- }
- }
- if (reader != null)
- {
- reader.Close();
- reader.Dispose();
- }
- if (cmd != null)
- {
- cmd.Dispose();
- }
- if (con != null)
- {
- con.Close();
- con.Dispose();
- }
- }
- catch (Exception ex)
- {
- Console.WriteLine(ex.ToString());
- }
- if (list.Contains(numberPlate))
- {
- isUserNumberPlate = true;
- }
- else
- {
- isUserNumberPlate = false;
- }
- return isUserNumberPlate;
- }
- //根据号牌查询车型
- public int getVehicleTypeID(string numberPlate)
- {
- int vehicleTypeID = 0;
- MySqlDataReader reader = null;
- string sql = "select vehicleTypeID from vehicle where numberPlate = '" + numberPlate + "'";
- con = oper.getConn();
- try
- {
- con.Open();
- cmd = oper.getComm(sql, con);
- reader = oper.getResultSet(cmd);
- while (reader.Read())
- {
- if (reader.HasRows)
- {
- vehicleTypeID = reader.GetInt32("vehicleTypeID");
- }
- }
- if (reader != null)
- {
- reader.Close();
- reader.Dispose();
- }
- if (cmd != null)
- {
- cmd.Dispose();
- }
- if (con != null)
- {
- con.Close();
- con.Dispose();
- }
- }
- catch (Exception ex)
- {
- Console.WriteLine(ex.ToString());
- }
- return vehicleTypeID;
- }
- //判断测量数据是否正确
- public bool IsDataRight(int vehicleTypeLength, int vehicleTypeWidth, int vehicleTypeHeight, int vehicleTypeWheelbase, int vehicleTypeID)
- {
- bool isDataRight = true;
- MySqlDataReader reader = null;
- string sql = "select vehicleTypeLength,vehicleTypeWidth,vehicleTypeHeight,vehicleTypeWheelbase from vehicletype where vehicleTypeID = '" + vehicleTypeID + "'";
- con = oper.getConn();
- try
- {
- con.Open();
- cmd = oper.getComm(sql, con);
- reader = oper.getResultSet(cmd);
- while (reader.Read())
- {
- if (reader.HasRows)
- {
- int length = reader.GetInt32("vehicleTypeLength");
- int width = reader.GetInt32("vehicleTypeWidth");
- int height = reader.GetInt32("vehicleTypeHeight");
- int wheelbase = reader.GetInt32("vehicleTypeWheelbase");
- int lengthError = Convert.ToInt32(ConfigurationManager.AppSettings["length"]);
- int widthError = Convert.ToInt32(ConfigurationManager.AppSettings["width"]);
- int heightError = Convert.ToInt32(ConfigurationManager.AppSettings["height"]);
- int wheelbaseError = Convert.ToInt32(ConfigurationManager.AppSettings["wheelbase"]);
- if (System.Math.Abs(length - vehicleTypeLength) < lengthError && System.Math.Abs(width - vehicleTypeWidth) < widthError && System.Math.Abs(height - vehicleTypeHeight) < heightError && System.Math.Abs(wheelbase - vehicleTypeWheelbase) < wheelbaseError)
- {
- isDataRight = true;
- }
- else
- {
- isDataRight = false;
- }
- }
- }
- if (reader != null)
- {
- reader.Close();
- reader.Dispose();
- }
- if (cmd != null)
- {
- cmd.Dispose();
- }
- if (con != null)
- {
- con.Close();
- con.Dispose();
- }
- }
- catch (Exception ex)
- {
- Console.WriteLine(ex.Message);
- }
- return isDataRight;
- }
- //查询车位位置及状态,返回list
- public List<Parking_Space> GetParkingSpace(int garageID)
- {
- List<Parking_Space> lps = new List<Parking_Space>();
- MySqlDataReader reader = null;
- string sql = "select * from parkingspace where parkingSpaceState = 0 and garageID = '"+garageID+"' ";
- con = oper.getConn();
- try
- {
- con.Open();
- cmd = oper.getComm(sql, con);
- while (reader == null)
- {
- reader = oper.getResultSet(cmd);
- }
- while (reader.Read())
- {
- if (reader.HasRows)
- {
- int parkingSpaceID = reader.GetInt32("parkingSpaceID");
- //float parkingSpaceWeight = reader.GetFloat("parkingSpaceWeight");
- //int parkingSpaceStatement = reader.GetInt32("parkingSpaceState");
- //int garageID = reader.GetInt32("garageID");
- int parkingSpaceX = reader.GetInt32("parkingSpaceX");
- int parkingSpaceY = reader.GetInt32("parkingSpaceY");
- int parkingSpaceZ = reader.GetInt32("parkingSpaceZ");
- Parking_Space ps = new Parking_Space();
- ps.parkingSpaceID = parkingSpaceID;
- ps.garageID = garageID;
- //ps.parkingSpaceWeight = parkingSpaceWeight;
- //ps.parkingSpaceStatement = parkingSpaceStatement;
- ps.parkingSpaceX = parkingSpaceX;
- ps.parkingSpaceY = parkingSpaceY;
- ps.parkingSpaceZ = parkingSpaceZ;
- lps.Add(ps);
- }
- }
- if (reader != null)
- {
- reader.Close();
- reader.Dispose();
- }
- if (cmd != null)
- {
- cmd.Dispose();
- }
- if (con != null)
- {
- con.Close();
- con.Dispose();
- }
- }
- catch (Exception ex)
- {
- Console.WriteLine(ex.ToString());
- }
- return lps;
- }
- //根据车库ID查询权重
- public List<Garage> GetGarageWeight(int garageID)
- {
- List<Garage> lgWeight = new List<Garage>();
- MySqlDataReader reader = null;
- string sql = "select * from garage where garageID = '" + garageID + "'";
- con = oper.getConn();
- try
- {
- con.Open();
- cmd = oper.getComm(sql, con);
- reader = oper.getResultSet(cmd);
- while (reader.Read())
- {
- if (reader.HasRows)
- {
- int xweight = reader.GetInt32("xweight");
- int yweight = reader.GetInt32("yweight");
- int zweight = reader.GetInt32("zweight");
- Garage gWeight = new Garage();
- gWeight.xweight = xweight;
- gWeight.yweight = yweight;
- gWeight.zweight = zweight;
- lgWeight.Add(gWeight);
- }
- }
- if (reader != null)
- {
- reader.Close();
- reader.Dispose();
- }
- if (cmd != null)
- {
- cmd.Dispose();
- }
- if (con != null)
- {
- con.Close();
- con.Dispose();
- }
- }
- catch (Exception ex)
- {
- Console.WriteLine(ex.ToString());
- }
- return lgWeight;
- }
- //数据插入记录表,并返回停车记录id
- public int InsertToParkingRecords(int userID, string numberPlate, int parkingSpaceID, int garageID, int parkingRecordsState, string realParkTime)
- {
- string sql = "insert into parkingrecords(userID,numberPlate,parkingSpaceID,garageID,parkingRecordsState,realParkTime) values('" + userID + "','" + numberPlate + "','" + parkingSpaceID + "','" + garageID + "','" + parkingRecordsState + "','" + realParkTime + "')";
- con = oper.getConn();
- int parkingRecordsID = 0;
- try
- {
- con.Open();
- cmd = oper.getComm(sql, con);
- oper.getInsert(cmd);
- parkingRecordsID = Convert.ToInt32(cmd.LastInsertedId);
- if (cmd != null)
- {
- cmd.Dispose();
- }
- if (con != null)
- {
- con.Close();
- con.Dispose();
- }
- }
- catch (Exception ex)
- {
- Console.WriteLine(ex.Message);
- }
- return parkingRecordsID;
- }
- //根据车牌号更新车辆表
- public void UpdateVehicle(string numberPlate, int vehiclepParkState, string scanEntryTime, int parkingRecordsID, int parkingSpaceID, int vehicleTypeConfirm, int frontWheelbase, int rearWheelbase)
- {
- string sql = "update vehicle set vehiclepParkState = '" + vehiclepParkState + "',scanEntryTime = '" + scanEntryTime + "',parkingRecordsID = '" + parkingRecordsID + "',parkingSpaceID = '" + parkingSpaceID + "',vehicleTypeConfirm = '" + vehicleTypeConfirm + "',frontwheelbase = '" + frontWheelbase + "',rearwheelbase = '"+rearWheelbase+"' where numberPlate = '" + numberPlate + "'";
- con = oper.getConn();
- try
- {
- con.Open();
- cmd = oper.getComm(sql, con);
- oper.getUpdate(cmd);
- if (cmd != null)
- {
- cmd.Dispose();
- }
- if (con != null)
- {
- con.Close();
- con.Dispose();
- }
- }
- catch (Exception ex)
- {
- Console.WriteLine(ex.Message);
- }
- }
- //查询车库表获得剩余车位数
- public int getGarageFreeSpace(int garageID)
- {
- int garageFreeSpace = 0;
- MySqlDataReader reader = null;
- string sql = "select * from garage where garageID = '" + garageID + "'";
- con = oper.getConn();
- try
- {
- con.Open();
- cmd = oper.getComm(sql, con);
- reader = oper.getResultSet(cmd);
- while (reader.Read())
- {
- if (reader.HasRows)
- {
- garageFreeSpace = reader.GetInt32("garageFreeSpace");
- }
- }
- if (reader != null)
- {
- reader.Close();
- reader.Dispose();
- }
- if (cmd != null)
- {
- cmd.Dispose();
- }
- if (con != null)
- {
- con.Close();
- con.Dispose();
- }
- }
- catch (Exception ex)
- {
- Console.WriteLine(ex.ToString());
- }
- return garageFreeSpace;
- }
- //更新车库表剩余车位数
- public void UpdateGarageFreeSpace(int garageFreeSpace, int garageID)
- {
- string sql = "update garage set garageFreeSpace = '" + garageFreeSpace + "' where garageID = '" + garageID + "'";
- con = oper.getConn();
- try
- {
- con.Open();
- cmd = oper.getComm(sql, con);
- oper.getUpdate(cmd);
- if (cmd != null)
- {
- cmd.Dispose();
- }
- if (con != null)
- {
- con.Close();
- con.Dispose();
- }
- }
- catch (Exception ex)
- {
- Console.WriteLine(ex.Message);
- }
- }
- //根据车牌号更新车辆状态
- public void UpdateVehicleParkState(string numberPlate, int vehiclepParkState)
- {
- string sql = "update vehicle set vehiclepParkState = '" + vehiclepParkState + "'where numberPlate = '" + numberPlate + "'";
- con = oper.getConn();
- try
- {
- con.Open();
- cmd = oper.getComm(sql, con);
- oper.getUpdate(cmd);
- if (cmd != null)
- {
- cmd.Dispose();
- }
- if (con != null)
- {
- con.Close();
- con.Dispose();
- }
- }
- catch (Exception ex)
- {
- Console.WriteLine(ex.Message);
- }
- }
- //更新车位状态
- public void UpdateParkingSpaceState(int parkingSpaceID, int parkingSpaceState)
- {
- string sql = "update parkingspace set parkingSpaceState = '" + parkingSpaceState + "'where parkingSpaceID = '" + parkingSpaceID + "'";
- con = oper.getConn();
- try
- {
- con.Open();
- cmd = oper.getComm(sql, con);
- oper.getUpdate(cmd);
- if (cmd != null)
- {
- cmd.Dispose();
- }
- if (con != null)
- {
- con.Close();
- con.Dispose();
- }
- }
- catch (Exception ex)
- {
- Console.WriteLine(ex.Message);
- }
- }
- //更新停车记录表
- public void UpdateParkingRecords(int parkingRecordsState, string realGetTime, int parkingRecordsID)
- {
- string sql = "update parkingrecords set parkingRecordsState = '" + parkingRecordsState + "',realGetTime = '" + realGetTime + "'where parkingRecordsID = '" + parkingRecordsID + "'";
- con = oper.getConn();
- try
- {
- con.Open();
- cmd = oper.getComm(sql, con);
- oper.getUpdate(cmd);
- if (cmd != null)
- {
- cmd.Dispose();
- }
- if (con != null)
- {
- con.Close();
- con.Dispose();
- }
- }
- catch (Exception ex)
- {
- Console.WriteLine(ex.Message);
- }
- }
- //插入消息推送表
- public void InsertToMessageQueue(int userID, string context, int messageType)
- {
- string sql = "insert into messagequeue(userID,context,messageType) values('" + userID + "','" + context + "','" + messageType + "')";
- con = oper.getConn();
- try
- {
- con.Open();
- cmd = oper.getComm(sql, con);
- oper.getInsert(cmd);
- if (cmd != null)
- {
- cmd.Dispose();
- }
- if (con != null)
- {
- con.Close();
- con.Dispose();
- }
- }
- catch (Exception ex)
- {
- Console.WriteLine(ex.Message);
- }
- }
- //查询车库表获得车库名称
- public string getGarageName(int garageID)
- {
- string garageName = null;
- MySqlDataReader reader = null;
- string sql = "select * from garage where garageID = '" + garageID + "'";
- con = oper.getConn();
- try
- {
- con.Open();
- cmd = oper.getComm(sql, con);
- reader = oper.getResultSet(cmd);
- while (reader.Read())
- {
- if (reader.HasRows)
- {
- garageName = reader.GetString("garageName");
- }
- }
- if (reader != null)
- {
- reader.Close();
- reader.Dispose();
- }
- if (cmd != null)
- {
- cmd.Dispose();
- }
- if (con != null)
- {
- con.Close();
- con.Dispose();
- }
- }
- catch (Exception ex)
- {
- Console.WriteLine(ex.ToString());
- }
- return garageName;
- }
- //根据车牌查询得到车库id和车位id以及轮距
- public Vehicle GetVehicle(string numberPlate)
- {
- // List<Vehicle> lVehicle = new List<Vehicle>();
- Vehicle v = new Vehicle();
- MySqlDataReader reader = null;
- string sql = "select * from vehicle where numberPlate = '" + numberPlate + "'";
- con = oper.getConn();
- try
- {
- con.Open();
- cmd = oper.getComm(sql, con);
- reader = oper.getResultSet(cmd);
- while (reader.Read())
- {
- if (reader.HasRows)
- {
- int parkingSpaceID = reader.GetInt32("parkingSpaceID");
- int garageID = reader.GetInt32("garageID");
- int frontwheelbase = reader.GetInt32("frontwheelbase");
- int rearwheelbase = reader.GetInt32("rearwheelbase");
- v.parkingSpaceID = parkingSpaceID;
- v.garageID = garageID;
- v.frontwheelbase = frontwheelbase;
- v.rearwheelbase = rearwheelbase;
- }
- }
- if (reader != null)
- {
- reader.Close();
- reader.Dispose();
- }
- if (cmd != null)
- {
- cmd.Dispose();
- }
- if (con != null)
- {
- con.Close();
- con.Dispose();
- }
- }
- catch (Exception ex)
- {
- Console.WriteLine(ex.ToString());
- }
- return v;
- }
- //根据车位id获得x,y,z
- public Fetching_Space GetFetchingSpace(int parkingSpaceID)
- {
- Fetching_Space fs = new Fetching_Space();
- MySqlDataReader reader = null;
- string sql = "select * from parkingspace where parkingSpaceID = '" + parkingSpaceID + " '";
- con = oper.getConn();
- try
- {
- con.Open();
- cmd = oper.getComm(sql, con);
- while (reader == null)
- {
- reader = oper.getResultSet(cmd);
- }
- while (reader.Read())
- {
- if (reader.HasRows)
- {
- int parkingSpaceX = reader.GetInt32("parkingSpaceX");
- int parkingSpaceY = reader.GetInt32("parkingSpaceY");
- int parkingSpaceZ = reader.GetInt32("parkingSpaceZ");
- fs.parkingSpaceX = parkingSpaceX;
- fs.parkingSpaceY = parkingSpaceY;
- fs.parkingSpaceZ = parkingSpaceZ;
- }
- }
- if (reader != null)
- {
- reader.Close();
- reader.Dispose();
- }
- if (cmd != null)
- {
- cmd.Dispose();
- }
- if (con != null)
- {
- con.Close();
- con.Dispose();
- }
- }
- catch (Exception ex)
- {
- Console.WriteLine(ex.ToString());
- }
- return fs;
- }
- }
- }
|