public void SaveLoadedData(AccountingDataSync dataSync) { using (DbContextTransaction trans = Database.BeginTransaction()) { try { Database.ExecuteSqlCommand("exec PrepareLoading"); ArticleDatas.AddRange(dataSync.Articles); ArticleItemDatas.AddRange(dataSync.ArticleItems); SaveChanges(); LastUpdate = dataSync.LastUpdate; DbCommand command = Database.Connection.CreateCommand(); command.Transaction = trans.UnderlyingTransaction; command.CommandTimeout = 0; command.CommandText = "exec PostLoadUpdate"; command.ExecuteNonQuery(); trans.Commit(); Logger.Info("Data loaded"); } catch (Exception ex) { Logger.Error(ex); trans.Rollback(); } } }
/// <summary> /// コンストラクタ /// </summary> /// <param name="hatakeName">Hatake名</param> /// <param name="hatakeType">Hatake種別</param> /// <param name="navigation">ViewのNavigation</param> public ArticlePageViewModel(String hatakeName, HatakeType hatakeType, INavigation navigation) { this.Navigation = navigation; this.HatakeName = hatakeName; this.HatakeType = hatakeType; if (ArticleDatas != null) { ArticleDatas.Clear(); } ArticleDatas = DBManager.Instance.GetArticleDatas(hatakeType); }