Ejemplo n.º 1
0
        public EntityPackTS?ConstructFromEntity([Required, FromBody] EntityOperationRequest request)
        {
            var op = request.GetOperationSymbol(request.entity.GetType());

            var entity = OperationLogic.ServiceConstructFrom(request.entity, op, request.ParseArgs(op));

            return(entity == null ? null : SignumServer.GetEntityPack(entity));
        }
Ejemplo n.º 2
0
        public ActionResult <EntityPackTS> ExecuteEntity([Required, FromBody] EntityOperationRequest request)
        {
            var    op = request.GetOperationSymbol(request.entity.GetType());
            Entity entity;

            try
            {
                entity = OperationLogic.ServiceExecute(request.entity, op, request.ParseArgs(op));
            }
            catch (IntegrityCheckException ex)
            {
                GraphExplorer.SetValidationErrors(GraphExplorer.FromRootVirtual(request.entity), ex);
                this.TryValidateModel(request, "request");
                if (this.ModelState.IsValid)
                {
                    throw;
                }

                return(BadRequest(this.ModelState));
            }

            return(SignumServer.GetEntityPack(entity));
        }
Ejemplo n.º 3
0
        public void DeleteEntity([Required, FromBody] EntityOperationRequest request)
        {
            var op = request.GetOperationSymbol(request.entity.GetType());

            OperationLogic.ServiceDelete(request.entity, op, request.ParseArgs(op));
        }
Ejemplo n.º 4
0
    public ActionResult <EntityPackWithIssues> SaveWorkflow([Required, FromBody] EntityOperationRequest request)
    {
        WorkflowEntity       entity;
        List <WorkflowIssue> issuesContainer = new List <WorkflowIssue>();

        try
        {
            entity = ((WorkflowEntity)request.entity).Execute(WorkflowOperation.Save, request.ParseArgs(WorkflowOperation.Save.Symbol).EmptyIfNull().And(issuesContainer).ToArray());
        }
        catch (IntegrityCheckException ex)
        {
            GraphExplorer.SetValidationErrors(GraphExplorer.FromRoot(request.entity), ex);
            this.TryValidateModel(request, "request");
            this.ModelState.AddModelError("workflowIssues", JsonSerializer.Serialize(issuesContainer, SignumServer.JsonSerializerOptions));
            return(BadRequest(this.ModelState));
        }

        return(new EntityPackWithIssues(SignumServer.GetEntityPack(entity), issuesContainer));
    }