public ReturnOperation AdicionaUsuario(User user)
        {
            var returnOperation = new ReturnOperation();
            _userRepository.Add(user);

            return returnOperation;
        }
示例#2
0
 public IBuildIntention <IReturnOperation> GetBuildIntention(IConversionContext context)
 {
     var(toBuild, maker) = ReturnOperation.Create();
     return(new BuildIntention <IReturnOperation>(toBuild, () =>
     {
         maker.Build(Result.GetOrThrow().ConvertElementOrThrow(context));
     }));
 }
示例#3
0
        public PairType()
        {
            var pairTypeNumber =
                InterfaceType.CreateAndBuild(
                    new List <IMemberDefinition> {
                MemberDefinition.CreateAndBuild(new NameKey("x"), new NumberType(), false),
                MemberDefinition.CreateAndBuild(new NameKey("y"), new NumberType(), false)
            });

            var inputKey = new NameKey("input");
            var input    = MemberDefinition.CreateAndBuild(inputKey, new NumberType(), false);

            var methodScope = Scope.CreateAndBuild(new List <Scope.IsStatic> {
                new Scope.IsStatic(input, false)
            });

            var localX = MemberDefinition.CreateAndBuild(new NameKey("x"), new NumberType(), false);
            var localY = MemberDefinition.CreateAndBuild(new NameKey("y"), new NumberType(), false);

            var pairifyKey = new NameKey("pairify");
            var pairify    = MemberDefinition.CreateAndBuild(pairifyKey, MethodType.CreateAndBuild(new NumberType(), pairTypeNumber), false);

            Module = ModuleDefinition.CreateAndBuild(
                Scope.CreateAndBuild(
                    new List <Scope.IsStatic> {
                new Scope.IsStatic(MemberDefinition.CreateAndBuild(pairifyKey, MethodType.CreateAndBuild(new NumberType(), pairTypeNumber), false), false)
            }),
                new ICodeElement[] {
                AssignOperation.CreateAndBuild(
                    MethodDefinition.CreateAndBuild(
                        new NumberType(),
                        pairTypeNumber,
                        input,
                        methodScope,
                        new ICodeElement[] {
                    ReturnOperation.CreateAndBuild(
                        ObjectDefiniton.CreateAndBuild(
                            Scope.CreateAndBuild(
                                new List <Scope.IsStatic> {
                        new Scope.IsStatic(localX, false),
                        new Scope.IsStatic(localY, false)
                    }),
                            new IAssignOperation[] {
                        AssignOperation.CreateAndBuild(
                            MemberReference.CreateAndBuild(input),
                            MemberReference.CreateAndBuild(localX)),
                        AssignOperation.CreateAndBuild(
                            MemberReference.CreateAndBuild(input),
                            MemberReference.CreateAndBuild(localY))
                    }))
                },
                        new ICodeElement[0],
                        false),
                    MemberReference.CreateAndBuild(pairify))
            },
                new NameKey("pair-type"));
        }
        public ReturnOperation SetCreate(TransacaoFinanceira transacao)
        {
            var returnOperation = new ReturnOperation();

            _transacaoFinanceiraRepository.Add(transacao);
            _usuarioClient.AtualizaSaldo(transacao.Valor, transacao.TipoTransacaoFinanceira, transacao.UsuarioId);

            return returnOperation;
        }
