Пример #1
0
        public EntityPackTS ExecuteLite([Required, FromBody] LiteOperationRequest request)
        {
            var op     = request.GetOperationSymbol(request.lite.EntityType);
            var entity = OperationLogic.ServiceExecuteLite(request.lite, op, request.ParseArgs(op));

            return(SignumServer.GetEntityPack(entity));
        }
Пример #2
0
        public MultiOperationResponse ExecuteMultiple([Required, FromBody] MultiOperationRequest request)
        {
            var errors = ForeachMultiple(request.lites, lite =>
                                         OperationLogic.ServiceExecuteLite(lite, request.GetOperationSymbol(lite.EntityType), request.args));

            return(new MultiOperationResponse(errors));
        }
Пример #3
0
        public MultiOperationResponse ExecuteMultiple([Required, FromBody] MultiOperationRequest request)
        {
            if (request.Setters.HasItems())
            {
                var errors = ForeachMultiple(request.Lites, lite =>
                {
                    var entity = lite.RetrieveAndForget();

                    MultiSetter.SetSetters(entity, request.Setters, PropertyRoute.Root(entity.GetType()));
                    var op = request.GetOperationSymbol(entity.GetType());
                    OperationLogic.ServiceExecute(entity, op, request.ParseArgs(op));
                });

                return(new MultiOperationResponse(errors));
            }
            else
            {
                var errors = ForeachMultiple(request.Lites, lite =>
                {
                    var op = request.GetOperationSymbol(lite.EntityType);
                    OperationLogic.ServiceExecuteLite(lite, op, request.ParseArgs(op));
                });

                return(new MultiOperationResponse(errors));
            }
        }
Пример #4
0
        public ActionResult Execute()
        {
            Entity entity = null;

            if (this.IsLite())
            {
                Lite <Entity> lite = this.ExtractLite <Entity>();
                entity = OperationLogic.ServiceExecuteLite(lite, this.GetOperationKeyAssert(lite.EntityType));
            }
            else
            {
                MappingContext context = this.UntypedExtractEntity().UntypedApplyChanges(this).UntypedValidate();
                entity = (Entity)context.UntypedValue;

                if (context.HasErrors())
                {
                    return(context.ToJsonModelState());
                }

                try
                {
                    entity = OperationLogic.ServiceExecute(entity, this.GetOperationKeyAssert(entity.GetType()));
                }
                catch (IntegrityCheckException e)
                {
                    context.ImportErrors(e.Errors);
                    return(context.ToJsonModelState());
                }
            }

            return(this.DefaultExecuteResult(entity));
        }
Пример #5
0
        public MultiOperationResponse ExecuteMultiple(MultiOperationRequest request)
        {
            var errors = ForeachMultiple(request.lites, lite =>
                                         OperationLogic.ServiceExecuteLite(lite, request.operarionSymbol, request.args));

            return(new MultiOperationResponse {
                errors = errors
            });
        }
Пример #6
0
        public ActionResult ExecuteMultiple()
        {
            OperationSymbol operationSymbol = this.GetOperationKeyAssert();

            var lites = this.ParseLiteKeys <Entity>();

            foreach (var item in lites)
            {
                OperationLogic.ServiceExecuteLite(item, operationSymbol);
            }

            return(null);
        }
Пример #7
0
        public ActionResult ExecuteMultiple()
        {
            var             lites           = this.ParseLiteKeys <Entity>();
            OperationSymbol operationSymbol = lites.Select(a => a.EntityType).Distinct().Select(type => this.GetOperationKeyAssert(type)).Distinct().SingleEx();


            foreach (var item in lites)
            {
                try
                {
                    OperationLogic.ServiceExecuteLite(item, operationSymbol);
                }
                catch (Exception ex)
                {
                    ex.LogException();
                }
            }

            return(null);
        }
Пример #8
0
        public EntityPackTS ExecuteLite(LiteOperationRequest request)
        {
            var entity = OperationLogic.ServiceExecuteLite(request.lite, request.GetOperationSymbol(request.lite.EntityType), request.args);

            return(SignumServer.GetEntityPack(entity));
        }
Пример #9
0
 public Entity ExecuteOperationLite(Lite <IEntity> lite, OperationSymbol operationSymbol, params object[] args)
 {
     return(Return(MethodInfo.GetCurrentMethod(), operationSymbol.ToString(),
                   () => (Entity)OperationLogic.ServiceExecuteLite(lite, operationSymbol, args)));
 }