コード例 #1
0
        /// <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);
        }
コード例 #2
0
        // 画像リストの読み込みを、最初の一度だけ実行するようにする

        /// <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;
        }