示例#5
0
        public PairType()
        {
            var pairTypeNumber =
                InterfaceType.CreateAndBuild(
                    new List <IMemberDefinition> {
                MemberDefinition.CreateAndBuild(new NameKey("x"), new NumberType(), Access.ReadWrite),
                MemberDefinition.CreateAndBuild(new NameKey("y"), new NumberType(), Access.ReadWrite)
            });

            var inputKey = new NameKey("input");
            var input    = MemberDefinition.CreateAndBuild(inputKey, new NumberType(), Access.ReadWrite);

            var methodScope = Scope.CreateAndBuild(new List <IsStatic> {
                new IsStatic(input, false)
            });

            var localX = MemberDefinition.CreateAndBuild(new NameKey("x"), new NumberType(), Access.ReadWrite);
            var localY = MemberDefinition.CreateAndBuild(new NameKey("y"), new NumberType(), Access.ReadWrite);

            var pairifyKey = new NameKey("pairify");
            var pairify    = MemberDefinition.CreateAndBuild(pairifyKey, MethodType.CreateAndBuild(new NumberType(), pairTypeNumber), Access.ReadWrite);

            RootScope = Model.Instantiated.RootScope.CreateAndBuild(
                Scope.CreateAndBuild(
                    new List <IsStatic> {
                new IsStatic(MemberDefinition.CreateAndBuild(pairifyKey, MethodType.CreateAndBuild(new NumberType(), pairTypeNumber), Access.ReadWrite), false)
            }),
                new [] {
                AssignOperation.CreateAndBuild(
                    MethodDefinition.CreateAndBuild(
                        pairTypeNumber,
                        input,
                        methodScope,
                        new ICodeElement[] {
                    ReturnOperation.CreateAndBuild(
                        ObjectDefiniton.CreateAndBuild(
                            Scope.CreateAndBuild(
                                new List <IsStatic> {
                        new IsStatic(localX, false),
                        new IsStatic(localY, false)
                    }),
                            new IAssignOperation[] {
                        AssignOperation.CreateAndBuild(
                            MemberReference.CreateAndBuild(input),
                            MemberReference.CreateAndBuild(localX)),
                        AssignOperation.CreateAndBuild(
                            MemberReference.CreateAndBuild(input),
                            MemberReference.CreateAndBuild(localY))
                    },
                            InterfaceType.CreateAndBuild(new [] { localX, localY })))
                },
                        Array.Empty <ICodeElement>()),
                    MemberReference.CreateAndBuild(pairify))
            },
                EntryPointDefinition.CreateAndBuild(new EmptyType(), MemberDefinition.CreateAndBuild(new NameKey("input"), new NumberType(), Access.ReadWrite), Scope.CreateAndBuild(Array.Empty <IsStatic>()), Array.Empty <ICodeElement>(), Array.Empty <ICodeElement>()));
        }
示例#6
0
        public Closoure()
        {
            var xKey = new NameKey("x");
            var x    = MemberDefinition.CreateAndBuild(xKey, new NumberType(), false);

            var yKey = new NameKey("y");
            var y    = MemberDefinition.CreateAndBuild(yKey, new NumberType(), false);

            var methodScope = Scope.CreateAndBuild(new List <Scope.IsStatic> {
                new Scope.IsStatic(x, false)
            });
            var innerMethodScope = Scope.CreateAndBuild(new List <Scope.IsStatic> {
                new Scope.IsStatic(y, false)
            }, methodScope);

            Module = ModuleDefinition.CreateAndBuild(
                Scope.CreateAndBuild(
                    new List <Scope.IsStatic>()
            {
                new Scope.IsStatic(MemberDefinition.CreateAndBuild(new NameKey("create-accululator"), new AnyType(), false), false)
            }),
                new[] {
                AssignOperation.CreateAndBuild(
                    MethodDefinition.CreateAndBuild(
                        new NumberType(),
                        MethodType.CreateAndBuild(
                            new NumberType(),
                            new NumberType()),
                        x,
                        methodScope,
                        new ICodeElement[] {
                    ReturnOperation.CreateAndBuild(
                        MethodDefinition.CreateAndBuild(
                            new NumberType(),
                            new NumberType(),
                            y,
                            innerMethodScope,
                            new ICodeElement[] {
                        AssignOperation.CreateAndBuild(
                            AddOperation.CreateAndBuild(
                                MemberReference.CreateAndBuild(x),
                                MemberReference.CreateAndBuild(y)),
                            MemberReference.CreateAndBuild(x)),
                        ReturnOperation.CreateAndBuild(
                            MemberReference.CreateAndBuild(x))
                    },
                            new ICodeElement[0],
                            false)
                        )
                },
                        new ICodeElement[0],
                        false),
                    MemberReference.CreateAndBuild(MemberDefinition.CreateAndBuild(new NameKey("create-accululator"), new AnyType(), false)))
            },
                new NameKey("closoure"));
        }
        public ReturnOperation SetDelete(int transferenciaId)
        {
            var returnOperation = new ReturnOperation();
            var transacao = _transacaoFinanceiraRepository.GetById(transferenciaId);

            _usuarioClient.AtualizaSaldo(-transacao.Valor, transacao.TipoTransacaoFinanceira, transacao.UsuarioId);

            _transacaoFinanceiraRepository.Remove(transacao);
            return returnOperation;
        }
        public ReturnOperation SetCreate(RegisterViewModel model)
        {
            var returnOperation = new ReturnOperation();

            var client = Mapper.Map<User>(model);

            returnOperation = _userApp.AdicionaUsuario(client);

            return returnOperation;
        }
    public static ReturnOperation Create(string json)
    {
        ReturnOperation            deserializedUser = new ReturnOperation();
        MemoryStream               ms  = new MemoryStream(Encoding.UTF8.GetBytes(json));
        DataContractJsonSerializer ser = new DataContractJsonSerializer(deserializedUser.GetType());

        deserializedUser = ser.ReadObject(ms) as ReturnOperation;
        ms.Close();
        return(deserializedUser);
    }
