/// <summary> /// [재난 카테고리] 입력 카테고리 코드로 해당 카테고리에 대한 정보(카테고리 + 종류 정보 목록) /// </summary> /// <param name="searchCategoryCode"></param> /// <returns></returns> public static DisasterInfo FindDisasterInfoByCategoryCode(string searchCategoryCode) { DisasterInfo result = null; if (searchCategoryCode == null) { return(null); } // 재난 정보가 준비되어 있는지 체크. if (disasterInfo == null || disasterInfo.Count <= 0) { return(null); } foreach (DisasterInfo info in disasterInfo) { if (info.KindList == null) { continue; } if (info.Category == null || info.Category.Code != searchCategoryCode) { continue; } DisasterInfo copy = new DisasterInfo(); copy.DeepCopyFrom(info); return(copy); } return(result); }
public void DeepCopyFrom(DisasterInfo src) { this.category = null; this.kindList = null; if (src == null) { return; } if (src.category != null) { this.category = new DisasterCategory(); this.category.DeepCopyFrom(src.category); } if (src.kindList == null) { this.kindList = null; return; } this.kindList = new List <DisasterKind>(); foreach (DisasterKind kind in src.kindList) { DisasterKind copy = new DisasterKind(); copy.DeepCopyFrom(kind); this.kindList.Add(copy); } }