public IApiResult Delete(DeleteQuestionnaire operation) { var result = operation.ExecuteAsync().Result; if (result is ValidationsOutput) { return(new ApiResult <List <ValidationItem> >() { Data = ((ValidationsOutput)result).Errors }); } else { return(new ApiResult <object>() { Status = ApiResult <object> .ApiStatus.Success }); } }
public QuestionnairesModule(RouteHandlerFactory routeHandlerFactory) : base("/questionnaires") { var handler = routeHandlerFactory.CreateRouteHandler(this); Get("/", _ => handler.Get <GetAllQuestionnaires, List <QuestionnaireModel> >(new GetAllQuestionnaires())); Post("/", _ => { this.RequiresAuthentication(); var createQuestionnaire = this.Bind <CreateQuestionnaire>(); createQuestionnaire.SavedById = User.UserId; return(handler.Post(createQuestionnaire, createResponse)); object createResponse(CreateQuestionnaire created) { return(new { id = created.QuestionnaireId }); } }); Put("/{id:int}", _ => { this.RequiresAuthentication(); var updateQuestionnaire = this.Bind <UpdateQuestionnaire>(); updateQuestionnaire.QuestionnaireId = _.id; updateQuestionnaire.SavedById = User.UserId; return(handler.Put(updateQuestionnaire)); }); Delete("/{id:int}", _ => { this.RequiresAuthentication(); var deleteQuestionnaire = new DeleteQuestionnaire { DeletedById = User.UserId, QuestionnaireId = _.id }; return(handler.Delete(deleteQuestionnaire)); }); }