Esempio n. 1
0
 public List <AuthorDTO> EndGetAuthors(IAsyncResult iar)
 {
     return(authorRepo.EndGetAuthors(iar)
            .Select(a => new AuthorDTO
     {
         FirstName = a.FirstName,
         LastName = a.LastName
     })
            .ToList());
 }
Esempio n. 2
0
        //// GET api/authors
        //public IEnumerable<Author> Get()
        //{
        //    var repo = new AuthorRepository();

        //    return repo.GetAuthors();
        //}

        // GET api/authors
        public Task <FullResponse> Get()
        {
            var authorRepo = new AuthorRepository();
            var titleRepo  = new TitleRepository();

            var tcs = new TaskCompletionSource <FullResponse>();

            var response = new FullResponse();

            int outstandingOperations = 2;

            Task.Factory.FromAsync(authorRepo.BeginGetAuthors(null, null), iar =>
            {
                response.Authors = authorRepo.EndGetAuthors(iar);
                int currentCount = Interlocked.Decrement(ref outstandingOperations);
                if (currentCount == 0)
                {
                    tcs.SetResult(response);
                }
            });

            Task.Factory.FromAsync(titleRepo.BeginGetTitles(null, null), iar =>
            {
                response.Titles  = titleRepo.EndGetTitles(iar);
                int currentCount = Interlocked.Decrement(ref outstandingOperations);
                if (currentCount == 0)
                {
                    tcs.SetResult(response);
                }
            });

            return(tcs.Task);
        }
        private void EndGetData(IAsyncResult ar)
        {
            try
            {
                int authorCount = authorRepo.EndGetAuthors(authorIar).Count();
                int titleCount  = titleRepo.EndGetTitles(titleIar).Count();

                output.Text = (authorCount + titleCount).ToString();
            }
            finally
            {
                asyncResult.Dispose();
            }
        }
        private void EndGetData(IAsyncResult ar)
        {
            IEnumerable <Author> authors = repo.EndGetAuthors(ar);

            output.Text = authors.Count().ToString();
        }