/// <summary>類語グループリスト編集コマンド</summary> /// <param name="parameter">編集中の行[SynonymGroupEntity]</param> private void ExecuteEditSynonymGroup(object parameter) { if (parameter == null) { Logger.Fatal(CLASS_NAME, "ExecuteEditSynonymGroup", "parameter is null!"); return; } SynonymGroupEntity targetGroup = parameter as SynonymGroupEntity; if (targetGroup == null) { Logger.Fatal(CLASS_NAME, "ExecuteEditSynonymGroup", "targetGroup is null!"); return; } if (_model == null) { Logger.Fatal(CLASS_NAME, "ExecuteEditSynonymGroup", "_model is null!"); return; } if (_model.UpdateSynonymGroup(targetGroup.GroupID, targetGroup.GroupName) == false) { Logger.Error(CLASS_NAME, "ExecuteEditSynonymGroup", "UpdateSynonymGroup return false"); return; } UpdateDisplayGroupsAndWords(targetGroup.GroupID); }
public void SynonymGroupEntitiesHaveACreatedAt() { var entity = new SynonymGroupEntity(); var date = new DateTime(2019, 02, 21); entity.CreatedAt = date; entity.CreatedAt.Should().BeSameDateAs(date); }
public void SynonymGroupEntitiesHaveAName() { var entity = new SynonymGroupEntity(); var name = "Test"; entity.Name = name; entity.Name.Should().BeSameAs(name); }
private static SynonymGroup CreateSynonymGroupFrom(SynonymGroupEntity synonymGroupEntity) { // TODO: Reuse domain factory classes when created. return(new SynonymGroup { Id = synonymGroupEntity.Id, Name = synonymGroupEntity.Name, CreatedAt = synonymGroupEntity.CreatedAt }); }
/// <summary>類語グループ選択時実行コマンド</summary> /// <param name="parameter">選択した類語グループ</param> private void ExecuteSelectSynonymGroup(object parameter) { if (parameter == null) { Logger.Error(CLASS_NAME, "ExecuteSelectSynonymGroup", "parameter is null!"); return; } SynonymGroupEntity selectedGroup = ConvertParameterToSynonymGroupEntity(parameter); if (selectedGroup == null) { Logger.Error(CLASS_NAME, "ExecuteSelectSynonymGroup", "selectedGroup is null!"); return; } SelectedGroup = selectedGroup; UpdateDisplaySynonymWords(selectedGroup.GroupID); }
/// <summary>類語グループ選択時に類語一覧と選択中の類語グループIDを更新する</summary> /// <param name="parameter"></param> private void ExecuteSelectSynonymGroup(object parameter) { #region convert args and null check if (parameter == null) { Logger.Fatal(CLASS_NAME, "ExecuteSelectSynonymGroup", "parameter is null!"); return; } SelectionChangedEventArgs e = parameter as SelectionChangedEventArgs; if (e == null) { Logger.Fatal(CLASS_NAME, "ExecuteSelectSynonymGroup", "EventArgs is null!"); return; } object[] obj = e.AddedItems as object[]; if (obj == null || obj.Any() == false) { Logger.Fatal(CLASS_NAME, "ExecuteSelectSynonymGroup", "target object is null!"); return; } SynonymGroupEntity selectedSynonymGroup = obj[0] as SynonymGroupEntity; if (selectedSynonymGroup == null) { Logger.Fatal(CLASS_NAME, "ExecuteSelectSynonymGroup", "selectedSynonymGroup is null!"); return; } #endregion if (IsExistSynonymGroupID(selectedSynonymGroup.GroupID) == false) { Logger.Fatal(CLASS_NAME, "ExecuteSelectSynonymGroup", $"target synonymGroup is not exist! groupID:[{selectedSynonymGroup.GroupID}]"); return; } _selectedSynonymGroupId = selectedSynonymGroup.GroupID; UpdateDisplaySynonymWords(_selectedSynonymGroupId); }
public void SynonymGroupEntitiesHaveAnId() { var entity = new SynonymGroupEntity(); entity.Id.Should().BeGreaterOrEqualTo(0); }
/// <summary>クエリによりSynonymGroupEntityを取得する</summary> /// <param name="sql">実行対象のSQL文</param> /// <param name="synonymGroups">取得したSynonymGroupEntity配列</param> /// <returns>成功時:true, 失敗時:false</returns> internal bool GetTargetSynonymGroups(string sql, out SynonymGroupEntity[] synonymGroups) { Logger.Info(CLASS_NAME, "GetTargetSynonymGroups", $"start, SQL:[{sql}]"); synonymGroups = null; if (string.IsNullOrEmpty(sql)) { Logger.Error(CLASS_NAME, "GetTargetSynonymGroups", "sql is null or empty"); return(false); } using (SQLiteDataReader reader = ExecuteQuery(sql)) { try { if (reader == null) { // 実行結果が必ずあるはずなのに、何もないのは異常だろう Logger.Error(CLASS_NAME, "GetTargetSynonymGroups", "reader result is null"); return(false); } List <SynonymGroupEntity> synonymGroupList = new List <SynonymGroupEntity>(); // SQLの実行結果をここで格納する while (reader.Read()) { // SQLiteのInteger型はInt64->C#ではlong型に値する // 現状、上限値をintの最大値としてID付加時に処理するため、int型に無条件でキャストしてよい int groupID = -1; long?nullableGroupID = reader["GroupID"] as long?; if (nullableGroupID != null) { groupID = (int)nullableGroupID; } string groupName = reader["GroupName"] as string; string groupRegistDate = reader["GroupRegistDate"] as string; string groupUpdateDate = reader["GroupUpdateDate"] as string; SynonymGroupEntity synonymGroupEntity = new SynonymGroupEntity { GroupID = groupID, GroupName = groupName, GroupRegistDate = groupRegistDate, GroupUpdateDate = groupUpdateDate }; synonymGroupList.Add(synonymGroupEntity); } if (synonymGroupList != null) { synonymGroups = synonymGroupList.ToArray(); } return(true); } catch (Exception e) { Logger.Fatal(CLASS_NAME, "GetTargetSynonymGroups", e.ToString()); return(false); } } }