/// <summary> /// Create a new employee /// </summary> /// <param name="model"></param> public HttpResponseMessage Post(EmployeeDetailModel model) { var employee = this.DataContext.Employees.Add(new Employee { FirstName = model.FirstName, LastName = model.LastName, Title = model.Title, HireDate = model.HireDate, Address = model.Address, City = model.City, Region = model.Region, PostalCode = model.PostalCode, Country = model.Country, HomePhone = model.HomePhone, Extension = model.Extension, Notes = model.Notes, ReportsTo = model.ManagerId, //Manager = model.ReportsTo.HasValue ? model.Manager.FirstName + " " + e.Manager.LastName : null, }); this.DataContext.SaveChanges(); HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.Created, employee); response.Headers.Location = new Uri(Url.Link("Api", new { controller = "Employees", id = employee.Id })); return response; }
/// <summary> /// Update an existing employee /// </summary> /// <param name="model"></param> public HttpResponseMessage Put(EmployeeDetailModel model) { var employee = this.DataContext.Employees.Find(model.Id); if (employee == null) { return Request.CreateResponse(HttpStatusCode.NotFound); } employee.FirstName = model.FirstName; employee.LastName = model.LastName; employee.Title = model.Title; employee.HireDate = model.HireDate; employee.Address = model.Address; employee.City = model.City; employee.Region = model.Region; employee.PostalCode = model.PostalCode; employee.Country = model.Country; employee.HomePhone = model.HomePhone; employee.Extension = model.Extension; employee.Notes = model.Notes; employee.ReportsTo = model.ManagerId; this.DataContext.SaveChanges(); return Request.CreateResponse(HttpStatusCode.OK, model); }