ATS: Refactored outgoing requests to use AtsConnection

Refactor outgoing requests to run through AtsConnection. Now using the command pattern.
Adds some logging and a more testable design.

<!---
@huboard:{"order":20.0,"custom_state":""}
-->

Thx! I need to send a new pr just for code formatting. I'll do that soon.


On Wed, Jul 2, 2014 at 10:13 AM, Arthur Vickers <notifications@github.com>
wrote:

> In src/EntityFramework.AzureTableStorage/AtsConnection.cs:
>
> >          {
> > -            Check.NotNull(tableName, "tableName");
> > -            return _account.CreateCloudTableClient().GetTableReference(tableName);
> > +            get { return _account.Value; }
> > +        }
> > +
> > +        public virtual TResult ExecuteRequest<TResult>([NotNull] AtsRequest<TResult> request, [CanBeNull] ILogger logger = null)
> > +        {
> > +            Check.NotNull(request, "request");
> > +            var requestContext = SetupRequestContext(request, logger);
> > +            return request.Execute(requestContext);
>
> It is common to have a blank line after Check calls. Also, just a style
> thing, but I would probably inline requestContext instead of creating an
> explicit local. But it's fine either way.
>
> —
> Reply to this email directly or view it on GitHub
> <https://github.com/aspnet/EntityFramework/pull/385/files#r14469962>.
>