Esempio n. 1
0
        /// <summary>
        /// Удалить приложение
        /// </summary>
        /// <param name="appToRemove"></param>
        /// <returns></returns>
        public static string RemoveApp(ControlledApp appToRemove)
        {
            try
            {
                for (int i = 0; i < Apps.Count; i++)
                {
                    if (appToRemove == Apps[i])
                    {
                        Apps.RemoveAt(i);
                        break;
                    }
                }
                switch (StorageType)
                {
                case StorageTypes.Database:
                    RemoveDataFormDb(appToRemove);
                    break;

                case StorageTypes.XML:
                    SaveToXml();
                    break;
                }
                return("OK");
            }
            catch (Exception ex)
            {
                return(ex.Message);
            }
        }
 public static List <ControlledFile> GetFilesList(string root, ControlledApp parent)
 {
     try
     {
         List <ControlledFile> result = new List <ControlledFile>();
         DirectoryInfo         di     = new DirectoryInfo(root);
         foreach (var f in di.EnumerateFiles().ToList())
         {
             if (!StorageService.ForbiddenExt.Contains(f.Extension))
             {
                 result.Add(new ControlledFile()
                 {
                     Parent = parent,
                     Path   = f.FullName.Replace(parent.WorkingReleasePath + System.IO.Path.DirectorySeparatorChar, "")
                 });
             }
         }
         foreach (var d in di.EnumerateDirectories().ToList())
         {
             var temp = GetFilesList(string.Format("{0}{1}{2}", root, System.IO.Path.DirectorySeparatorChar, d.Name), parent);
             if (temp != null)
             {
                 result.AddRange(temp);
             }
         }
         return(result);
     }
     catch (Exception)
     {
         return(null);
     }
 }
Esempio n. 3
0
 /// <summary>
 /// Импортировать данные
 /// </summary>
 /// <param name="path"></param>
 /// <returns></returns>
 public static string ImportData(string path)
 {
     try
     {
         Apps.Clear();
         if (File.Exists(path))
         {
             XDocument xdoc    = XDocument.Load(path);
             var       counter = 0;
             foreach (XElement app in xdoc.Element("Applications").Elements("App"))
             {
                 XElement      name          = app.Element("Name");
                 XElement      workFolder    = app.Element("WorkFolderPath");
                 XElement      releaseFolder = app.Element("ReleaseFolderPath");
                 XElement      reestrFolder  = app.Element("ReestrFolderPath");
                 ControlledApp tApp          = ControlledApp.AddApp(
                     name.Value.ToString(),
                     workFolder.Value == null ? "" : workFolder.Value.ToString(),
                     releaseFolder == null ? "" : releaseFolder.Value.ToString(),
                     reestrFolder == null ? "" : reestrFolder.Value.ToString(),
                     counter
                     );
                 counter++;
                 Apps.Add(tApp);
             }
         }
         return("OK");
     }
     catch (Exception ex)
     {
         return(ex.Message);
     }
 }
Esempio n. 4
0
        /// <summary>
        /// Удалить данные из таблицы
        /// </summary>
        /// <param name="app"></param>
        /// <returns></returns>
        static string RemoveDataFormDb(ControlledApp app)
        {
            try
            {
                switch (ConnectionType)
                {
                case ConnectionTypes.OleDb:
                    OleDbConnection oleDbConnection = new OleDbConnection();
                    oleDbConnection.ConnectionString = string.Format("Provider={0}; Data Source={1};User ID={2};Password={3};Connection Timeout=3; ", Provider, Server, User, Password);
                    oleDbConnection.Open();
                    OleDbCommand oleDbCommand = oleDbConnection.CreateCommand();
                    oleDbCommand.CommandText = string.Format("DELETE FROM {0} WHERE ID = {1}", Table, app.Id);
                    oleDbCommand.ExecuteNonQuery();
                    oleDbConnection.Close();
                    break;

                case ConnectionTypes.OracleMySql:
                    MySqlConnection mySqlConnection = new MySqlConnection();
                    mySqlConnection.ConnectionString = string.Format("host={0};port={1};User Id={2};database={3};password={4};character set=utf8", Server, Port, User, Database, Password);
                    mySqlConnection.Open();
                    MySqlCommand mySqlCommand = mySqlConnection.CreateCommand();
                    mySqlCommand.CommandText = string.Format("DELETE FROM {0} WHERE ID = {1}", Table, app.Id);
                    mySqlCommand.ExecuteNonQuery();
                    mySqlConnection.Close();
                    break;

                case ConnectionTypes.Sql:
                    SqlConnection sqlConnection = new SqlConnection();
                    if (Password != "")
                    {
                        sqlConnection.ConnectionString = string.Format("Data Source={0};User ={1};Initial Catalog={2};Password={3}; Integrated Security = false;", Server, User, Database, Password);
                    }
                    else
                    {
                        sqlConnection.ConnectionString = string.Format("Data Source={0};Initial Catalog={1}; Integrated Security = True;", Server, Database);
                    }
                    sqlConnection.Open();
                    SqlCommand sqlCommand = sqlConnection.CreateCommand();
                    sqlCommand.CommandText = string.Format("DELETE FROM {0} WHERE ID = {1}", Table, app.Id);
                    sqlCommand.ExecuteNonQuery();
                    sqlConnection.Close();
                    break;
                }
                return("OK");
            }
            catch (Exception ex)
            {
                return(ex.Message);
            }
        }
