Exemplo n.º 1
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());
        }
Exemplo n.º 2
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());
        }
Exemplo n.º 3
0
        public async Task <WrappedResponse <IEnumerable <PaymentRequest> > > SelectPaymentRequests
        (
            string searchColumn,
            string prefix,
            string sortColumn,
            bool descendingOrder
        )
        {
            var searchParameters = new SearchParameters
            {
                Column = searchColumn,
                Prefix = prefix
            };

            var sortParameters = new SortParameters
            {
                Column          = sortColumn,
                DescendingOrder = descendingOrder
            };

            var response = await paymentRepository.SelectPaymentRequestsAsync(searchParameters, sortParameters)
                           .ConfigureAwait(false);

            return(WrappedResponse <IEnumerable <PaymentRequest> > .Success(response));
        }
Exemplo n.º 4
0
        public async Task <WrappedResponse <string> > ToggleCardPaymentSafety(Guid paymentId, bool isSafe)
        {
            await paymentRepository.ToggleCardPaymentSafetyAsync(paymentId, isSafe).ConfigureAwait(false);

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