Beispiel #1
0
        public async Task <IActionResult> ProcessBankPayment
        (
            string inn,
            string bic,
            string accountNumber,
            int vat,
            decimal sum
        )
        {
            var payment = new BankPayment
            {
                Inn           = inn,
                Bic           = bic,
                AccountNumber = accountNumber,
                Vat           = vat,
                Sum           = sum
            };

            var validationResult = payment.Validate();

            if (!validationResult.IsValid)
            {
                return(Json(WrappedResponse <string> .Fail($"Неверный формат: {validationResult.Error}")));
            }

            using (var buffer = new MemoryStream())
            {
                using (var streamWriter = new StreamWriter(buffer))
                {
                    await streamWriter.WriteLineAsync(payment.AsBankStatement());
                }

                return(File(buffer.ToArray(), MediaTypeNames.Application.Octet, ""));
            }
        }
Beispiel #2
0
        public async Task <WrappedResponse <string> > ProcessPaymentRequest
        (
            string inn,
            string bic,
            string accountNumber,
            int vat,
            decimal sum,
            string phone,
            string email
        )
        {
            var paymentRequest = new PaymentRequest
            {
                Inn           = inn,
                Bic           = bic,
                AccountNumber = accountNumber,
                Vat           = vat,
                Sum           = sum,
                Phone         = phone,
                Email         = email
            };

            var validationResult = paymentRequest.Validate();

            if (!validationResult.IsValid)
            {
                return(WrappedResponse <string> .Fail($"Неверный формат: {validationResult.Error}"));
            }

            await paymentRepository.SavePaymentRequestAsync(paymentRequest).ConfigureAwait(false);

            return(WrappedResponse <string> .Success());
        }
Beispiel #3
0
        public async Task <WrappedResponse <string> > ProcessCardPayment
        (
            string cardNumber,
            string expiration,
            string cvc,
            decimal sum,
            string comment,
            string email
        )
        {
            var payment = new CardPayment
            {
                CardNumber = cardNumber,
                Expiration = expiration,
                Cvc        = cvc,
                Sum        = sum,
                Comment    = comment,
                Email      = email
            };

            var validationResult = payment.Validate();

            if (!validationResult.IsValid)
            {
                return(WrappedResponse <string> .Fail($"Неверный формат: {validationResult.Error}"));
            }

            await paymentRepository.SaveCardPaymentAsync(payment).ConfigureAwait(false);

            return(WrappedResponse <string> .Success());
        }