示例#1
0
 public static bool LoginToMediaShare(Models.MediaServer mediaServer)
 {
     if (!string.IsNullOrWhiteSpace(mediaServer.ShareName) && !mediaServer.ShareName.StartsWith("\\\\"))
     {
         //Networking.LogoutOfUNCShare(mediaServer.Username, mediaServer.Password, mediaServer.Domain, mediaServer.ShareName);
         return(true);
     }
     if (string.IsNullOrWhiteSpace(mediaServer.Username) || string.IsNullOrWhiteSpace(mediaServer.Password) ||
         string.IsNullOrWhiteSpace(mediaServer.Domain) || string.IsNullOrWhiteSpace(mediaServer.ShareName))
     {
         return(false);
     }
     Networking.LoginToUNCShare(mediaServer.Username, mediaServer.Password, mediaServer.Domain, mediaServer.ShareName);
     return(true);
 }
示例#2
0
 public static bool IsShareOffline(Models.MediaServer mediaServer)
 {
     if (!Networking.IsLocalNetworkConnected())
     {
         return(true);
     }
     if (!LoginToMediaShare(mediaServer))
     {
         return(true);
     }
     if (!Directory.Exists(mediaServer.ShareName + _offlinePostfix) && !Directory.Exists(mediaServer.ShareName))
     {
         throw new Exception("Media Share Not Found: " + mediaServer.ShareName);
     }
     return(Directory.Exists(mediaServer.ShareName + _offlinePostfix));
     // return shareName.EndsWith(_offlinePostfix);
 }
示例#3
0
        public static string GetSelectedOfflineValue(Models.MediaServer mediaServer)
        {
            if (mediaServer.EnableParentalControlsEvery == 0)
            {
                return("");
            }
            string offlineVal = "";

            if (mediaServer.EnableParentalControlsEvery == 1)
            {
                offlineVal = mediaServer.EnableParentalControlsEvery.ToString() + " hour";
            }
            else
            {
                offlineVal = mediaServer.EnableParentalControlsEvery.ToString() + " hours";
            }


            return(offlineVal);
        }
示例#4
0
        public static bool TakeShareOffline(bool force = false)
        {
            Models.MediaServer mediaServer = Settings.Get().MediaServer;
            if (string.IsNullOrWhiteSpace(mediaServer.ShareName))
            {
                return(false);
            }

            //int count = 0;
            //while (!Networking.IsLocalNetworkConnected())
            //{
            //    if (count == 5) break;
            //    ControlHelpers.Sleep(1000).Wait();
            //    count++;
            //}

            if (force && !IsShareOffline(mediaServer))
            {
                FileIO.ChangeFolderName(mediaServer.ShareName, mediaServer.ShareName + _offlinePostfix);
                RestartMediaServer();
                Logging.Log("Media Share Offline");
                return(true);
            }
            else if (IsShareOffline(mediaServer))
            {
                FileIO.ChangeFolderName(mediaServer.ShareName + _offlinePostfix, mediaServer.ShareName);
                RestartMediaServer();
                Logging.Log("Media Share Online");
                mediaServer.ParentalControlsLastEnabled = DateTime.Now;
                return(false);
            }
            else
            {
                FileIO.ChangeFolderName(mediaServer.ShareName, mediaServer.ShareName + _offlinePostfix);
                RestartMediaServer();
                Logging.Log("Media Share Offline");
                return(true);
            }
        }