Exemplo n.º 1
0
        public ActionResult Payment()
        {
            if (User.Identity.IsAuthenticated)
            {
                var userId      = User.Identity.GetUserId();
                var itemsInCart = db.ShoppingCart.Where(s => s.UserId == userId && s.Status == false).ToList();

                // the gateway does not accepts amount less than 1000 Rials
                decimal totalPrice = 1000;
                foreach (var item in itemsInCart)
                {
                    totalPrice += item.Count * item.Price;
                }

                try
                {
                    Payment        ob         = new Payment();
                    string         result     = ob.pay(totalPrice.ToString());
                    JsonParameters parameters = JsonConvert.DeserializeObject <JsonParameters>(result);

                    if (parameters.status == 1)
                    {
                        List <TempSale> LstTempSales = new List <TempSale>();
                        foreach (var x in itemsInCart)
                        {
                            TempSale t = new TempSale()
                            {
                                ShoppingCartId = x.Id,
                                BankGetNo      = parameters.transId,
                                Date           = DateTime.Now,
                                Status         = false,
                                Count          = x.Count,
                                Price          = x.Price,
                                ProductId      = x.ProductId,
                                ProductName    = x.ProductName
                            };
                            LstTempSales.Add(t);
                        }
                        db.TempSale.AddRange(LstTempSales);
                        db.SaveChanges();

                        Response.Redirect("https://pay.ir/payment/test/gateway/" + parameters.transId);
                    }
                    else
                    {
                        //lblresult.text = "کدخطا : " + parmeters.errorcode + "<br />" + "پیغام خطا : " + parmeters.errormessage;
                    }
                }
                catch (Exception e)
                {
                    //lblresult.text = "خطا در اتصال به درگاه پرداخت";
                }
            }
            else
            {
                return(RedirectToAction("Index", "Home"));
            }

            return(View());
        }
Exemplo n.º 2
0
        private void BT_Add_Click(object sender, RoutedEventArgs e)
        {
            int qnt = Convert.ToInt32(BikeQuantity.Text);

            string      b_name  = ((CatalogBike.displayInfo)BikeCatalog.SelectedItem).name;
            string      b_color = BikeColor.SelectedItem.ToString();
            string      b_size  = BikeSize.SelectedItem.ToString();
            CatalogBike cb      = ((CatalogBike.displayInfo)BikeCatalog.SelectedItem).CurCatBike;

            BikeBasket bb = new BikeBasket(b_name, b_color, b_size, cb, qnt);

            BikeTemplate bt = bb.CreateBikeTemplate();

            if (bt.getId() == -1)
            {
                int id_bt = Controler.Instance.getLastBikeTemplateId() + 1;
                bt.setId(id_bt);
                Controler.Instance.createBikeTemplate(bt);
            }


            for (int i = 0; i < bb.qnt; i++)
            {
                int bikeID = Controler.Instance.getLastBikeId() + 1;

                DateTime constr_date  = TempSale.getConstrDate();
                DateTime planned_date = TempSale.getNextPrevisionDate();

                int poste = Controler.Instance.getAvailablePoste();

                Bike tempB = new Bike(bikeID, 0, -1, poste, bt, planned_date, constr_date);

                Controler.Instance.createBike(tempB);
            }

            this.Close();
        }