示例#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);
        }