private DataProviderManager() { dbManager = MovingPicturesCore.DatabaseManager; detailSources = new List<DBSourceInfo>(); coverSources = new List<DBSourceInfo>(); backdropSources = new List<DBSourceInfo>(); allSources = new List<DBSourceInfo>(); sorters = new Dictionary<DataType, DBSourceInfoComparer>(); sorters[DataType.DETAILS] = new DBSourceInfoComparer(DataType.DETAILS); sorters[DataType.COVERS] = new DBSourceInfoComparer(DataType.COVERS); sorters[DataType.BACKDROPS] = new DBSourceInfoComparer(DataType.BACKDROPS); debugMode = MovingPicturesCore.Settings.DataSourceDebugActive; logger.Info("DataProviderManager Starting"); loadProvidersFromDatabase(); // if we have already done an initial load, set an internal flag to do updates only // when loading internal scripts. We dont want to load in previously deleted scripts // during the internal provider loading process. updateOnly = MovingPicturesCore.Settings.DataProvidersInitialized; LoadInternalProviders(); updateOnly = false; MovingPicturesCore.Settings.DataProvidersInitialized = true; }
public void ComputeMainUserLevel() { var database = new DatabaseManager().GetDatabase(); var collection = database .GetCollection<IUser>(typeof(IUser).Name); Experience xp = null; foreach (var user in collection.FindAll()) { if(user.ExperiencePoints.ContainsKey("Experience")) { xp = user.ExperiencePoints["Experience"]; } else { xp = new Experience(user.Name, ".\\Experience\\UserLevel.prop", "User Experience"); user.ExperiencePoints.Add("Experience", xp); } foreach (var exp in user.ExperiencePoints) { if (user.ExperiencePoints[exp.Key].LevelPropertiesFile != null && exp.Key != "Experience") { xp.AddPluginExperience(exp.Value); } } user.ExperiencePoints["Experience"] = xp; new DatabaseManager().Update<IUser>(user); } }
public override void Execute(string line) { var databaseManager = new DatabaseManager(Runner.Variables, Runner.QuietMode); var match = DatabaseCommandDefinination.Match(line); if (match.Success) { if (Runner.DemoMode) return; databaseManager.ExecUpdateCommand( match.Groups["table"].Value, match.Groups["filter"].Value, match.Groups["field"].Value, match.Groups["value"].Value); return; } match = ExecCommandDefinination.Match(line); if (match.Success) { if (Runner.DemoMode) return; databaseManager.ExecDatabaseScriptFile(match.Groups["filename"].Value); return; } throw new ScriptException(Runner.ScriptName, Runner.CurrentLine, "Unknown database format:" + line); }
public void Compute() { var fileprop = ".\\Experience\\UserLevel.prop"; var users = DatabaseUsers.GetAllUsers(); var db = new DatabaseManager(); foreach (var user in users) { if (!user.ExperiencePoints.ContainsKey(typeof(LanguageExperience).Name)) { user.ExperiencePoints.Add(typeof(LanguageExperience).Name, null); } var exp = new LanguageExperience(user.Name, fileprop, "Language Experience"); exp.AddModel((LanguageBuilder)user.ExtensionPoint["LanguageExtension"]); user.ExperiencePoints[typeof(LanguageExperience).Name] = exp; var builder = (LanguageBuilder)user.ExtensionPoint["LanguageExtension"]; foreach(var lang in builder.LanguageAttributes) { if (!user.ExperiencePoints.ContainsKey(lang.Key)) { user.ExperiencePoints.Add(lang.Key, new LanguageExperience(lang.Value.Name, fileprop, lang.Value.Name)); } user.ExperiencePoints[lang.Key].AddExperience(builder.LanguageAttributes[lang.Key].Count); } user.ExperiencePoints.Remove("LanguageExperience"); db.Update<IUser>(user); } }
private DataProviderManager() { dbManager = mvCentralCore.DatabaseManager; trackDetailSources = new List<DBSourceInfo>(); artistDetailSources = new List<DBSourceInfo>(); albumDetailSources = new List<DBSourceInfo>(); trackArtSources = new List<DBSourceInfo>(); albumArtSources = new List<DBSourceInfo>(); artistArtSources = new List<DBSourceInfo>(); allSources = new List<DBSourceInfo>(); sorters = new Dictionary<DataType, DBSourceInfoComparer>(); sorters[DataType.TRACKDETAIL] = new DBSourceInfoComparer(DataType.TRACKDETAIL); sorters[DataType.ARTISTDETAIL] = new DBSourceInfoComparer(DataType.ARTISTDETAIL); sorters[DataType.ALBUMDETAIL] = new DBSourceInfoComparer(DataType.ALBUMDETAIL); sorters[DataType.ALBUMART] = new DBSourceInfoComparer(DataType.ALBUMART); sorters[DataType.ARTISTART] = new DBSourceInfoComparer(DataType.ARTISTART); sorters[DataType.TRACKART] = new DBSourceInfoComparer(DataType.TRACKART); debugMode = mvCentralCore.Settings.DataSourceDebugActive; logger.Info("DataProviderManager Starting"); loadProvidersFromDatabase(); // if we have already done an initial load, set an internal flag to do updates only // when loading internal scripts. We dont want to load in previously deleted scripts // during the internal provider loading process. updateOnly = mvCentralCore.Settings.DataProvidersInitialized; LoadInternalProviders(); updateOnly = false; mvCentralCore.Settings.DataProvidersInitialized = true; }
public void SimpleBadgeEarned() { var plugin = new SVNPlugin(); new LanguagePlugin().LoadDBMaps(); plugin.LoadDBMaps(); plugin.LoadBadges(); plugin.Analyze(); plugin.Compute(); plugin.ComputeBadges(); var manager = new DatabaseManager(); var collection = manager.GetDatabase() .GetCollection<IUser>(typeof(IUser).Name) .FindAll() .ToList(); Assert.AreEqual(1, collection.Count); foreach (var user in collection) { var badges = user.Badges; Assert.AreEqual(1, badges.Count); foreach (var badge in badges) { Assert.AreEqual("Add!", badge.Name); } } }
private void CleanDatabase() { var dbManager = new DatabaseManager(); var testDatabase = dbManager.GetDatabase(); testDatabase.DropCollection(typeof(IUser).Name); testDatabase.DropCollection(typeof(SVNRepository).Name); }
public void TestSimplyAnalyze() { var dbUsers = new DatabaseUsers(); var plugin = new SVNPlugin(); var plugin2 = new LanguageExtension.LanguagePlugin(); new LanguageExtension.LanguagePlugin().LoadDBMaps(); plugin.LoadDBMaps(); plugin.Analyze(); var manager = new DatabaseManager(); var db = manager.GetDatabase(); var collection = db.GetCollection<IUser>(typeof(IUser).Name); foreach (var user in collection.FindAll()) { Assert.AreEqual(Environment.UserName, user.Name); Assert.AreEqual(20, ((SVNModel)user.ExtensionPoint["SVNExtension"]).Add); Assert.AreEqual(0, ((SVNModel)user.ExtensionPoint["SVNExtension"]).Modified); Assert.AreEqual(0, ((SVNModel)user.ExtensionPoint["SVNExtension"]).Deleted); } var repos = db.GetCollection<SVNRepository>(typeof(SVNRepository).Name); foreach (var repo in repos.FindAll()) { Assert.AreEqual(2, repo.CurrentVersion); } }
public static MSPADatabase Initialize(DbConnection existingConnection, bool r, DatabaseManager.DBType dbtype) { if(dbtype == DatabaseManager.DBType.MYSQL) DbConfiguration.SetConfiguration(new MySql.Data.Entity.MySqlEFConfiguration()); var db = new MSPADatabase(existingConnection, r, dbtype); db.Database.Initialize(false); return db; }
public MSPADatabase(DbConnection existingConnection, bool r, DatabaseManager.DBType dbtype) : base(existingConnection, false) { isSqlite = dbtype == DatabaseManager.DBType.SQLITE; reset = r; if (reset) Database.SetInitializer<MSPADatabase>(new DropCreateDatabaseAlways<MSPADatabase>()); }
public static void Connect() { _database = new DatabaseManager(ConfigurationManager.Instance.DatabaseHost, ConfigurationManager.Instance.DatabaseName, ConfigurationManager.Instance.DatabaseUser, ConfigurationManager.Instance.DatabasePassword); _database.UseProvider(); }
public void Configure() { CommandManager.Instance.Bootstrap(new TestBootstrapper()); DatabaseManager = new DatabaseManager("Susanoo"); //By explicitly opening the connection, it becomes a shared connection. DatabaseManager.OpenConnection(); }
protected void Page_Load(object sender, EventArgs e) { for (int i = 1; i <= 12; i++) { ratingDetailsTable.Rows[i].Cells[1].InnerHtml = "<img src=\"Images/arrow.gif\" />"; ratingDetailsTable.Rows[i].Cells[1].Attributes["class"] = "left"; } if (!this.IsPostBack) { if (Request.QueryString["id"] != null) { int companyID = int.Parse(Request.QueryString["id"]); DatabaseManager db = new DatabaseManager(); DataSet ratDS = db.GetDataSet("SELECT * FROM MainTable,CompanyRatings WHERE MainTable.CompanyId=" + companyID + " AND CompanyRatings.CompanyRId=" + companyID); DataSet revDS = db.GetDataSet("SELECT * FROM Reviews WHERE Reviews.CompanyIDRev=" + companyID); string company = (string)ratDS.Tables[0].Rows[0]["CompanyName"]; int[] ratingInfo = new int[2] { (int)ratDS.Tables[0].Rows[0]["AverageRating"], (int)ratDS.Tables[0].Rows[0]["NumReviews"] }; int[] indvRating = new int[12] { (int)ratDS.Tables[0].Rows[0]["InterviewAtmosphere"], (int)ratDS.Tables[0].Rows[0]["Recruitment"], (int)ratDS.Tables[0].Rows[0]["LevelOfStress"], (int)ratDS.Tables[0].Rows[0]["PhysicalCondition"], (int)ratDS.Tables[0].Rows[0]["HRPractices"], (int)ratDS.Tables[0].Rows[0]["SalaryBenefits"], (int)ratDS.Tables[0].Rows[0]["Schedule"], (int)ratDS.Tables[0].Rows[0]["Promotion"], (int)ratDS.Tables[0].Rows[0]["Recognition"], (int)ratDS.Tables[0].Rows[0]["SatisfactionLevel"], (int)ratDS.Tables[0].Rows[0]["LifeBalance"], (int)ratDS.Tables[0].Rows[0]["Recommendation"] }; Session["company"] = company; rate.InnerHtml = "<a title=\"Rate " + company + " Now and leave a review.\" class=\"rateBtn\" href=\"SubmitReview/Default.aspx?company=" + company + "\">Rate Now</a>"; companyName.InnerHtml = "<b>" + company + "</b>"; companyLogo.Src = "../Images/Logos/logo_" + companyID + ".png"; rating.setRating(ratingInfo[0]); rating.disable(2); numRatings.InnerHtml = " Based On " + ratingInfo[1] + " Ratings."; Rating10[] ratCol = new Rating10[12] { dRating1, dRating2, dRating3, dRating4, dRating5, dRating6, dRating7, dRating8, dRating9, dRating10, dRating11, dRating12 }; for (int i = 0; i < 12; i++) { ratCol[i].Visible = true; ratCol[i].setRating(indvRating[i]); ratCol[i].disable(1); } if (revDS.Tables[0].Rows.Count != 0) { //27 characters. numReviewsTotal.Visible = true; numReviewsTotal.InnerHtml = "Total " + revDS.Tables[0].Rows.Count + " Review(s) Available.<br/><a title=\"View all reviews for " + company + "\" class=\"viewAll\" href=\"View/Reviews.aspx?id=" + ((int)revDS.Tables[0].Rows[0]["Id"]) + "&mode=all&page=1\">View All</a>"; int times = revDS.Tables[0].Rows.Count; if (times > 3) times = 3; for (int a = 1; a <= times; a++) { string comment = ((string)revDS.Tables[0].Rows[a - 1]["ReviewText"]); comment.Replace("'", "'"); if (comment.Length <= 30) { reviewTable.Rows[(2 * a) - 1].Cells[0].InnerHtml = comment; } else { reviewTable.Rows[(2 * a) - 1].Cells[0].InnerHtml = comment.Substring(0, 30) + "..."; } reviewTable.Rows[(2 * a) - 1].Cells[0].InnerHtml += "<br/> <a title=\"Read the full comment\" class=\"more\" href=\"../View/Reviews.aspx?id=" + ((int)revDS.Tables[0].Rows[a - 1]["Id"]) + "\">Read More</a>"; reviewTable.Rows[(2 * a) - 1].Cells[0].Attributes["class"] = "border , centerAlign"; } } else { reviewTable.Rows[1].Cells[0].InnerHtml = "NO REVIEWS!"; reviewTable.Rows[1].Cells[0].Attributes["class"] = "centerAlign"; } } } }
void InitializeSyllable() { db = GameObject.FindGameObjectWithTag(Constants.Tags.DatabaseManager).GetComponent<DatabaseManager>(); am = GameObject.FindGameObjectWithTag(Constants.Tags.AudioManager).GetComponent<AudioManager>(); //uic = GameObject.FindObjectOfType<UiController>().GetComponent<UiController>(); //if (ID == 48) //{ // return; //} GetComponent<Image>().sprite = db.GetImage(db.GetSyllable(ID).ImageName); //GetComponent<Image>().transform.localScale = new Vector3(1.2f,1.2f,1.2f); }
protected void Page_Load(object sender, EventArgs e) { // Generates tables DatabaseManager dbManager = new DatabaseManager(); dbManager.GenerateTable("SELECT * FROM tblBird", tblBird); dbManager.GenerateTable("SELECT * FROM tblMember", tblMember); dbManager.GenerateTable("SELECT * FROM tblBirdMember", tblBirdMember); // Required query String testQuery = "SELECT tblBird.englishName AS English, tblBird.maoriName AS Maori, tblMember.first AS Firstname, tblMember.last AS Lastname FROM tblBird INNER JOIN tblBirdMember ON tblBird.birdID = tblBirdMember.birdID INNER JOIN tblMember ON tblBirdMember.memberID = tblMember.memberID"; dbManager.GenerateTable(testQuery, tblTestQuery); }
public void Bind() { DatabaseManager db = new DatabaseManager(); if (Cache["CompanyList"] != null) { lock (Cache["CompanyList"]) { Cache["CompanyList"] = db.GetUpdatedData(); } } else { Cache["CompanyList"] = db.GetUpdatedData(); } }
/// <summary> /// Constructs a new database client with a given handle to a given database proxy. /// </summary> /// <param name="Handle">The identifier of this database client as an unsigned 32 bit integer.</param> /// <param name="pManager">The instance of the DatabaseManager that manages the database proxy of this database client.</param> public DatabaseClient(uint Handle, DatabaseManager pManager) { if (pManager == null) throw new ArgumentNullException("pManager"); mHandle = Handle; mManager = pManager; mConnection = new MySqlConnection(mManager.CreateConnectionString()); mCommand = mConnection.CreateCommand(); UpdateLastActivity(); }
public void New_connection_is_not_opened_by_default() { // Arrange var databaseName = $"UnitTestDb-{Guid.NewGuid()}.sqlite"; var manager = new DatabaseManager(databaseName, Enumerable.Empty<IMigration>()); // Act DbConnection connection = manager.CreateSqliteConnection(); // Assert Assert.True(connection.State == System.Data.ConnectionState.Closed); Assert.False(File.Exists(databaseName), "Database was created"); }
protected void viewMore_ServerClick(object sender, EventArgs e) { viewMore.Disabled = true; viewMore.Attributes["class"] = "btnDisable"; int revId = int.Parse(Request["id"]); DataSet ds; DatabaseManager db = new DatabaseManager(); string query = "SELECT Id, CompanyIDRev FROM Reviews WHERE Reviews.Id=" + revId; ds = db.GetDataSet(query); int id = (int)ds.Tables[0].Rows[0]["CompanyIDRev"]; query = "SELECT ReviewText, Id FROM Reviews WHERE Reviews.CompanyIDRev=" + id; ds = db.GetDataSet(query); ds.Tables[0].PrimaryKey = new DataColumn[1] {ds.Tables[0].Columns["Id"]}; FillReviewsTable(ds,revId); }
protected void Page_Load(object sender, EventArgs e) { if (!this.IsPostBack) { Bind(); string topReviewQuery = "SELECT TOP 4 * FROM Reviews ORDER BY Reviews.CalcRating DESC"; string topRatedCompanies = "SELECT TOP 4 CompanyRId, AverageRating, CompanyName, CompanyId FROM CompanyRatings, MainTable WHERE CompanyRatings.CompanyRId=MainTable.CompanyId ORDER BY CompanyRatings.AverageRating DESC"; string recentReviewsQuery = "SELECT TOP 4 ReviewText, Id, DateAdded FROM Reviews ORDER BY DateAdded DESC"; DatabaseManager db = new DatabaseManager(); DataSet[] queryRes = new DataSet[3]; queryRes[0] = db.GetDataSet(topReviewQuery); queryRes[1] = db.GetDataSet(topRatedCompanies); queryRes[2] = db.GetDataSet(recentReviewsQuery); Rating10[] ratCol = new Rating10[4] {Rating, Rating1, Rating2, Rating3}; for (int a = 1; a <= queryRes[0].Tables[0].Rows.Count; a++) { string comment = ((string)queryRes[0].Tables[0].Rows[a-1]["ReviewText"]); comment.Replace("'", "'"); if (comment.Length <= 27) table1in3.Rows[a].Cells[0].InnerHtml = comment; else table1in3.Rows[a].Cells[0].InnerHtml = comment.Substring(0, 27) + "..."; table1in3.Rows[a].Cells[0].InnerHtml += "<br/> <a title=\"Read the full comment\" class=\"more\" href=\"../View/Reviews.aspx?id=" + queryRes[0].Tables[0].Rows[a - 1]["Id"] + "\">Read More</a>"; table1in3.Rows[a].Cells[0].Attributes["class"] = "border"; } for (int a = 1; a <= queryRes[1].Tables[0].Rows.Count; a++) { table2in3.Rows[(2 * a) - 1].Cells[0].InnerHtml = "<a title=\"Click here to see detailed ratings for " + (string)queryRes[1].Tables[0].Rows[a - 1]["CompanyName"] + "\" class=\"sideLinks , links\" href=\"CompanyDetails.aspx?id=" + queryRes[1].Tables[0].Rows[a - 1]["CompanyId"] + "\">" + (string)queryRes[1].Tables[0].Rows[a - 1]["CompanyName"] + "</a>"; ratCol[a - 1].Visible = true; ratCol[a - 1].setRating((int)queryRes[1].Tables[0].Rows[a - 1]["AverageRating"]); ratCol[a - 1].disable(1); } for (int a = 1; a <= queryRes[2].Tables[0].Rows.Count; a++) { string comment = ((string)queryRes[2].Tables[0].Rows[a-1]["ReviewText"]); comment.Replace("'", "'"); if (comment.Length <= 27) table3in3.Rows[a].Cells[0].InnerHtml = comment; else table3in3.Rows[a].Cells[0].InnerHtml = comment.Substring(0, 27) + "..."; table3in3.Rows[a].Cells[0].InnerHtml += "<br/> <a title=\"Read the full comment\" class=\"more\" href=\"../View/Reviews.aspx?id=" + queryRes[2].Tables[0].Rows[a - 1]["Id"] + "\">Read More</a>"; table3in3.Rows[a].Cells[0].Attributes["class"] = "border"; } } like_message = Get_Message(); }
// Use this for initialization void Start() { _sideKick = GameObject.FindGameObjectWithTag(Constants.Tags.SideKick); _sideKickAgent = _sideKick.GetComponent<NavMeshAgent>(); _sideKickMovement = _sideKick.GetComponent<AiMovement>(); _player = GameObject.FindGameObjectWithTag(Constants.Tags.Player); _sidekickPickupHandler = _sideKick.GetComponent<PickupHandler>(); var db = GameObject.FindGameObjectWithTag(Constants.Tags.DatabaseManager); if (db != null) _dbManager = db.GetComponent<DatabaseManager>(); else Debug.Log("No dbmanager in scene!! - Problem?"); }
private void manageMoviesButton_Click(object sender, RoutedEventArgs e) { // RAII. DatabaseManager<MovieDatabase> databaseManager = new DatabaseManager<MovieDatabase>(StringConsts.MovieDatabaseLocation); MovieDatabase movieDatabase = databaseManager.Locate(); MovieManagerWindow manageMoviesWindow = new MovieManagerWindow(movieDatabase) { Topmost = true }; manageMoviesWindow.ShowDialog(); }
private void PopulateTable() { DatabaseManager dm = new DatabaseManager("estimatedDeliveryTime.txt"); for (int i = 0; i < dm.Count; ++i) { String s = (String) dm.GetObject(i); String[] arr = s.Split('\t'); foreach (String st in arr) { TextBox tb = MakeNewTextBox(); tb.Text = st; this.Controls.Add(tb); } } }
public async Task Open_connection_provides_opened_connection_to_new_database() { // Arrange var manager = new DatabaseManager(databaseName, Enumerable.Empty<IMigration>()); // Act ConnectionState? state = null; using (DbConnection connection = await manager.OpenSqliteConnectionAsync()) { state = connection.State; } // Assert Assert.True(state.Value == System.Data.ConnectionState.Open); Assert.True(File.Exists(databaseName), "Database was not created"); }
public async Task Upgrade_database_configures_migrations() { // Act bool configured = false; var completionSource = new TaskCompletionSource<bool>(); IMigration initialMigration = new InitialDatabaseMigrationMock(() => configured = true, completionSource); var manager = new DatabaseManager(databaseName, new IMigration[] { initialMigration }); // Arrange Task upgradeTask = manager.UpgradeDatabase(); await completionSource.Task; await upgradeTask; // Assert Assert.True(configured); }
public void VerifyAndMerge() { var dbManager = new DatabaseManager(); var database = dbManager.GetDatabase(); var collection = database.GetCollection<IUser>(typeof(IUser).Name); var config = (MapUserConfiguration)ConfigurationManager.GetSection("databasemap"); foreach (UserMap user in config.Users) { var names = user.SubNames.Split(','); foreach (var name in names) { var query = Query.EQ("Name", name); IUser subUser = collection.FindOne(query); if (subUser != null) { query = Query.EQ("Name", user.MainName); IUser mainUser = collection.FindOne(query); if (mainUser == null) { subUser.Name = user.MainName; mainUser = subUser; } else { foreach (var key in subUser.ExtensionPoint.Keys) { IExtension value = null; if (mainUser.ExtensionPoint.TryGetValue(key, out value)) { var merge = value.Merge(subUser.ExtensionPoint[key]); mainUser.ExtensionPoint[key] = merge; } else { mainUser.ExtensionPoint.Add(key, subUser.ExtensionPoint[key]); } } } dbManager.Delete<IUser>(subUser.Id); dbManager.Update<IUser>(mainUser); } } } }
protected void Button1_Click(object sender, EventArgs e) { DatabaseManager dbManager = new DatabaseManager(); // Gets the ids of the member and bird int memberID = Convert.ToInt16(ddlMember.SelectedValue); int birdID = Convert.ToInt16(ddlBird.SelectedValue); // Adds the record dbManager.InsertBirdMemberRecord(birdID, memberID); // Feedback to the user lbResult.ForeColor = Color.FromArgb(204, 102, 0); lbResult.Text = "Sighting added to database"; // redirects to the Sigthings display to view entry Response.Redirect("Sightings.aspx"); }
public void SVNWeekendIntegrationEarnedTest() { new SVNPlugin().LoadDBMaps(); var db = new DatabaseManager(); var svnInfo = new SVNInfo("user1", DateTime.Now, SVNType.Add); db.Insert<SVNInfo>(svnInfo); svnInfo = new SVNInfo("user1", DateTime.Now.AddDays(1), SVNType.Add); db.Insert<SVNInfo>(svnInfo); svnInfo = new SVNInfo("user1", DateTime.Now.AddDays(2), SVNType.Add); db.Insert<SVNInfo>(svnInfo); svnInfo = new SVNInfo("user1", DateTime.Now.AddDays(3), SVNType.Add); db.Insert<SVNInfo>(svnInfo); svnInfo = new SVNInfo("user1", DateTime.Now.AddDays(4), SVNType.Add); db.Insert<SVNInfo>(svnInfo); var badge = new SVNWeekendIntegration(); badge.Compute(null); Assert.IsTrue(badge.Gained); }
private void BtnUpdateList(object sender, EventArgs e) { string ButtonText = (sender as Button).Text; if (ButtonText == "Software") { DatabaseManager objDM = new DatabaseManager(); var dt = objDM.GetSoftware(listComputerName); if (dt != null) { lstItems.Adapter = new DataAdapter(this, dt); } else { Toast.MakeText(this, "No records found", ToastLength.Short).Show(); } } else if (ButtonText == "Network") { DatabaseManager objDM = new DatabaseManager(); var dt = objDM.GetMultiItemList(listComputerName); if (dt != null) { lstItems.Adapter = new DataAdapterMulti(this, dt); } else { Toast.MakeText(this, "No records found", ToastLength.Short).Show(); } } else { DatabaseManager objDM = new DatabaseManager(); var dt = objDM.GetSingleItemList(listComputerName, ButtonText); if (dt != null) { lstItems.Adapter = new DataAdapterSingle(this, dt); } else { Toast.MakeText(this, "No records found", ToastLength.Short).Show(); } } }
private void manageRentsButton_Click(object sender, RoutedEventArgs e) { /* Initialize new movie management window and present known movies to the user. */ // RAII. DatabaseManager<TenantDatabase> databaseManager = new DatabaseManager<TenantDatabase>(StringConsts.TenantDatabaseLocation); TenantDatabase tenantDatabase = databaseManager.Locate(); RentManagerWindow rentManagerWindow = new RentManagerWindow(tenantDatabase) { Topmost = true }; rentManagerWindow.ShowDialog(); }
public int AddItemToInventory <T>(string _itemId, int _quantity = 1) where T : HarvestableData { if (IsInventoryFull(_itemId, _quantity)) { return(0); } int returnValue = _quantity; InventoryItem itemInInventory = Inventory.Find(x => x.itemData.id == _itemId && x.quantity < GlobalDesigner.maxInventoryStack); int remaining = _quantity; if (itemInInventory != null) { remaining = itemInInventory.quantity + _quantity - GlobalDesigner.maxInventoryStack; itemInInventory.quantity = Mathf.Clamp(itemInInventory.quantity + _quantity, 0, GlobalDesigner.maxInventoryStack); while (remaining > 0 && Inventory.Count < GetInventorySize()) { InventoryItem newItem; if (remaining > GlobalDesigner.maxInventoryStack) { newItem = new InventoryItem((T)itemInInventory.itemData, GlobalDesigner.maxInventoryStack); remaining = remaining - GlobalDesigner.maxInventoryStack; } else { newItem = new InventoryItem((T)itemInInventory.itemData, remaining); remaining = 0; } Inventory.Add(newItem); } if (Inventory.Count == GetInventorySize()) { returnValue -= remaining; } } else { remaining = _quantity - GlobalDesigner.maxInventoryStack; if (remaining < 0) { if (Inventory.Count < GetInventorySize()) { InventoryItem newItem = new InventoryItem(DatabaseManager.GetRowFromId <T>(_itemId), _quantity); Inventory.Add(newItem); } } else { if (Inventory.Count < GetInventorySize()) { InventoryItem newItem = new InventoryItem(DatabaseManager.GetRowFromId <T>(_itemId), GlobalDesigner.maxInventoryStack); Inventory.Add(newItem); while (remaining > 0 && Inventory.Count < GetInventorySize()) { InventoryItem itemToAdd; if (remaining > GlobalDesigner.maxInventoryStack) { itemToAdd = new InventoryItem(DatabaseManager.GetRowFromId <T>(_itemId), GlobalDesigner.maxInventoryStack); remaining = remaining - GlobalDesigner.maxInventoryStack; } else { itemToAdd = new InventoryItem(DatabaseManager.GetRowFromId <T>(_itemId), remaining); remaining = 0; } Inventory.Add(itemToAdd); } if (Inventory.Count == GetInventorySize()) { returnValue -= remaining; } } else { returnValue = 0; } } } if (OnUpdateInventoryCallback != null) { OnUpdateInventoryCallback(); } return(returnValue); }
// GET: api/AllSoilsXMLForApsoil //nb. Web API serialises the List of strings into JSON not xml by default. // It is ok though because the strings themselves are still xml // it is only the list itself that is turned into JSON public List <string> Get() { return(DatabaseManager.GetEachSoilsXMLfromDB()); }
public void AfterScenario() { DatabaseManager.Truncate(); _systemUnderTest.Dispose(); }
/// <summary> /// Gathers user account details on OS X. Uses dscacheutil. /// </summary> private void ExecuteOsX() { Dictionary <string, GroupAccountObject> Groups = new Dictionary <string, GroupAccountObject>(); // Admin user details var result = ExternalCommandRunner.RunExternalCommand("dscacheutil", "-q group -a name admin"); var lines = result.Split('\n'); // The fourth line is a list of usernames // Formatted like: 'users: root gabe' var admins = (lines[3].Split(':')[1]).Split(' '); // details for all users result = ExternalCommandRunner.RunExternalCommand("dscacheutil", "-q user"); var accountDetails = new Dictionary <string, UserAccountObject>(); // We initialize a new object. We know by the formatting of // dscacheutil that we will never have a user without the name coming // first, but we don't know the name yet. var newUser = new UserAccountObject(""); foreach (var _line in result.Split('\n')) { var parts = _line.Split(':'); if (parts.Length < 2) { // There is a blank line separating each grouping of user data continue; } // There is one space of padding, which we strip off here var value = parts[1].Substring(1); // dscacheutil prints the user information on multiple lines switch (parts[0]) { case "name": accountDetails[value] = new UserAccountObject(value) { AccountType = (admins.Contains(value)) ? "administrator" : "standard", Privileged = (admins.Contains(value)) }; newUser = accountDetails[value]; break; case "password": break; case "uid": newUser.UID = value; break; case "gid": newUser.GID = value; break; case "dir": newUser.HomeDirectory = value; break; case "shell": newUser.Shell = value; break; case "gecos": newUser.FullName = value; break; default: break; } } foreach (var username in accountDetails.Keys) { // Admin user details string groupsRaw = string.Empty; try { groupsRaw = ExternalCommandRunner.RunExternalCommand("groups", username); } catch (Exception) { } var groups = groupsRaw.Split(' '); foreach (var group in groups) { accountDetails[username].Groups.Add(group); if (Groups.ContainsKey(group)) { Groups[group].Users.Add(username); } else { Groups[group] = new GroupAccountObject(group); Groups[group].Users.Add(username); } } accountDetails[username].Groups.AddRange(groups); DatabaseManager.Write(accountDetails[username], RunId); } foreach (var group in Groups) { DatabaseManager.Write(group.Value, RunId); } }
private void searchRadiusTrackBar_Scroll(object sender, EventArgs e) { searchRadiusLabel.Text = searchRadiusTrackBar.Value.ToString() + " м."; addMarks(DatabaseManager.getBankDepartmentsMarks(UserLocation, searchRadiusTrackBar.Value)); }
public override void Execute() { if (!CanRunOnPlatform()) { return; } Start(); _ = DatabaseManager.Transaction; // On Windows we can use the .NET API to iterate through all the stores. if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) { foreach (StoreLocation storeLocation in (StoreLocation[])Enum.GetValues(typeof(StoreLocation))) { foreach (StoreName storeName in (StoreName[])Enum.GetValues(typeof(StoreName))) { try { X509Store store = new X509Store(storeName, storeLocation); store.Open(OpenFlags.ReadOnly); foreach (X509Certificate2 certificate in store.Certificates) { var obj = new CertificateObject() { StoreLocation = storeLocation.ToString(), StoreName = storeName.ToString(), CertificateHashString = certificate.GetCertHashString(), Subject = certificate.Subject, Pkcs12 = certificate.HasPrivateKey ? "redacted" : certificate.Export(X509ContentType.Pkcs12).ToString() }; DatabaseManager.Write(obj, this.runId); } store.Close(); } catch (Exception e) { Logger.DebugException(e); Telemetry.TrackTrace(Microsoft.ApplicationInsights.DataContracts.SeverityLevel.Error, e); } } } } // On linux we check the central trusted root store (a folder), which has symlinks to actual cert locations scattered across the db // We list all the certificates and then create a new X509Certificate2 object for each by filename. else if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux)) { try { var result = ExternalCommandRunner.RunExternalCommand("ls", new string[] { "/etc/ssl/certs", "-A" }); foreach (var _line in result.Split('\n')) { Log.Debug("{0}", _line); try { X509Certificate2 certificate = new X509Certificate2("/etc/ssl/certs/" + _line); var obj = new CertificateObject() { StoreLocation = StoreLocation.LocalMachine.ToString(), StoreName = StoreName.Root.ToString(), CertificateHashString = certificate.GetCertHashString(), Subject = certificate.Subject, Pkcs12 = certificate.HasPrivateKey ? "redacted" : certificate.Export(X509ContentType.Pkcs12).ToString() }; DatabaseManager.Write(obj, this.runId); } catch (Exception e) { Log.Debug("{0} {1} Issue creating certificate based on /etc/ssl/certs/{2}", e.GetType().ToString(), e.Message, _line); Log.Debug("{0}", e.StackTrace); } } } catch (Exception e) { Log.Error("Failed to dump certificates from 'ls /etc/ssl/certs -A'."); Logger.DebugException(e); } } // On macos we use the keychain and export the certificates as .pem. // However, on macos Certificate2 doesn't support loading from a pem, // so first we need pkcs12s instead, we convert using openssl, which requires we set a password // we import the pkcs12 with all our certs, delete the temp files and then iterate over it the certs else if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX)) { try { var result = ExternalCommandRunner.RunExternalCommand("security", new string[] { "find-certificate", "-ap", "/System/Library/Keychains/SystemRootCertificates.keychain" }); string tmpPath = Path.Combine(Directory.GetCurrentDirectory(), "tmpcert.pem"); string pkPath = Path.Combine(Directory.GetCurrentDirectory(), "tmpcert.pk12"); File.WriteAllText(tmpPath, result); _ = ExternalCommandRunner.RunExternalCommand("openssl", new string[] { "pkcs12", "-export", "-nokeys", "-out", pkPath, "-passout pass:pass", "-in", tmpPath }); X509Certificate2Collection xcert = new X509Certificate2Collection(); xcert.Import(pkPath, "pass", X509KeyStorageFlags.DefaultKeySet); File.Delete(tmpPath); File.Delete(pkPath); var X509Certificate2Enumerator = xcert.GetEnumerator(); while (X509Certificate2Enumerator.MoveNext()) { var obj = new CertificateObject() { StoreLocation = StoreLocation.LocalMachine.ToString(), StoreName = StoreName.Root.ToString(), CertificateHashString = X509Certificate2Enumerator.Current.GetCertHashString(), Subject = X509Certificate2Enumerator.Current.Subject, Pkcs12 = X509Certificate2Enumerator.Current.HasPrivateKey? "redacted":X509Certificate2Enumerator.Current.Export(X509ContentType.Pkcs12).ToString() }; DatabaseManager.Write(obj, this.runId); } } catch (Exception e) { Log.Error("Failed to dump certificates from 'security' or 'openssl'."); Logger.DebugException(e); } } DatabaseManager.Commit(); Stop(); }
public async Task PreloadOldMessages(ulong channelId, int count = 1000) { Stopwatch watch = new Stopwatch(); watch.Start(); // new column preloaded var author = Context.Message.Author; if (author.Id != ETHDINFKBot.Program.Owner) { Context.Channel.SendMessageAsync("You aren't allowed to run this command", false); return; } var dbManager = DatabaseManager.Instance(); var channel = Program.Client.GetChannel(channelId) as ISocketMessageChannel; var oldestMessage = dbManager.GetOldestMessageAvailablePerChannel(channelId); if (oldestMessage == null) { return; } //var messages = channel.GetMessagesAsync(100000).FlattenAsync(); //default is 100 var messagesFromMsg = await channel.GetMessagesAsync(oldestMessage.Value, Direction.Before, count).FlattenAsync(); LogManager logManager = new LogManager(dbManager); int success = 0; int tags = 0; int newUsers = 0; try { foreach (var message in messagesFromMsg) { var dbUser = dbManager.GetDiscordUserById(message.Author.Id); if (dbUser == null) { var user = message.Author; var socketGuildUser = user as SocketGuildUser; var dbUserNew = dbManager.CreateDiscordUser(new ETHBot.DataLayer.Data.Discord.DiscordUser() { DiscordUserId = user.Id, DiscriminatorValue = user.DiscriminatorValue, AvatarUrl = user.GetAvatarUrl(), IsBot = user.IsBot, IsWebhook = user.IsWebhook, Nickname = socketGuildUser?.Nickname, Username = user.Username, JoinedAt = socketGuildUser?.JoinedAt }); if (dbUserNew != null) { newUsers++; } } var newMessage = dbManager.CreateDiscordMessage(new ETHBot.DataLayer.Data.Discord.DiscordMessage() { //Channel = discordChannel, DiscordChannelId = channelId, //DiscordUser = dbAuthor, DiscordUserId = message.Author.Id, DiscordMessageId = message.Id, Content = message.Content, //ReplyMessageId = message.Reference.MessageId, Preloaded = true }); if (newMessage) { success++; } if (message.Reactions.Count > 0) { if (newMessage && message.Tags.Count > 0) { tags += message.Tags.Count; logManager.ProcessEmojisAndPings(message.Tags, message.Author.Id, message as SocketMessage, message.Author as SocketGuildUser); } } } watch.Stop(); Context.Channel.SendMessageAsync($"Processed {messagesFromMsg.Count()} Added: {success} TagsCount: {tags} From: {SnowflakeUtils.FromSnowflake(messagesFromMsg.First()?.Id ?? 1)} To: {SnowflakeUtils.FromSnowflake(messagesFromMsg.Last()?.Id ?? 1)}" + $" New Users: {newUsers} In: {watch.ElapsedMilliseconds}ms", false); } catch (Exception ex) { } }
public override void Install() { DatabaseManager.UpgradeDatabase(PluginInfo.SystemName); }
public WitnessController(DatabaseManager db_manager) { this.db_manager = db_manager; }
public override void Execute() { if (!this.CanRunOnPlatform()) { return; } Start(); _ = DatabaseManager.Transaction; RegistryKey SearchKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Default).OpenSubKey("SOFTWARE\\Classes\\CLSID"); foreach (string SubKeyName in SearchKey.GetSubKeyNames()) { try { RegistryKey CurrentKey = SearchKey.OpenSubKey(SubKeyName); var RegObj = RegistryWalker.RegistryKeyToRegistryObject(CurrentKey); ComObject comObject = new ComObject() { Key = RegObj, Subkeys = new List <RegistryObject>() }; foreach (string ComDetails in CurrentKey.GetSubKeyNames()) { var ComKey = CurrentKey.OpenSubKey(ComDetails); comObject.Subkeys.Add(RegistryWalker.RegistryKeyToRegistryObject(ComKey)); } //Get the information from the InProcServer32 Subkey (for 32 bit) if (comObject.Subkeys.Where(x => x.Key.Contains("InprocServer32")).Count() > 0 && comObject.Subkeys.Where(x => x.Key.Contains("InprocServer32")).First().Values.ContainsKey("")) { comObject.Subkeys.Where(x => x.Key.Contains("InprocServer32")).First().Values.TryGetValue("", out string BinaryPath32); // Clean up cases where some extra spaces are thrown into the start (breaks our permission checker) BinaryPath32 = BinaryPath32.Trim(); // Clean up cases where the binary is quoted (also breaks permission checker) if (BinaryPath32.StartsWith("\"") && BinaryPath32.EndsWith("\"")) { BinaryPath32 = BinaryPath32.Substring(1, BinaryPath32.Length - 2); } // Unqualified binary name probably comes from Windows\System32 if (!BinaryPath32.Contains("\\") && !BinaryPath32.Contains("%")) { BinaryPath32 = Path.Combine(Environment.SystemDirectory, BinaryPath32.Trim()); } comObject.x86_Binary = FileSystemCollector.FileSystemInfoToFileSystemObject(new FileInfo(BinaryPath32.Trim()), true); comObject.x86_BinaryName = BinaryPath32; } // And the InProcServer64 for 64 bit if (comObject.Subkeys.Where(x => x.Key.Contains("InprocServer64")).Count() > 0 && comObject.Subkeys.Where(x => x.Key.Contains("InprocServer64")).First().Values.ContainsKey("")) { comObject.Subkeys.Where(x => x.Key.Contains("InprocServer64")).First().Values.TryGetValue("", out string BinaryPath64); // Clean up cases where some extra spaces are thrown into the start (breaks our permission checker) BinaryPath64 = BinaryPath64.Trim(); // Clean up cases where the binary is quoted (also breaks permission checker) if (BinaryPath64.StartsWith("\"") && BinaryPath64.EndsWith("\"")) { BinaryPath64 = BinaryPath64.Substring(1, BinaryPath64.Length - 2); } // Unqualified binary name probably comes from Windows\System32 if (!BinaryPath64.Contains("\\") && !BinaryPath64.Contains("%")) { BinaryPath64 = Path.Combine(Environment.SystemDirectory, BinaryPath64.Trim()); } comObject.x64_Binary = FileSystemCollector.FileSystemInfoToFileSystemObject(new FileInfo(BinaryPath64.Trim()), true); comObject.x64_BinaryName = BinaryPath64; } DatabaseManager.Write(comObject, runId); } catch (Exception e) { Log.Debug(e, "Couldn't parse {0}", SubKeyName); } } DatabaseManager.Commit(); Stop(); }
//private delegate void SetTextDelegate(ProgressBar pb, double msg); public Program() { dm = new DatabaseManager("PDB"); ha = new HashAnalyzer(); }
public DataTable GetList() { ArrayList altParams = new ArrayList(); return(DatabaseManager.GetInstance().ExecuteStoredProcedureDataTable("usp_PhotoGallery_getall", altParams)); }
public async Task CacheTrackUnlove(string artist, string track) { await DatabaseManager.UpdateFavoriteAsync("track.unlove", artist, track); }
public CharacterSearchPopup(DatabaseManager dbManager, Anime anime, Action <Character> setCharacterCallback) { BindingContext = new CharacterSearchPopupViewModel(dbManager, anime); mSetCharacterCallback = setCharacterCallback; InitializeComponent(); }
public async Task GetChannelInfoAsync(bool all = false) { var guildUser = Context.Message.Author as SocketGuildUser; var author = Context.Message.Author; if (!(author.Id == ETHDINFKBot.Program.Owner || guildUser.GuildPermissions.ManageChannels)) { Context.Channel.SendMessageAsync("You aren't allowed to run this command", false); return; } if (Context.Message.Channel is SocketGuildChannel guildChannel) { if (!all) { var channelInfo = DatabaseManager.Instance().GetChannelSetting(guildChannel.Id); var botSettings = DatabaseManager.Instance().GetBotSettings(); if (channelInfo == null) { Context.Channel.SendMessageAsync("channelInfo is null bad admin", false); return; } EmbedBuilder builder = new EmbedBuilder(); builder.WithTitle($"Channel Info for {guildChannel.Name}"); builder.WithDescription($"Global Channel position lock active: {botSettings.ChannelOrderLocked} for " + $"{(botSettings.ChannelOrderLocked ? Program.ChannelPositions.Count : -1)} channels"); builder.WithColor(255, 0, 0); builder.WithThumbnailUrl(Program.Client.CurrentUser.GetAvatarUrl()); builder.WithCurrentTimestamp(); builder.AddField("Permission flag", channelInfo.ChannelPermissionFlags); foreach (BotPermissionType flag in Enum.GetValues(typeof(BotPermissionType))) { var hasFlag = ((BotPermissionType)channelInfo.ChannelPermissionFlags).HasFlag(flag); builder.AddField(flag.ToString() + $" ({(int)flag})", $"```diff\r\n{(hasFlag ? "+ YES" : "- NO")}```", true); } Context.Channel.SendMessageAsync("", false, builder.Build()); } else { var botChannelSettings = DatabaseManager.Instance().GetAllChannelSettings(); List <string> header = new List <string>() { "Channel Id", "Channel Name", "Permission value", "Permission string", "Preload old", "Preload new", "Reached oldest" }; List <List <string> > data = new List <List <string> >(); foreach (var channelSetting in botChannelSettings) { List <string> channelInfoRow = new List <string>(); var discordChannel = DatabaseManager.Instance().GetDiscordChannel(channelSetting.DiscordChannelId); if (discordChannel.DiscordServerId != guildChannel.Guild.Id) { break; // dont show other server } channelInfoRow.Add(discordChannel.DiscordChannelId.ToString()); channelInfoRow.Add(discordChannel.ChannelName); channelInfoRow.Add(channelSetting.ChannelPermissionFlags.ToString()); List <string> permissionFlagNames = new List <string>(); foreach (BotPermissionType flag in Enum.GetValues(typeof(BotPermissionType))) { var hasFlag = ((BotPermissionType)(channelSetting.ChannelPermissionFlags)).HasFlag(flag); if (hasFlag) { permissionFlagNames.Add($"{flag} ({(int)flag})"); } } channelInfoRow.Add(string.Join(", " + Environment.NewLine, permissionFlagNames)); channelInfoRow.Add(channelSetting.OldestPostTimePreloaded?.ToString()); channelInfoRow.Add(channelSetting.NewestPostTimePreloaded?.ToString()); channelInfoRow.Add(channelSetting.ReachedOldestPreload.ToString()); data.Add(channelInfoRow); } var drawTable = new DrawTable(header, data, ""); var stream = await drawTable.GetImage(); if (stream == null) { return;// todo some message } await Context.Channel.SendFileAsync(stream, "graph.png", "", false, null, null, false, null, new Discord.MessageReference(Context.Message.Id)); stream.Dispose(); } } }
public override void ExecuteCommand(EvtChatCommandArgs args) { List <string> arguments = args.Command.ArgumentsAsList; if (arguments.Count != 1) { QueueMessage(UsageMessage); return; } //Start off getting the credits name string creditsName = DataHelper.GetCreditsName(); string userName = args.Command.ChatMessage.Username; long curUserCredits = 0; using (BotDBContext context = DatabaseManager.OpenContext()) { //Get the user User user = DataHelper.GetUserNoOpen(userName, context); if (user == null) { QueueMessage("You're somehow not in the database!"); return; } //Can't play without the ability if (user.HasEnabledAbility(PermissionConstants.SLOTS_ABILITY) == false) { QueueMessage("You don't have the ability to play the slots!"); return; } //Check for opt-out if (user.IsOptedOut == true) { QueueMessage("You cannot play the slots while opted out of stats."); return; } curUserCredits = user.Stats.Credits; } string buyInStr = arguments[0]; //If the user asks for info, print the infom essage if (buyInStr == INFO_ARG) { PrintInfoMessage(); return; } //Validate argument if (long.TryParse(buyInStr, out long buyInAmount) == false) { QueueMessage(UsageMessage); return; } if (buyInAmount <= 0) { QueueMessage("Buy-in amount must be greater than 0!"); return; } if (buyInAmount > curUserCredits) { QueueMessage($"Buy-in amount is greater than {creditsName.Pluralize(false, 0)}!"); return; } //Roll the slots! StringBuilder strBuilder = new StringBuilder(128); strBuilder.Append('(').Append(' '); SlotInternalNames[] slotsChosen = new SlotInternalNames[WeightTable.Count]; int i = 0; foreach (KeyValuePair <int, List <ReelWeight> > weight in WeightTable) { SlotInternalNames chosenSlot = ChooseSlot(weight.Value); slotsChosen[i] = chosenSlot; strBuilder.Append(SlotToEmoteMap[chosenSlot]).Append(' ').Append('|').Append(' '); i++; } strBuilder.Remove(strBuilder.Length - 3, 3); strBuilder.Append(' ').Append(')').Append(" = "); //Evaluate the reward based on what we got double rewardModifier = EvaluateReward(slotsChosen, out SlotResults slotResult); //Intentionally floor the reward - slots are like that :P long reward = (long)(buyInAmount * rewardModifier); //Change the message based on the result switch (slotResult) { case SlotResults.Nothing: strBuilder.Append(userName).Append(" didn't win BibleThump Better luck next time!"); break; case SlotResults.Standard: strBuilder.Append(userName).Append(" won ").Append(reward).Append(' ').Append(creditsName.Pluralize(false, reward)).Append(", nice! SeemsGood"); break; case SlotResults.Jackpot: strBuilder.Append(userName).Append(" hit the JACKPOT and won ").Append(reward).Append(' ').Append(creditsName.Pluralize(false, reward)).Append("!! Congratulations!! PogChamp PogChamp PogChamp"); break; } using (BotDBContext context = DatabaseManager.OpenContext()) { //Modify credits User user = DataHelper.GetUserNoOpen(userName, context); //Adjust credits and save user.Stats.Credits -= buyInAmount; user.Stats.Credits += reward; context.SaveChanges(); } QueueMessage(strBuilder.ToString()); }
public async Task EmoteDump() { var author = Context.Message.Author; if (author.Id != ETHDINFKBot.Program.Owner) { await Context.Channel.SendMessageAsync("You aren't allowed to run this command", false); return; } var allEmotes = DatabaseManager.Instance().GetEmotes().OrderBy(i => i.DiscordEmoteId).ToList(); // sort it to ensure they are chronologically in there await Context.Channel.SendMessageAsync($"Successfully retreived {allEmotes.Count} emotes", false); var emotesPath = Path.Combine(Program.BasePath, "Emotes"); var archivePath = Path.Combine(emotesPath, "Archive"); try { // If the directory exists clean it up if (Directory.Exists(archivePath)) { Directory.Delete(archivePath, true); } // Create dir Directory.CreateDirectory(archivePath); List <EmoteInfo> emoteInfos = new List <EmoteInfo>(); foreach (var emote in allEmotes) { var folder = GetEmoteFolder(emote.LocalPath); emoteInfos.Add(new EmoteInfo() { Id = emote.DiscordEmoteId, Name = emote.EmoteName, Animated = emote.Animated, CreatedAt = emote.CreatedAt, Url = emote.Url, Folder = folder }); } var emoteFolders = Directory.GetDirectories(emotesPath); foreach (var emoteFolder in emoteFolders.ToList().OrderBy(i => i)) { // Needs to contain - else its not an active folder if (emoteFolder.Contains("-")) { string tarGZFile = $"{new DirectoryInfo(emoteFolder).Name}.tar.gz"; CreateTarGZ(Path.Combine(archivePath, tarGZFile), emoteFolder); } } var archiveFiles = Directory.GetFiles(archivePath); await Context.Channel.SendMessageAsync($"Created {archiveFiles.Length} archives", false); // Send file infos var json = JsonConvert.SerializeObject(emoteInfos, Formatting.Indented); var stream = new MemoryStream(Encoding.UTF8.GetBytes(json)); await Context.Channel.SendFileAsync(stream, "EmoteInfo.json", "Emote Infos"); foreach (var archiveFile in archiveFiles.ToList().OrderBy(i => i)) { await Context.Channel.SendFileAsync(archiveFile, new DirectoryInfo(archiveFile).Name); } // In the end clean up the archive folder again if (Directory.Exists(archivePath)) { Directory.Delete(archivePath, true); } await Context.Channel.SendMessageAsync($"Done", false); } catch (Exception ex) { string error = $"Error: {ex.ToString()}"; await Context.Channel.SendMessageAsync(error.Substring(0, Math.Min(2000, error.Length)), false); } }
public static List <DCMemo> GetDCMemo(string criteria, int branchID) { var dbUtil = new DatabaseManager(); var dcMemos = new List <DCMemo>(); using (var conn = new SqlConnection(dbUtil.getSQLConnectionString("MainDB"))) { conn.Open(); using (SqlCommand cmd = conn.CreateCommand()) { cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = "spAcctDCMGetDebitCreditMemo"; cmd.CommandTimeout = 180; cmd.Parameters.Clear(); cmd.Parameters.AddWithValue("@strCriteria", criteria); cmd.Parameters.AddWithValue("@intBranchID", branchID); using (SqlDataReader reader = cmd.ExecuteReader()) { while (reader.Read()) { var drcrMemo = new DCMemo { DCMemoID = ReferenceEquals(reader["intDCMemoID"], DBNull.Value) ? 0 : Convert.ToInt32(reader["intDCMemoID"]), BranchID = ReferenceEquals(reader["intBranchID"], DBNull.Value) ? 0 : Convert.ToInt32(reader["intBranchID"]), ReceivingBranchID = ReferenceEquals(reader["intReceivingBranchID"], DBNull.Value) ? 0 : Convert.ToInt32(reader["intReceivingBranchID"]), OriginatingBranchID = ReferenceEquals(reader["intOriginatingBranchID"], DBNull.Value) ? 0 : Convert.ToInt32(reader["intOriginatingBranchID"]), BranchName = ReferenceEquals(reader["strBranchName"], DBNull.Value) ? String.Empty : Convert.ToString(reader["strBranchName"]), AdjustmentTypeID = ReferenceEquals(reader["intAdjustmentTypeID"], DBNull.Value) ? 0 : Convert.ToInt32(reader["intAdjustmentTypeID"]), AdjustmentType = ReferenceEquals(reader["strAdjustmentType"], DBNull.Value) ? String.Empty : Convert.ToString(reader["strAdjustmentType"]), MemoType = ReferenceEquals(reader["strMemoType"], DBNull.Value) ? String.Empty : Convert.ToString(reader["strMemoType"]), AdjustmentDate = ReferenceEquals(reader["datAdjustmentDate"], DBNull.Value) ? String.Empty : Convert.ToString(reader["datAdjustmentDate"]), AdjustmentNo = ReferenceEquals(reader["strAdjustmentNo"], DBNull.Value) ? String.Empty : Convert.ToString(reader["strAdjustmentNo"]), Remarks = ReferenceEquals(reader["strRemarks"], DBNull.Value) ? String.Empty : Convert.ToString(reader["strRemarks"]), SaleID = ReferenceEquals(reader["intSaleID"], DBNull.Value) ? 0 : Convert.ToInt32(reader["intSaleID"]), ProductID = ReferenceEquals(reader["intIDMCStock"], DBNull.Value) ? 0 : Convert.ToInt32(reader["intIDMCStock"]), AccountCode = ReferenceEquals(reader["strAccountCode"], DBNull.Value) ? String.Empty : Convert.ToString(reader["strAccountCode"]), CustomerName = ReferenceEquals(reader["strCustomerName"], DBNull.Value) ? String.Empty : Convert.ToString(reader["strCustomerName"]), DRNo = ReferenceEquals(reader["intDRNo"], DBNull.Value) ? 0 : Convert.ToInt32(reader["intDRNo"]), ORNo = ReferenceEquals(reader["intORNo"], DBNull.Value) ? 0 : Convert.ToInt32(reader["intORNo"]), RRNo = ReferenceEquals(reader["intRRNo"], DBNull.Value) ? 0 : Convert.ToInt32(reader["intRRNo"]), ADBNo = ReferenceEquals(reader["intADBNo"], DBNull.Value) ? 0 : Convert.ToInt32(reader["intADBNo"]), SINo = ReferenceEquals(reader["strSINo"], DBNull.Value) ? String.Empty : Convert.ToString(reader["strSINo"]), SIStatusID = ReferenceEquals(reader["intSIStatusID"], DBNull.Value) ? 0 : Convert.ToInt32(reader["intSIStatusID"]), SIStatus = ReferenceEquals(reader["strSIStatus"], DBNull.Value) ? String.Empty : Convert.ToString(reader["strSIStatus"]), AmountAdjust = ReferenceEquals(reader["curAmountAdjust"], DBNull.Value) ? 0 : Convert.ToDecimal(reader["curAmountAdjust"]), SIDate = ReferenceEquals(reader["datSIDate"], DBNull.Value) ? String.Empty : Convert.ToString(reader["datSIDate"]), //NewFirstDueDate = ReferenceEquals(reader["datNewFirstDueDate"], DBNull.Value) ? String.Empty : Convert.ToString(reader["datNewFirstDueDate"]), Rebate = ReferenceEquals(reader["curRebate"], DBNull.Value) ? 0 : Convert.ToDecimal(reader["curRebate"]), Penalty = ReferenceEquals(reader["curPenalty"], DBNull.Value) ? 0 : Convert.ToDecimal(reader["curPenalty"]), TotalAmountAdjust = ReferenceEquals(reader["curTotalAmountAdjust"], DBNull.Value) ? 0 : Convert.ToDecimal(reader["curTotalAmountAdjust"]), NewTerm = ReferenceEquals(reader["intNewTerm"], DBNull.Value) ? 0 : Convert.ToInt32(reader["intNewTerm"]), NewMI = ReferenceEquals(reader["curNewMI"], DBNull.Value) ? 0 : Convert.ToDecimal(reader["curNewMI"]), NewPN = ReferenceEquals(reader["curNewPN"], DBNull.Value) ? 0 : Convert.ToDecimal(reader["curNewPN"]), NewUII = ReferenceEquals(reader["curNewUII"], DBNull.Value) ? 0 : Convert.ToDecimal(reader["curNewUII"]), DeferredBalance = ReferenceEquals(reader["curDeferredBalance"], DBNull.Value) ? 0 : Convert.ToDecimal(reader["curDeferredBalance"]), NewProductStatusID = ReferenceEquals(reader["intIDMasNewProductStatus"], DBNull.Value) ? 0 : Convert.ToInt32(reader["intIDMasNewProductStatus"]), NewCustomerID = ReferenceEquals(reader["intMasNewCustomer"], DBNull.Value) ? 0 : Convert.ToInt32(reader["intMasNewCustomer"]), NewCustomerCode = ReferenceEquals(reader["strNewCustomerCode"], DBNull.Value) ? String.Empty : Convert.ToString(reader["strNewCustomerCode"]), NewCustomerName = ReferenceEquals(reader["strNewCustomerName"], DBNull.Value) ? String.Empty : Convert.ToString(reader["strNewCustomerName"]), NewCustomerAddress = ReferenceEquals(reader["strNewCustomerAddr"], DBNull.Value) ? String.Empty : Convert.ToString(reader["strNewCustomerAddr"]), ChangedDueDate = ReferenceEquals(reader["datNewDueDate"], DBNull.Value) ? String.Empty : Convert.ToString(reader["datNewDueDate"]), CorrectSaleID = ReferenceEquals(reader["intCorrectSalesID"], DBNull.Value) ? 0 : Convert.ToInt32(reader["intCorrectSalesID"]), CorrectAccountCode = ReferenceEquals(reader["strCorrectAccountCode"], DBNull.Value) ? String.Empty : Convert.ToString(reader["strCorrectAccountCode"]), CorrectCustName = ReferenceEquals(reader["strCorrectCustName"], DBNull.Value) ? String.Empty : Convert.ToString(reader["strCorrectCustName"]), WrongAccountCode = ReferenceEquals(reader["strWrongAccountCode"], DBNull.Value) ? String.Empty : Convert.ToString(reader["strWrongAccountCode"]), WrongCustName = ReferenceEquals(reader["strWrongCustName"], DBNull.Value) ? String.Empty : Convert.ToString(reader["strWrongCustName"]), InvMCStockOldID = ReferenceEquals(reader["intIDInvMCStockOld"], DBNull.Value) ? 0 : Convert.ToInt32(reader["intIDInvMCStockOld"]), OldChassisNo = ReferenceEquals(reader["strOldChassisNo"], DBNull.Value) ? String.Empty : Convert.ToString(reader["strOldChassisNo"]), OldEngineNo = ReferenceEquals(reader["strOldEngineNo"], DBNull.Value) ? String.Empty : Convert.ToString(reader["strOldEngineNo"]), InvMCStockNewID = ReferenceEquals(reader["intIDInvMCStockNew"], DBNull.Value) ? 0 : Convert.ToInt32(reader["intIDInvMCStockNew"]), NewChassisNo = ReferenceEquals(reader["strNewChassisNo"], DBNull.Value) ? String.Empty : Convert.ToString(reader["strNewChassisNo"]), NewEngineNo = ReferenceEquals(reader["strNewEngineNo"], DBNull.Value) ? String.Empty : Convert.ToString(reader["strNewEngineNo"]), MCModelName = ReferenceEquals(reader["strMCModel"], DBNull.Value) ? String.Empty : Convert.ToString(reader["strMCModel"]), BankInvdSubsidiaryID = ReferenceEquals(reader["intIDMasCOABankInvdSubsidiary"], DBNull.Value) ? 0 : Convert.ToInt32(reader["intIDMasCOABankInvdSubsidiary"]), OldNR = ReferenceEquals(reader["curOldNR"], DBNull.Value) ? 0 : Convert.ToDecimal(reader["curOldNR"]), NDD = ReferenceEquals(reader["NDD"], DBNull.Value) ? String.Empty : Convert.ToString(reader["NDD"]), NLCP = ReferenceEquals(reader["NLCP"], DBNull.Value) ? 0 : Convert.ToDecimal(reader["NLCP"]), Balance = ReferenceEquals(reader["curBalance"], DBNull.Value) ? 0 : Convert.ToDecimal(reader["curBalance"]), NR = ReferenceEquals(reader["curNR"], DBNull.Value) ? 0 : Convert.ToDecimal(reader["curNR"]), LCP = ReferenceEquals(reader["curLCP"], DBNull.Value) ? 0 : Convert.ToDecimal(reader["curLCP"]), RNLCP = ReferenceEquals(reader["curRNLCP"], DBNull.Value) ? 0 : Convert.ToDecimal(reader["curRNLCP"]), SRP = ReferenceEquals(reader["curSRP"], DBNull.Value) ? 0 : Convert.ToDecimal(reader["curSRP"]), APVal = ReferenceEquals(reader["curAP"], DBNull.Value) ? 0 : Convert.ToDecimal(reader["curAP"]), datMTDate = ReferenceEquals(reader["datMTDate"], DBNull.Value) ? String.Empty : Convert.ToString(reader["datMTDate"]), intReason = ReferenceEquals(reader["intReason"], DBNull.Value) ? 0 : Convert.ToInt32(reader["intReason"]), Particulars = ReferenceEquals(reader["strParticulars"], DBNull.Value) ? String.Empty : Convert.ToString(reader["strParticulars"]), intIDMasEmployeeCCO = ReferenceEquals(reader["intIDMasEmployeeCCO"], DBNull.Value) ? 0 : Convert.ToInt32(reader["intIDMasEmployeeCCO"]), strMasEmployeeCCO = ReferenceEquals(reader["strMasEmployeeCCO"], DBNull.Value) ? String.Empty : Convert.ToString(reader["strMasEmployeeCCO"]), intIDAcctAccountAdjustmentForm = ReferenceEquals(reader["intIDAcctAccountAdjustmentForm"], DBNull.Value) ? 0 : Convert.ToInt32(reader["intIDAcctAccountAdjustmentForm"]), strAAFDescription = ReferenceEquals(reader["strAAFDescription"], DBNull.Value) ? String.Empty : Convert.ToString(reader["strAAFDescription"]), curOB = ReferenceEquals(reader["curOB"], DBNull.Value) ? 0 : Convert.ToDecimal(reader["curOB"]), intIDMasRepoCategory = ReferenceEquals(reader["intIDMasRepoCategory"], DBNull.Value) ? false : Convert.ToBoolean(reader["intIDMasRepoCategory"]), curPercentageRate = ReferenceEquals(reader["curPercentageRate"], DBNull.Value) ? 0 : Convert.ToDecimal(reader["curPercentageRate"]), strRequestStatus = ReferenceEquals(reader["strRequestStatus"], DBNull.Value) ? String.Empty : Convert.ToString(reader["strRequestStatus"]), }; dcMemos.Add(drcrMemo); } return(dcMemos); } } } }
public TracingDatabaseAppender(string connStr, bool enabled) { Enabled = enabled; _db = DatabaseManager.GetDatabase(IICDbType.SqlServer2005, connStr); _protector = new RetryProtector("TracingDatabaseAppender", new int[] { 0, 10, 30, 300 }); }
public SubmissionManager(DatabaseManager database) : base(database) { }
/// <summary> /// Executes the UserAccountCollector on Windows. Uses WMI to gather local users. /// </summary> public void ExecuteWindows() { Dictionary <string, UserAccountObject> users = new Dictionary <string, UserAccountObject>(); Dictionary <string, GroupAccountObject> groups = new Dictionary <string, GroupAccountObject>(); GroupAccountObject?GetGroup(string groupName) { //Get the group details if (!groups.ContainsKey($"{Environment.MachineName}\\{groupName}")) { SelectQuery query = new SelectQuery("SELECT * FROM Win32_Group where Name='" + groupName + "' AND Domain='" + Environment.MachineName + "'"); using ManagementObjectSearcher searcher = new ManagementObjectSearcher(query); // TODO: Improve this foreach (ManagementObject gmo in searcher.Get()) { return(new GroupAccountObject(groupName) { Caption = Convert.ToString(gmo["Caption"], CultureInfo.InvariantCulture), Description = Convert.ToString(gmo["Description"], CultureInfo.InvariantCulture), InstallDate = Convert.ToString(gmo["InstallDate"], CultureInfo.InvariantCulture), Status = Convert.ToString(gmo["Status"], CultureInfo.InvariantCulture), LocalAccount = Convert.ToBoolean(gmo["LocalAccount"], CultureInfo.InvariantCulture), SID = Convert.ToString(gmo["SID"], CultureInfo.InvariantCulture), SIDType = Convert.ToInt32(gmo["SIDType"], CultureInfo.InvariantCulture), Domain = Convert.ToString(gmo["Domain"], CultureInfo.InvariantCulture), }); } } else { return(groups[$"{Environment.MachineName}\\{groupName}"]); } return(null); } try { List <string> lines = new List <string>(ExternalCommandRunner.RunExternalCommand("net", "localgroup").Split('\n')); lines.RemoveRange(0, 4); foreach (string line in lines) { if (line.Contains('*')) { var groupName = line.Substring(1).Trim(); var group = GetGroup(groupName); if (group != null) { group.Users = new List <string>(); //Get the members of the group var args = $"/Node:\"{Environment.MachineName}\" path win32_groupuser where (groupcomponent=\"win32_group.name=\\\"{groupName}\\\",domain=\\\"{Environment.MachineName}\\\"\")"; List <string> lines_int = new List <string>(ExternalCommandRunner.RunExternalCommand("wmic", args).Split('\n')); lines_int.RemoveRange(0, 1); foreach (string line_int in lines_int) { var userName = line_int.Trim(); if (string.IsNullOrEmpty(userName) || !userName.Contains("Domain")) { continue; } else { Regex r = new Regex(@".*Win32_UserAccount.Domain=""(.*?)"",Name=""(.*?)"""); var domain = r.Match(userName).Groups[1].Value; userName = r.Match(userName).Groups[2].Value; if (string.IsNullOrEmpty(userName)) { continue; } Log.Verbose("Found {0}\\{1} as member of {2}", domain, userName, groupName); if (!group.Users.Contains($"{domain}\\{userName}")) { group.Users.Add($"{domain}\\{userName}"); } var query = new SelectQuery($"SELECT * FROM Win32_UserAccount where Domain='{domain}' and Name='{userName}'"); using var searcher = new ManagementObjectSearcher(query); foreach (ManagementObject user in searcher.Get()) { if (users.ContainsKey(userName)) { if (!users[userName].Groups.Contains($"{domain}\\{groupName}")) { users[userName].Groups.Add(groupName); } if (groupName.Equals("Administrators")) { users[userName].Privileged = true; } } else { var name = Convert.ToString(user["Name"], CultureInfo.InvariantCulture); if (name is string UserName) { var obj = new UserAccountObject(UserName) { AccountType = Convert.ToString(user["AccountType"], CultureInfo.InvariantCulture), Caption = Convert.ToString(user["Caption"], CultureInfo.InvariantCulture), Description = Convert.ToString(user["Description"], CultureInfo.InvariantCulture), Disabled = Convert.ToString(user["Disabled"], CultureInfo.InvariantCulture), Domain = Convert.ToString(user["Domain"], CultureInfo.InvariantCulture), InstallDate = Convert.ToString(user["InstallDate"], CultureInfo.InvariantCulture), LocalAccount = Convert.ToString(user["LocalAccount"], CultureInfo.InvariantCulture), Lockout = Convert.ToString(user["Lockout"], CultureInfo.InvariantCulture), FullName = Convert.ToString(user["FullName"], CultureInfo.InvariantCulture), PasswordChangeable = Convert.ToString(user["PasswordChangeable"], CultureInfo.InvariantCulture), PasswordExpires = Convert.ToString(user["PasswordExpires"], CultureInfo.InvariantCulture), PasswordRequired = Convert.ToString(user["PasswordRequired"], CultureInfo.InvariantCulture), SID = Convert.ToString(user["SID"], CultureInfo.InvariantCulture), Privileged = groupName.Equals("Administrators"), Hidden = IsHiddenWindowsUser(UserName) }; obj.Groups.Add(groupName); users.Add(userName, obj); } } } } groups[$"{Environment.MachineName}\\{groupName}"] = group; } } } } } catch (Exception e) when( e is TypeInitializationException || e is PlatformNotSupportedException) { Log.Warning(Strings.Get("CollectorNotSupportedOnPlatform"), GetType().ToString()); } catch (ExternalException) { Log.Error("Failed to run {0}", "net localgroup"); } foreach (var user in users) { DatabaseManager.Write(user.Value, RunId); } foreach (var group in groups) { DatabaseManager.Write(group.Value, RunId); } }
/// <summary> /// Executes the User account collector on Linux. Reads /etc/passwd and /etc/shadow. /// </summary> private void ExecuteLinux() { var etc_passwd_lines = File.ReadAllLines("/etc/passwd"); var etc_shadow_lines = File.ReadAllLines("/etc/shadow"); Dictionary <string, GroupAccountObject> Groups = new Dictionary <string, GroupAccountObject>(); var accountDetails = new Dictionary <string, UserAccountObject>(); foreach (var _line in etc_passwd_lines) { var parts = _line.Split(':'); if (!accountDetails.ContainsKey(parts[0])) { accountDetails[parts[0]] = new UserAccountObject(parts[0]) { UID = parts[2], GID = parts[3], FullName = parts[4], HomeDirectory = parts[5], Shell = parts[6] }; } } foreach (var _line in etc_shadow_lines) { var parts = _line.Split(':'); var username = parts[0]; if (!accountDetails.ContainsKey(username)) { accountDetails[username] = new UserAccountObject(username) { }; } var tempDict = accountDetails[username]; if (parts[1].Contains("$")) { tempDict.PasswordStorageAlgorithm = parts[1].Split('$')[1]; } tempDict.PasswordExpires = parts[4]; tempDict.Inactive = parts[6]; tempDict.Disabled = parts[7]; accountDetails[username] = tempDict; } foreach (var username in accountDetails.Keys) { // Admin user details var groupsRaw = ExternalCommandRunner.RunExternalCommand("groups", username); var groups = groupsRaw.Split(' '); foreach (var group in groups) { if (group.Equals("sudo")) { accountDetails[username].Privileged = true; } accountDetails[username].Groups.Add(group); if (Groups.ContainsKey(group)) { Groups[group].Users.Add(username); } else { Groups[group] = new GroupAccountObject(group); Groups[group].Users.Add(username); } } DatabaseManager.Write(accountDetails[username], RunId); } foreach (var group in Groups) { DatabaseManager.Write(group.Value, RunId); } }
public override void ExecuteInternal() { if (!roots.Any()) { if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) { foreach (var driveInfo in DriveInfo.GetDrives()) { if (driveInfo.IsReady && driveInfo.DriveType == DriveType.Fixed) { roots.Add(driveInfo.Name); } } } else if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux)) { roots.Add("/"); } else if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX)) { roots.Add("/"); } } Action <string> IterateOn = Path => { Log.Verbose("Started parsing {0}", Path); FileSystemObject obj = FilePathToFileSystemObject(Path, downloadCloud, INCLUDE_CONTENT_HASH); if (obj != null) { DatabaseManager.Write(obj, RunId); if (examineCertificates && Path.EndsWith(".cer", StringComparison.CurrentCulture) || Path.EndsWith(".der", StringComparison.CurrentCulture) || Path.EndsWith(".p7b", StringComparison.CurrentCulture)) { try { var certificate = X509Certificate.CreateFromCertFile(Path); var certObj = new CertificateObject( StoreLocation: Path, StoreName: "Disk", CertificateHashString: certificate.GetCertHashString()) { Subject = certificate.Subject, Pkcs7 = certificate.Export(X509ContentType.Cert).ToString() }; DatabaseManager.Write(certObj, RunId); } catch (Exception e) when( e is System.Security.Cryptography.CryptographicException || e is ArgumentException) { Log.Verbose($"Could not parse certificate from file: {Path}"); } } } Log.Verbose("Finished parsing {0}", Path); }; foreach (var root in roots) { Log.Information("{0} root {1}", Strings.Get("Scanning"), root); var filePathEnumerable = DirectoryWalker.WalkDirectory(root); if (parallel) { Parallel.ForEach(filePathEnumerable, (filePath => { IterateOn(filePath); })); } else { foreach (var filePath in filePathEnumerable) { IterateOn(filePath); } } } }
public override void Uninstall() { DatabaseManager.CleanupDatabase(PluginInfo.SystemName); }
public PictureView() { InitializeComponent(); InitSettings(); Util myFunctions = new Util(); string[] args = Environment.GetCommandLineArgs(); if (args.Length > 1 && args[1].ToString().ToLower() == "sportvisionbih") { //Step01:btnScanFTP_Click lSource = Util.scanFTP(tbFTPIP1.Text, tbFTPUser1.Text, tbFTPPassword1.Text); //lSource = Util.scanFTP(lFTPIP, lFTPUser, lFTPPassword); //Step02:btnScanDestination_Click lDestination = Util.scanDestination(tbDestination.Text, "jpg"); //Step03:btnDifference_Click lDiff = Util.DifferenceSourceDestination(lSource, lDestination); //Step04:btnERPItem_Click DatabaseManager dbManager = new DatabaseManager(); lERPItem = dbManager.LoadData(); //Step05:btnDifferenceERP_Click lFTP = Util.DifferenceERPDifference(lERPItem, lDiff); //Step06:btnDownloadFTP_Click int i = Util.DownloadFromFTP(lSource, lFTP, tbFTPUser1.Text, tbFTPPassword1.Text, tbDestinationFTP.Text); //Step07:btnResizePicture_Click int j = Util.ResizePicture(tbDestinationFTP.Text, "jpg", tbResizePicture.Text, Convert.ToInt32(tbResWidth.Text), Convert.ToInt32(tbResHeight.Text)); int k = Util.CopyResizedPicture(tbResizePicture.Text, tbDestination.Text, "jpg"); //myToAL.Add(tbTo.Text); //myFunctions.SendMail(tbFrom.Text, tbFromName.Text, myToAL, tbSubject.Text + " SportVision", tbBody.Text + " " + k.ToString()); myFunctions.SendMail(tbFrom.Text, tbFromName.Text, tbTo.Text, tbSubject.Text + " SportVision", tbBody.Text + " " + k.ToString()); Environment.Exit(0); } if (args.Length > 1 && args[1].ToString().ToLower() == "buzz") { //Step01:btnScanFTP_Click lSource = Util.scanFTP(tbFTPIP.Text, tbFTPUser.Text, tbFTPPassword.Text); //lSource = Util.scanFTP(lFTPIP, lFTPUser, lFTPPassword); //Step02:btnScanDestination_Click lDestination = Util.scanDestination(tbDestination.Text, "jpg"); //Step03:btnDifference_Click lDiff = Util.DifferenceSourceDestination(lSource, lDestination); //Step04:btnERPItem_Click DatabaseManager dbManager = new DatabaseManager(); lERPItem = dbManager.LoadData(); //Step05:btnDifferenceERP_Click lFTP = Util.DifferenceERPDifference(lERPItem, lDiff); //Step06:btnDownloadFTP_Click int i = Util.DownloadFromFTP(lSource, lFTP, tbFTPUser.Text, tbFTPPassword.Text, tbDestinationFTP.Text); //Step07:btnResizePicture_Click int j = Util.ResizePicture(tbDestinationFTP.Text, "jpg", tbResizePicture.Text, Convert.ToInt32(tbResWidth.Text), Convert.ToInt32(tbResHeight.Text)); int k = Util.CopyResizedPicture(tbResizePicture.Text, tbDestination.Text, "jpg"); myToAL.Add(tbTo.Text); //myFunctions.SendMail(tbFrom.Text, tbFromName.Text, myToAL, tbSubject.Text + " BUZZ", tbBody.Text + " " + k.ToString()); myFunctions.SendMail(tbFrom.Text, tbFromName.Text, tbTo.Text, tbSubject.Text + " BUZZ", tbBody.Text + " " + k.ToString()); Environment.Exit(0); } }
public void Notify(params object[] args) { if (args == null || args.Length == 0 || !(args[0] is UFSoft.UBF.Business.EntityEvent)) { return; } //将入口参数列表中第一个参数,转成EntityEvent,并取EntityKey存入key UFSoft.UBF.Business.BusinessEntity.EntityKey key = ((UFSoft.UBF.Business.EntityEvent)args[0]).EntityKey; //key的有效性判断 if (key == null) { return; } //转成所需实体,同时判断有效性 UFIDA.U9.InvDoc.MiscShip.MiscShipment miscShip = (UFIDA.U9.InvDoc.MiscShip.MiscShipment)key.GetEntity(); if (miscShip == null) { return; } else { if (miscShip.SysState == UFSoft.UBF.PL.Engine.ObjectState.Updated) { ILogger log = LoggerManager.GetLogger(typeof(CacheManager)); //单据从开立状态->审核中(提交审核操作),调用OA接口,创建审批流 if (miscShip.OriginalData.Status == INVDocStatus.Open && miscShip.Status == INVDocStatus.Approving && miscShip.DocType.DescFlexField.PrivateDescSeg1 == "1") { //查询OA的流程ID string sql = string.Format(@"SELECT DescFlexField_PrivateDescSeg4 AS IsOAtoU9 FROM dbo.InvDoc_MiscShip WHERE ID={0}", miscShip.ID); DataSet ds = new DataSet(); DataAccessor.RunSQL(DatabaseManager.GetCurrentConnection(), sql, null, out ds); string IsOAtoU9 = ""; foreach (DataRow row in ds.Tables[0].Rows) { IsOAtoU9 = row["IsOAtoU9"].ToString(); } if (IsOAtoU9 == "1")//OA触发到U9的杂发单,不触发U9到OA { return; } List <MishShipDoc> list = new List <MishShipDoc>(); //杂发单集合 MishShipDoc doc = new MishShipDoc(); //杂发单数据 BaseInfo baseInfo = new BaseInfo(); //OA上下文数据 ValueTrans vt = new ValueTrans(); User user = User.Finder.FindByID(Context.LoginUserID); vt.value = user.Code; vt.transrule = "getUseridByWorkcode"; #region 文基础信息 baseInfo.creator = vt; baseInfo.fpkid = miscShip.ID.ToString();//单据ID //baseInfo.isnextflow = 0; //baseInfo.requestid = "1025"; //baseInfo.requestlevel = 1; baseInfo.isnextflow = 1; baseInfo.requestname = "杂发单审批-订单号:" + miscShip.DocNo; //审批流标题 baseInfo.workflowid = PubFunction.GetMiscShipWorkFlow(); //固定值,取数逻辑看文档 //baseInfo.workflowid = "1025";//固定值,取数逻辑看文档 #endregion doc.@base = baseInfo; #region 表头信息 //表头信息 MishShipHeadDto main = new MishShipHeadDto(); Value v = new Value(); if (miscShip.DescFlexField.PrivateDescSeg3 != "") { //OA弃审后,U9重新提交流程,应该走更细OA流程接口 //if (miscShip.DescFlexField.PrivateDescSeg4 == "1") //{ v.value = miscShip.DescFlexField.PrivateDescSeg3; main.gllc = v; //main.requestid = miscShip.DescFlexField.PrivateDescSeg3; //requestid不为空,则为更新流程接口 //string sql = string.Format(@"UPDATE dbo.InvDoc_MiscShip SET DescFlexField_PrivateDescSeg4='0' WHERE ID = {0}", miscShip.ID); //DataAccessor.RunSQL(DatabaseManager.GetCurrentConnection(), sql, null); //} } //申请人 vt = new ValueTrans(); vt.value = user.Code; vt.transrule = "getUseridByWorkcode"; main.sqr = vt; //申请人工号 vt = new ValueTrans(); vt.value = user.Code; vt.transrule = "getWorkcodeByU9code"; main.sqrgh = vt; //申请人部门 vt = new ValueTrans(); vt.value = user.Code; vt.transrule = "getDeptidByWorkcode"; main.ssbm = vt; //申请人岗位 vt = new ValueTrans(); vt.value = user.Code; vt.transrule = "getJobidByWorkcode"; main.sqrgw = vt; //申请人分部 vt = new ValueTrans(); vt.value = user.Code; vt.transrule = "getSubcomidByWorkcode"; main.ssgs = vt; //申请日期 v = new Value(); v.value = DateTime.Now.ToString("yyyy-MM-dd"); main.sqrq = v; //流程编号lcbh //单据类型 v = new Value(); v.value = miscShip.DocType.Code; main.djlx = v; //单号 v = new Value(); v.value = miscShip.DocNo; main.dh = v; //存储地点 if (miscShip.MiscShipLs[0].Wh != null) { v = new Value(); v.value = miscShip.MiscShipLs[0].Wh.Name; main.ccdd = v; } //受益存储地点 if (miscShip.MiscShipLs[0].BenefitWh != null) { v.value = miscShip.MiscShipLs[0].BenefitWh.Name; main.syccdd = v; } //受益人 if (miscShip.BenefitPsn != null) { v = new Value(); v.value = miscShip.BenefitPsn.Name; main.syr = v; } //受益部门 if (miscShip.MiscShipLs[0].BenefitDept != null) { v = new Value(); v.value = miscShip.MiscShipLs[0].BenefitDept.Name; main.sybm = v; } //记账时间jzsj v = new Value(); v.value = miscShip.MiscShipAccountPeriods[0].SOBAccountPeriod.DisplayName; main.jzsj = v; //供应商gys if (miscShip.MiscShipLs[0].SupplierInfo != null) { v = new Value(); v.value = miscShip.MiscShipLs[0].SupplierInfo.Name; main.gys = v; } //客户kh if (miscShip.MiscShipLs[0].CustomerInfo != null) { v = new Value(); v.value = miscShip.MiscShipLs[0].CustomerInfo.Name; main.kh = v; } //库管员 if (miscShip.WhMan != null) { v = new Value(); v.value = miscShip.WhMan.Name; //vt.transrule = ""; main.kgy = v; } //高新项目gxxm v = new Value(); v.value = miscShip.DescFlexField.PrivateDescSeg1; main.gxxm = v; //研发项目yfxm v = new Value(); v.value = miscShip.DescFlexField.PrivateDescSeg2; main.yfxm = v; //U9组织 v = new Value(); v.value = miscShip.Org.ID.ToString(); //vt.transrule = "getUseridByWorkcode"; main.u9zz1 = v; //关联流程gllc #endregion doc.main = main; #region 行信息 //行信息 List <MishShipLineDto> lines = new List <MishShipLineDto>(); foreach (MiscShipmentL item in miscShip.MiscShipLs) { MishShipLineDto l = new MishShipLineDto(); //料号 v = new Value(); v.value = item.ItemInfo.ItemCode; l.lh = v; //品名 v = new Value(); v.value = item.ItemInfo.ItemName; l.pm = v; //存储地点 v = new Value(); v.value = item.Wh.Name; l.ccdd = v; //杂发量 v = new Value(); v.value = item.CostUOMQty.ToString("0.00"); l.zfl = v; //成本cb v = new Value(); v.value = item.CostMny.ToString("f4"); l.cb = v; //批号ph if (item.LotInfo != null) { v = new Value(); v.value = item.LotInfo.LotCode; l.ph = v; } //生产订单号scddh v = new Value(); v.value = item.MoDocNo; l.scddh = v; //生产相关scxg v = new Value(); if (item.IsMFG) { v.value = "1"; } else { v.value = "0"; } l.scxg = v; //零成本 v = new Value(); if (item.IsZeroCost) { v.value = "1"; } else { v.value = "0"; } l.lcb = v; //受益人 if (item.BenefitPsn != null) { v = new Value(); v.value = item.BenefitPsn.Name; //vt.transrule = "getUseridByWorkcode"; l.syr = v; } //受益部门 if (item.BenefitDept != null) { v = new Value(); v.value = item.BenefitDept.Name; //vt.transrule = "getDeptidByWorkcode"; l.sybm = v; } //供应商gys if (item.SupplierInfo != null) { v = new Value(); v.value = item.SupplierInfo.Name; l.gys = v; } //备注 v = new Value(); v.value = item.Memo; l.bz = v; lines.Add(l); } #endregion doc.dt1 = new List <MishShipLineDto>(); doc.dt1 = lines; //添加 list.Add(doc); string json = ""; json = JsonHelper.GetJson <List <MishShipDoc> >(list); log.Error("杂发单JSON数据为:" + json); PubFunction pubFun = new PubFunction(); //调用OA接口 string OAFlowID = pubFun.OAService(json); //更新返回的流程ID string UpSQL = string.Format(@"UPDATE dbo.InvDoc_MiscShip SET DescFlexField_PrivateDescSeg3='{0}' WHERE ID = {1}", OAFlowID, miscShip.ID.ToString()); DataAccessor.RunSQL(DatabaseManager.GetCurrentConnection(), UpSQL, null); log.Error("结束调用OA审批接口"); } //单据从已核准状态到开立(弃审操作) if (miscShip.OriginalData.Status == INVDocStatus.Approved && miscShip.Status == INVDocStatus.Open) { log.Error(miscShip.DocNo + "弃审了"); //if (miscShip.DocType.DescFlexField.PrivateDescSeg1 == "1")//继承OA流程的单据类型 //{ // string UpSQL = string.Format(@"UPDATE dbo.InvDoc_MiscShip SET DescFlexField_PrivateDescSeg4='1' WHERE ID = {0}", miscShip.ID); // DataAccessor.RunSQL(DatabaseManager.GetCurrentConnection(), UpSQL, null); //} bool IsNeedCreateOA = true; try { //300组织不允许“生产制损领料”弃审 if (miscShip.Org.Code == "300" && miscShip.MiscShipDocType.Name.Trim() == "生产制损领料") { //存储过程控制取消退料操作是否开启 DataParamList dpL = new DataParamList(); dpL.Add(DataParamFactory.Create("Type", "MiscShipBtnUnDoApprove", ParameterDirection.Input, DbType.String, 50));//禁用杂收单弃审功能 dpL.Add(DataParamFactory.CreateOutput("IsOpen", DbType.String)); DataAccessor.RunSP("sp_Auctus_BEPlugin_Control", dpL); string isOpen = dpL["IsOpen"].Value.ToString(); if (isOpen == "1") { DataParamList dp = new DataParamList(); dp.Add(DataParamFactory.Create("DocNo", miscShip.DocNo, ParameterDirection.Input, DbType.String, 50));//禁用杂收单弃审功能 dp.Add(DataParamFactory.CreateOutput("Result", DbType.String)); DataAccessor.RunSP("sp_Auctus_BE_MiscShip", dp); string result = dp["Result"].Value.ToString(); if (result != "1")//存在下游杂收单 { IsNeedCreateOA = false; throw new Exception(result); } else { IsNeedCreateOA = true; } } } if (IsNeedCreateOA)//需要发起OA弃审,调用删除OA流程接口 { //TODO:调用OA弃审接口 } } catch (Exception ex) { throw new Exception(ex.Message); } }//end if else if (miscShip.OriginalData.Status == INVDocStatus.Approving && miscShip.Status == INVDocStatus.Open) { log.Error(miscShip.DocNo + "从核准中变成了开立"); } } } }
protected void Page_Load(object sender, EventArgs e) { PersonnelSystem ps = PersonnelSystem.GetPersonnelSystem(this); Person loginPerson = ps.LoginPerson; ps.LoginPerson = DatabaseManager.GetPerson(loginPerson.PS_CITIZEN_ID); lbMasterName.Text = loginPerson.FirstNameAndLastName; lbMasterHeaderName.Text = loginPerson.FirstNameAndLastName; string name = loginPerson.FirstNameAndLastName; //profile_name.InnerText = name; if (loginPerson.PERSON_ROLE_ID == "1") { hv5.Visible = true; hv7.Visible = true; hv6.Visible = true; } else if (loginPerson.PERSON_ROLE_ID == "2") { hv1.Visible = true; hv7.Visible = true; hv6.Visible = true; } else if (loginPerson.PERSON_ROLE_ID == "3") { hv5.Visible = true; hv2.Visible = true; hv6.Visible = true; } else if (loginPerson.PERSON_ROLE_ID == "4") { hv5.Visible = true; hv7.Visible = true; hv3.Visible = true; } else if (loginPerson.PERSON_ROLE_ID == "5") { } else if (loginPerson.PERSON_ROLE_ID == "99") { hv4.Visible = true; } if (loginPerson.ST_LOGIN_ID == "0") { hv1.Visible = false; hv2.Visible = false; hv3.Visible = false; hv4.Visible = false; hv5.Visible = false; hv6.Visible = false; hv7.Visible = false; } //--------- int count_approve = 0; int count_leave_finish = 0; int count_ins = 0; int count_get_ins = 0; int count_req_ins = 0; int count_person_edit = 0; int count_person_get = 0; OracleConnection.ClearAllPools(); using (OracleConnection con = new OracleConnection(DatabaseManager.CONNECTION_STRING)) { con.Open(); using (OracleCommand com = new OracleCommand("SELECT URL FROM PS_PERSON_IMAGE WHERE CITIZEN_ID = '" + loginPerson.PS_CITIZEN_ID + "' AND PRESENT = 1", con)) { using (OracleDataReader reader = com.ExecuteReader()) { while (reader.Read()) { string fileName; fileName = reader.GetValue(0).ToString(); string personImageFileName = DatabaseManager.GetPersonImageFileName(loginPerson.PS_CITIZEN_ID); if (personImageFileName != "") { //profile_pic.Src = "Upload/PersonImage/" + personImageFileName; //profile_pic2.Src = "Upload/PersonImage/" + personImageFileName; profile_pic3.Src = "Upload/PersonImage/" + personImageFileName; } else { //profile_pic.Src = "Image/Small/person2.png"; } } } } if (loginPerson.ST_LOGIN_ID != "0") { using (OracleCommand com = new OracleCommand("SELECT COUNT(LEV_BOSS_DATA.LEAVE_BOSS_ID) FROM LEV_DATA, LEV_BOSS_DATA WHERE LEAVE_STATUS_ID IN(1,4) AND LEV_DATA.LEAVE_ID = LEV_BOSS_DATA.LEAVE_ID AND LEV_DATA.BOSS_STATE = LEV_BOSS_DATA.STATE AND LEV_BOSS_DATA.CITIZEN_ID = '" + loginPerson.PS_CITIZEN_ID + "'", con)) { using (OracleDataReader reader = com.ExecuteReader()) { while (reader.Read()) { count_approve = reader.GetInt32(0); } } } if (count_approve != 0) { lbLeaveAllowCount.Text = "" + count_approve; lbLeaveAllowCount.Visible = true; lbLeaveAllowCount2.Text = "" + count_approve; lbLeaveAllowCount2.Visible = true; } else { lbLeaveAllowCount.Text = ""; lbLeaveAllowCount.Visible = false; lbLeaveAllowCount2.Text = ""; lbLeaveAllowCount2.Visible = false; } using (OracleCommand com = new OracleCommand("SELECT COUNT(LEAVE_ID) FROM LEV_DATA WHERE PS_ID = '" + loginPerson.PS_CITIZEN_ID + "' AND LEAVE_STATUS_ID in(2,5)", con)) { using (OracleDataReader reader = com.ExecuteReader()) { while (reader.Read()) { count_leave_finish = reader.GetInt32(0); } } } /*using (OracleCommand com = new OracleCommand("SELECT COUNT(IR_ID) FROM TB_INSIG_REQUEST WHERE IR_CITIZEN_ID = '" + loginPerson.PS_CITIZEN_ID + "' AND IR_STATUS = 1", con)) { * using (OracleDataReader reader = com.ExecuteReader()) { * while (reader.Read()) { * count_ins = reader.GetInt32(0); * } * } * }*/ using (OracleCommand com = new OracleCommand("SELECT COUNT(IP_ID) FROM TB_INSIG_PERSON WHERE CITIZEN_ID = '" + loginPerson.PS_CITIZEN_ID + "' AND IP_STATUS_ID IN(2, 4)", con)) { using (OracleDataReader reader = com.ExecuteReader()) { while (reader.Read()) { count_get_ins = reader.GetInt32(0); } } } if (InsigCheckGet.Check(loginPerson)) { count_ins = 1; } if (loginPerson.PERSON_ROLE_ID == "4") { using (OracleCommand com = new OracleCommand("SELECT COUNT(IP_ID) FROM TB_INSIG_PERSON WHERE TB_INSIG_PERSON.IP_STATUS_ID = 1", con)) { using (OracleDataReader reader = com.ExecuteReader()) { while (reader.Read()) { count_req_ins = reader.GetInt32(0); } } } } if (count_req_ins != 0) { lbInsigCount.Text = "" + count_req_ins; lbInsigCount.Visible = true; } else { lbInsigCount.Text = ""; lbInsigCount.Visible = false; } //Person-get if (loginPerson.PERSON_ROLE_ID == "2") { using (OracleCommand com = new OracleCommand("SELECT COUNT(R_ID) FROM TB_REQUEST WHERE TB_REQUEST.R_STATUS_ID = 1", con)) { using (OracleDataReader reader = com.ExecuteReader()) { while (reader.Read()) { count_person_edit = reader.GetInt32(0); } } } } if (count_person_edit != 0) { lbPersonRequestCount.Text = "" + count_person_edit; lbPersonRequestCount.Visible = true; } else { lbPersonRequestCount.Text = ""; lbPersonRequestCount.Visible = false; } //person-finish using (OracleCommand com = new OracleCommand("SELECT COUNT(R_ID) FROM TB_REQUEST WHERE CITIZEN_ID = '" + loginPerson.PS_CITIZEN_ID + "' AND R_STATUS_ID IN(2, 4)", con)) { using (OracleDataReader reader = com.ExecuteReader()) { while (reader.Read()) { count_person_get = reader.GetInt32(0); } } } int count = count_approve + count_leave_finish + count_ins + count_get_ins + count_req_ins + count_person_edit + count_person_get; noti_person_none.Visible = false; noti_person_request.Visible = false; noti_person_finish.Visible = false; noti_leave_none.Visible = false; noti_approve.Visible = false; noti_leave_finish.Visible = false; noti_ins_none.Visible = false; noti_ins.Visible = false; noti_get_ins.Visible = false; noti_req_ins.Visible = false; if (count_person_edit + count_person_get == 0) { noti_person_none.Visible = true; } else { if (count_person_edit != 0) { noti_person_request.Visible = true; } if (count_person_get != 0) { noti_person_finish.Visible = true; } } if (count_approve + count_leave_finish == 0) { noti_leave_none.Visible = true; } else { if (count_approve != 0) { noti_approve.Visible = true; } if (count_leave_finish != 0) { noti_leave_finish.Visible = true; } } if (count_ins + count_get_ins + count_req_ins == 0) { noti_ins_none.Visible = true; } else { if (count_ins != 0) { noti_ins.Visible = true; } if (count_get_ins != 0) { noti_get_ins.Visible = true; } if (count_req_ins != 0) { noti_req_ins.Visible = true; } } if (count > 0) { noti_alert.InnerText = "" + count; noti_alert.Attributes["class"] = "ps-ms-main-hd-noti-alert"; } } if (!IsPostBack) { } } }
public void CharacterCreationManagerStart() { configuration = GetComponent <CharacterConfigurationManager> (); database = GetComponent <DatabaseManager> (); }
public void CacheTrackScrobble(TrackScrobble scrobble) { DatabaseManager.Save("track.scrobble", scrobble.Artist, scrobble.Track, scrobble.Timestamp); }
public static int CountRows() { return (int)DatabaseManager.GetFirstRaw("SELECT COUNT(*) FROM " + TABLE_NAME); }