public IHttpActionResult Post(WithdrawModel withdraw)
        {
            Withdrawal withdrawTemp = new Withdrawal();
            var        balance      = Uow.Repository <Balance>().FirstOrDefault(a => a.UserId == withdraw.UserId);

            if (withdraw.Amount <= balance.BalanceAmount)
            {
                var account = Uow.Repository <AccountDetail>().FirstOrDefault(a => a.AccountNumber == withdraw.AccountNumber);
                var branch  = Uow.Repository <BankBranch>().FirstOrDefault(a => (a.IFSC_Code == withdraw.IFSC) && (a.Bank.BankId == withdraw.BankId));
                if (account != null && branch != null)
                {
                    if (account.BankBranchId == branch.BankBranchId)
                    {
                        withdrawTemp.AccountId        = account.AccountId;
                        withdrawTemp.WithdrawalAmount = withdraw.Amount;
                        withdrawTemp.UserId           = withdraw.UserId;
                        withdrawTemp.BankId           = withdraw.BankId;
                        var date = DateTime.Now;
                        withdrawTemp.WithdrawDate   = date;
                        withdrawTemp.WithdrawStatus = true;
                        withdrawTemp.BalanceId      = balance.BalanceId;
                        withdrawTemp.Comment        = withdraw.Comment;

                        var withdrawMessage = WithdrawDomain.Post(withdrawTemp);
                        if (withdrawMessage == "Withdrawal Successfull!!")
                        {
                            var tempBalance = BalanceDomain.GetBy(withdraw.UserId);
                            tempBalance.BalanceAmount = tempBalance.BalanceAmount - withdraw.Amount;
                            var accountDetail = AccountDetailsDomain.Getby(account.AccountId);
                            accountDetail.AccountBalance = accountDetail.AccountBalance + withdraw.Amount;
                            BalanceDomain.Put(tempBalance);
                            AccountDetailsDomain.Put(accountDetail);
                            return(Ok("successfull"));
                        }
                        return(Ok("not successfull"));
                    }
                    else
                    {
                        return(Ok("error"));
                    }
                }
                else
                {
                    return(Ok("error"));
                }
            }
            else
            {
                return(Ok("error"));
            }
        }
 public IHttpActionResult Getby(int id)
 {
     return(Ok(WithdrawDomain.GetbyId(id)));
 }
 public IHttpActionResult Get()
 {
     return(Ok(WithdrawDomain.Get()));
 }