public DeleteAuthorResponse DeleteAuthor(DeleteAuthorRequest request) { var response = new DeleteAuthorResponse() { Request = request, ResponseToken = Guid.NewGuid() }; try { _repository.Delete( new Author() { Id = request.Id, LastModified = DateTimeOffset.Now, UserLastModified = new Model.Users.UserInfo() { Id = request.UserId } } ); response.Success = true; } catch (Exception ex) { response.Message = ex.Message; response.Success = false; } return(response); }
/// <summary> /// Deletes the specified author. /// </summary> /// <param name="request">The request.</param> /// <returns> /// <c>DeleteAuthorResponse</c> with success status. /// </returns> public DeleteAuthorResponse Delete(DeleteAuthorRequest request) { if (request.Data == null || request.Id.HasDefaultValue()) { return(new DeleteAuthorResponse { Data = false }); } var itemToDelete = repository .AsQueryable <Module.Blog.Models.Author>() .Where(p => p.Id == request.Id) .FirstOne(); if (request.Data.Version > 0 && itemToDelete.Version != request.Data.Version) { throw new ConcurrentDataException(itemToDelete); } unitOfWork.BeginTransaction(); repository.Delete(itemToDelete); unitOfWork.Commit(); Events.BlogEvents.Instance.OnAuthorDeleted(itemToDelete); return(new DeleteAuthorResponse { Data = true }); }
public async Task <IActionResult> DeleteAuthor(int libraryId, int authorId, CancellationToken token = default(CancellationToken)) { var request = new DeleteAuthorRequest(libraryId, authorId); await _commandProcessor.SendAsync(request, cancellationToken : token); return(new NoContentResult()); }
public async Task <IActionResult> DeleteAuthor([FromBody] DeleteAuthorRequest request) { Author author = await _authorService.GetById(request.Id); author.IsActive = false; _authorService.Update(author); return(Ok()); }
public async Task <IActionResult> DeleteAuthorAsync(string id) { DeleteAuthorRequest deleteAuthorRequest = new DeleteAuthorRequest(); deleteAuthorRequest.Id = id; (bool succeed, string message, DeleteAuthorResponse deleteAuthorResponse) = await Mediator.Send(deleteAuthorRequest); if (succeed) { return(Ok(deleteAuthorResponse.ToResponse())); } return(BadRequest(message.ToResponse(false, message))); }
public DeleteAuthorResponse DeleteAuthor(DeleteAuthorRequest request) { DeleteAuthorResponse response = new DeleteAuthorResponse(); try { _authorRepository.Delete(request.AuthorId); response.Success = true; } catch (Exception ex) { response.Success = false; response.Message = ex.Message; } return(response); }
public IHttpActionResult Delete(int id) { var loggedUserId = HttpContext.Current.GetOwinContext().GetUserId(); var request = new DeleteAuthorRequest() { RequestToken = Guid.NewGuid(), UserId = loggedUserId, Id = id }; var authorsResponse = _authorService.DeleteAuthor(request); if (!authorsResponse.Success) { return(BadRequest(authorsResponse.Message)); } return(Ok()); }
public ActionResult Delete(int id) { DeleteAuthorRequest request = new DeleteAuthorRequest() { AuthorId = id }; DeleteAuthorResponse response = _authorService.DeleteAuthor(request); if (response.Success) { return(RedirectToAction("Index")); } else { AuthorListPageViewModel model = new AuthorListPageViewModel(); model.Success = false; model.Message = response.Message; return(View("Index", model)); } }
/// <summary> /// Deletes the specified author. /// </summary> /// <param name="request">The request.</param> /// <returns> /// <c>DeleteAuthorResponse</c> with success status. /// </returns> public DeleteAuthorResponse Delete(DeleteAuthorRequest request) { if (request.Data == null || request.Id.HasDefaultValue()) { return new DeleteAuthorResponse { Data = false }; } var itemToDelete = repository .AsQueryable<Module.Blog.Models.Author>() .Where(p => p.Id == request.Id) .FirstOne(); if (request.Data.Version > 0 && itemToDelete.Version != request.Data.Version) { throw new ConcurrentDataException(itemToDelete); } unitOfWork.BeginTransaction(); repository.Delete(itemToDelete); unitOfWork.Commit(); Events.BlogEvents.Instance.OnAuthorDeleted(itemToDelete); return new DeleteAuthorResponse { Data = true }; }