public void LoadScreen(PaymentListModel paymentModel) { Number = System.Text.RegularExpressions.Regex.Replace(paymentModel.CARD_NUMBER.ToString(), ".{4}", "$0-").Remove(19); Expdate = System.Text.RegularExpressions.Regex.Replace(paymentModel.CARD_EXP_DATE, ".{2}", "$0/"); Chname = paymentModel.CARD_HOLDER_NAME; IsSaveCard = paymentModel.CARD_DEFAULT == null ? true : false; }
public async Task <string> SaveCardAsync(PaymentListModel paymentListModel) { var uri = new Uri(string.Format(Constants.BaseUrl + "payment/add", string.Empty)); JObject jObject = new JObject(); jObject.Add("USER_ID", Application.Current.Properties["USER_ID"].ToString()); jObject.Add("CARD_EXP_DATE", paymentListModel.CARD_EXP_DATE); jObject.Add("CARD_HOLDER_NAME", paymentListModel.CARD_HOLDER_NAME); jObject.Add("CARD_NUMBER", paymentListModel.CARD_NUMBER.ToString()); jObject.Add("CARD_TYPE", paymentListModel.CARD_TYPE); var json = JsonConvert.SerializeObject(jObject); var content = new StringContent(json, Encoding.UTF8, "application/json"); var client = new HttpClient(); HttpResponseMessage response = null; response = await client.PostAsync(uri, content); var contents = await response.Content.ReadAsStringAsync(); JObject jwtDynamic = JsonConvert.DeserializeObject <dynamic>(contents); var accessToken = jwtDynamic.Value <string>("Message"); if (response.IsSuccessStatusCode) { Debug.WriteLine(@"\tTodoItem successfully saved."); } return(contents); }
public ActionResult Payment() { var model = new PaymentListModel(); return(View(model)); }
public async Task RequestAdvanceOnceTest() { //load the context await GetAdvancePaymentRequestDetailsTest(); var registeredCustomer = await DbContext.Customers.FirstOrDefaultAsync(); var waiToken = registeredCustomer.MapToWhoAmI().EncryptToken(); PaymentController controller = new PaymentController(DbContext, FakeAcquirer, FakeAccount, FakeLogger); var paymentListModel = new PaymentListModel() { AuthToken = waiToken }; var seccondPaymentForAdvance = new AdvanceListModel() { AuthToken = waiToken, Payments = new[] { (await controller.ListAvailableForAdvance(paymentListModel)).Payments.ToList()[0] }.Select(q => q.Id) }; var adv2 = await controller.RequestForAdvance(seccondPaymentForAdvance); Assert.IsType <AdvanceErrorJson>(adv2); }
public async Task <PaymentListJson> ListAvailableForAdvance([FromQuery] PaymentListModel model) { var wai = await _accountApi.WhoAmI(model.AuthToken); var paymentQuery = _context.Payments .WhereDateFrom(model.StartDate) .WhereDateUntil(model.EndDate) .WherePayerName(model.CardName) .WherePaidDateFrom(model.StartPaidDate) .WherePaidDateFrom(model.EndPaidDate) .WhereStatus(model.Status) .Where(q => q.AdvanceId == null && q.CustomerId == wai.CustomerId); paymentQuery = paymentQuery .OrderByDescending(q => q.CreatedAt).AsQueryable(); if (model.Index.HasValue) { paymentQuery = paymentQuery.Skip(model.Index.Value); } if (model.Length.HasValue) { paymentQuery = paymentQuery.Take(model.Length.Value); } var payments = await paymentQuery.ToListAsync(); //var periodAmount = await paymentQuery.SumAsync(payment => payment.Amount); var count = await paymentQuery.LongCountAsync(); return(new PaymentListJson(payments, count)); }
private void UpdatePaymentListFromModel(PaymentList target, PaymentListModel source) { target.DateOfPayment = source.DateOfPayment.UtcDateTime; target.BankAccountId = source.BankAccountId; target.CashAccountId = source.CashAccountId; target.ChequeNo = source.ChequeNo; target.Narration = source.Narration; target.PaymentId = source.PaymentId; target.PaymentTypeId = source.PaymentTypeId; target.Amount = Convert.ToDecimal(string.IsNullOrEmpty(source.Amount) ? "0" : source.Amount); target.PDC = source.PDC; }
public async Task CheckAvailablePaymentsTest() { var customer = new CustomerModel() { Name = "Olavo Neto", Email = "*****@*****.**", }; var registeredCustomer = await DbContext.Customers.FirstOrDefaultAsync(); var waiToken = registeredCustomer.MapToWhoAmI().EncryptToken(); customer.Id = registeredCustomer.Id; var paymentModel = new PaymentModel() { Customer = customer, Amount = 100, InstalmentsCount = 5, CardNumber = "5555111122223333", CardExpirationDate = "08/2021", CardName = "OLAVO DE SOUZA ROCHA NETO", CardSecurityNumber = "558", AuthToken = waiToken }; var before = DateTime.Now; var paymentModel2 = new PaymentModel() { Customer = customer, Amount = 150, InstalmentsCount = 5, CardNumber = "5555111122223333", CardExpirationDate = "08/2021", CardName = "OLAVO DE SOUZA ROCHA NETO", CardSecurityNumber = "558", AuthToken = waiToken }; PaymentController controller = new PaymentController(DbContext, FakeAcquirer, FakeAccount, FakeLogger); var cResponse1 = await controller.ProcessPayment(paymentModel); var cResponse2 = await controller.ProcessPayment(paymentModel2); var paymentListModel = new PaymentListModel() { AuthToken = waiToken }; var cResponse3 = await controller.ListAvailableForAdvance(paymentListModel); Assert.Equal(2, cResponse3.Count); }
public EditPaymentPop(PaymentListModel selectedItem) { InitializeComponent(); UserId = Application.Current.Properties["USER_ID"].ToString(); paymentListModel = selectedItem; this.BindingContext = new PaymentViewModel(); pickerMonth.ItemsSource = new List <string> { "01", "02", "03", "04", "05", "06", "06", "07", "08", "09", "10", "11", "12" }; pickerYear.ItemsSource = new List <string> { "2019", "2020", "2021", "2022", "2023", "2024", "2025", "2026", "2027", "2028", "2029", "2030" }; }
public void LoadCardsOnPopup(PaymentListModel paymentListModel) { Number = (paymentListModel.CARD_NUMBER ?? "").ToString(); Chname = paymentListModel.CARD_HOLDER_NAME; SelectedMonth = paymentListModel.CARD_EXP_DATE; if (!(SelectedMonth == null)) { SelectedMonth = SelectedMonth.Substring(0, 2); } SelectedYear = paymentListModel.CARD_EXP_DATE; if (!(SelectedYear == null)) { SelectedYear = "20" + SelectedYear.Substring(2, 2); } }
public IActionResult All() { PaymentListModel model = new PaymentListModel() { Payments = _payments.GetAll().Select(t => new PaymentItemModel() { TenantId = t.Tenant.Id, TenantName = t.Tenant.FullName, Amount = t.Amount, Date = t.Date.ToString("dd/MM/yyyy") }) }; return(View(model)); }
//[CheckSession(SubActId = 8)] public virtual ActionResult PaymentList(DataSourceRequest command, PaymentListModel model) { if (model.Customer_ID == 0 && string.IsNullOrEmpty(model.PreInvoiceNumber) && string.IsNullOrEmpty(model.PaymentDate) && model.PaymentAmount == 0 && string.IsNullOrEmpty(model.Description)) { var hardwareItems = _accService.GetAllPayment(); var gridModel = new DataSourceResult { Data = hardwareItems.Select(x => new PaymentModel { PaymentAmount = x.PaymentAmount, PaymentDate = x.PaymentDate, Payment_ID = x.Payment_ID, Customer_ID = x.Customer_ID, PreInvoiceNumber = x.PreInvoiceNumber, Description = x.Description, CustomerName = _customerService.GetCustomerById(x.Customer_ID).CustomerName }), Total = hardwareItems.Count() }; return(Json(gridModel)); } else { var hardwareItems = _accService.SearchPayment(model.Customer_ID, model.PreInvoiceNumber, model.PaymentDate, model.PaymentAmount, model.Description); var gridModel = new DataSourceResult { Data = hardwareItems.Select(x => new PaymentModel { PaymentAmount = x.PaymentAmount, PaymentDate = x.PaymentDate, Payment_ID = x.Payment_ID, Customer_ID = x.Customer_ID, PreInvoiceNumber = x.PreInvoiceNumber, Description = x.Description, CustomerName = _customerService.GetCustomerById(x.Customer_ID).CustomerName }), Total = hardwareItems.Count() }; return(Json(gridModel)); } }
public ActionResult SubmitPayment(DataSourceRequest command, PaymentListModel model) { HttpSessionStateBase session = HttpContext.Session; try { Tbl_Payment tu = new Tbl_Payment(); tu.Customer_ID = model.Customer_ID; tu.Description = model.Description; tu.PaymentAmount = model.PaymentAmount; tu.PaymentDate = model.PaymentDate; tu.Payment_ID = model.Payment_ID; tu.PreInvoiceNumber = model.PreInvoiceNumber; tu.LastUpdateUser_ID = Convert.ToInt32(session["UserID"]); tu.LastUpdateDate = DateTime.Now.ToString("yyyy-MM-dd"); tu.LastUpdateTime = DateTime.Now.ToString("HH:mm"); if (_accService.AddNewPayment(tu)) { var gridModel = new DataSourceResult { ExtraData = new PaymentModel { Message = Message.OperationSuccessful, MessageColor = "green" }, Total = 1 }; return(Json(gridModel)); } else { var gridModel = new DataSourceResult { ExtraData = new PaymentModel { Message = Message.OperationUnsuccessful, MessageColor = "red" }, Total = 1 }; return(Json(gridModel)); } } catch (Exception ex) { var gridModel = new DataSourceResult { ExtraData = new PaymentModel { Message = Message.OperationUnsuccessful, MessageColor = "red" }, Total = 1 }; return(Json(gridModel)); } //return ""; }
public async Task GetAdvancePaymentRequestDetailsTest() { #region ContextSetup var dbContext = DbContext; var registeredCustomer = await dbContext.Customers.FirstOrDefaultAsync(); var waiToken = registeredCustomer.MapToWhoAmI().EncryptToken(); var customerModel = new CustomerModel() { Id = registeredCustomer.Id, Name = registeredCustomer.Name, Email = registeredCustomer.Email }; var paymentModel = new PaymentModel() { Customer = customerModel, Amount = 100, InstalmentsCount = 5, CardNumber = "5555111122223333", CardExpirationDate = "08/2021", CardName = "OLAVO DE SOUZA ROCHA NETO", CardSecurityNumber = "558", AuthToken = waiToken }; var before = DateTime.Now; var paymentModel2 = new PaymentModel() { Customer = customerModel, Amount = 150, InstalmentsCount = 5, CardNumber = "5555111122223333", CardExpirationDate = "08/2021", CardName = "OLAVO DE SOUZA ROCHA NETO", CardSecurityNumber = "558", AuthToken = waiToken }; PaymentController controller = new PaymentController(dbContext, FakeAcquirer, FakeAccount, FakeLogger); await controller.ProcessPayment(paymentModel); await controller.ProcessPayment(paymentModel2); var paymentListModel = new PaymentListModel() { AuthToken = waiToken }; var firstPaymentForAdvance = new AdvanceListModel() { AuthToken = waiToken, Payments = new[] { (await controller.ListAvailableForAdvance(paymentListModel)).Payments.First() }.Select(q => q.Id) }; var adv = await controller.RequestForAdvance(firstPaymentForAdvance); #endregion var adModel = new AdvanceDetailsModel() { AuthToken = waiToken, Id = adv.Id }; var radv = await controller.GetAdvanceDetails(adModel); Assert.Equal(radv.Id, adModel.Id); Assert.Single(radv.Payments); var percentTax = 0.038m; var instalment = decimal.Divide(150, 5); Assert.Equal(150m - 0.9m - (1m * percentTax) * instalment - (2m * percentTax) * instalment - (3m * percentTax) * instalment - (4m * percentTax) * instalment - (5m * percentTax) * instalment, adv.NetAmount); }
public async Task RequestForAdvancePaymentTest() { var customer = new CustomerModel() { Name = "Olavo Neto", Email = "*****@*****.**", }; var registeredCustomer = await DbContext.Customers.FirstOrDefaultAsync(); var waiToken = registeredCustomer.MapToWhoAmI().EncryptToken(); customer.Id = registeredCustomer.Id; var paymentModel = new PaymentModel() { Customer = customer, Amount = 100, InstalmentsCount = 5, CardNumber = "5555111122223333", CardExpirationDate = "08/2021", CardName = "OLAVO DE SOUZA ROCHA NETO", CardSecurityNumber = "558", AuthToken = waiToken }; var before = DateTime.Now; var paymentModel2 = new PaymentModel() { Customer = customer, Amount = 150, InstalmentsCount = 5, CardNumber = "5555111122223333", CardExpirationDate = "08/2021", CardName = "OLAVO DE SOUZA ROCHA NETO", CardSecurityNumber = "558", AuthToken = waiToken }; PaymentController controller = new PaymentController(DbContext, FakeAcquirer, FakeAccount, FakeLogger); await controller.ProcessPayment(paymentModel); await controller.ProcessPayment(paymentModel2); var paymentListModel = new PaymentListModel() { AuthToken = waiToken }; var firstPaymentForAdvance = new AdvanceListModel() { AuthToken = waiToken, Payments = new[] { (await controller.ListAvailableForAdvance(paymentListModel)).Payments.First() }.Select(q => q.Id) }; var adv = await controller.RequestForAdvance(firstPaymentForAdvance); Assert.Equal(150, adv.GrossAmount); var percentTax = 0.038m; var instalment = decimal.Divide(150, 5); Assert.Equal(150m - 0.9m - (1m * percentTax) * instalment - (2m * percentTax) * instalment - (3m * percentTax) * instalment - (4m * percentTax) * instalment - (5m * percentTax) * instalment, adv.NetAmount); }