public void BulkInsert_UnitTest() { string connStr = "server=192.168.110.234;Port=3306;database=GRPDB_POOL6;uid=admin;pwd=admin;procedure cache size=150;max pool size=150;allow zero datetime=true;connect timeout=3;"; MysqlDatabase target = new MysqlDatabase(connStr); string tableName = "GRP_User_Migration"; string spName = "USP_UMS_GetGRPDBAllByUserId"; string[] spParams = { "@UserId" }; object[] spValues = { "200034747" }; DataSet ds = target.SpExecuteDataSet(spName, spParams, spValues); DataTable table = ds.Tables[0]; string[] colNames = { "UserId", "GroupListVersion", "SvcId" }; bool isException = false; try { target.BulkInsert(tableName, table, colNames); } catch (Exception ex) { isException = true; Assert.Inconclusive(ex.Message); } Assert.AreEqual(isException, false); }
public static List <string> GetOrphanedGit(Config config, TeknikEntities db) { List <string> foundGit = new List <string>(); if (config.GitConfig.Enabled) { List <User> curUsers = db.Users.ToList(); // We need to check the actual git database MysqlDatabase mySQL = new MysqlDatabase(config.GitConfig.Database.Server, config.GitConfig.Database.Database, config.GitConfig.Database.Username, config.GitConfig.Database.Password, config.GitConfig.Database.Port); string sql = @"SELECT gogs.user.login_name AS login_name, gogs.user.lower_name AS username FROM gogs.user"; var results = mySQL.Query(sql); if (results != null && results.Any()) { foreach (var account in results) { bool userExists = curUsers.Exists(u => UserHelper.GetUserEmailAddress(config, u.Username).ToLower() == account["login_name"].ToString().ToLower()); bool isReserved = UserHelper.GetReservedUsernames(config).Exists(r => UserHelper.GetUserEmailAddress(config, r) == account["login_name"].ToString().ToLower()); if (!userExists && !isReserved) { foundGit.Add(account["username"].ToString()); } } } } return(foundGit); }
/// <summary> /// Проверить имеет ли текущий пользователь права на данный шаблон /// </summary> /// <param name="templateID">ID шаблона</param> /// <returns>Результат проверки</returns> public bool CheckRights(int templateID) { //Инициализируем базу данных MysqlDatabase database = new MysqlDatabase(WebConfigurationManager.AppSettings["ConnectionString"]); return(database.CheckRights(templateID, this._UserId)); }
public ActionResult List() { //Инициализируем базу данных MysqlDatabase database = new MysqlDatabase(WebConfigurationManager.AppSettings["ConnectionString"]); //Получаем список шаблонов для текущего пользователя Template[] templates = database.GetTemplates(((User)Session["User"]).UserId); //Рендерим String data = Render.RenderView(this, "List", templates); //Отправляем ответ return(Json(new { result = true, data = data }, JsonRequestBehavior.AllowGet)); }
private void PushResults(List <string[]> results) { for (int i = 1; i < results.Count; i++) { MysqlDatabase database = new MysqlDatabase(Properties.Settings.Default.ConnectionString); string accumulator = "{" + '\n'; for (int j = 0; j < results[0].Length; j++) { accumulator += results[0][j] + ": \"" + results[i][j] + (j == results[0].Length - 1 ? "\"" : "\",") + '\n'; } accumulator += "}"; database.AddNewResult(this._TemplateID, "new", accumulator); } }
static void Main(string[] args) { if (args.Count() == 1) { MysqlDatabase database = new MysqlDatabase(Properties.Settings.Default.ConnectionString); int taskID; if (Int32.TryParse(args[0], out taskID)) { Task newtask = database.GetTaskInfo(taskID); database.Close(); database = null; newtask.StartCrawling(); } } }
/// <summary> /// Удалить шаблон /// </summary> /// <param name="templateID">ID шаблона</param> /// <returns>Успешно ли удаление</returns> public static bool DeleteTemplate(int templateID) { //Удаляем данные шаблона string filePath = WebConfigurationManager.AppSettings["TemplateFolder"] + "\\" + templateID + ".xml"; if (File.Exists(filePath)) { File.Delete(filePath); } //Инициализируем базу данных MysqlDatabase database = new MysqlDatabase(WebConfigurationManager.AppSettings["ConnectionString"]); bool result = database.DeleteTemplate(templateID); //Возвращаем результат return(result); }
public void GetDatabaseName_UnitTest() { string connStr = "server=192.168.110.234;Port=3306;database=GRPDB_POOL6;uid=admin;pwd=admin;procedure cache size=150;max pool size=150;allow zero datetime=true;connect timeout=3;"; MysqlDatabase target = new MysqlDatabase(connStr); string databaseName = null; bool isException = false; try { databaseName = target.GetDatabaseName();; } catch (Exception ex) { isException = true; Assert.Inconclusive(ex.Message); } Assert.AreEqual(isException, false); Assert.AreNotEqual(databaseName, null); }
/// <summary> /// Создать новый шаблон, вернуть свежесозданную сущность /// </summary> /// <param name="ownerId">ID пользователя, создающего шаблон</param> /// <param name="name">Имя шаблона</param> /// <param name="website">Вебсайт к которому применяется шаблон</param> /// <param name="templateData">Исходник шаблона</param> public static Template CreateTemplate(int ownerId, string name, string website, string templateData) { //Инициализируем базу данных MysqlDatabase database = new MysqlDatabase(WebConfigurationManager.AppSettings["ConnectionString"]); //Создаём шаблон в базе данных Template result = database.CreateNewTemplate(ownerId, name, "http://" + website); //Если есть чего записывать в шаблон, записываем if (templateData != null) { FileInfo template = new FileInfo(WebConfigurationManager.AppSettings["TemplateFolder"] + "\\" + result.Id + ".xml"); using (StreamWriter writer = template.CreateText()) { writer.Write(templateData); } } return(result); }
/// <summary> /// Функция авторизации пользователя /// При успешной проверке пароля, авторизирует пользователя в системе /// </summary> /// <param name="password">Пароль пользователя</param> /// <returns>Результат авторизации</returns> public bool Authorize(String password) { if (this._AuthState) { return(true); } MysqlDatabase database = new MysqlDatabase(WebConfigurationManager.AppSettings["ConnectionString"]); List <Object[]> result = database.GetUserByCredentials(this.Email, password); if (result.Count != 1) { return(false); } this._UserId = (int)result[0][0]; this._WorkGroupId = (int)result[0][3]; this._AuthState = true; return(true); }
public static List <string> GetInactiveAccounts(Config config, TeknikEntities db, int maxDays) { List <string> foundUsers = new List <string>(); List <User> curUsers = db.Users.ToList(); foreach (User user in curUsers) { // If the username is reserved, don't worry about it if (UserHelper.UsernameReserved(config, user.Username) || user.Username == Constants.SERVERUSER) { continue; } // If they are Premium, don't worry about it either if (user.AccountType == AccountType.Premium && user.AccountStatus != AccountStatus.Banned) { continue; } #region Inactivity Finding DateTime lastActivity = DateTime.Now; try { lastActivity = UserHelper.GetLastAccountActivity(db, config, user); } catch { continue; } TimeSpan inactiveTime = DateTime.Now.Subtract(lastActivity); // If older than max days, check their current usage if (inactiveTime >= new TimeSpan(maxDays, 0, 0, 0, 0)) { // Check the user's usage of the service. bool noData = true; // Any blog comments? var blogCom = db.BlogComments.Where(c => c.UserId == user.UserId); noData &= !(blogCom != null && blogCom.Any()); // Any blog posts? var blogPosts = db.BlogPosts.Where(p => p.Blog.UserId == user.UserId); noData &= !(blogPosts != null && blogPosts.Any()); // Any podcast comments? var podCom = db.PodcastComments.Where(p => p.UserId == user.UserId); noData &= !(podCom != null && podCom.Any()); // Any email? if (config.EmailConfig.Enabled && UserHelper.UserEmailExists(config, UserHelper.GetUserEmailAddress(config, user.Username))) { var app = new hMailServer.Application(); app.Connect(); app.Authenticate(config.EmailConfig.Username, config.EmailConfig.Password); try { var domain = app.Domains.ItemByName[config.EmailConfig.Domain]; var account = domain.Accounts.ItemByAddress[UserHelper.GetUserEmailAddress(config, user.Username)]; noData &= ((account.Messages.Count == 0) && ((int)account.Size == 0)); } catch { } } // Any git repos? if (config.GitConfig.Enabled && UserHelper.UserGitExists(config, user.Username)) { string email = UserHelper.GetUserEmailAddress(config, user.Username); // We need to check the actual git database MysqlDatabase mySQL = new MysqlDatabase(config.GitConfig.Database.Server, config.GitConfig.Database.Database, config.GitConfig.Database.Username, config.GitConfig.Database.Password, config.GitConfig.Database.Port); string sql = @"SELECT * FROM gogs.repository LEFT JOIN gogs.action ON gogs.user.id = gogs.action.act_user_id WHERE gogs.user.login_name = {0}"; var results = mySQL.Query(sql, new object[] { email }); noData &= !(results != null && results.Any()); } if (noData) { // They have no data, so safe to delete them. foundUsers.Add(user.Username); } continue; } #endregion } return(foundUsers); }