partial void DeleteDatabaseProcess(DatabaseProcess instance);
partial void InsertDatabaseProcess(DatabaseProcess instance);
partial void UpdateDatabaseProcess(DatabaseProcess instance);
//---------------------------------------------------------登録/更新 /// <summary> /// 新規にデータベースへプロセスを登録 /// </summary> /// <param name="proc">登録するプロセス</param> /// <returns>登録したID</returns> internal int Register(Process proc) { DatabaseApplication app = new DatabaseApplication(); app.Title = proc.MainWindowTitle; app.Favorite = false; database.DatabaseApplication.InsertOnSubmit(app); RetryHelper.Retry(() => { database.SubmitChanges(); }, ex => ExceptionDispatchInfo.Capture(ex).Throw(), ex => ex is SqlException); //SubmitChanges()すると挿入したIDが取得できるようになる var id = app.Id; #region 取得したIDを元にProcessDBに登録 DatabaseProcess pro = new DatabaseProcess(); pro.AppId = id; pro.Name = proc.ProcessName; pro.Path = proc.MainModule.FileName; database.DatabaseProcess.InsertOnSubmit(pro); #endregion #region 取得したIDを元にDateDBに登録 DatabaseDate date = new DatabaseDate(); date.AppId = id; date.AddDate = date.LastDate = DateTime.Now; date.UsageTime = "0.00:00:00"; date.AlertTime = "0.00:00:00"; database.DatabaseDate.InsertOnSubmit(date); #endregion RetryHelper.Retry(() => { database.SubmitChanges(); }, ex => ExceptionDispatchInfo.Capture(ex).Throw(), ex => ex is SqlException); //レコード新規登録のイベント発生 if (NewRecord_Registered != null) { NewRecord_Registered(this, EventArgs.Empty); } return id; }