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("/")); }