Пример #1
0
        public async Task <DeleteManagerByIdResponse> Handle(DeleteManagerByIdRequest request, CancellationToken cancellationToken)
        {
            if (request.AuthenticatorRole == AppRole.Employee)
            {
                return(new DeleteManagerByIdResponse()
                {
                    Error = new ErrorModel(ErrorType.Unauthorized)
                });
            }

            var query = new GetManagerQuery()
            {
                Id = request.ManagerId
            };
            var manager = await queryExecutor.Execute(query);

            if (manager == null)
            {
                return(new DeleteManagerByIdResponse
                {
                    Error = new ErrorModel(ErrorType.NotFound)
                });
            }

            var command = new DeleteManagerCommand()
            {
                Parameter = manager
            };
            var deletedManager = await commandExecutor.Execute(command);

            return(new DeleteManagerByIdResponse
            {
                Data = deletedManager
            });
        }
        public async Task <ActionResult <ManagerViewModel> > Delete([FromQuery] string managerId)
        {
            var manager = await Mediator.Send(new GetManagerByIdQuery { Id = managerId });

            var command          = new DeleteManagerCommand();
            var managerUpdateDto = new ManagerDeleteDto
            {
                ManagerViewModel     = manager,
                DeleteManagerCommand = command
            };

            return(this.View(managerUpdateDto));
        }
        public async Task <IActionResult> Delete([FromForm] DeleteManagerCommand command)
        {
            await Mediator.Send(command);

            return(this.Redirect("/"));
        }