public void RegisterAccident( int amount, DateTime time, int Drinks, DateTime TimeSleep, DateTime TimeToilet, int ToiletVisit )
        {
            Transaction trans;
            SqlCommand cmd;

             trans = new Transaction();

             trans.BegindTransactions();
             int i = 101;
            try
            {
                cmd = new SqlCommand("RegisterBWAcc", trans.getcon(), trans.GetTransaction());

                cmd.CommandType = CommandType.StoredProcedure;

                cmd.Parameters.Add(new SqlParameter("@Amount", amount));
                cmd.Parameters.Add(new SqlParameter("@TimeOfAccident", time));
                cmd.Parameters.Add(new SqlParameter("@DeviceID", DeviceNumber));
                cmd.Parameters.Add(new SqlParameter("@Drinks", Drinks));
                cmd.Parameters.Add(new SqlParameter("@TimeSleep", TimeSleep));
                cmd.Parameters.Add(new SqlParameter("@TimeToilet", TimeToilet));
                cmd.Parameters.Add(new SqlParameter("@Toilet", ToiletVisit));
                //cmd.Parameters.Add(new SqlParameter("@Version", (Version + 1)));

                i = cmd.ExecuteNonQuery();
                trans.Commit();

            }
            catch (Exception e)
            {
                trans.RollBack();
                throw e;

            }
            //trans.Commit();
        }
        public void SendMessage(string Messagtxt, DateTime senddate, string Tittle, int UserID)
        {
            Transaction trans;
            SqlCommand cmd;

            trans = new Transaction();

            trans.BegindTransactions();
            try
            {
                cmd = new SqlCommand("SendMessage", trans.getcon(), trans.GetTransaction());

                cmd.CommandType = CommandType.StoredProcedure;

                cmd.Parameters.Add(new SqlParameter("@Message", Messagtxt));
                cmd.Parameters.Add(new SqlParameter("@sendDate", senddate));
                cmd.Parameters.Add(new SqlParameter("@Tittle", Tittle));
                cmd.Parameters.Add(new SqlParameter("@UserID", UserID));

                cmd.ExecuteNonQuery();
                trans.Commit();

            }
            catch (Exception e)
            {
                trans.RollBack();
                throw e;

            }
        }
        public void DeleteAccidents(int AccidentID)
        {
            Transaction trans;
            SqlCommand cmd;

            trans = new Transaction();

            trans.BegindTransactions();
            try
            {
                cmd = new SqlCommand("DeleteAccident", trans.getcon(), trans.GetTransaction());

                cmd.CommandType = CommandType.StoredProcedure;

                cmd.Parameters.Add(new SqlParameter("@AccidentID", AccidentID));

                cmd.ExecuteNonQuery();
            }
            catch (Exception e)
            {
                trans.RollBack();
                throw e;

            }
            trans.Commit();
        }
        public void UpdateAccident(int accID, DateTime time, int amount, int DeviceID)
        {
            Transaction trans;
            SqlCommand cmd;

            int versionCheck = getVersion(accID);

            trans = new Transaction();

            trans.BegindTransactions();
            try
            {
                cmd = new SqlCommand("UpdateAccident", trans.getcon(), trans.GetTransaction());

                cmd.CommandType = CommandType.StoredProcedure;

                cmd.Parameters.Add(new SqlParameter("@AccidentID", accID));
                cmd.Parameters.Add(new SqlParameter("@Amount", amount));
                cmd.Parameters.Add(new SqlParameter("@TimeOfAccident", time));
                cmd.Parameters.Add(new SqlParameter("@DeviceID", DeviceID));
                cmd.Parameters.Add(new SqlParameter("@versionCheck", versionCheck));

                cmd.ExecuteNonQuery();
            }
            catch (Exception e)
            {
                trans.RollBack();
                throw e;

            }
            trans.Commit();
        }
        public void RegisterDevice(int userID)
        {
            Transaction trans = new Transaction();
            SqlCommand cmd;

            trans = new Transaction();
            trans.BegindTransactions();

            try
            {
                cmd = new SqlCommand("RegisterDevice", trans.getcon(), trans.GetTransaction());

                cmd.CommandType = CommandType.StoredProcedure;

                cmd.Parameters.Add(new SqlParameter("@UserID", userID));

                cmd.ExecuteNonQuery();
            }
            catch (Exception e)
            {
                trans.RollBack();
                throw e;

            }

            trans.Commit();
        }
        public int getUserIDFromUsername(string username)
        {
            int userID = 0;

            trans = new Transaction();
            trans.BegindTransactions();

            try
            {
                cmd = new SqlCommand("getIDfromUsername", trans.getcon(), trans.GetTransaction());

                cmd.CommandType = CommandType.StoredProcedure;

                cmd.Parameters.Add(new SqlParameter("@Username", username));

                SqlDataReader dbr;
                dbr = cmd.ExecuteReader();
                while (dbr.Read() == true)
                {
                    if (dbr.HasRows)
                    {
                        userID = (int)dbr["UserID"];
                    }
                }
                dbr.Close();

            }
            catch (Exception e)
            {
                trans.RollBack();
                throw e;
                // trans.getcon().Close();
            }

            trans.Commit();
            trans.getcon().Close();
            return userID;
        }
        public void SignUp(string type, string birthday, string UserName, string PassWord, string Name, int deviceID)
        {
            Transaction trans;
            SqlCommand cmd;

            trans = new Transaction();
            trans.BegindTransactions();
            try
            {
                cmd = new SqlCommand("NewSignUp", trans.getcon(), trans.GetTransaction());

                cmd.CommandType = CommandType.StoredProcedure;

                cmd.Parameters.Add(new SqlParameter("@type", type));
                cmd.Parameters.Add(new SqlParameter("@birthday", birthday));
                cmd.Parameters.Add(new SqlParameter("@UserName", UserName));
                cmd.Parameters.Add(new SqlParameter("@PassWord", PassWord));
                cmd.Parameters.Add(new SqlParameter("@Name", Name));
                cmd.Parameters.Add(new SqlParameter("@deviceID", deviceID));

                cmd.ExecuteNonQuery();
            }
            catch (Exception e)
            {
                trans.RollBack();
                throw e;
            }
            trans.Commit();
        }
        public int login(string Username, string Password)
        {
            int Perm = 3;
            Transaction trans;
            SqlCommand cmd;

            trans = new Transaction();
            trans.BegindTransactions();
            String query = "Select UserName ,PassWord ,TypeOfUser from LogIn1 where UserName = '******'and PassWord = '******'";
            cmd = new SqlCommand(query, trans.getcon(), trans.GetTransaction());
            SqlDataReader dbr;

            dbr = cmd.ExecuteReader();
            while (dbr.Read() == true)
            {
                if (dbr.HasRows)
                {
                    Perm = (int)dbr["TypeOfUser"];
                }
            }
            dbr.Close();
            trans.Commit();
            trans.GetConnection().Close();
            return Perm;
        }