public IHttpActionResult PutLead(int id, Lead lead)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            if (id != lead.Id)
            {
                return BadRequest();
            }

            db.Entry(lead).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!LeadExists(id))
                {
                    return NotFound();
                }
                else
                {
                    throw;
                }
            }

            return StatusCode(HttpStatusCode.NoContent);
        }
        public IHttpActionResult PostLead(PostHelper lead)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }
            var newlead = new Lead()
            {
                Title = lead.lead.JobTitle,
                Deadline = DateTime.Now.AddDays(7),
                DateAdded = DateTime.Now,
                Notes = lead.lead.Notes,
                Description = lead.lead.Description,
                //Resume = lead.lead.Resume,
                //CoverLetter = lead.lead.CoverLetter,
                Status = (Status)(Enum.Parse(typeof(Status), lead.lead.Status))
            };
            var existingCompany = db.Companies.Find(lead.lead.Company);
            if (existingCompany != null)
            {
                newlead.Company = existingCompany;
            }
            else
            {
                newlead.Company = new Company()
                {
                    Id = lead.lead.Company,
                    Name = lead.lead.CompanyName,
                    Url = lead.lead.Url,
                    Address1 = lead.lead.Address1,
                    Address2 = lead.lead.Address2,
                    City = lead.lead.City,
                    State = lead.lead.State,
                    Zipcode = lead.lead.Zipcode
                };
            }

            var existingContact = db.Contacts.Find(lead.lead.Contact);

            if (existingContact != null)
            {
                if (existingContact.Company != existingCompany)
                {
                    //BAD
                    return BadRequest("Trying to assoicate contact with a different company");
                }
                newlead.Contact = existingContact;
            }
            else
            {
            }

            db.Leads.Add(newlead);
            db.SaveChanges();

            lead.lead.CompanyName = newlead.Company.Name;
            lead.lead.Company = newlead.Company.Id;
            if (newlead.Contact != null)
            {
                lead.lead.Contact = newlead.Contact.Id;
                lead.lead.ContactFirstName = newlead.Contact.FirstName;
                lead.lead.ContactLastName = newlead.Contact.LastName;
            }
            else
            {
                lead.lead.Contact = 0;
                lead.lead.ContactFirstName = "";
                lead.lead.ContactLastName = "";
            }
            return Ok(new { lead = lead.lead });
        }