/// <summary> /// /// </summary> /// <param name="reqparam"></param> /// <returns></returns> public RESPONSE_FINDARTIFACT FindArtifact(REQUEST_FINDARTIFACT reqparam) { var rsp = new RESPONSE_FINDARTIFACT(); IList <Artifact> artifact = null; using (var dbc = new AppDbContext()) { var repo = new ArtifactRepository(dbc); switch (reqparam.TargetType) { case FINDTARGET_SELECTOR.CATEGORY: var r = repo.FindByCategory(new Category { Id = reqparam.TargetId }); artifact = new List <Artifact>(r.ToArray().OrderBy(p => p.Title)); rsp.Success = true; break; case FINDTARGET_SELECTOR.TAG: var rtags = repo.FindByTag(new Tag { Id = reqparam.TargetId }); artifact = new List <Artifact>(rtags.ToArray().OrderBy(p => p.Title)); rsp.Success = true; break; default: rsp.Success = false; rsp.Message = "不明な取得条件です"; break; } } if (artifact != null) { foreach (var prop in artifact) { var mapped = Mapper.Map <DataArtifact>(prop); rsp.Artifacts.Add(mapped); } } return(rsp); }
// 画像リストの読み込みを、最初の一度だけ実行するようにする /// <summary> /// サーバーから画像一覧を取得する(async) /// </summary> /// <remarks> /// 指定した条件に一致する画像一覧をサーバーから取得します。 /// </remarks> public async void LoadServiceImageList() { LOG.InfoFormat("LoadServiceImageList IsListLoaded={0}", IsListLoaded); if (IsListLoaded) { return; } if (!IsInitializedContainer) { return; } REQUEST_FINDARTIFACT param = null; if (_LoadCategoryId != 0L) { param = new REQUEST_FINDARTIFACT(); param.TargetType = FINDTARGET_SELECTOR.CATEGORY; param.TargetId = _LoadCategoryId; _LoadCategoryId = 0L; } else if (_LoadTagId != 0L) { param = new REQUEST_FINDARTIFACT(); param.TargetType = FINDTARGET_SELECTOR.TAG; param.TargetId = _LoadTagId; _LoadTagId = 0L; } if (param == null) { return; } IsListLoaded = true; this.IsBusy = true; this._Images.Items.Clear(); using (var proxy = new MogamiApiServiceClient()) { proxy.Login(); RESPONSE_FINDARTIFACT result = await proxy.FindArtifactAsync(param); foreach (var prop in result.Artifacts) { this._Images.AddItem(new ImageListLazyItem { IdText = prop.Id.ToString(), ArtifactId = prop.Id, Label = prop.Title, ThumbnailKey = prop.ThumbnailKey }); } } this.IsBusy = false; this.IsListLoaded = false; }