Esempio n. 5
0
        /// <summary>
        /// Обновить запись в БД
        /// </summary>
        /// <param name="app"></param>
        /// <returns></returns>
        static string UpdateDataInDb(ControlledApp app)
        {
            try
            {
                switch (ConnectionType)
                {
                case ConnectionTypes.OleDb:
                    OleDbConnection oleDbConnection = new OleDbConnection();
                    oleDbConnection.ConnectionString = string.Format("Provider={0}; Data Source={1};User ID={2};Password={3};Connection Timeout=3; ", Provider, Server, User, Password);
                    oleDbConnection.Open();
                    OleDbCommand oleDbCommand = oleDbConnection.CreateCommand();
                    oleDbCommand.CommandText = string.Format("UPDATE {0} SET Name='{1}', WorkFolder='{2}', ReleaseFolder='{3}', ReestrFolder='{4}' WHERE ID = {5}", Table, app.Name, app.WorkingReleasePath, app.ReleasePath, app.ReleasePath, app.Id);
                    oleDbCommand.ExecuteNonQuery();
                    oleDbConnection.Close();
                    break;

                case ConnectionTypes.OracleMySql:
                    MySqlConnection mySqlConnection = new MySqlConnection();
                    mySqlConnection.ConnectionString = string.Format("host={0};port={1};User Id={2};database={3};password={4};character set=utf8", Server, Port, User, Database, Password);
                    mySqlConnection.Open();
                    MySqlCommand mySqlCommand = mySqlConnection.CreateCommand();
                    mySqlCommand.CommandText = string.Format("UPDATE {0} SET Name='{1}', WorkFolder='{2}', ReleaseFolder='{3}', ReestrFolder='{4}' WHERE ID = {5}", Table, app.Name, app.WorkingReleasePath.Replace(Path.DirectorySeparatorChar, '+'), app.ReleasePath.Replace(Path.DirectorySeparatorChar, '+'), app.ReleasePath.Replace(Path.DirectorySeparatorChar, '+'), app.Id);
                    mySqlCommand.ExecuteNonQuery();
                    mySqlConnection.Close();
                    break;

                case ConnectionTypes.Sql:
                    SqlConnection sqlConnection = new SqlConnection();
                    if (Password != "")
                    {
                        sqlConnection.ConnectionString = string.Format("Data Source={0};User ={1};Initial Catalog={2};Password={3}; Integrated Security = false;", Server, User, Database, Password);
                    }
                    else
                    {
                        sqlConnection.ConnectionString = string.Format("Data Source={0};Initial Catalog={1}; Integrated Security = True;", Server, Database);
                    }
                    sqlConnection.Open();
                    SqlCommand sqlCommand = sqlConnection.CreateCommand();
                    sqlCommand.CommandText = string.Format("UPDATE {0} SET Name='{1}', WorkFolder='{2}', ReleaseFolder='{3}', ReestrFolder='{4}' WHERE ID = {5}", Table, app.Name, app.WorkingReleasePath, app.ReleasePath, app.ReleasePath, app.Id);
                    sqlCommand.ExecuteNonQuery();
                    sqlConnection.Close();
                    break;
                }
                return("OK");
            }
            catch (Exception ex)
            {
                return(ex.Message);
            }
        }
 /// <summary>
 /// Добавлению подлежат все файлы в указанном каталоге и в директориях первого уровня вложенности
 /// </summary>
 /// <param name="name"></param>
 /// <param name="workFolderPath"></param>
 /// <param name="relFolderPath"></param>
 /// <returns></returns>
 public static ControlledApp AddApp(string name, string workFolderPath, string relFolderPath, string reestrPath, int id)
 {
     try
     {
         ControlledApp result = new ControlledApp();
         result.Name               = name;
         result.ReleasePath        = relFolderPath;
         result.WorkingReleasePath = workFolderPath;
         result.ReestrPath         = reestrPath;
         result.Id = id;
         var dir = new DirectoryInfo(workFolderPath);
         result.Files = new ObservableCollection <ControlledFile>(ControlledFile.GetFilesList(workFolderPath, result));
         return(result);
     }
     catch (Exception ex)
     {
         return(null);
     }
 }
