예제 #1
0
 public void Setup()
 {
     user = DataMother.CreateSupplierUser();
     Flush();
     payer      = user.Payer;
     controller = new AccountsController();
     Prepare(controller);
 }
예제 #2
0
 public Supplier(Region homeRegion, Payer payer)
     : this()
 {
     Payer      = payer;
     HomeRegion = homeRegion;
     RegionMask = homeRegion.Id;
     Account    = new SupplierAccount(this);
 }
예제 #3
0
        public static Payer GetPayerUsingPayPal()
        {
            var pay = new Payer();

            pay.payer_info     = PayerInfoTest.GetPayerInfoBasic();
            pay.payment_method = "paypal";
            return(pay);
        }
예제 #4
0
        public void TestPayer()
        {
            Payer pay = GetPayer();

            Assert.AreEqual(pay.payment_method, "credit_card");
            Assert.AreEqual(pay.funding_instruments[0].credit_card_token.credit_card_id, "CARD-8PV12506MG6587946KEBHH4A");
            Assert.AreEqual(pay.payer_info.first_name, "Joe");
        }
 public void Setup()
 {
     payer       = DataMother.CreatePayerForBillingDocumentTest();
     payment     = new Payment(payer);
     payment.Sum = 800;
     payment.RegisterPayment();
     session.Save(payment);
 }
