private void Save() { ErrorProvider1.Clear(); if (PihakKeduaCombo.SelectedValue == null) { ErrorProvider1.SetError(LabelPihakKedua, "Pilih Pihak Kedua"); return; } if (JenisBayarCombo.SelectedValue == null) { ErrorProvider1.SetError(JenisBayarLabel, "Pilih Jenis Bayar"); return; } if (BuyerNameTextBox.Text == "") { ErrorProvider1.SetError(BuyerNameLabel, "Isi Contact Person Customer"); return; } var deposit = new DepositModel { DepositID = BiayaIDText.Text, Tgl = TglText.Value.ToString("dd-MM-yyyy"), Jam = JamText.Text, PihakKeduaID = PihakKeduaCombo.SelectedValue.ToString(), BuyerName = BuyerNameTextBox.Text, JenisBayarID = JenisBayarCombo.SelectedValue.ToString(), Keterangan = KeteranganText.Text, NilaiDeposit = NilIText.Value, ListBrg = _listBrg }; using (var trans = TransHelper.NewScope()) { var result = _depositBL.Save(deposit); _bpKasBL.Generate(result); _bpHutangBL.GenHutang(result); trans.Complete(); } ClearForm(); TglText.Focus(); }
public async Task DepositarValorNaContaCorrente() { int AccountNumber = 123; decimal BalanceAmmout = 120; _bankAccountRepository.Setup(x => x.FindAccount(AccountNumber)) .Returns(Task.FromResult(new BankAccount { Number = AccountNumber, Balance = BalanceAmmout })); _bankAccountRepository.Setup(r => r.SingleUnit.CommitAsync()).Returns(Task.FromResult(true)); var depositModel = new DepositModel() { AccountNumber = AccountNumber, Ammount = 30 }; var atual = await _bankAccountService.Deposit(depositModel); Assert.Equal(150, atual.Saldo); }
public async Task <BankAccountModel> Deposit(DepositModel model) { var validator = new DepositValidator(_bankAccountRepository); var result = validator.Validate(model); if (!result.IsValid) { throw new Exception(string.Join("; ", result.Errors)); } var account = await _bankAccountRepository.FindAccount(model.AccountNumber); account.Balance += model.Ammount; _bankAccountRepository.Change(account); await _bankAccountRepository.SingleUnit.CommitAsync(); return(_mapper.Map <BankAccountModel>(account)); }
public BPHutangModel GenHutang(PenjualanModel penjualan, DepositModel deposit) { // ambil data hutang berdasarkan deposit var bpHutang = GetData(deposit.DepositID); if (bpHutang == null) { var errMsg = string.Format("Hutang {0} tidak ditemukan ", deposit.DepositID); throw new ArgumentException(errMsg); } // hapus detil lunas yang id-nya = PenjualanID List <BPHutangDetilModel> newListLunas = ( from c in bpHutang.ListLunas where c.ReffID != penjualan.PenjualanID select c ).ToList(); // tambahkan pelunasan dari penjualan int noUrut = newListLunas.Count + 1; newListLunas.Add(new BPHutangDetilModel { BPHutangID = bpHutang.BPHutangID, BPHutangDetilID = bpHutang.BPHutangID + '-' + noUrut.ToString().PadLeft(2, '0'), Tgl = penjualan.TglPenjualan, Jam = penjualan.JamPenjualan, ReffID = penjualan.PenjualanID, Keterangan = " Penjualan a/n " + penjualan.BuyerName, NilaiHutang = 0, NilaiLunas = penjualan.NilaiGrandTotal > penjualan.NilaiDeposit ? penjualan.NilaiDeposit : penjualan.NilaiGrandTotal, }); bpHutang.ListLunas = newListLunas; // simpan var result = Save(bpHutang); return(result); }
public BPHutangModel GenHutang(ReturDepositModel returDeposit, DepositModel deposit) { // ambil data hutang berdasarkan deposit var bpHutang = GetData(deposit.DepositID); if (bpHutang == null) { var errMsg = string.Format("Hutang {0} tidak ditemukan ", deposit.DepositID); throw new ArgumentException(errMsg); } // hapus detil lunas yang id-nya = PenjualanID List <BPHutangDetilModel> newListLunas = ( from c in bpHutang.ListLunas where c.ReffID != returDeposit.ReturDepositID select c ).ToList(); // tambahkan pelunasan dari retur deposit int noUrut = newListLunas.Count + 1; newListLunas.Add(new BPHutangDetilModel { BPHutangID = bpHutang.BPHutangID, BPHutangDetilID = bpHutang.BPHutangID + '-' + noUrut.ToString().PadLeft(2, '0'), Tgl = returDeposit.Tgl, Jam = returDeposit.Jam, ReffID = returDeposit.ReturDepositID, Keterangan = " Retur Deposit a/n " + returDeposit.PihakKeduaName, NilaiHutang = 0, NilaiLunas = returDeposit.NilaiReturDeposit }); bpHutang.ListLunas = newListLunas; // simpan var result = Save(bpHutang); return(result); }
public async Task <IResult <DepositModel> > Deposit(DepositModel movementModel) { try { if (movementModel.Amount <= 0) { return(Result <DepositModel> .BuildError("Favor inserir um valor válido.").LoggerError()); } var account = await _sharedService.AccountValidate(movementModel.Cpf, movementModel.Password); if (!account.Success) { return(Result <DepositModel> .BuildError(account.Messages).LoggerError()); } var result = new Result <DepositModel>(); var exist = await _movementService.ExistDeposit(account.Model.Id); decimal bonus = 0; if (!exist) { bonus = movementModel.Amount.GetPercentage(10); result.AddMessage("Parábens você acabou de realizar seu primeiro depósito," + $" você recebeu 10% do valor a título de boas vindas!"); } account.Model.Balance += (movementModel.Amount + bonus); await _movementService.CreateMovement(movementModel.Amount, MovementType.Deposit, account.Model, account.Model.Balance, bonus : bonus); await _accountRepository.SaveAsync(); return(result.AddSuccess(movementModel, "Depósito realizado com sucesso!")); } catch (Exception error) { return(Result <DepositModel> .BuildError("Erro ao realizar desosito, favor tente novamento", error) .LoggerError()); } }
public IActionResult Create(DepositModel model) { try { ViewBagData(); if (!ModelState.IsValid) { return(View(model)); } model.EmployeeId = GetEmployeeId().Result; model.CustomerId = GetCustomerId(model.CustomerId); model.Reference = _generator.DateCodeString() + _generator.RandomNumber(1111111, 7777777); model.TransactionCode = model.TransactionCode == (TransactionCode)1 ? TransactionCode.Deposit : TransactionCode.Withdrawal; var request = _depositService.Create(model); if (request.Successful) { return(RedirectToAction("History", "Savings", new { id = model.CustomerId })); } if (request.ResultType == ResultType.InsufficientBalance) { TempData["Error"] = "Insufficient Balance"; } if (request.ResultType == ResultType.PendingTransaction) { TempData["Error"] = "This custormer has a pending transaction"; } } catch (Exception ex) { _logger.LogError(ex.Message + " " + ex.InnerException); } return(View(model)); }
public async Task <IActionResult> Deposit([FromBody] DepositRequest request) { var command = new DepositCommand( request.AccountId, request.Amount); DepositResult depositResult = await depositService.Handle(command); if (depositResult == null) { return(new NoContentResult()); } DepositModel model = new DepositModel( depositResult.Transaction.Amount, depositResult.Transaction.Description, depositResult.Transaction.TransactionDate, depositResult.UpdatedBalance ); return(new ObjectResult(model)); }
public void Create(DepositModel deposit) { if (deposit.Amount == 0) { throw new ServiceException("Amount cannot be zero."); } var dbDeposit = Mapper.Map <DepositModel, ORMLibrary.Deposit>(deposit); dbDeposit.PlanOfDeposit = Context.PlanOfDeposits.FirstOrDefault(e => e.Id == deposit.PlanId); dbDeposit.Client = Context.Clients.FirstOrDefault(e => e.Id == deposit.ClientId); AccountService.CreateAccountsForDeposit(dbDeposit); dbDeposit.StartDate = SystemInformationService.CurrentBankDay; dbDeposit.EndDate = dbDeposit.StartDate.AddDays(dbDeposit.PlanOfDeposit.DayPeriod); dbDeposit.Amount = deposit.Amount; Context.Deposits.Add(dbDeposit); Context.SaveChanges(); HoldMoneyOnDeposit(dbDeposit); Context.SaveChanges(); }
public void FUI_Text1_Should_not_changed() { //arrange var check = new CheckModel(); check.Id = "change tile"; var deposit = new DepositModel(); deposit.Id = "Deposit Id"; txtBox.TextBindTo <CheckModel>(m => m.Id); txtBox1.TextBindTo <DepositModel>(m => m.Id); //act txtBox1.Load <DepositModel>(deposit); //assert txtBox1.Text .Should() .Be .EqualTo(deposit.Id); }
public ActionResult Insert(DepositModel depositModel) { try { if (depositModel.UserName == null || depositModel.UserName == "" || depositModel.BankAccount == 1 || depositModel.GameType == 1 || depositModel.BankAccountName == null || depositModel.BankAccountName == "" || depositModel.BankAccountNumber == null || depositModel.BankAccountNumber == "" || depositModel.DepositDate == null || depositModel.DepositAmount == 0) { Session["message"] = "Please fill in all the required fields."; Session["requestStatus"] = "Error"; return(RedirectToAction("Index")); } dal.InsertDeposit(depositModel); Session["message"] = "Deposit is successfully added"; Session["requestStatus"] = "Success"; return(RedirectToAction("Index")); } catch { Session["message"] = "Unable to perform this request"; Session["requestStatus"] = "Error"; return(RedirectToAction("Index")); } }
public long Save(bool isAutoGenerateParallel) { var deposit = new DepositModel { DepositDetails = View.DepositDetails, RefId = View.RefId, RefTypeId = View.RefTypeId, PostedDate = View.PostedDate, RefDate = View.RefDate, RefNo = View.RefNo, AccountingObjectType = View.AccountingObjectType, //AccountingObjectId = View.AccountingObjectId, Trader = View.Trader, //CustomerId = View.CustomerId == 0 ? null : View.CustomerId, //VendorId = View.VendorId == 0 ? null : View.VendorId, //EmployeeId = View.EmployeeId == 0 ? null : View.EmployeeId, AccountingObjectId = View.AccountingObjectId, CustomerId = View.CustomerId, VendorId = View.VendorId, EmployeeId = View.EmployeeId, BankAccountCode = View.BankAccountCode, CurrencyCode = View.CurrencyCode, ExchangeRate = View.ExchangeRate, TotalAmountOc = View.TotalAmountOc, TotalAmountExchange = View.TotalAmountExchange, JournalMemo = View.JournalMemo, BankId = View.BankId, IsIncludeCharge = View.IsIncludeCharge, DepositDetailParallels = View.DepositDetailParallels }; if (View.RefId == 0) { return(Model.AddDeposit(deposit, isAutoGenerateParallel)); } return(Model.UpdateDeposit(deposit, isAutoGenerateParallel)); }
public ActionResult Deposit(DepositModel deposit) { if (ModelState.IsValid) { using (var db = new OurDbContext()) { var account = db.UserAccounts.FirstOrDefault(a => a.FriendlyName == deposit.MyBankAccount && a.User.UserName == User.Identity.Name); if (account == null) { return(RedirectToAction("Error")); } var transaction = new Transaction { UserAccountId = account.Id, Key = Guid.NewGuid(), Type = TransactionType.Deposit, EvenDate = DateTime.Now, Amount = deposit.Balance, Comment = "Направен е депозит към банкова сметка " + account.FriendlyName + " на стойност от " + deposit.Balance + " лв." }; db.Transactions.Add(transaction); if (transaction.Amount < 0) { ModelState.AddModelError(string.Empty, "Грешка! Не може сумата която искате да внесете да е отрицателна."); return(View()); } account.Balance = account.Balance + transaction.Amount; db.SaveChanges(); } return(RedirectToAction("DepositSuccessfully")); } return(View()); }
public Response <DepositModel> Create(DepositModel model) { try { var validationResult = _depositValidation.ValidateCreate(model); if (!validationResult.IsValid) { return(new Response <DepositModel> { Message = validationResult.ErrorMessage, ResultType = ResultType.ValidationError }); } var lastTransaction = CustomerLastTransaction(model); var lastConfirmedTransaction = CustomerLastConfirmedTransaction(model); model.DateCreated = DateTime.UtcNow.ToLocalTime(); model.Balance = (model.TransactionCode == TransactionCode.Fee)? model.Balance : lastConfirmedTransaction.Balance; if (lastTransaction.StatusCode == StatusCode.Pending) { return(new Response <DepositModel> { Result = model, ResultType = ResultType.PendingTransaction }); } if (model.TransactionCode == TransactionCode.Withdrawal) { var minimumBalance = Convert.ToInt32(_feeSettingsModel.MinBalance); var withdrawalFee = Convert.ToInt32(_feeSettingsModel.Withdrawal); var deductable = minimumBalance + withdrawalFee; var availableFund = 0; if (lastTransaction.StatusCode == StatusCode.Declined) { availableFund = lastConfirmedTransaction.Balance - deductable; } else { availableFund = lastTransaction.Balance - deductable; } if (model.Amount > availableFund) { return(new Response <DepositModel> { Result = model, ResultType = ResultType.InsufficientBalance }); } } _depositRepository.Insert(_mapper.Map <Deposit>(model)); _depositRepository.Save(); return(new Response <DepositModel> { Result = model, ResultType = ResultType.Success }); } catch (Exception ex) { //online error log var err = ex.Message; } return(new Response <DepositModel> { ResultType = ResultType.Error }); }
public DepositModel Save(DepositModel model) { if (model == null) { throw new ArgumentNullException(nameof(model)); } // cek pihak ke dua var pihakKedua = _pihakKeduaBL.GetData(model.PihakKeduaID); if (pihakKedua == null) { var errMsg = string.Format("PihakKeduaID invalid"); throw new ArgumentException(errMsg); } else { model.PihakKeduaName = pihakKedua.PihakKeduaName; } // cek jenis bayar var jenisBayar = _jenisBayarBL.GetData(model.JenisBayarID); if (jenisBayar == null) { throw new ArgumentException("JenisBayarID Invalid "); } else { model.JenisBayarName = jenisBayar.JenisBayarName; model.JenisKasID = jenisBayar.JenisKasID; model.JenisKasName = jenisBayar.JenisKasName; } if (model.ListBrg != null) { foreach (var item in model.ListBrg) { var brg = _brgBL.GetData(item.BrgID); if (brg == null) { throw new ArgumentException("BrgID invalid"); } } } // cek nilai deposit if (model.NilaiDeposit <= 0) { throw new ArgumentException("Nilai Deposit tidak boleh minus"); } // proses simpan using (var trans = TransHelper.NewScope()) { if (model.DepositID.Trim() == "") { model.DepositID = GenNewID(); _depositDal.Insert(model); if (model.ListBrg != null) { foreach (var item in model.ListBrg) { item.DepositID = model.DepositID; _depositDetilDal.Insert(item); } } } else { _depositDetilDal.Delete(model.DepositID); _depositDal.Update(model); if (model.ListBrg != null) { foreach (var item in model.ListBrg) { item.DepositID = model.DepositID; _depositDetilDal.Insert(item); } } } trans.Complete(); } return(model); }
public IHttpActionResult Post(DepositModel deposit) { //while (true) //{ // Card card = new Card(); // card.CardTypeId = 7; // card.CardCompanyId = 9; // card.CardHolderName = "shail"; // card.CardNumber = Encrypt("1212121212121212", true); // card.Cvv = 200; // card.ExpiryMonth = 12; // card.ExpiryYear = 24; // card.AccountId = 10; //} if ((deposit.DepositTypeId == 6) || (deposit.DepositTypeId == 7)) { Card cartObj = new Card(); var encrypt = Encrypt((deposit.CardNumber).ToString(), true); var card = Uow.Repository <Card>().FirstOrDefault(c => (c.CardNumber == encrypt) && (c.Cvv == deposit.CVV)); var balance = BalanceDomain.GetBy(19); if (card != null) { if (card.Amount >= deposit.DepositAmount) { Deposit depositObj = new Deposit(); depositObj.UserId = 19; depositObj.DepositStatus = true; if (deposit.DepositTypeId == 6) { depositObj.DepositTypeId = 3; } else { depositObj.DepositTypeId = 4; } var date = DateTime.Now; depositObj.DepositDate = date; depositObj.AccountId = card.AccountId; depositObj.BalanceId = balance.BalanceId; depositObj.DepositAmount = deposit.DepositAmount; var depositMessage = DepositDomain.Post(depositObj); if (depositMessage == "Deposit Successful!") { balance.BalanceAmount = balance.BalanceAmount + deposit.DepositAmount; card.Amount = card.Amount - deposit.DepositAmount; BalanceDomain.Put(balance); CardDomain.Put(card); return(Ok("successfull")); } else { return(Ok("error")); } } else { return(Ok("error")); } } else { return(Ok("error")); } } else if (deposit.DepositTypeId == 5) { var branch = Uow.Repository <BankBranch>().FirstOrDefault(b => b.IFSC_Code == deposit.IFSC); var account = Uow.Repository <AccountDetail>().FirstOrDefault(a => (a.AccountNumber == deposit.AccountNumber) && (a.BankBranchId == branch.BankBranchId)); if (account != null) { if (account.AccountBalance >= deposit.DepositAmount) { Deposit depositObj = new Deposit(); var date = DateTime.Now; depositObj.DepositDate = date; depositObj.UserId = deposit.UserId; depositObj.DepositStatus = true; depositObj.DepositTypeId = deposit.DepositTypeId; depositObj.AccountId = account.AccountId; var balance = BalanceDomain.GetBy(deposit.UserId); depositObj.BalanceId = balance.BalanceId; depositObj.DepositAmount = deposit.DepositAmount; var depositMessage = DepositDomain.Post(depositObj); if (depositMessage == "Deposit Successful!") { account.AccountBalance = account.AccountBalance - deposit.DepositAmount; AccountDetailsDomain.Put(account); balance.BalanceAmount = balance.BalanceAmount + deposit.DepositAmount; BalanceDomain.Put(balance); return(Ok("successfull")); } else { return(Ok("error")); } } else { return(Ok("error")); } } else { return(Ok("error")); } } else { return(Ok("error")); } }
internal static DepositEntity ToDataTransferObject(DepositModel model) { return(model == null ? null : AutoMapper.Mapper.Map <DepositModel, DepositEntity>(model)); }
public async Task <IResult <DepositModel> > Deposit(DepositModel depositModel) { return(await _accountService.Deposit(depositModel)); }
public BaseResponse <DepositModel> SaveDeposit(DepositModel request) { BaseResponse <DepositModel> resdeposit = new BaseResponse <DepositModel>(); if (request.ResidentID == 0) { resdeposit.ResultMessage = "会员ID不能为空"; resdeposit.IsSuccess = false; return(resdeposit); } if (request.ResidentID != 0) { unitOfWork.BeginTransaction(); var depositRepository = unitOfWork.GetRepository <DC_Deposit>(); var paymentRepository = unitOfWork.GetRepository <DC_Payment>(); request.DepositNo = GenerateCode(EnumCodeKey.DepositCode, EnumCodeRule.YearMonthDay, "D", 4, request.OrganizationID); bool flag = false; var model = depositRepository.dbSet.FirstOrDefault(q => q.ResidentID == request.ResidentID); if (model != null) { //更新 model.Amount = model.Amount + request.Amount; var depmodel = Mapper.DynamicMap <DC_Deposit>(model); flag = depositRepository.Update(depmodel); } else { //新增 var depmodel = Mapper.DynamicMap <DC_Deposit>(request); flag = depositRepository.Insert(depmodel); } if (flag) { PaymentModel pm = new PaymentModel(); pm.PaymentNo = GenerateCode(EnumCodeKey.PaymentCode, EnumCodeRule.YearMonthDay, "P", 4, request.OrganizationID); pm.ResidentID = request.ResidentID; pm.Amount = request.Amount; pm.PayDate = request.DepositDate; pm.Payee = request.Payee; pm.InvoiceNo = request.InvoiceNo; pm.PayType = PayType.Pay.ToString(); pm.PayMethod = request.PayMethod; pm.Remark = request.Remark; var p = Mapper.DynamicMap <DC_Payment>(pm); flag = paymentRepository.Insert(p); if (flag) { //资金明细 var feeDetail = new DC_FeeDetail(); feeDetail.FeeNo = base.GenerateCode(EnumCodeKey.FeeDetailCode, EnumCodeRule.YearMonthDay, "F", 6, request.OrganizationID); feeDetail.FeeName = "充值"; feeDetail.TotalPrice = request.Amount; feeDetail.ResidentID = request.ResidentID.Value; feeDetail.FeeDate = DateTime.Now; unitOfWork.GetRepository <DC_FeeDetail>().Insert(feeDetail); } } if (!flag) { resdeposit.ResultMessage = "预存款保存失败"; resdeposit.IsSuccess = false; } else { unitOfWork.Commit(); } } return(resdeposit); }
public ActionResult CreateTransaction(DepositModel model) { if (!ModelState.IsValid) { ModelState.AddModelError("", "You must insert amount > 0 and check one payment method!"); return(RedirectToAction("Deposit", "Investor")); } using (var dbContext = new MazzaDbContext()) { var paymentType = dbContext.PaymentTypes.FirstOrDefault(p => p.Code.Equals(model.Coin)); if (paymentType.WalletTypeId == 1) { return(RedirectToAction(paymentType.PaymentTypeDesc, "Payment")); } } //Get Rates string s_privkey = "89c2E2B75e268825e6Ec2C2E76f1cbA2604cD048f74Ea51cf23fc1a85E57c2b3"; string s_pubkey = "6431d23e0f03d7a10013bc0776b44c66a749438e65f77b6309995637a971a2b7"; Encoding encoding = Encoding.UTF8; SortedList <string, string> parms = new SortedList <string, string> { //{ "amount", model.Amount.ToString() }, //{ "currency1", model.Coin }, //{ "currency2", model.Coin }, //{ "buyer_email", "*****@*****.**" } }; parms["version"] = "1"; parms["key"] = s_pubkey; //parms["cmd"] = "create_transaction"; parms["cmd"] = "rates"; string post_data = ""; foreach (KeyValuePair <string, string> parm in parms) { if (post_data.Length > 0) { post_data += "&"; } post_data += parm.Key + "=" + Uri.EscapeDataString(parm.Value); } byte[] keyBytes = encoding.GetBytes(s_privkey); byte[] postBytes = encoding.GetBytes(post_data); var hmacsha512 = new System.Security.Cryptography.HMACSHA512(keyBytes); string hmac = BitConverter.ToString(hmacsha512.ComputeHash(postBytes)).Replace("-", string.Empty); // do the post: ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; WebClient cl = new System.Net.WebClient(); cl.Headers.Add("Content-Type", "application/x-www-form-urlencoded"); cl.Headers.Add("HMAC", hmac); cl.Encoding = encoding; var ret = new Dictionary <string, dynamic>(); try { string resp = cl.UploadString("https://www.coinpayments.net/api.php", post_data); var decoder = new System.Web.Script.Serialization.JavaScriptSerializer(); ret = decoder.Deserialize <Dictionary <string, dynamic> >(resp); if (ret["error"] == "ok") { var userId = User.Identity.GetUserId <int>(); using (var dbContext = new MazzaDbContext()) { dbContext.DepositTransactions.Add(new DepositTransaction { UserId = userId, Amount = model.Amount, TransactionId = ret["result"]["txn_id"], Address = ret["result"]["address"], StatusUrl = ret["result"]["status_url"], Timeout = ret["result"]["timeout"], TransactionDate = DateTime.UtcNow }); dbContext.SaveChanges(); } return(Redirect(ret["result"]["status_url"])); } } catch (Exception ex) { SendEmail.Send("*****@*****.**", "Errore Deposit", ex.Message); } return(RedirectToAction("Deposit", "Investor")); }