Beispiel #1
0
        //Adds a device to the database, requires both a Name and UUID
        public bool AddDevice(string DevName, string DevUUID)
        {
            bool         complete = false;
            FeederDevice temp     = GetDevice(DevName, DatabaseGetMode.Name);

            if (temp == null)
            {
                using (MySqlConnection conn = GetConnection())
                {
                    try
                    {
                        conn.Open();
                        MySqlCommand cmd = new MySqlCommand("INSERT INTO Connected_Devices VALUES(default, @_Name, @_UUID);", conn);
                        cmd.Parameters.AddWithValue("_UUID", DevUUID);
                        cmd.Parameters.AddWithValue("_Name", DevName);
                        cmd.Prepare();
                        cmd.ExecuteNonQuery();
                        conn.Close();
                        complete = true;
                    }
                    catch
                    {
                        complete = false;
                    }
                }
            }
            return(complete);
        }
Beispiel #2
0
        //Removes a device from the database via UUID
        public bool RemoveDevice(string DevUUID)
        {
            bool         complete = false;
            FeederDevice temp     = GetDevice(DevUUID, DatabaseGetMode.UUID);

            if (temp != null)
            {
                using (MySqlConnection conn = GetConnection())
                {
                    try
                    {
                        conn.Open();
                        MySqlCommand cmd = new MySqlCommand("Delete from Connected_Devices where UUID=@_UUID;", conn);
                        cmd.Parameters.AddWithValue("_UUID", DevUUID);
                        cmd.Prepare();
                        cmd.ExecuteNonQuery();
                        conn.Close();
                        complete = true;
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine(e.Message + "\n" + e.StackTrace);
                        complete = false;
                    }
                }
            }
            else
            {
                complete = true;
            }
            return(complete);
        }
Beispiel #3
0
        //Wrapper method for GetDevice, returns bool depending on if a device is found.
        public bool Exists(string Device_Val, DatabaseGetMode mode)
        {
            FeederDevice res = GetDevice(Device_Val, mode);

            if (res == null)
            {
                return(false);
            }
            else
            {
                return(true);
            }
        }
Beispiel #4
0
        //Uses the enum to find and return a device by searching via UUID or Name
        public FeederDevice GetDevice(string Device_Val, DatabaseGetMode mode)
        {
            FeederDevice retval = null;

            using (MySqlConnection conn = GetConnection())
            {
                try
                {
                    conn.Open();
                    MySqlCommand cmd = null;
                    if (mode == DatabaseGetMode.UUID)
                    {
                        cmd = new MySqlCommand("select * from Connected_Devices where UUID = @_UUID;", conn);
                        cmd.Parameters.AddWithValue("_UUID", Device_Val);
                    }
                    else if (mode == DatabaseGetMode.Name)
                    {
                        cmd = new MySqlCommand("select * from Connected_Devices where Device_Name = @Name;", conn);
                        cmd.Parameters.AddWithValue("Name", Device_Val);
                    }
                    cmd.Prepare();

                    using (var reader = cmd.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                            retval = new FeederDevice
                            {
                                DeviceID    = Convert.ToInt32(reader["DeviceID"]),
                                Device_Name = reader["Device_Name"].ToString(),
                                UUID        = reader["UUID"].ToString()
                            };
                        }
                    }
                    conn.Close();
                }
                catch
                {
                    retval = null;
                    Console.WriteLine("Error when searching");
                }
            }
            return(retval);
        }
Beispiel #5
0
 public IActionResult IsRegistered(string name)
 {
     try
     {
         FeederDevice temp = _context.GetDevice(name, ConnectedDevicesContext.DatabaseGetMode.Name);
         if (temp != null)
         {
             return(Ok(temp.UUID));
         }
         else
         {
             return(NotFound(false));
         }
     }
     catch (Exception e)
     {
         return(StatusCode(StatusCodes.Status500InternalServerError, e.Message));
     }
 }