예제 #6
0
        public ActionResult DeleteConfirmed(int id)
        {
            Payer payer = db.Payers.Find(id);

            db.Payers.Remove(payer);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
        public void Show()
        {
            var privateGroup = new ContactGroup(_contactGroupOwner, ContactGroupType.Reports)
            {
                Name = "Приватная рассылка"
            };

            session.Save(privateGroup);
            var publicGroup = new ContactGroup(_contactGroupOwner, ContactGroupType.ReportSubscribers)
            {
                Name = "Публичная рассылка"
            };

            session.Save(publicGroup);
            _report.ContactGroup        = privateGroup;
            _report.PublicSubscriptions = publicGroup;
            session.Save(_report);
            var privateContact = new Contact(ContactType.Email, "*****@*****.**")
            {
                ContactOwner = privateGroup
            };

            session.Save(privateContact);
            var publicContact = new Contact(ContactType.Email, "*****@*****.**")
            {
                ContactOwner = publicGroup
            };

            session.Save(publicContact);
            var contactGroupOwner = new ContactGroupOwner();

            session.Save(contactGroupOwner);
            var payerContactOwner = new ContactGroup(contactGroupOwner, ContactGroupType.ReportSubscribers);

            session.Save(payerContactOwner);
            var payer = new Payer("Тестовый плательщик")
            {
                ContactGroupOwner = contactGroupOwner
            };

            session.Save(payer);
            var payercontact = new Contact(payerContactOwner)
            {
                ContactText = "*****@*****.**"
            };

            session.Save(payercontact);
            var reportSub = new ReportSubscriptionContact(payercontact, publicContact);

            session.Save(reportSub);

            Open($"/Contacts/Show?reportId={_report.Id}");

            AssertText("*****@*****.**");
            AssertText("*****@*****.**");
            AssertText("Тестовый плательщик");
            AssertText("Приватная рассылка");
        }
        private Payment CreatePayment(APIContext apiContext, Models.OrderDto order, string redirectUrl)
        {
            var itemList = new ItemList()
            {
                items = new List <Item>()
            };

            foreach (var ticket in order.TicketDtos)
            {
                Item item = new Item()
                {
                    name        = $"Train ticket form {ticket.Source} to {ticket.Destination}",
                    description = $"Date: {ticket.DepartureDay} \nSeat: {ticket.SeatNumber} \nCoach: {ticket.TrainCarNumber} \nClass: {ticket.TrainCarType} ",
                    currency    = "USD",
                    price       = ticket.Price.ToString(),
                    quantity    = "1",
                    sku         = "sku"
                };
                itemList.items.Add(item);
            }

            var amount = new Amount()
            {
                currency = "USD",
                total    = order.TotalPrice.ToString()
            };

            var payer = new Payer()
            {
                payment_method = "paypal"
            };
            // Configure Redirect Urls here with RedirectUrls object
            var redirUrls = new RedirectUrls()
            {
                cancel_url = redirectUrl + "&Cancel=true",
                return_url = redirectUrl
            };
            // Adding Tax, shipping and Subtotal details


            var transactionList = new List <Transaction>();

            transactionList.Add(new Transaction()
            {
                description    = "Transaction description",
                invoice_number = "your generated invoice number",
                amount         = amount,
                item_list      = itemList
            });
            this.payment = new Payment()
            {
                intent        = "sale",
                payer         = payer,
                transactions  = transactionList,
                redirect_urls = redirUrls
            };
            return(this.payment.Create(apiContext));
        }
예제 #9
0
 public int Create(Payer payer)
 {
     if (payer == null)
     {
         return(-1);
     }
     _context.Payers.Add(payer);
     return(_context.SaveChanges());
 }
예제 #10
0
 public CreditCardCharge(bool isTesting, string apiKey, string cc_id, CreditCard creditCard,
                         Payer payer, decimal amt, string tranId, string tranDesc)
     : base(isTesting, apiKey, cc_id, paymentTypeCC, amt, tranId, tranDesc, payer)
 {
     Data["params[0][cc_num]"]    = creditCard.CardNum;
     Data["params[0][cc_exp_mo]"] = creditCard.CardExpiration.Substring(0, 2);
     Data["params[0][cc_exp_yr]"] = creditCard.CardExpiration.Substring(2, 2);
     Data["params[0][cc_cvv]"]    = creditCard.CardCvv;
 }
 private RevisionAct BuildRevisionAct(DateTime begin, DateTime end, Payer payer)
 {
     return(new RevisionAct(payer,
                            begin,
                            end,
                            DbSession.Query <Act>().Where(i => i.Payer == payer).ToList(),
                            DbSession.Query <Payment>().Where(p => p.Payer == payer).ToList(),
                            DbSession.Query <BalanceOperation>().Where(o => o.Payer == payer).ToList()));
 }
예제 #12
0
        public Payment CreatePayment(APIContext apiContext, string redirectUrl, List <CartItemModel> cartList)
        {
            int total    = 0;
            var itemList = new ItemList()
            {
                items = new List <Item>()
            };

            foreach (var cartItem in cartList)
            {
                Item item = new Item();
                item.name     = cartItem.productName;
                item.currency = "USD";
                item.price    = (cartItem.productPrice * cartItem.productQuantity).ToString();
                item.quantity = cartItem.productQuantity.ToString();
                total         = total + (cartItem.productPrice * cartItem.productQuantity);
                itemList.items.Add(item);
            }

            var payer = new Payer()
            {
                payment_method = "paypal"
            };

            // Configure Redirect Urls here with RedirectUrls object
            var redirUrls = new RedirectUrls()
            {
                cancel_url = redirectUrl,
                return_url = redirectUrl
            };

            var amount = new Amount()
            {
                currency = "USD",
                total    = total.ToString()
            };

            var transactionList = new List <Transaction>();

            transactionList.Add(new Transaction()
            {
                description    = "Transaction description.",
                invoice_number = GetRandomInvoiceNumber(),
                amount         = amount,
                item_list      = itemList
            });

            payment = new Payment()
            {
                intent        = "sale",
                payer         = payer,
                transactions  = transactionList,
                redirect_urls = redirUrls
            };

            return(payment.Create(apiContext));
        }
예제 #13
0
        public void Setup()
        {
            employee                 = new TestEmployee();
            employeeRepository       = new TestEmployeeRepository(employee);
            paymentDispatcher        = new TestPaymentDispatcher();
            paymentDispatcherFactory = new TestPaymentDispatcherFactory(paymentDispatcher);

            payer = new TestPayer(employeeRepository, paymentDispatcherFactory);
        }
예제 #14
0
파일: Payment.cs 프로젝트: diedona/ddd-2019
 protected Payment(DateTime paidDate, DateTime expiredDate, decimal total, decimal totalPaid, Payer payer)
 {
     Number      = Guid.NewGuid().ToString().Replace("-", string.Empty).Substring(0, 10).ToUpper();
     PaidDate    = paidDate;
     ExpiredDate = expiredDate;
     Total       = total;
     TotalPaid   = totalPaid;
     Payer       = payer;
 }
예제 #15
0
        private Payment CreatePayment(APIContext apiContext, string redirectUrl)
        {
            var itemList = new ItemList()
            {
                items = new List <Item>()
            };

            itemList.items.Add(new Item()
            {
                name     = "Item Name",
                currency = "USD",
                price    = "6",
                quantity = "1"
            });

            var payer = new Payer()
            {
                payment_method = "paypal"
            };
            var redirectUrls = new RedirectUrls()
            {
                cancel_url = redirectUrl,
                return_url = redirectUrl
            };

            var details = new Details()
            {
                tax      = "1",
                subtotal = "6"
            };

            var amount = new Amount()
            {
                currency = "USD",
                total    = "7",
                details  = details
            };

            var transactionList = new List <Transaction>();

            transactionList.Add(new Transaction()
            {
                description = "Transaction description",
                amount      = amount,
                item_list   = itemList
            });

            this.payment = new Payment()
            {
                intent        = "Sale",
                payer         = payer,
                transactions  = transactionList,
                redirect_urls = redirectUrls
            };

            return(this.payment.Create(apiContext));
        }
예제 #16
0
        public static Payment BasePaymentDto2RestApiPayment(this BasePaymentDTO dto,
                                                            BillingEnums.ePaymentAction action,
                                                            BillingEnums.ePaymentMethods method,
                                                            bool keepDecimal,
                                                            RedirectUrls urls        = null,
                                                            Courses entity           = null,
                                                            CRS_Bundles bundleEntity = null,
                                                            Payer payer = null)

        {
            var payment = new Payment
            {
                intent = action.EnumToLowerString(),
                payer  = new Payer
                {
                    payment_method = method.EnumToLowerString()
                },
                transactions = new List <Transaction>
                {
                    dto.PaymentDto2TransactionToken(keepDecimal)
                }
            };

            if (urls != null)
            {
                payment.redirect_urls = urls;
            }

            if (entity != null)
            {
                payment.transactions[0].item_list = new ItemList
                {
                    items = new List <Item>
                    {
                        entity.CourseEntity2PaypalRestApiItem(dto, keepDecimal)
                    }
                };
            }
            else if (bundleEntity != null)
            {
                payment.transactions[0].item_list = new ItemList
                {
                    items = new List <Item>
                    {
                        bundleEntity.BundleEntity2PaypalRestApiItem(dto, keepDecimal)
                    }
                };
            }


            if (payer != null)
            {
                payment.payer = payer;
            }

            return(payment);
        }
 public void SearchPayers(string searchPattern)
 {
     if (String.IsNullOrEmpty(searchPattern))
     {
         return;
     }
     PropertyBag["payers"] = Payer.GetLikeAvaliable(DbSession, searchPattern);
     CancelLayout();
 }
예제 #18
0
 public Client(Payer payer, Region homeRegion)
     : this()
 {
     Status     = ClientStatus.On;
     HomeRegion = homeRegion;
     JoinPayer(payer);
     Settings.CheckDefaults();
     Settings.GenerateCryptPassword();
 }
 public void Setup()
 {
     client          = DataMother.CreateClientAndUsers();
     payer           = client.Payers.First();
     payer.Recipient = session.Query <Recipient>().First();
     payer.Users.Each(u => u.Accounting.ReadyForAccounting = true);
     session.SaveOrUpdate(client);
     session.Save(payer);
 }
        public void Setup()
        {
            employee = new TestEmployee();
            employeeRepository = new TestEmployeeRepository(employee);
            paymentDispatcher = new TestPaymentDispatcher();
            paymentDispatcherFactory = new TestPaymentDispatcherFactory(paymentDispatcher);

            payer = new TestPayer(employeeRepository, paymentDispatcherFactory);
        }
 public MonorailMailer PayerRegistred(Payer payer)
 {
     GeneralizationPropertyChanged(payer, payer.Comment);
     To         = "[email protected], [email protected]";
     IsBodyHtml = true;
     Template   = "PropertyChanged_html";
     Subject    = String.Format("Зарегистрирован {0}", BindingHelper.GetDescription(payer).ToLower());
     return(this);
 }
        public async Task <Unit> Handle(CreatePayerCommand request, CancellationToken cancellationToken)
        {
            var payer = Payer.Create(request.UserId, request.Login, request.Email, request.FirstName, request.LastName,
                                     request.Name);

            await _payerRepository.AddAsync(payer);

            return(Unit.Value);
        }
예제 #23
0
        public static Payment CreatePayment(APIContext apiContext, string redirectUrl)
        {
            var itemList = new ItemList() { items = new List<Item>() };
            var booking = SessionUtility.GetBookingSession();
            var depart = "(" + booking.Departure.Name.Split('-')[0].Trim() + ") " + booking.Departure.City;
            var arrival = "(" + booking.Arrival.Name.Split('-')[0].Trim() + ") " + booking.Arrival.City;
            var percent = booking.PassengerType.Where(type => type.Name.Equals(Constant.CONST_DB_NAME_INFANT)).Select(type => type.Discount.Value).FirstOrDefault();
            var priceInfant = Math.Round(booking.Price - (booking.Price / 100) * percent, 2);
            var percent2 = booking.PassengerType.Where(type => type.Name.Equals(Constant.CONST_DB_NAME_CHILD)).Select(type => type.Discount.Value).FirstOrDefault();
            var priceChild = Math.Round(booking.Price - (booking.Price / 100) * percent2, 2);
            var totalPrice = (booking.Price * booking.Adult) + (booking.Child > 0 ? priceChild * booking.Child : 0) + (booking.Infant > 0 ? priceInfant * booking.Infant : 0);

            itemList.items.Add(new Item()
            {
                name = "Flight: " + depart + " to " + arrival + (booking.ReturnFlight.Count > 0? " (Round trip)":""),
                currency = "USD",
                price = totalPrice.ToString(),
                quantity = "1",
                sku = "sku"
            });

            var payer = new Payer() { payment_method = "paypal" };

            var redirUrls = new RedirectUrls()
            {
                cancel_url = redirectUrl + "&Cancel=true",
                return_url = redirectUrl
            };

            var amount = new Amount()
            {
                currency = "USD",
                total = totalPrice.ToString()
            };

            var transactionList = new List<Transaction>
            {
                new Transaction()
                {
                    description = "Booking Flight from EaseFlight",
                    invoice_number = Convert.ToString((new Random()).Next(100000)),
                    amount = amount,
                    item_list = itemList
                }
            };

            payment = new Payment()
            {
                intent = "sale",
                payer = payer,
                transactions = transactionList,
                redirect_urls = redirUrls
            };

            return payment.Create(apiContext);
        }
    public override void Reset()
    {
        LockToken       = null;
        LockMode        = LockMode.Unknown;
        LockRetainUntil = null;
        ContentMd5      = null;
        RequestPayer    = Payer.Unknown;

        base.Reset();
    }
 public void Update(
     [ARDataBind("Instance", AutoLoadBehavior.NullIfInvalidKey)] Payer payer,
     uint clientCode,
     string tab)
 {
     payer.CheckCommentChangesAndLog(DbSession, this.Mailer());
     DbSession.Save(payer);
     Notify("Изменения сохранены");
     RedirectToReferrer();
 }
        public void If_client_registred_for_special_payer_set_receive_waybills_in_true()
        {
            var payer = new Payer("Тестовый плательщик", "Тестовый плательщик")
            {
                Id = 921
            };

            client = new Client(payer, Data.DefaultRegion);
            Assert.That(client.Settings.SendWaybillsFromClient, Is.True);
        }
예제 #27
0
        public void CreatePayer_IsSuccessful()
        {
            var payerId = Guid.NewGuid();
            var payer   = Payer.Create(payerId, "payerLogin", "*****@*****.**",
                                       "John", "Doe", "John Doe");

            var payerCreated = AssertPublishedDomainEvent <PayerCreatedDomainEvent>(payer);

            Assert.That(payerCreated.PayerId, Is.EqualTo(payerId));
        }
예제 #28
0
        public void TotalPrint(Service service, Payer payer)
        {
            double TotalSumm = 0;

            for (int i = 0; i < bill.Count; i++)
            {
                TotalSumm = service[i].PayGas + service[i].PayHeating + service[i].PayMaintenance + service[i].PayWater;
            }
            Console.WriteLine("Total sum = " + TotalSumm);
        }
예제 #29
0
        public IEnumerable <Payer> Get()
        {
            List <Payer> payerlist = new List <Payer>();

            Payer c1 = new Payer("Lishmi", "Davis", "2345678987", "kdlr");

            payerlist.Add(c1);

            return(payerlist);
        }
 public MonorailMailer PayerDelete(Payer payer, string deleteComment)
 {
     GeneralizationPropertyChanged(payer, deleteComment.Replace("\r\n", "<br/>"));
     To                   = "*****@*****.**";
     IsBodyHtml           = true;
     Template             = "DeletePayer";
     Subject              = string.Format("Удален плательщик {0}", payer.Name);
     PropertyBag["payer"] = payer;
     return(this);
 }
예제 #31
0
        public void Payer(int id)
        {
            Payer entity = dbContext.Payer.Find(id);

            if (entity != null)
            {
                var nEntity = dbContext.Payer.Remove(entity);
                dbContext.SaveChanges();
            }
        }
예제 #32
0
        public string Purchase(string photoname, string size, string cost)
        {
            //Dictionary<string, string> sdkConfig = new Dictionary<string, string>();                      
            //sdkConfig.Add("mode", "sandbox");
            //string accessToken = new OAuthTokenCredential("Ae2ZWMxCl_ueuNy87vcg52hTjX9aVWfnvLQSMjDuTn2sj0crrWYIWwPseO_6H4nLpXKcHE9_DjtrmDEC", "EEmZr7iiuNCksXtPh5NjcVcguVGic0TwCW-f7GFmgfmrG8wBUhn_UJj53OxraTkKijC4UYQHv-fzlH7z", sdkConfig).GetAccessToken();
            //APIContext apiContext = new APIContext(accessToken);
            APIContext apiContext = GetAPIContext();
            Amount amnt = new Amount();
            amnt.currency = "USD";
            amnt.total = cost;

            List<Transaction> transactionList = new List<Transaction>();
            Transaction tran = new Transaction();
            tran.amount = amnt;
            tran.description = "Photo";
            tran.description = "creating a payment";
            tran.item_list = new ItemList();
            tran.item_list.items = new List<Item>();
            tran.item_list.items.Add(new Item());

            Item item = new Item();

            tran.item_list.items[0].currency = "USD";
            tran.item_list.items[0].description = size;
            tran.item_list.items[0].name = photoname;
            string price = cost;
            tran.item_list.items[0].price = price;// "12";
            tran.item_list.items[0].quantity = 1.ToString();// "1";
            tran.item_list.items[0].sku = photoname + " " + size;
            tran.item_list.items[0].tax = "0";
            transactionList.Add(tran);

            Payer payr = new Payer();
            payr.payment_method = "paypal";
            payr.payer_info = new PayerInfo();
            RedirectUrls redirUrls = new RedirectUrls();
            redirUrls.cancel_url = Request.Url + ""; 
            string tempurl = "http://" + Request.Url.Authority + "/Home/Confirm";
            redirUrls.return_url = tempurl;

            Payment pymnt = new Payment();
            pymnt.intent = "sale";
            pymnt.payer = payr;
            pymnt.transactions = transactionList;
            pymnt.redirect_urls = redirUrls;
            Payment createdPayment = pymnt.Create(apiContext);

            Links approvalURL = new Links();
            for (int i = 0; i < createdPayment.links.Count; ++i)
            {
                if (createdPayment.links[i].rel == "approval_url")
                {
                    approvalURL = createdPayment.links[i];
                    i = createdPayment.links.Count;
                }
            }


            return approvalURL.href;

        }