private string GetArtist()
        {
            var response = new JsonResponseMessage();
            var jSearializer = new System.Web.Script.Serialization.JavaScriptSerializer();

            try
            {
                List<Artist> results;
                using (var ormContext = new ChinookContext())
                {
                    results = ormContext.Artists.ToList();
                }
                // var results = this.contexts1.Artists.ToList();
                response.IsSucess = true;
                response.Message = string.Empty;
                response.CallBack = this.callBackMethodName;
                response.ResponseData = results;
            }
            catch (Exception ex)
            {
                response.Message = ex.Message;
                response.IsSucess = false;
            }
            return jSearializer.Serialize(response);
        }
        //public HttpResponseMessage<Customer> GetCustomer(int id)
        // Changed for Web Api RC
        // Get single customer record by ID
        public HttpResponseMessage GetCustomer(int id)
        {
            using (var context = new ChinookContext())
            {
                var request = (from i in context.Customers where i.CustomerId == id where i.Deleted == false select i).FirstOrDefault();

                return request == null ? Request.CreateResponse(HttpStatusCode.NotFound) : Request.CreateResponse(HttpStatusCode.OK, request);
            }
        }
        // public HttpResponseMessage<Customer> DeleteCustomer(int id)
        // Changed for Web Api RC
        // Delete = DELETE
        public HttpResponseMessage DeleteCustomer(int id)
        {
            using (var context = new ChinookContext())
            {
                var request = context.Customers.Single(c => c.CustomerId == id && c.Deleted == false);

                if (request != null)
                {
                    request.Deleted = true;
                    context.SaveChanges();
                    return Request.CreateResponse(HttpStatusCode.Accepted, request);
                }
                return Request.CreateResponse(HttpStatusCode.NotFound);
            }
        }
        // public HttpResponseMessage<Customer> PostCustomer(Customer customer)
        // Changed for Web Api RC
        // Create = Post
        public HttpResponseMessage PostCustomer(Customer customer)
        {
            using (var context = new ChinookContext())
            {
                Customer request = null;

                if (customer.CustomerId != 0)
                {
                    request = context.Customers.Single(c => c.CustomerId == customer.CustomerId);
                }

                if (request == null)
                {
                    context.Customers.Add(customer);
                    context.SaveChanges();

                    var response = Request.CreateResponse(HttpStatusCode.Created, customer);
                    response.Headers.Location = new Uri(Request.RequestUri, string.Format("Customer/{0}", customer.CustomerId));
                    return response;
                }

                return this.PutCustomer(customer);
            }
        }
        // public HttpResponseMessage<Customer> PutCustomer(Customer customer)
        // Changed for Web Api RC
        // Update = Put
        public HttpResponseMessage PutCustomer(Customer customer)
        {
            using (var context = new ChinookContext())
            {
                //Customer request = null;

                //if (customer.CustomerId != 0)
                //{
                //    request = context.Customers.Single(c => c.CustomerId == customer.CustomerId);
                //}

                //if (request == null)
                //{
                //    return this.PostCustomer(customer);
                //}

                var original = context.Customers.Find(customer.CustomerId);

                if (original != null)
                {
                    context.Entry(original).CurrentValues.SetValues(customer);
                    context.SaveChanges();
                }

                //// todo this has to have an easier way.  Customer.Attach throws an error
                //request.FirstName = customer.FirstName;
                //request.LastName = customer.LastName;
                //request.Address = customer.Address;
                //request.City = customer.City;
                //request.PostalCode = customer.PostalCode;
                //request.State = customer.State;
                //request.Country = customer.Country;
                //request.Fax = customer.Fax;
                //request.Email = customer.Email;
                //request.Company = customer.Company;

                //context.SaveChanges();

                var response = Request.CreateResponse(HttpStatusCode.Accepted, customer);
                response.Headers.Location = new Uri(Request.RequestUri, string.Format("Customer/{0}", customer.CustomerId));
                return response;
            }
        }