/// <summary> /// The Vm_DoneEditingRequested. /// </summary> /// <param name="sender">The sender<see cref="object"/>.</param> /// <param name="e">The e<see cref="EventArgs"/>.</param> private void Vm_DoneEditingRequested(object sender, EventArgs e) { DbCore.Update(viewModel); var win = Window.GetWindow(this); win.Close(); }
private async Task LogResponse(HttpResponse resp, RequestLog log, Stopwatch timer, DbCore dbc, string ExceptionMessage = null) { bool hasException = ExceptionMessage != null; dbc.Entry(log); log.ResponseStatus = hasException ? 500 : resp.StatusCode; log.ResponseContentType = resp.Headers.GetValueOrDefault("Content-Type", ""); //ContentLength not always set. Fallback to buffer length if unset log.ResponseSize = (int)(resp.ContentLength ?? resp.Body.Length); log.Location = resp.Headers.GetValueOrDefault("Location", ""); //TODO: log.ResponseType = ???!!! //Earlier, the response.body stream was replaced with one that allows rewinding //so rewind to beginning, read it, and rewind it again. resp.Body.Seek(0, SeekOrigin.Begin); string responseAsText = await new StreamReader(resp.Body).ReadToEndAsync(); resp.Body.Seek(0, SeekOrigin.Begin); if (!responseAsText.IsNullOrWhitespace()) { log.ResponseText = responseAsText.Left(ResponseLogLength); } else if (hasException) { log.ResponseText = "Unhandled exception: "; log.ResponseText += ExceptionMessage.Left(ResponseLogLength - log.ResponseText.Length); } //Do as much work as possible before getting the time log.ResponseMs = (decimal)timer.Elapsed.TotalMilliseconds; await dbc.SaveChangesAsync(); }
/// <summary> /// 获取实体对应表的信息集,并以数据表的信息形式返回 /// </summary> /// <param name="dbCore">数据库访问核心类DbCore实例(用于DbCore事务)</param> /// <param name="colNames">实体字段名数组</param> /// <param name="operates">比较操作符数组</param> /// <param name="colValues">实体字段名对应的值数组</param> /// <param name="orderColumns">排序字段数组</param> /// <param name="orderDirections">对应排序方向数组</param> /// <returns>返回符合条件的数据表信息</returns> public DataTable GetDataTable(DbCore dbCore, string[] colNames, Operation[] operates, object[] colValues, string[] orderColumns, OrderDirection[] orderDirections) { ORMap <BaseEntity> ormap = new ORMap <BaseEntity>(this); return(ormap.GetDataTable(dbCore, colNames, operates, colValues, orderColumns, orderDirections)); }
public static void Start() { _bot = new TelegramBotClient(Config.BotToken); _db = new DbCore(); _commands = new CommandProcessor(_bot, _db); var me = _bot.GetMeAsync().Result; Console.WriteLine("Hello my name is " + me.FirstName); Console.WriteLine("Username is " + me.Username); Console.WriteLine("Press ctrl+c to kill me."); _bot.OnUpdate += Bot_OnUpdate; _bot.OnMessage += Bot_OnMessage; _bot.OnCallbackQuery += Bot_OnCallbackQuery; _commands.OnAdminMessage += OnAdminCommandMessage; _commands.OnPollMessage += OnPollCommandMessage; _username = me.Username; Console.WriteLine("StartReceiving..."); _bot.StartReceiving(); while (End) { //Nothing to do, just sleep 1 sec //ctrl+c break cycle Thread.Sleep(1000); } Console.WriteLine("StopReceiving..."); _bot.StopReceiving(); }
/// <summary> /// 获取实体对应表的信息集,并以数据表的信息形式返回 /// </summary> /// <param name="dbCore">数据库访问核心类DbCore实例(用于DbCore事务)</param> /// <param name="colName">实体字段名</param> /// <param name="operate">比较操作符</param> /// <param name="colValue">实体字段名对应的值</param> /// <param name="orderColumn">排序字段</param> /// <param name="orderDirection">对应排序方向</param> /// <returns>返回符合条件的数据表信息</returns> public DataTable GetDataTable(DbCore dbCore, string colName, Operation operate, object colValue, string orderColumn, OrderDirection orderDirection) { ORMap <BaseEntity> ormap = new ORMap <BaseEntity>(this); return(ormap.GetDataTable(dbCore, colName, operate, colValue, orderColumn, orderDirection)); }
/// <summary> /// Handles the HideSelectedItemsRequested event. /// </summary> /// <param name="sender">The sender<see cref="object"/>.</param> /// <param name="e">The e<see cref="EventArgs"/>.</param> private void Vm_HideSelectedFoldersRequested(object sender, EventArgs e) { Debug.Assert(sender is MainViewModel); var vm = sender as MainViewModel; var selectedToHide = new List <FolderViewModel>(); foreach (var item in vm.SelectedFoldersCollection) { if (item.IsHidden == false) { selectedToHide.Add(item); } } if (selectedToHide.Count == 0) { App.Inform("No Folders to Hide", "There are no unhidden folders to hide in the current selection."); return; } var folderNames = Environment.NewLine + Environment.NewLine; foreach (var item in selectedToHide) { folderNames += item.FolderName + Environment.NewLine; } var proceed = App.LastChance("Hide Folders Request", $"Hiding Selected Folders", $"This operation will move these (this) {selectedToHide.Count} folder(s) from the community directory to the hidden directory:" + folderNames + Environment.NewLine + "Is this what you want to do?"); int count = 0; if (proceed) { var su = Locator.SetupViewModel; foreach (var item in selectedToHide) { if (FileOps.Hide(item.FolderName, su.CommunityFolder, su.HiddenFilesFolder)) { item.IsHidden = true; count++; } } DbCore.Update(selectedToHide); if (count == selectedToHide.Count) { App.Inform("Hide Folders Request Results", "All unhidden folders were successfully hidden."); } else { App.Inform("Hide Folders Request Results", $"{selectedToHide.Count - count} folder(s) could not be hidden. Synchronization may be necessary."); } } }
/// <summary> GetAllAgeGroupsByIDs method for getting All AgeGroup Details </summary> /// <param name="objects">The objects.</param> /// <returns> List of All AgeGroup Details </returns> /// public List <AgeGroup> GetAllAgeGroupsByIDs(List <BusinessObjects.Objects> objects) { string CSVAgeGroup = string.Join(",", objects.Select(p => p.ID.ToString())); CSVAgeGroup = CSVAgeGroup.Trim(','); return(DbCore.ReadList <AgeGroup>(SPGetAllAgeGroupsByIDs, Make, ConnectionString, CommandType.StoredProcedure, DbCore.CreateParameter("@AgeGroupsIDs", CSVAgeGroup))); }
static void Main(string[] args) { //to ignore untrusted SSL certificates, linux and mono love it ;) ServicePointManager.ServerCertificateValidationCallback = Network.Ssl.Validator; Console.CancelKeyPress += Console_CancelKeyPress; if (!File.Exists(Config.DbFile) || InitFromCode || args.Length > 0 && args[0] == "init") { try { DbCore.Initialization(); } catch (Exception e) { Console.WriteLine("Unknown DBCore exception: " + e.Message + "\n" + e.InnerException); } } Console.WriteLine("Starting Bot..."); try { if (!Directory.Exists(Config.DbDirPath)) { Directory.CreateDirectory(Config.DbDirPath); } Bot.HockeyBot.Start(); } catch (Exception e) { Console.WriteLine("Unknown KLHockey Bot exception: " + e.Message + "\n" + e.InnerException); Console.WriteLine("Bot will be terminated."); } }
private void DeleteRowWorkTbl(DbCore db, string SN) { try { WorkTable workTable = new WorkTable(db); workTable.ExtractRow(SN); } catch { //Необязательная операция, добавить в лог программы, если ошибка } }
private void ClearWorkTable(DbCore db) { try { WorkTable workTabl = new WorkTable(db); workTabl.ClearTable(); } catch { //Необязательная операция, добавить в лог программы, если ошибка } }
protected override void OnClosing(CancelEventArgs e) { var vm = this.DataContext as FolderViewModel; Debug.Assert(vm != null); if (!vm.DeleteScheduled) { DbCore.Update(vm); } base.OnClosing(e); }
private void InpToWorkTable(InpProduct product, DbCore db) { try { WorkTable workTabl = new WorkTable(db); workTabl.WriteRow(product); } catch (Exception e) { string message = e.Message; //Необязательная операция, добавить в лог программы, если ошибка } }
private Result ConnectDb(string path, out DbCore db) { db = null; try { db = new DbCore(_dbPath); db.Connect(); return(new Result(ResultEnum.No_Error, "")); } catch (Exception e) { return(new Result(ResultEnum.Err_connect, e)); } }
private void ToClosedTbl(DbCore db, DateTime dtClosed, DateTime dtOpen, string SN, string dev, string name, int err) { ClosedTable closedTable; if (err == 0) { closedTable = new ClosedTable("Закрытые", db); } else { closedTable = new ClosedTable("Брак", db); } closedTable.AddProduct(dtClosed, dtOpen, SN, dev, name, err); }
/// <summary> /// Handles the RestoreFolderRequested event. /// </summary> /// <param name="sender">The sender<see cref="object"/>.</param> /// <param name="e">The e<see cref="EventArgs"/>.</param> private void Vm_RestoreFolderRequested(object sender, EventArgs e) { Debug.Assert(sender is FolderViewModel); var vm = sender as FolderViewModel; var proceed = App.LastChance("Restore Folder Request", $"Restoring {vm.FolderName}", $"This operation will move {vm.FolderName} from the hidden directory to the community directory. Is this what you want to do?."); var su = Locator.SetupViewModel; if (proceed) { vm.IsHidden = false; FileOps.Restore(vm.FolderName, su.CommunityFolder, su.HiddenFilesFolder); DbCore.Update(vm); } }
public void DbCoreSchemaCheck() { //SETUP using (DbCore context = Util.BuildContext()) { CompareEfSql comparer = new CompareEfSql(); //ATTEMPT //This will compare EF Core model of the database with the database that the context's connection points to bool hasErrors = comparer.CompareEfWithDb(context); //VERIFY //The CompareEfWithDb method returns true if there were errors. //The comparer.GetAllErrors property returns a string, with each error on a separate line hasErrors.ShouldBeFalse(comparer.GetAllErrors); } }
/// <summary> /// The Vm_BrowseZipFileRequested. /// </summary> /// <param name="sender">The sender<see cref="object"/>.</param> /// <param name="e">The e<see cref="EventArgs"/>.</param> private void Vm_BrowseZipFileRequested(object sender, EventArgs e) { var vm = sender as ZipFileViewModel; Debug.Assert(vm != null); var dia = new OpenFileDialog { AddExtension = false, CheckFileExists = true, Multiselect = false, Title = "Find a Plugin Package to Add", DereferenceLinks = true, Filter = "Zip files (*.zip, *.7z)|*.zip;*.7z|Exe files (*.exe)|*.exe|All files (*.*)|*.*", FilterIndex = 1, InitialDirectory = Locator.SetupViewModel.ZipFilesFolder }; var result = dia.ShowDialog(); if (result == null || result == false) { return; } var fullpath = dia.FileName; var filename = Path.GetFileName(fullpath); var path = Path.GetDirectoryName(fullpath); var fi = new FileInfo(fullpath); if (vm.Filename != filename || vm.FileDate != fi.CreationTime) { vm.FileDate = fi.CreationTime; vm.AddedDate = DateTime.Now; vm.Filename = filename; vm.FileSize = fi.Length; } vm.FilePath = path; DbCore.Update(vm); }
/// <summary> /// Handles the HideFolderRequested event. /// </summary> /// <param name="sender">The sender<see cref="object"/>.</param> /// <param name="e">The e<see cref="EventArgs"/>.</param> private void Vm_HideFolderRequested(object sender, EventArgs e) { Debug.Assert(sender is FolderViewModel); var vm = sender as FolderViewModel; var proceed = App.LastChance("Hide Folder Request", $"Hiding {vm.FolderName}", $"This operation will move {vm.FolderName} from the community directory to the hidden directory. Is this what you want to do?."); var su = Locator.SetupViewModel; if (proceed) { if (FileOps.Hide(vm.FolderName, su.CommunityFolder, su.HiddenFilesFolder)) { vm.IsHidden = true; DbCore.Update(vm); return; } App.Inform("Hide Folder Request Error", $"{vm.FolderName} could not be hidden. Synchronization may be necessary."); } }
private static void OnAdminCommandMessage(object sender, AdminMessageEventArgs args) { var command = args.Command; var messageId = args.CurrentPoll.MessageId; var chatId = args.Chat.Id; if (command == "admin_init") { try { _db.Disconnect(); DbCore.Initialization(); _db = new DbCore(); _commands = new CommandProcessor(_bot, _db); } catch (Exception e) { Console.WriteLine("Unknown DBCore exception: " + e.Message + "\n" + e.InnerException); } } }
/// <summary> /// 快速执行一不带参数的存储过程 /// </summary> /// <param name="strStoredProcedureName">存储过程名称</param> /// <returns>存储过程执行后受影响的行数</returns> public static int ExecuteStoredProcedure(string strStoredProcedureName) { DbCore dbCore = null; try { dbCore = new DbCore(GetDatabaseType(), GetConnectionString()); dbCore.Open(); return(dbCore.ExecuteStoredProcedure(strStoredProcedureName)); } catch (Exception ex) { throw ex; } finally { if (dbCore != null) { dbCore.Close(); } } }
/// <summary> /// Handles the DeleteSelectedItemsRequested event. /// </summary> /// <param name="sender">The sender<see cref="object"/>.</param> /// <param name="e">The e<see cref="EventArgs"/>.</param> private void Vm_DeleteSelectedFoldersRequested(object sender, EventArgs e) { Debug.Assert(sender is MainViewModel); var vm = sender as MainViewModel; var selectedToDelete = new List <FolderViewModel>(); foreach (var item in vm.SelectedFoldersCollection) { selectedToDelete.Add(item); } var folderNames = Environment.NewLine + Environment.NewLine; foreach (var item in selectedToDelete) { folderNames += item.FolderName + Environment.NewLine; } var proceed = App.LastChance("Delete Folders Request", $"Deleting Selected Folders", $"This operation will delete these (this) {selectedToDelete.Count} folder(s) from the community or hidden directories:" + folderNames + Environment.NewLine + "Is this what you want to do?"); if (proceed) { var hiddenFolder = AppSettings.Default.HiddenFilesFolder; var communityFolder = AppSettings.Default.CommunityFolder; foreach (var item in selectedToDelete) { FileOps.Delete(item.FolderName, item.IsHidden ? hiddenFolder : communityFolder); vm.FolderCollection.Remove(item); } DbCore.Delete(selectedToDelete); } }
/// <summary> /// Initializes a new instance of the <see cref="App"/> class. /// </summary> public App() { var vm = Locator.SetupViewModel; vm.CommunityFolder = AppSettings.Default.CommunityFolder; vm.ZipFilesFolder = AppSettings.Default.ZipFilesFolder; vm.HiddenFilesFolder = AppSettings.Default.HiddenFilesFolder; vm.LoggingLevel = (LogLevel)AppSettings.Default.LogLevel; vm.LoggingEnabled = AppSettings.Default.LoggingEnabled; vm.CheckForUpdates = AppSettings.Default.VersionAutoCheck; vm.IncludePrereleaseVersions = AppSettings.Default.IncludePrereleaseVersions; FileLogProvider.Instance.LogLevel = vm.LoggingLevel; FileLogProvider.Instance.LoggingEnabled = vm.LoggingEnabled; var log = FileLogProvider.Instance.GetLogFor <App>(); log.Info("Wpf.App logging started."); log.Info("SetupViewModel initialized."); DbCore.Initialize(); }
/// <summary> /// 获取SQL语句执行的第一行第一列的值 /// </summary> /// <param name="strSql">SQL语句</param> /// <returns>SQL语句执行的第一行第一列的值</returns> public static object ExecuteScalar(string strSql) { DbCore dbCore = null; object obj = null; try { dbCore = new DbCore(GetDatabaseType(), GetConnectionString()); dbCore.Open(); obj = dbCore.ExecuteScalar(strSql); dbCore.Close(); return(obj); } catch (Exception ex) { if (dbCore != null) { dbCore.Close(); } throw ex; } }
public ProductManager(DbCore db) { _db = db; }
/// <summary> /// 通过实体映射及主键条件更新表中一条数据,更新全部字段 /// </summary> /// <param name="dbCore">数据库访问核心类DbCore实例(用于DbCore事务,执行命令先打开(Open)数据库连接)</param> /// <returns>执行更新并返回受影响的行数</returns> public int UpdateAll(DbCore dbCore) { ORMap <BaseEntity> ormap = new ORMap <BaseEntity>(this); return(ormap.UpdateAll(dbCore)); }
/// <summary> GetAllAgeGroups method for getting All Age groups </summary> /// <returns> List of AllAgeGroups</returns> /// <remarks> </remarks> public List <AgeGroup> GetAllAgeGroups() { return(DbCore.ReadList <AgeGroup>(SPGetAllAgeGroups, Make, ConnectionString, CommandType.StoredProcedure)); }
/// <summary> /// The InstallButtonClick. /// </summary> /// <param name="sender">The sender<see cref="object"/>.</param> /// <param name="e">The e<see cref="RoutedEventArgs"/>.</param> private void InstallButtonClick(object sender, RoutedEventArgs e) { var vm = DataContext as IArchiveViewModel; var directory = vm.SelectedDirectory; if (directory.Entries.Any(m => m.WillInstall) == false) { return; } var installFolder = Locator.SetupViewModel.CommunityFolder; Debug.Assert(string.IsNullOrEmpty(installFolder) == false); // var wd = App.WaitDialog("Your selected contents are being installed."); IEnumerable <string> installedFolders; if (vm.AreAnyCheckedEntriesInstalled(installFolder)) { if (App.LastChance("Overwrite Files?", "This operation will require some files and folders to be overwritten.", "Do you want to do this?", true)) { // #Note This should on a background thread // wd.Show(); installedFolders = vm.InstallCheckedEntries(installFolder, true); } else { return; } } else { // #Note See note above. // wd.Show(); installedFolders = vm.InstallCheckedEntries(installFolder); } var mainVm = Locator.MainViewModel; var packageId = vm.PackageId; // This will update the DB for the new folders foreach (var folderName in installedFolders) { var fullName = Path.Combine(installFolder, folderName); var di = new DirectoryInfo(fullName); var installDate = di.CreationTime; if (mainVm.FolderCollection.Any(e => e.FolderName.ToLower() == folderName.ToLower())) { var oldFe = mainVm.FolderCollection.First(e => e.FolderName.ToLower() == folderName.ToLower()); oldFe.PackageId = packageId; DbCore.Update(oldFe); continue; } var newFe = new FolderViewModel() { FolderName = folderName, PackageId = packageId, InstallDate = installDate }; DbCore.Add(newFe); mainVm.FolderCollection.Add(newFe); } // wd.Close(); App.Inform("Zip Contents Installed", "The selected contents have been installed in your community folder."); }
public ClosedTable(string name, DbCore db) : base(name, db) { }
/// <summary> /// 获取SQL语句执行的第一行第一列的值 /// </summary> /// <param name="dbCore">数据库访问核心类DbCore实例(用于DbCore事务)</param> /// <param name="strSql">SQL语句</param> /// <returns>SQL语句执行的第一行第一列的值</returns> public object GetSqlValue(DbCore dbCore, string strSql) { return(new ORMap <BaseEntity>(this).GetSqlValue(dbCore, strSql)); }
/// <summary> /// 保存 比较实体(EntitysCodeGenerate生成带数据访问的实体)前后的值,若有与主键记录相同的就更新,没有就插入 /// 保存所有字段,其中若与实体字段初始值相同则置该字段为空 /// </summary> /// <param name="dbCore">数据库访问核心类DbCore实例(用于DbCore事务,执行命令先打开(Open)数据库连接)</param> /// <returns>执行更新或插入数据操作并返回受影响的行数</returns> public int SaveEx(DbCore dbCore) { ORMap <BaseEntity> ormap = new ORMap <BaseEntity>(this); return(ormap.SaveEx(dbCore)); }