コード例 #1
0
        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);
        }
コード例 #2
0
ファイル: AuthorService.cs プロジェクト: zach88/BetterCMS
        /// <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
            });
        }
コード例 #3
0
ファイル: AuthorController.cs プロジェクト: inshapardaz/api
        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());
        }
コード例 #4
0
        public async Task <IActionResult> DeleteAuthor([FromBody] DeleteAuthorRequest request)
        {
            Author author = await _authorService.GetById(request.Id);

            author.IsActive = false;
            _authorService.Update(author);
            return(Ok());
        }
コード例 #5
0
ファイル: AuthorController.cs プロジェクト: ebrym/BookShopApi
        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)));
        }
コード例 #6
0
        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);
        }
コード例 #7
0
        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());
        }
コード例 #8
0
        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));
            }
        }
コード例 #9
0
ファイル: AuthorService.cs プロジェクト: Steinerd/BetterCMS
        /// <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 };
        }