public virtual async Task <IActionResult> Update(string id, [FromBody] TUpdateDto dto) { if (dto is IDtoWithId) { IDtoWithId dtoWithId = dto as IDtoWithId; if (dto == null || id.ToString() != dtoWithId.Id.ToString()) { return(ApiErrorMessage(Messages.RequestInvalid)); } } if (!ModelState.IsValid) { return(ValidationErrors(ModelState)); } var cts = TaskHelper.CreateNewCancellationTokenSource(); //var exists = await Service.ExistsAsync(cts.Token, id); //if (!exists) //{ // return ApiNotFoundErrorMessage(Messages.NotFound); //} var result = await Service.UpdateGraphAsync(id, dto, Username, cts.Token); if (result.IsFailure) { return(ValidationErrors(result)); } //return ApiSuccessMessage(Messages.UpdateSuccessful, dto.Id); //return Success(dto); return(NoContent()); }
public virtual async Task <IActionResult> Create([FromBody] TCreateDto dto) { if (dto == null) { return(ApiErrorMessage(Messages.RequestInvalid)); } if (!ModelState.IsValid) { return(ValidationErrors(ModelState)); } var cts = TaskHelper.CreateNewCancellationTokenSource(); var result = await Service.CreateAsync(dto, User.Identity.Name, cts.Token); if (result.IsFailure) { return(ValidationErrors(result)); } var createdDto = result.Value; //return CreatedAtRoute("", new { id = createdDto.Id }, createdDto); //return ApiSuccessMessage(Messages.AddSuccessful, createdDto.Id); //return Success(createdDto); if (createdDto is IDtoWithId) { IDtoWithId dtoWithId = dto as IDtoWithId; return(CreatedAtAction(nameof(Create), new { id = dtoWithId.Id }, createdDto)); } else { return(Ok(createdDto)); } }