//Add new Methods public EmployeeBase EmployeeAdd(EmployeeAdd newItem) { if (newItem == null) { return(null); } else { Employee addedItem = mapper.Map <Employee>(newItem); ds.Employees.Add(addedItem); ds.SaveChanges(); //Find Manager var Manager = ds.Employees.Find(newItem.ReportsTo); if (Manager == null) { mapper.Map <EmployeeBase>(addedItem); } // Make the changes, save, and exit //adds Employee to Manager's List Manager.Employee1.Add(addedItem); //adds Manager to employee object addedItem.Employee2 = Manager; //adds managerId to Employee object addedItem.ReportsTo = Manager.EmployeeId; ds.SaveChanges(); return(mapper.Map <EmployeeBase>(addedItem)); } }
// GET: api/Employees/5 //public IHttpActionResult Get(int id) //{ // var result = m.GetEmployee(id); // if (result == null) // return NotFound(); // else // return Ok(result); //} // POST: api/Employees public IHttpActionResult Post([FromBody] EmployeeAdd newItem) { if (newItem == null) { return(null); } if (ModelState.IsValid) { var addedItem = m.EmployeeAdd(newItem); if (addedItem == null) { return(BadRequest("Cannot add the object")); } else { var uri = Url.Link("DefaultApi", new { id = addedItem.EmployeeId }); return(Created <EmployeeBase>(uri, addedItem)); } } else { return(BadRequest(ModelState)); } }