Esempio n. 7
0
        /// <summary>
        /// Получить данные из базы данных
        /// </summary>
        /// <returns></returns>
        static string GetDataFromDb()
        {
            try
            {
                Apps.Clear();
                switch (ConnectionType)
                {
                case ConnectionTypes.OleDb:
                    OleDbConnection oleDbConnection = new OleDbConnection();
                    oleDbConnection.ConnectionString = string.Format("Provider={0}; Data Source={1};User ID={2};Password={3};Connection Timeout=3; ", Provider, Server, User, Password);
                    oleDbConnection.Open();
                    OleDbCommand oleDbCommand = oleDbConnection.CreateCommand();
                    oleDbCommand.CommandText = string.Format("SELECT Name, WorkFolder, ReleaseFolder, ReestrFolder, ID From {0}", Table);
                    OleDbDataReader oleDbDataReader = oleDbCommand.ExecuteReader();
                    while (oleDbDataReader.Read())
                    {
                        Apps.Add(ControlledApp.AddApp(oleDbDataReader["Name"].ToString(), oleDbDataReader["WorkFolder"].ToString(), oleDbDataReader["ReleaseFolder"].ToString(), oleDbDataReader["ReestrFolder"].ToString(), Convert.ToInt32(oleDbDataReader["ID"].ToString())));
                    }
                    oleDbConnection.Close();
                    break;

                case ConnectionTypes.OracleMySql:
                    MySqlConnection mySqlConnection = new MySqlConnection();
                    mySqlConnection.ConnectionString = string.Format("host={0};port={1};User Id={2};database={3};password={4};character set=utf8", Server, Port, User, Database, Password);
                    mySqlConnection.Open();
                    MySqlCommand mySqlCommand = mySqlConnection.CreateCommand();
                    mySqlCommand.CommandText = string.Format("SELECT Name, WorkFolder, ReleaseFolder, ReestrFolder, ID From {0}", Table);
                    MySqlDataReader mySqlDataReader = mySqlCommand.ExecuteReader();
                    while (mySqlDataReader.Read())
                    {
                        Apps.Add(ControlledApp.AddApp(mySqlDataReader["Name"].ToString(), mySqlDataReader["WorkFolder"].ToString().Replace('+', Path.DirectorySeparatorChar), mySqlDataReader["ReleaseFolder"].ToString().Replace('+', Path.DirectorySeparatorChar), mySqlDataReader["ReestrFolder"].ToString().Replace('+', Path.DirectorySeparatorChar), Convert.ToInt32(mySqlDataReader["ID"].ToString())));
                    }
                    mySqlConnection.Close();
                    break;

                case ConnectionTypes.Sql:
                    SqlConnection sqlConnection = new SqlConnection();
                    if (Password != "")
                    {
                        sqlConnection.ConnectionString = string.Format("Data Source={0};User ={1};Initial Catalog={2};Password={3}; Integrated Security = false;", Server, User, Database, Password);
                    }
                    else
                    {
                        sqlConnection.ConnectionString = string.Format("Data Source={0};Initial Catalog={1}; Integrated Security = True;", Server, Database);
                    }
                    sqlConnection.Open();
                    SqlCommand sqlCommand = sqlConnection.CreateCommand();
                    sqlCommand.CommandText = string.Format("SELECT Name, WorkFolder, ReleaseFolder, ReestrFolder, ID From {0}", Table);
                    SqlDataReader sqlDataReader = sqlCommand.ExecuteReader();
                    while (sqlDataReader.Read())
                    {
                        Apps.Add(ControlledApp.AddApp(sqlDataReader["Name"].ToString(), sqlDataReader["WorkFolder"].ToString(), sqlDataReader["ReleaseFolder"].ToString(), sqlDataReader["ReestrFolder"].ToString(), Convert.ToInt32(sqlDataReader["ID"].ToString())));
                    }
                    sqlConnection.Close();
                    break;
                }
                foreach (var app in Apps)
                {
                    app.ExistInDb = true;
                }
                return("OK");
            }
            catch (Exception ex)
            {
                return(ex.Message);
            }
        }