Пример #1
0
        internal LoginOutEntity Translate(Login login)
        {
            LoginOutEntity loginOut = new LoginOutEntity()
            {
                Id    = login.Id,
                Email = login.Email,
                Name  = login.Name
            };

            return(loginOut);
        }
Пример #2
0
 public IHttpActionResult Post([FromBody] LoginInEntity login)
 {
     try
     {
         LoginOutEntity loginOut = loginService.Insert(login);
         return(Ok(loginOut));
     }
     catch (MyException e)
     {
         return(Results(e));
     }
     catch (System.Exception e)
     {
         return(Results(e));
     }
 }
Пример #3
0
        /// <summary>
        ///
        /// </summary>
        public TransactionOutEntity Insert(TransactionInEntity transaction, LoginOutEntity currentLogin)
        {
            if (currentLogin == null)
            {
                throw new MyException("You must registration");
            }
            if (string.IsNullOrEmpty(transaction.ToLogin))
            {
                throw new MyException("You must select the payment receiver");
            }

            if (transaction.Amount <= 0)
            {
                throw new MyException("The amount must be greater than 0");
            }

            ILoginService loginService = AppKernel.Get <ILoginService>(new[] {
                new ConstructorArgument("repositories", repositories)
            });;

            LoginOutEntity fromLogin = loginService.GetByMail(currentLogin.Email);

            if (!loginService.CheckEnough(fromLogin, transaction.Amount))
            {
                throw new MyException("Not enough funds");
            }

            LoginOutEntity toLogin = loginService.GetByMail(transaction.ToLogin);

            Transaction newTransaction = new Transaction(DateTime.Now, fromLogin.Id, toLogin.Id, transaction.Amount);

            repositories.Transaction.Save(newTransaction);
            repositories.Save();

            return(Translate(newTransaction));
        }