public async Task <IActionResult> Post([FromBody] CustomerViewModel customerVm) { if (customerVm == null) { return(BadRequest()); } if (!ModelState.IsValid) { return(UnprocessableEntity(ModelState)); } var newItem = Mapper.Map <Customer>(customerVm); _customerRepository.Add(newItem); if (!await UnitOfWork.SaveAsync()) { return(StatusCode(500, "保存时出错")); } var vm = Mapper.Map <CustomerViewModel>(newItem); var links = CreateLinksForCustomer(vm.Id); var dynamicObject = vm.ToDynamic() as IDictionary <string, object>; dynamicObject.Add("links", links); return(CreatedAtRoute("GetCustomer", new { id = dynamicObject["Id"] }, dynamicObject)); }
public async Task <IActionResult> Post([FromBody] VehicleViewModel vehicleVm) { if (vehicleVm == null) { return(BadRequest()); } if (!ModelState.IsValid) { return(UnprocessableEntity(ModelState)); } var newItem = Mapper.Map <Vehicle>(vehicleVm); _vehicleRepository.Add(newItem); if (!await UnitOfWork.SaveAsync()) { return(StatusCode(500, "保存时出错")); } var vm = Mapper.Map <VehicleViewModel>(newItem); return(CreatedAtRoute("GetVehicle", new { id = vm.Id }, CreateLinksForVehicle(vm))); }