Exemplo n.º 1
0
        public IActionResult GetPayment(PaymentQuery paymentQuery)
        {
            PaymentInfo paymentInfo = paymentQuery.PaymentInfo;
            Rental      rental      = paymentQuery.Rental;
            var         result      = _paymentService.GetPayment(paymentInfo, rental);

            return(Ok(result));
        }
Exemplo n.º 2
0
 private PaymentQuery Payment(PaymentQuery payment)
 {
     return(payment
            .checkout(checkout => Checkout(checkout)
                      .completedAt()
                      )
            .errorMessage()
            .id()
            .ready());
 }
Exemplo n.º 3
0
        public async Task <IActionResult> GetOne(int id)
        {
            await Db.Connection.OpenAsync();

            var query  = new PaymentQuery(Db);
            var result = await query.GetOne(id);

            if (result is null)
            {
                return(new NotFoundResult());
            }
            return(new OkObjectResult(result));
        }
Exemplo n.º 4
0
        public async Task Should_GetPaymentTransactionWithStatus()
        {
            // arrange
            var paymentQuery = new PaymentQuery();
            var transaction  = _fixture.Create <PaymentTransaction>();

            _paymentQueryRepositoryMock.Setup(r => r.GetAsync(paymentQuery)).ReturnsAsync(transaction);

            // act
            var paymentTransaction = await _paymentQueryHandler.HandleAsync(paymentQuery);

            // assert
            paymentTransaction.Status.Should().Be(transaction.Status);
        }
Exemplo n.º 5
0
        public async Task Should_GetPaymentTransactionWithCardDetails()
        {
            // arrange
            var paymentQuery = new PaymentQuery();
            var transaction  = _fixture.Create <PaymentTransaction>();

            _paymentQueryRepositoryMock.Setup(r => r.GetAsync(paymentQuery)).ReturnsAsync(transaction);

            // act
            var paymentTransaction = await _paymentQueryHandler.HandleAsync(paymentQuery);

            // assert
            paymentTransaction.Card.ExpiryMonth.Should().Be(transaction.Card.ExpiryMonth);
            paymentTransaction.Card.ExpiryYear.Should().Be(transaction.Card.ExpiryYear);
        }
Exemplo n.º 6
0
        public async Task Should_GetPaymentTransactionWithAmountDetails()
        {
            // arrange
            var paymentQuery = new PaymentQuery();
            var transaction  = _fixture.Create <PaymentTransaction>();

            _paymentQueryRepositoryMock.Setup(r => r.GetAsync(paymentQuery)).ReturnsAsync(transaction);

            // act
            var paymentTransaction = await _paymentQueryHandler.HandleAsync(paymentQuery);

            // assert
            paymentTransaction.Amount.Should().Be(transaction.Amount);
            paymentTransaction.CurrencyCode.Should().Be(transaction.CurrencyCode);
        }
        public ActionResult GetPaymentReport(PaymentQuery ins)
        {
            List <PaymentReport> report = reportrepo.GetPaymentReport(ins);

            StringWriter sw = new StringWriter();

            sw.WriteLine("\"Invoice Number \",\"Pink Slip Number\",\"Supplier\",\"Expected Pay Date\",\"Pay By Date\",\"Invoice Date\",\"State Date\",\"Actual Payment Date\","
                         + "\"Payment Comment\",\"Payment Method\",\"Exculding Vat\",\"Including Vat\",\"Payment Amount\"");

            string   name    = DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + DateTime.Now.Day.ToString();
            DateTime checker = new DateTime(1900, 1, 1);

            Response.ClearContent();
            Response.AddHeader("content-disposition", "attachment;filename=Payments_from_" + ins.FromDate.ToShortDateString() + "_" + name + ".csv");
            Response.ContentType = "text/csv";

            sw.WriteLine("\"Paid\"");
            foreach (PaymentReport ex in report)
            {
                if (!ex.ActualDate.Equals(checker.ToShortDateString()))
                {
                    sw.WriteLine(string.Format("\"{0}\",\"{1}\",\"{2}\",\"{3}\",\"{4}\",\"{5}\",\"{6}\",\"{7}\",\"{8}\",\"{9}\",\"{10}\",\"{11}\",\"{12}\"",
                                               ex.InvoiceNumber
                                               , ex.PinkSlipNumber
                                               , ex.Supplier
                                               , ex.ExpectedPayDate
                                               , ex.PayDate
                                               , ex.InvoiceDate
                                               , ex.StateDate
                                               , ex.ActualDate
                                               , ex.PaymentDescription
                                               , ex.CashType
                                               , ex.ExcludingVat
                                               , ex.IncludingVat
                                               , ex.Amount
                                               ));
                }
            }

            sw.WriteLine("\" \"");
            sw.WriteLine("\"Unpaid\"");
            foreach (PaymentReport ex in report)
            {
                if (ex.ActualDate.Equals(checker.ToShortDateString()))
                {
                    sw.WriteLine(string.Format("\"{0}\",\"{1}\",\"{2}\",\"{3}\",\"{4}\",\"{5}\",\"{6}\",\"{7}\",\"{8}\",\"{9}\",\"{10}\",\"{11}\",\"{12}\"",
                                               ex.InvoiceNumber
                                               , ex.PinkSlipNumber
                                               , ex.Supplier
                                               , ex.ExpectedPayDate
                                               , ex.PayDate
                                               , ex.InvoiceDate
                                               , ex.StateDate
                                               , "Unpaid" //ex.ActualDate
                                               , ex.PaymentDescription
                                               , ex.CashType
                                               , ex.ExcludingVat
                                               , ex.IncludingVat
                                               , ex.Amount
                                               ));
                }
            }

            Response.Write(sw.ToString());
            Response.End();
            return(null);
        }
Exemplo n.º 8
0
 /// <summary>
 /// 绑定查询条件
 /// </summary>
 /// <param name="queryCond"></param>
 /// <returns></returns>
 private Func<IQueryable<Payment>, IQueryable<Payment>> BuildQueryCondition(PaymentQuery queryCond)
 {
     return (query) =>
     {
         if (queryCond != null)
         {
             if (queryCond.ApplyStartTime.HasValue && queryCond.ApplyEndTime.HasValue)
             {
                 if (queryCond.ApplyStartTime.Value > queryCond.ApplyEndTime.Value)
                     throw new DataValidationException("结束日期需大于开始时间");
                 query = query.Where(c => c.ApplicationTime >= queryCond.ApplyStartTime.Value && c.ApplicationTime <= queryCond.ApplyEndTime.Value);
             }
             else
             {
                 if (queryCond.ApplyStartTime.HasValue)
                 {
                     query = query.Where(c => c.ApplicationTime >= queryCond.ApplyStartTime.Value);
                 }
                 if (queryCond.ApplyEndTime.HasValue)
                 {
                     query = query.Where(c => c.ApplicationTime <= queryCond.ApplyEndTime.Value);
                 }
             }
             if (queryCond.Status.HasValue)
                 query = query.Where(c => c.Status == queryCond.Status);
             if (!string.IsNullOrWhiteSpace(queryCond.SpecialName))
                 query = query.Where(c => c.Special.Name.Contains(queryCond.SpecialName));
         }
         return query;
     };
 }