public async Task <ActionResult <OwnerViewModel> > Post(OwnerViewModel createOwner) { OwnerModel owner = _mapper.MapObjectTo <OwnerModel>(createOwner); bool isCreated = await _ownerService.CreateOwnerAsync(owner); return(isCreated ? Created(Url.Action(nameof(GetOwnerById), new { id = owner.Id }), _mapper.MapObjectTo <OwnerViewModel>(owner)) as ActionResult : BadRequest() as ActionResult); }
public async Task <IActionResult> CreateOwner([FromBody] OwnerForCreationDto owner) { try { if (owner == null) { _logger.LogError("Owner object sent from client is null."); return(BadRequest("Owner object is null")); } if (!ModelState.IsValid) { _logger.LogError("Invalid owner object sent from client."); return(BadRequest("Invalid model object")); } var createdOwner = await _ownerService.CreateOwnerAsync(owner); return(CreatedAtRoute("OwnerById", new { id = createdOwner.Id }, createdOwner)); } catch (Exception ex) { _logger.LogError($"Something went wrong inside CreateOwner action: {ex.Message}"); return(StatusCode(500, "Internal server error")); } }
public async Task <IActionResult> Post([FromBody] CreateOwnerRequest ownerRequest) { var owner = new Owner { Name = ownerRequest.Name, DateOfBirth = ownerRequest.DateOfBirth, Address = ownerRequest.Address }; await _ownerService.CreateOwnerAsync(owner); var baseUrl = $"{HttpContext.Request.Scheme}://{HttpContext.Request.Host.ToUriComponent().ToString()}"; var locationUrl = baseUrl + "/" + ApiRoutes.Owners.Get.Replace("{ownerId}", owner.Id.ToString()); var response = new OwnerResponse { Id = owner.Id }; return(Created(locationUrl, response)); }