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; } }