/// <summary> /// データモデルの情報をメンバーに設定する。 /// </summary> /// <param name="data">データモデル</param> /// <param name="templateId">テンプレートID</param> internal void Set(TemplateDetailData data, long templateId) { this.TemplateId = templateId; this.CategoryId = data.CategoryId; this.Priority = data.Priority; this.Todo = data.Todo; this.PlanStart = data.PlanStart; this.PlanEnd = data.PlanEnd; if ("" == data.PlanTime) { this.PlanTime = "0"; } else { this.PlanTime = data.PlanTime; } }
/// <summary> /// テンプレート情報(明細)を取得 /// </summary> /// <param name="detailList">明細情報のリスト</param> /// <param name="entity">エンティティ</param> /// <param name="id">id</param> /// <param name="categories">カテゴリ情報</param> private void SelectDetailByTemplateId(ObservableCollection <TemplateDetailData> detailList, TemplateDetailEntity entity, long id, Dictionary <long, string> categories) { var startIndex = 0; using (var recset = entity.SelectByTemplateId(id)) { var currentCategory = -1L; while (recset.Read()) { var detail = new TemplateDetailData { CategoryId = recset.GetLong(LogDetailEntity.Cols.CategoryId), Priority = recset.GetInt(LogDetailEntity.Cols.Priority), Todo = recset.GetString(LogDetailEntity.Cols.Todo), PlanStart = recset.GetString(LogDetailEntity.Cols.PlanStart), PlanEnd = recset.GetString(LogDetailEntity.Cols.PlanEnd), PlanTime = recset.GetInt(LogDetailEntity.Cols.PlanTime).ToString(), }; detail.IsCategory = false; if (currentCategory != detail.CategoryId) { for (var i = startIndex; i < categories.Count; i++) { var categoryId = categories.ElementAt(i).Key; var category = new TemplateDetailData { IsCategory = true, CategoryId = categoryId, CategoryName = categories[categoryId] }; detailList.Add(category); if (categoryId == detail.CategoryId) { startIndex = i + 1; currentCategory = categoryId; break; } currentCategory = categoryId; } } detailList.Add(detail); } startIndex = -1; for (var i = 0; i < categories.Count; i++) { if (currentCategory == categories.ElementAt(i).Key) { startIndex = i; break; } } for (var i = startIndex + 1; i < categories.Count; i++) { var categoryId = categories.ElementAt((int)i).Key; var category = new TemplateDetailData { IsCategory = true, CategoryId = categoryId, CategoryName = categories[categoryId] }; detailList.Add(category); } } }