コード例 #1
0
        public ActionResult Index(int?country_id = 175, int?Status = 0, int page = 1)
        {
            int      pageSize = 15;
            PageInfo pageInfo;

            ViewBag.Countries = new PlatManager().GetCountries(country_id);
            ViewBag.Status    = new PlatManager().GetStatus(Status);

            //Filterplat filterview = new Filterplat
            //                        {
            //                          SelectedCountry= filter.SelectedCountry,
            //                          SelectedStatus=  filter.SelectedStatus,
            //                          CountriesList=  new PlatManager().GetCountries(filter.SelectedCountry),
            //                          StatusList=     new PlatManager().GetStatus(filter.SelectedStatus)
            //                        };

            IEnumerable <PaymentsData> res = new PaymentsData().GetPaymentsList(country_id, Status).ToList();

            pageInfo = new PageInfo {
                PageNumber = page, PageSize = pageSize, TotalItems = res.Count()
            };
            res = res.Skip((page - 1) * pageSize).Take(pageSize);
            PaymentsView ivm = new PaymentsView {
                PaymentsList = res, PageInfo = pageInfo
            };

            return(View(ivm));
        }
コード例 #2
0
 public List <PaymentData> GetFuturePayments()
 {
     return(PaymentsData.FindAll(d => DateTime.Compare(DateTime.Now, d.RegistryCloseDate) <= 0));
 }
コード例 #3
0
        public string Create(PaymentsData paymentDados)
        {
            try
            {
                string codBarras = "";

                //Verifica o ID do Cliente
                if (paymentDados.Id_Client <= 0)
                {
                    return("Cliente Inválido!");
                }

                //Verifica já o Buyer já está cadastrado, caso não esteja já cadastra
                var buyer = _buyer.FindAll().Where(p => p.CPF == paymentDados.CPF).FirstOrDefault();
                if (buyer == null)
                {
                    buyer = _buyer.Create(new Buyer
                    {
                        Id_Client = paymentDados.Id_Client,
                        CPF       = paymentDados.CPF,
                        Email     = paymentDados.Email,
                        Name      = paymentDados.Name_Buyer
                    });
                }
                else if (buyer.Name != paymentDados.Name_Buyer || buyer.Email != buyer.Email)
                {
                    return("CPF informado do buyer já existe para outro buyer!");
                }

                //card
                if (paymentDados.Type == "Cartao")
                {
                    var card = _card.FindAll().Where(c => c.Id_Buyer == buyer.Id).FirstOrDefault();
                    if (card == null)
                    {
                        card = _card.Create(new Card
                        {
                            Holder_name     = paymentDados.Holder_name,
                            Number          = paymentDados.Number,
                            Expiration_date = paymentDados.Expiration_date,
                            CVV             = Convert.ToInt32(paymentDados.CVV),
                            Id_Buyer        = Convert.ToInt64(buyer.Id)
                        });
                    }

                    //pagamento com cartão
                    var payment = _payment.Create(new Payment()
                    {
                        Id_Buyer   = Convert.ToInt64(buyer.Id),
                        Id_Card    = Convert.ToInt64(card.Id),
                        Amount     = paymentDados.Amount,
                        Type       = paymentDados.Type,
                        Card       = paymentDados.Card,
                        Status     = (buyer.Name != card.Holder_name ? "Pendente" : "Efetivado"),
                        Cod_barras = ""
                    });
                }
                else //Boleto
                {
                    //pagamento no boleto
                    codBarras = GerarCod();
                    var payment = _payment.Create(new Payment()
                    {
                        Id_Buyer   = Convert.ToInt64(buyer.Id),
                        Amount     = paymentDados.Amount,
                        Type       = paymentDados.Type,
                        Card       = paymentDados.Card,
                        Status     = "Aguardando Pagamento",
                        Cod_barras = codBarras
                    });
                }

                return(codBarras == "" ? "Pagamento cadastrado!" : codBarras);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
コード例 #4
0
 public string Post([FromBody] PaymentsData paymentsData)
 {
     return(_paymentsData.Create(paymentsData));
 }