{"action":"created","issue":{"url":"https://api.github.com/repos/aspnetboilerplate/aspnetboilerplate/issues/1590","repository_url":"https://api.github.com/repos/aspnetboilerplate/aspnetboilerplate","labels_url":"https://api.github.com/repos/aspnetboilerplate/aspnetboilerplate/issues/1590/labels{/name}","comments_url":"https://api.github.com/repos/aspnetboilerplate/aspnetboilerplate/issues/1590/comments","events_url":"https://api.github.com/repos/aspnetboilerplate/aspnetboilerplate/issues/1590/events","html_url":"https://github.com/aspnetboilerplate/aspnetboilerplate/pull/1590","id":191801561,"number":1590,"title":"Implementation   Specification Pattern","user":{"login":"ZhaoRd","id":3433353,"avatar_url":"https://avatars.githubusercontent.com/u/3433353?v=3","gravatar_id":"","url":"https://api.github.com/users/ZhaoRd","html_url":"https://github.com/ZhaoRd","followers_url":"https://api.github.com/users/ZhaoRd/followers","following_url":"https://api.github.com/users/ZhaoRd/following{/other_user}","gists_url":"https://api.github.com/users/ZhaoRd/gists{/gist_id}","starred_url":"https://api.github.com/users/ZhaoRd/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ZhaoRd/subscriptions","organizations_url":"https://api.github.com/users/ZhaoRd/orgs","repos_url":"https://api.github.com/users/ZhaoRd/repos","events_url":"https://api.github.com/users/ZhaoRd/events{/privacy}","received_events_url":"https://api.github.com/users/ZhaoRd/received_events","type":"User","site_admin":false},"labels":[{"id":114820993,"url":"https://api.github.com/repos/aspnetboilerplate/aspnetboilerplate/labels/feature%20request","name":"feature request","color":"0052cc","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/aspnetboilerplate/aspnetboilerplate/milestones/69","html_url":"https://github.com/aspnetboilerplate/aspnetboilerplate/milestone/69","labels_url":"https://api.github.com/repos/aspnetboilerplate/aspnetboilerplate/milestones/69/labels","id":2163700,"number":69,"title":"v1.3.0","description":"","creator":{"login":"hikalkan","id":1210527,"avatar_url":"https://avatars.githubusercontent.com/u/1210527?v=3","gravatar_id":"","url":"https://api.github.com/users/hikalkan","html_url":"https://github.com/hikalkan","followers_url":"https://api.github.com/users/hikalkan/followers","following_url":"https://api.github.com/users/hikalkan/following{/other_user}","gists_url":"https://api.github.com/users/hikalkan/gists{/gist_id}","starred_url":"https://api.github.com/users/hikalkan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hikalkan/subscriptions","organizations_url":"https://api.github.com/users/hikalkan/orgs","repos_url":"https://api.github.com/users/hikalkan/repos","events_url":"https://api.github.com/users/hikalkan/events{/privacy}","received_events_url":"https://api.github.com/users/hikalkan/received_events","type":"User","site_admin":false},"open_issues":9,"closed_issues":0,"state":"open","created_at":"2016-11-29T14:03:20Z","updated_at":"2016-12-28T19:42:50Z","due_on":null,"closed_at":null},"comments":9,"created_at":"2016-11-26T11:36:46Z","updated_at":"2016-12-30T03:35:50Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/aspnetboilerplate/aspnetboilerplate/pulls/1590","html_url":"https://github.com/aspnetboilerplate/aspnetboilerplate/pull/1590","diff_url":"https://github.com/aspnetboilerplate/aspnetboilerplate/pull/1590.diff","patch_url":"https://github.com/aspnetboilerplate/aspnetboilerplate/pull/1590.patch"},"body":"I have implement the specification pattern from apworks code！\r\n\r\nI extend the IRepository<T, TKey> interface, so  if I want use specification,I can  Depend the Abp.Specifications only.\r\n\r\nUse the specification, when I get  some eneities , I  can use like  this  code\r\n\r\n``` C# \r\n\r\nvar spec=new PlantTaskSpecification(input.ProjectId,input.Testtime);\r\n\r\n            var list = await this._taskStore.FindAll(\r\n                spec, input.SkipCount, \r\n                input.MaxResultCount, \r\n                input.Sorting);\r\n\r\n            var count = await this._taskStore.Count(spec);\r\n            \r\n            var dtos = list.MapTo<List<PlanTaskListDto>>();\r\n\r\n            return new PagedResultOutput<PlanTaskListDto>(\r\n                count,\r\n                dtos\r\n                );\r\n\r\n```\r\n\r\nThe role of specification pattern  can free assembly business logic elements\r\nSo   I  Add  the  specification ！\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/aspnetboilerplate/aspnetboilerplate/issues/comments/269728064","html_url":"https://github.com/aspnetboilerplate/aspnetboilerplate/pull/1590#issuecomment-269728064","issue_url":"https://api.github.com/repos/aspnetboilerplate/aspnetboilerplate/issues/1590","id":269728064,"user":{"login":"ZhaoRd","id":3433353,"avatar_url":"https://avatars.githubusercontent.com/u/3433353?v=3","gravatar_id":"","url":"https://api.github.com/users/ZhaoRd","html_url":"https://github.com/ZhaoRd","followers_url":"https://api.github.com/users/ZhaoRd/followers","following_url":"https://api.github.com/users/ZhaoRd/following{/other_user}","gists_url":"https://api.github.com/users/ZhaoRd/gists{/gist_id}","starred_url":"https://api.github.com/users/ZhaoRd/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ZhaoRd/subscriptions","organizations_url":"https://api.github.com/users/ZhaoRd/orgs","repos_url":"https://api.github.com/users/ZhaoRd/repos","events_url":"https://api.github.com/users/ZhaoRd/events{/privacy}","received_events_url":"https://api.github.com/users/ZhaoRd/received_events","type":"User","site_admin":false},"created_at":"2016-12-30T03:35:50Z","updated_at":"2016-12-30T03:35:50Z","body":"@hikalkan   How  Can  I  test   Extension ?"}}
{"actor":{"display_login":"ZhaoRd"}}