示例#10
0
        public Closoure()
        {
            var xKey = new NameKey("x");
            var x    = MemberDefinition.CreateAndBuild(xKey, new NumberType(), Access.ReadWrite);

            var yKey = new NameKey("y");
            var y    = MemberDefinition.CreateAndBuild(yKey, new NumberType(), Access.ReadWrite);

            var methodScope = Scope.CreateAndBuild(new List <IsStatic> {
                new IsStatic(x, false)
            });
            var innerMethodScope = Scope.CreateAndBuild(new List <IsStatic> {
                new IsStatic(y, false)
            });

            RootScope = Model.Instantiated.RootScope.CreateAndBuild(
                Scope.CreateAndBuild(
                    new List <IsStatic>()
            {
                new IsStatic(MemberDefinition.CreateAndBuild(new NameKey("create-accululator"), new AnyType(), Access.ReadWrite), false)
            }),
                new [] {
                AssignOperation.CreateAndBuild(
                    MethodDefinition.CreateAndBuild(
                        MethodType.CreateAndBuild(
                            new NumberType(),
                            new NumberType()),
                        x,
                        methodScope,
                        new ICodeElement[] {
                    ReturnOperation.CreateAndBuild(
                        MethodDefinition.CreateAndBuild(
                            new NumberType(),
                            y,
                            innerMethodScope,
                            new ICodeElement[] {
                        AssignOperation.CreateAndBuild(
                            AddOperation.CreateAndBuild(
                                MemberReference.CreateAndBuild(x),
                                MemberReference.CreateAndBuild(y)),
                            MemberReference.CreateAndBuild(x)),
                        ReturnOperation.CreateAndBuild(MemberReference.CreateAndBuild(x))
                    },
                            Array.Empty <ICodeElement>())
                        )
                },
                        Array.Empty <ICodeElement>()),
                    MemberReference.CreateAndBuild(MemberDefinition.CreateAndBuild(new NameKey("create-accululator"), new AnyType(), Access.ReadWrite)))
            },
                EntryPointDefinition.CreateAndBuild(new EmptyType(), MemberDefinition.CreateAndBuild(new NameKey("input"), new NumberType(), Access.ReadWrite), Scope.CreateAndBuild(Array.Empty <IsStatic>()), Array.Empty <ICodeElement>(), Array.Empty <ICodeElement>()));
        }
