public JsonResult addAddress(string _address, string _deviceType)
 {
     if (User.Identity.IsAuthenticated)
     {
         if (_address.Length > 0 && _deviceType.Length > 0)
         {
             List<WhoIsOnlineModel> addresses = new List<WhoIsOnlineModel>();
             WhoIsOnlineModel s = new WhoIsOnlineModel();
             addresses = s.getAddresses();
             bool check = true;
             foreach (var item in addresses)
             {
                 if (item.Address == _address)
                 {
                     check = false;
                 }
             }
             if (check)
             {
                 s.Address = _address;
                 s.DeviceType = _deviceType;
                 s.Owner = User.Identity.Name;
                 s.CreateEntry(s);
             }
             return Json(true);
         }
     }
     return Json(false);
 }
 public JsonResult deleteAddress(string id)
 {
     if (User.Identity.IsAuthenticated)
     {
         WhoIsOnlineModel s = new WhoIsOnlineModel();
         s.deleteAddressById(Convert.ToInt32(id));
         return Json(true);
     }
     return Json(false);
 }
 public void CreateEntry(WhoIsOnlineModel s)
 {
     using (var cn = new SqlConnection(@"Data Source=(LocalDB)\v11.0;AttachDbFilename" +
      "=|DataDirectory|\\Database.mdf; Integrated Security=True"))
     {
         string _insertSql = @"INSERT INTO [dbo].[MacAddresses]
                                     ([DeviceOwner], [MacAddress], [TypeOfDevice])
                                     VALUES (@DeviceOwner, @MacAddress, @TypeOfDevice)";
         var insertCmd = new SqlCommand(_insertSql, cn);
         insertCmd.Parameters
             .Add(new SqlParameter("@DeviceOwner", SqlDbType.NVarChar))
             .Value = s.Owner;
         insertCmd.Parameters
             .Add(new SqlParameter("@MacAddress", SqlDbType.NVarChar))
             .Value = s.Address;
         insertCmd.Parameters
             .Add(new SqlParameter("@TypeOfDevice", SqlDbType.NVarChar))
             .Value = s.DeviceType;
         cn.Open();
         insertCmd.ExecuteNonQuery();
         cn.Close();
     }
 }
        public List<WhoIsOnlineModel> getAddresses()
        {
            List<WhoIsOnlineModel> items = new List<WhoIsOnlineModel>();
            using (var cn = new SqlConnection(@"Data Source=(LocalDB)\v11.0;AttachDbFilename" +
             "=|DataDirectory|\\Database.mdf; Integrated Security=True"))
            {
                string _sql = @"SELECT * FROM [dbo].[MacAddresses]";
                var cmd = new SqlCommand(_sql, cn);
                cn.Open();
                var reader = cmd.ExecuteReader();

                if (reader.HasRows)
                {
                    try
                    {
                        while (reader.Read())
                        {
                            WhoIsOnlineModel item = new WhoIsOnlineModel();
                            item.Id = Convert.ToInt32(reader["Id"].ToString());
                            item.Owner = reader["DeviceOwner"].ToString();
                            item.Address = reader["MacAddress"].ToString();
                            item.DeviceType = reader["TypeOfDevice"].ToString();
                            items.Add(item);
                        }
                    }
                    catch (Exception e) { return items; }

                }
                reader.Dispose();
                cmd.Dispose();
            }
            return items;
        }