예제 #1
0
 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);
 }
예제 #2
0
 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;
         }
     }
 }
예제 #3
0
        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;
            }
        }
예제 #4
0
        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);
        }