示例#11
0
        public Factorial()
        {
            var ifBlockScope = Scope.CreateAndBuild(new List <Scope.IsStatic> {
            });
            var elseBlock    = Scope.CreateAndBuild(new List <Scope.IsStatic> {
            });

            var inputKey = new NameKey("input");
            var input    = MemberDefinition.CreateAndBuild(inputKey, new NumberType(), false);

            var facKey = new NameKey("fac");
            var fac    = MemberDefinition.CreateAndBuild(facKey, MethodType.CreateAndBuild(new NumberType(), new NumberType()), false);


            var methodScope = Scope.CreateAndBuild(new List <Scope.IsStatic> {
                new Scope.IsStatic(input, false)
            });


            Module =
                ModuleDefinition.CreateAndBuild(
                    Scope.CreateAndBuild(
                        new List <Scope.IsStatic> {
                new Scope.IsStatic(MemberDefinition.CreateAndBuild(facKey, MethodType.CreateAndBuild(new NumberType(), new NumberType()), false), false)
            }),
                    new ICodeElement[] {
                AssignOperation.CreateAndBuild(
                    MethodDefinition.CreateAndBuild(
                        new NumberType(),
                        new NumberType(),
                        input,
                        methodScope,
                        new ICodeElement[] {
                    ElseOperation.CreateAndBuild(
                        IfOperation.CreateAndBuild(
                            LessThanOperation.CreateAndBuild(
                                MemberReference.CreateAndBuild(input),
                                ConstantNumber.CreateAndBuild(2)),
                            BlockDefinition.CreateAndBuild(
                                ifBlockScope,
                                new ICodeElement[] {
                        ReturnOperation.CreateAndBuild(
                            ConstantNumber.CreateAndBuild(1))
                    },
                                new ICodeElement[0])),
                        BlockDefinition.CreateAndBuild(
                            elseBlock,
                            new ICodeElement[] {
                        ReturnOperation.CreateAndBuild(
                            MultiplyOperation.CreateAndBuild(
                                NextCallOperation.CreateAndBuild(
                                    SubtractOperation.CreateAndBuild(
                                        MemberReference.CreateAndBuild(input),
                                        ConstantNumber.CreateAndBuild(1)),
                                    MemberReference.CreateAndBuild(fac)),
                                MemberReference.CreateAndBuild(input)))
                    },
                            new ICodeElement[0]))
                },
                        new ICodeElement[0],
                        false),
                    MemberReference.CreateAndBuild(fac)
                    )
            },
                    new NameKey("factorial")
                    );
        }
示例#12
0
        public Factorial()
        {
            var ifBlockScope = Scope.CreateAndBuild(new List <IsStatic> {
            });
            var elseBlock    = Scope.CreateAndBuild(new List <IsStatic> {
            });

            var inputKey = new NameKey("input");
            var input    = MemberDefinition.CreateAndBuild(inputKey, new NumberType(), Access.ReadWrite);

            var facKey = new NameKey("fac");
            var fac    = MemberDefinition.CreateAndBuild(facKey, MethodType.CreateAndBuild(new NumberType(), new NumberType()), Access.ReadWrite);

            var methodScope = Scope.CreateAndBuild(new List <IsStatic> {
                new IsStatic(input, false)
            });

            RootScope =
                Model.Instantiated.RootScope.CreateAndBuild(
                    Scope.CreateAndBuild(
                        new List <IsStatic> {
                new IsStatic(MemberDefinition.CreateAndBuild(facKey, MethodType.CreateAndBuild(
                                                                 new NumberType(),
                                                                 new NumberType()), Access.ReadWrite), false)
            }),
                    new [] {
                AssignOperation.CreateAndBuild(
                    MethodDefinition.CreateAndBuild(
                        new NumberType(),
                        input,
                        methodScope,
                        new ICodeElement[] {
                    ElseOperation.CreateAndBuild(
                        IfOperation.CreateAndBuild(
                            LessThanOperation.CreateAndBuild(
                                MemberReference.CreateAndBuild(input),
                                ConstantNumber.CreateAndBuild(2)),
                            BlockDefinition.CreateAndBuild(
                                ifBlockScope,
                                new ICodeElement[] {
                        ReturnOperation.CreateAndBuild(
                            ConstantNumber.CreateAndBuild(1))
                    },
                                Array.Empty <ICodeElement>())),
                        BlockDefinition.CreateAndBuild(
                            elseBlock,
                            new ICodeElement[] {
                        ReturnOperation.CreateAndBuild(
                            MultiplyOperation.CreateAndBuild(
                                NextCallOperation.CreateAndBuild(
                                    SubtractOperation.CreateAndBuild(
                                        MemberReference.CreateAndBuild(input),
                                        ConstantNumber.CreateAndBuild(1)),
                                    MemberReference.CreateAndBuild(fac)),
                                MemberReference.CreateAndBuild(input)))
                    },
                            Array.Empty <ICodeElement>()))
                },
                        Array.Empty <ICodeElement>()),
                    MemberReference.CreateAndBuild(fac)
                    )
            },
                    EntryPointDefinition.CreateAndBuild(new EmptyType(), MemberDefinition.CreateAndBuild(new NameKey("input"), new NumberType(), Access.ReadWrite), Scope.CreateAndBuild(Array.Empty <IsStatic>()), Array.Empty <ICodeElement>(), Array.Empty <ICodeElement>())
                    );
        }