public HttpResponseMessage PostCompany(Company company) { if (ModelState.IsValid) { AddUpdateCompany(company); HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.Created, company); return response; } return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState); }
private void AddUpdateCompany(Company company) { var comp = db.SearchFor(x => x.CompanyName == company.CompanyName).SingleOrDefault(); if (comp == null) { TryGetAddress(company); db.Insert(company); } else { comp.Address1 = company.Address1; comp.Address2 = company.Address2; comp.Address3 = company.Address3; comp.PostalCode = company.PostalCode; comp.IsActive = true; //update divisions also var divs = db.GetById(comp.CompanyId).Divisions.ToList(); foreach (var division in divs) { division.IsActive = true; } } }
private void TryGetAddress(Company company) { try { //Hilton+Sandton var address = company.CompanyName + "," + company.Address1 + "," + company.PostalCode; var requestUri = string.Format("http://maps.googleapis.com/maps/api/geocode/json?address={0}&sensor=false", Uri.EscapeDataString(address)); var request = WebRequest.Create(requestUri); var response = request.GetResponse(); var b = response; } catch (Exception e) { Console.WriteLine(e); return; } }
public HttpResponseMessage PutCompany(int id, Company company) { if (!ModelState.IsValid) { return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState); } if (id != company.CompanyId) { return Request.CreateResponse(HttpStatusCode.BadRequest); } try { db.Update(x => x.CompanyId == company.CompanyId, company); } catch (DbUpdateConcurrencyException ex) { return Request.CreateErrorResponse(HttpStatusCode.NotFound, ex); } return Request.CreateResponse(HttpStatusCode.OK); }