public async Task <HttpResponseMessage> CreateAccount(CreateAccountInput model)
        {
            var token = Request.Headers.GetValues("Token").First();
            var user  = userManager.GetUserByToken(token);

            if (user == null)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.NotFound, token));
            }

            var account = await accountManager.CreateAccount(model.Name, model.TargetSum);

            await accountManager.BindUserToAccountByUserId(account, user.UserID);

            return(Request.CreateResponse(HttpStatusCode.OK, new CreateAccountOutput
            {
                WalletId = account.AccountID,
                Name = account.Name,
                Balance = 0,
                TargetSum = (int)account.TargetSum,
                StartDay = DateTime.Now.Day,
                Logins = new List <string>(),
                Payments = new List <Payment>()
            }));
        }
Esempio n. 2
0
        public async Task <GetAccountOutput> Create(CreateAccountInput input)
        {
            var account = input.MapTo <Domain.Accounts.Account>();

            account = await _accountDomainService.Create(account);

            return(account.MapTo <GetAccountOutput>());
        }