public async Task ProcessPaymentAsync(PaymentBindingModel model, IEnumerable <Models.Payment> payments)
        {
            var payment = new Payment
            {
                id    = model.PaymentId,
                token = model.Token
            };

            var executed = payment
                           .Execute(this.apiContext, new PaymentExecution {
                payer_id = model.PayerId
            });

            foreach (var payment1 in payments)
            {
                payment1.PayPalPaymentId = model.PaymentId;
                payment1.Username        = model.Username;
                payment1.StudentId       = model.StudentId;
            }

            await this.repository.AddRangeAsync(payments);

            StudentsInCourses studentsInCourses = null;

            foreach (var payment2 in payments)
            {
                studentsInCourses = new StudentsInCourses
                {
                    CourseId  = payment2.CourseId,
                    StudentId = payment2.StudentId
                };
            }

            await this.studentsInCourseRepository.AddAsync(studentsInCourses);
        }
        public async Task ProcessPaymentAsync(PaymentBindingModel model, IEnumerable <Models.Payment> payments)
        {
            var payment = new Payment
            {
                id    = model.PaymentId,
                token = model.Token
            };

            var executed = payment
                           .Execute(this.apiContext, new PaymentExecution {
                payer_id = model.PayerId
            });

            foreach (var payment1 in payments)
            {
                payment1.PayPalPaymentId = model.PaymentId;
                payment1.Username        = model.Username;
            }

            await this.repository.AddRangeAsync(payments);
        }