コード例 #1
0
 public OrderDetail(orderdetail orderdetail)
 {
     this.orderId         = orderdetail.orderId;
     this.productDetailId = orderdetail.productDetailId;
     this.quanlity        = orderdetail.quanlity;
     this.price           = orderdetail.price;
     this.productdetail   = orderdetail.productdetail;
 }
コード例 #2
0
        public ProductDescriptionLoading(product p, string name)
        {
            rname = name;
            orderdetail od = new orderdetail();

            orddet.Add(od);
            product = p;
        }
コード例 #3
0
        public void DeletItemFromOrder(int id)
        {
            orderdetail OD = db.orderdetails.Find(id);

            db.orderdetails.Remove(OD);
            db.SaveChanges();
            int i = 0;
        }
コード例 #4
0
        public ActionResult DeleteConfirmed(int id)
        {
            orderdetail orderdetail = db.orderdetails.Find(id);

            db.orderdetails.Remove(orderdetail);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
コード例 #5
0
        private orderdetail  GetOrderDetail(MySqlDataReader reader)
        {
            orderdetail detail = new orderdetail();

            detail.item_id   = reader.GetInt32("item_id");
            detail.item_name = reader.GetString("item_name");
            detail.price     = reader.GetDecimal("price");
            detail.amount    = reader.GetInt32("amount");
            detail.order_id  = reader.GetInt32("order_id");
            return(detail);
        }
コード例 #6
0
 public ActionResult Edit([Bind(Include = "ID,PurchaseOrderID,ProductID,ProductName,ProductColor,ProductType,Quantity,TypeOfUnits,CreatedDate,CreatedBy,ModifiedDate,ModifiedBy")] orderdetail orderDetail)
 {
     if (ModelState.IsValid)
     {
         db.Entry(orderDetail).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.ProductID       = new SelectList(db.products, "ID", "Name", orderDetail.ProductID);
     ViewBag.PurchaseOrderID = new SelectList(db.purchaseorders, "ID", "PurchaseOrderNo", orderDetail.PurchaseOrderID);
     return(View(orderDetail));
 }
コード例 #7
0
 public ActionResult Edit([Bind(Include = "id,order_id,product_id,quantily")] orderdetail orderdetail)
 {
     if (ModelState.IsValid)
     {
         db.Entry(orderdetail).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.order_id   = new SelectList(db.orders, "id", "id", orderdetail.order);
     ViewBag.product_id = new SelectList(db.products, "id", "name", orderdetail.product);
     return(View(orderdetail));
 }
コード例 #8
0
        public ActionResult DeleteOrderDetail(int?id)
        {
            orderdetail order = db.orderdetails.Find(id);

            if (order != null)
            {
                db.orderdetails.Remove(order);
                db.SaveChanges();
                return(RedirectToAction("Edit", "Order", new { id = order.ocid }));
            }
            return(RedirectToAction("Edit", "Order", new { id = order.ocid }));
        }
コード例 #9
0
 public ActionResult Edit([Bind(Include = "VoucherID,UserID,EventName,Quantity,Name,Phone,SecondPhone,Address,Email,PostalCode")] orderdetail orderdetail)
 {
     if (ModelState.IsValid)
     {
         db.Entry(orderdetail).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.UserID    = new SelectList(db.AspNetUsers, "Id", "Email", orderdetail.UserID);
     ViewBag.EventName = new SelectList(db.eventdetails, "EventName", "Type", orderdetail.EventName);
     return(View(orderdetail));
 }
コード例 #10
0
        public ActionResult Create([Bind(Include = "id,order_id,product_id,quantily")] orderdetail orderdetail)
        {
            if (ModelState.IsValid)
            {
                db.orderdetails.Add(orderdetail);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.order_id   = new SelectList(db.orders, "id", "id", orderdetail.order_id);
            ViewBag.product_id = new SelectList(db.products, "id", "name", orderdetail.product_id);
            return(View(orderdetail));
        }
コード例 #11
0
 public void AddNewOrderLine(WinkelMandItem winkelMandItem, int orderID)
 {
     using (var db = new ToysForBoysEntities())
     {
         orderdetail newOrderDetail = new orderdetail();
         newOrderDetail.orderId         = orderID;
         newOrderDetail.priceEach       = winkelMandItem.Prijs;
         newOrderDetail.quantityOrdered = winkelMandItem.AantalTeBestellen;
         newOrderDetail.productId       = winkelMandItem.ID;
         db.orderdetails.Add(newOrderDetail);
         db.SaveChanges();
     }
 }
コード例 #12
0
        public ActionResult Create([Bind(Include = "VoucherID,EventName,Quantity,Name,Phone,SecondPhone,Address,Email,PostalCode")] orderdetail orderdetail)
        {
            if (User.Identity.GetUserId() == null)
            {
                ModelState.AddModelError("Error", "Please Login First to Order!");
                ViewBag.EventName = new SelectList(db.eventdetails, "EventName", "EventName");
                return(View());
            }
            else if (ModelState.IsValid)
            {
                orderdetail.VoucherID = Guid.NewGuid();
                orderdetail.UserID    = User.Identity.GetUserId();
                int qty = orderdetail.Quantity;
                var y   = db.eventdetails.Where(t => t.EventName == orderdetail.EventName).FirstOrDefault();
                if (y != null)
                {
                    if (y.valiabeTicet == 0)
                    {
                        string text = "Ticket Sold Out";
                        ModelState.AddModelError("Error", text);
                        ViewBag.EventName = new SelectList(db.eventdetails, "EventName", "EventName");
                        return(View());
                        //return RedirectToAction("Create", "orderdetails", new { text });
                    }
                    else if (y.valiabeTicet < qty)
                    {
                        string text = "Not enough ticket. Only " + y.valiabeTicet + " left.";
                        ModelState.AddModelError("Error", text);
                        ViewBag.EventName = new SelectList(db.eventdetails, "EventName", "EventName");
                        return(View());
                        //return RedirectToAction("Create", "orderdetails", new { text });
                    }
                    else
                    {
                        y.valiabeTicet = y.valiabeTicet - qty;
                        db.SaveChanges();
                    }
                }
                db.orderdetails.Add(orderdetail);
                db.SaveChanges();
                int    price = int.Parse(y.Price);
                int    total = price * qty;
                string vid   = orderdetail.VoucherID.ToString();
                return(RedirectToAction("Index", "orderdetails", new { total, vid }));
            }

            ViewBag.UserID    = new SelectList(db.AspNetUsers, "Id", "Email", orderdetail.UserID);
            ViewBag.EventName = new SelectList(db.eventdetails, "EventName", "Type", orderdetail.EventName);

            return(View(orderdetail));
        }
コード例 #13
0
        // GET: admin/orderdetails/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            orderdetail orderdetail = db.orderdetails.Find(id);

            if (orderdetail == null)
            {
                return(HttpNotFound());
            }
            return(View(orderdetail));
        }
コード例 #14
0
 public void UpdateOrderDetailLine(int productId, int OrderId, int aantal)
 {
     using (var db = new ToysForBoysEntities())
     {
         orderdetail orderdetail = (from order in db.orderdetails
                                    where (order.orderId == OrderId) && (order.productId == productId)
                                    select order).FirstOrDefault();
         if (orderdetail != null)
         {
             orderdetail.quantityOrdered = aantal;
             db.SaveChanges();
         }
     }
 }
コード例 #15
0
 public void VerwijderOrderLine(WinkelMandItem winkelMandItem, int orderID)
 {
     using (var db = new ToysForBoysEntities())
     {
         orderdetail orderdetail = (from order in db.orderdetails
                                    where (order.orderId == orderID) && (order.productId == winkelMandItem.ID)
                                    select order).FirstOrDefault();
         if (orderdetail != null)
         {
             db.orderdetails.Remove(orderdetail);
             db.SaveChanges();
         }
     }
 }
コード例 #16
0
 public ActionResult Create(order order, string[] totalProduct)
 {
     try
     {
         order.submitDate = DateTime.Now;
         db.orders.Add(order);
         db.SaveChanges();
         if (totalProduct != null)
         {
             var listItem = totalProduct.ToList().Distinct().ToList();
             foreach (var item in listItem)
             {
                 var itemId         = int.Parse(item.Split('_')[0]);
                 var tblItem        = db.items.FirstOrDefault(x => x.ARTNO == itemId);
                 var tblOrderDetail = db.orderdetails.FirstOrDefault(x => x.itemId == itemId && x.ocid == order.ocid);
                 if (tblOrderDetail == null)
                 {
                     var tblOrder = new orderdetail
                     {
                         ocid         = order.ocid,
                         itemId       = itemId,
                         ocdetailqty  = int.Parse(item.Split('_')[1]),
                         ocdetailname = tblItem != null ? tblItem.ARTNAME : ""
                     };
                     db.orderdetails.Add(tblOrder);
                 }
                 else
                 {
                     tblOrderDetail.ocdetailqty     = int.Parse(item.Split('_')[1]);
                     db.Entry(tblOrderDetail).State = EntityState.Modified;
                 }
             }
             db.SaveChanges();
         }
     }
     catch (DbEntityValidationException e)
     {
         foreach (var eve in e.EntityValidationErrors)
         {
             Console.WriteLine("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:",
                               eve.Entry.Entity.GetType().Name, eve.Entry.State);
             foreach (var ve in eve.ValidationErrors)
             {
                 Console.WriteLine("- Property: \"{0}\", Error: \"{1}\"",
                                   ve.PropertyName, ve.ErrorMessage);
             }
         }
     }
     return(RedirectToAction("Index"));
 }
コード例 #17
0
        // GET: admin/orderdetails/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            orderdetail orderdetail = db.orderdetails.Find(id);

            if (orderdetail == null)
            {
                return(HttpNotFound());
            }
            ViewBag.order_id   = new SelectList(db.orders, "id", "id", orderdetail.order);
            ViewBag.product_id = new SelectList(db.products, "id", "name", orderdetail.product);
            return(View(orderdetail));
        }
コード例 #18
0
        // GET: OrderDetails/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            orderdetail orderDetail = db.orderdetails.Find(id);

            if (orderDetail == null)
            {
                return(HttpNotFound());
            }
            ViewBag.ProductID       = new SelectList(db.products, "ID", "Name", orderDetail.ProductID);
            ViewBag.PurchaseOrderID = new SelectList(db.purchaseorders, "ID", "PurchaseOrderNo", orderDetail.PurchaseOrderID);
            return(View(orderDetail));
        }
コード例 #19
0
        // GET: orderdetails/Edit/5
        public ActionResult Edit(Guid?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            orderdetail orderdetail = db.orderdetails.Find(id);

            if (orderdetail == null)
            {
                return(HttpNotFound());
            }
            ViewBag.UserID    = new SelectList(db.AspNetUsers, "Id", "Email", orderdetail.UserID);
            ViewBag.EventName = new SelectList(db.eventdetails, "EventName", "Type", orderdetail.EventName);
            return(View(orderdetail));
        }
コード例 #20
0
ファイル: PedidosController.cs プロジェクト: CIBERAHP/RP
        List <orderdetail> OrdersDetails(int id)
        {
            String  cliente = "";
            int     idOrden = 0;
            Decimal total   = 0;

            List <orderdetail> temporal = new List <orderdetail>();

            SqlCommand cmd = new SqlCommand("proc_order_detail", cn);

            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.AddWithValue("@idorder", id);

            cn.Open();
            SqlDataReader dr = cmd.ExecuteReader();

            while (dr.Read())
            {
                orderdetail reg = new orderdetail
                {
                    idproducto     = dr.GetInt32(0),
                    nombreproducto = dr.GetString(1),
                    cantidad       = dr.GetInt16(2),
                    precio         = dr.GetDecimal(3),
                    subtotal       = dr.GetDecimal(4)
                };

                temporal.Add(reg);
                cliente = dr.GetString(5);
                idOrden = dr.GetInt32(6);
                total   = total + dr.GetDecimal(4);
            }
            dr.Close();
            cn.Close();

            ViewBag.cliente = cliente;
            ViewBag.idOrden = idOrden;
            ViewBag.total   = total;


            return(temporal);
        }
コード例 #21
0
ファイル: ShoppingCart.cs プロジェクト: yfyz/MvcMusicStore
        /*
         * 将购物车转换为结账处理过程中的订单。
         */
        public int  CreateOrder(musicorder order)
        {
            Maticsoft.BLL.cart itembll = new Maticsoft.BLL.cart();
            var cartItems = GetCartItems();

            foreach (var item in cartItems)
            {
                var orderDetail = new orderdetail
                {
                    AlbumId   = item.AlbumId,
                    OrderId   = order.OrderId,
                    Quantity  = item.Count,
                    UnitPrice = itembll.GetUnitprice(item.AlbumId)
                };
                Maticsoft.BLL.orderdetail orderdetailbll = new Maticsoft.BLL.orderdetail();
                orderdetailbll.Add(orderDetail);
            }
            order.Total = GetTotal();
            EmptyCart();
            return(order.OrderId);
        }
コード例 #22
0
        public ActionResult Edit(order order, string[] totalProduct)
        {
            //var tem = db.orders.Find(order.ocid);

            db.Entry(order).State = EntityState.Modified;
            db.SaveChanges();
            if (totalProduct != null)
            {
                var listItem = totalProduct.ToList().Distinct().ToList();
                foreach (var item in listItem)
                {
                    var itemId         = int.Parse(item.Split('_')[0]);
                    var tblItem        = db.items.FirstOrDefault(x => x.ARTNO == itemId);
                    var tblOrderDetail = db.orderdetails.FirstOrDefault(x => x.itemId == itemId && x.ocid == order.ocid);
                    if (tblOrderDetail == null)
                    {
                        var tblOrder = new orderdetail
                        {
                            ocid         = order.ocid,
                            itemId       = itemId,
                            ocdetailqty  = int.Parse(item.Split('_')[1]),
                            ocdetailname = tblItem != null ? tblItem.ARTNAME : ""
                        };
                        db.orderdetails.Add(tblOrder);
                    }
                    else
                    {
                        tblOrderDetail.ocdetailqty     = int.Parse(item.Split('_')[1]);
                        db.Entry(tblOrderDetail).State = EntityState.Modified;
                    }
                }
            }

            db.SaveChanges();

            return(RedirectToAction("Index"));
        }
コード例 #23
0
 public bool InsertOrderDetail(orderdetail obj)
 {
     return(svc.InsertOrderDetail(obj));
 }
コード例 #24
0
        public ActionResult Checkout(Order order)
        {
            List <Cart> carts      = Session["cart"] as List <Cart>;
            int         quanTotal  = 0;
            decimal     totalPrice = 0;

            if (carts != null || carts.Count != 0)
            {
                foreach (Cart c in carts)
                {
                    totalPrice += c.TotalPrice;
                    quanTotal  += c.Quantity;
                }
            }

            if (ModelState.IsValid)
            {
                order or = new order();

                or.name        = order.name;
                or.phoneNumber = order.phoneNumber;
                or.address     = order.address;
                or.payment     = (int)order.payment;
                or.quantity    = quanTotal;
                or.amount      = totalPrice;
                or.status      = 0;
                or.activeFlag  = 1;

                or.createDate = DateTime.Now;
                or.updateDate = DateTime.Now;

                this.db.orders.Add(or);
                this.db.SaveChanges();



                foreach (Cart c in carts)
                {
                    orderdetail od = new orderdetail();
                    od.orderId         = or.id;
                    od.productDetailId = c.ProductDetail.id;
                    od.quanlity        = c.Quantity;
                    od.price           = c.TotalPrice;
                    od.activeFlag      = 1;
                    od.createDate      = DateTime.Now;
                    od.updateDate      = DateTime.Now;

                    this.db.orderdetails.Add(od);
                    this.db.SaveChanges();

                    Session.Remove("cart");
                    Session["order"] = or;
                }
                return(RedirectToAction("orderReceived", "Checkout"));
            }



            ViewBag.totalPrice = totalPrice;
            ViewBag.carts      = carts;

            return(View(order));
        }
コード例 #25
0
        public ActionResult Create(order order, int?checkBilldingShipping)
        {
            if (ModelState.IsValid)
            {
                if (Session["ShoppingCart"] == null)
                {
                    return(RedirectToAction("UpdateCart", "Home"));
                }
                else
                {
                    try
                    {
                        var oldPriceOrder = 0.0;
                        if (order.ocid > 0)
                        {
                            var _order = db.orders.Where(t => t.ocid == order.ocid).FirstOrDefault();
                            oldPriceOrder          = _order.paid_amount.HasValue ? _order.paid_amount.Value : 0;
                            db.Entry(_order).State = EntityState.Detached;
                            db.SaveChanges();
                        }
                        order.d_companyname = string.IsNullOrEmpty(order.d_companyname) ? order.companyname : order.d_companyname;
                        order.d_fname       = string.IsNullOrEmpty(order.d_fname) ? order.fname : order.d_fname;
                        order.d_lname       = string.IsNullOrEmpty(order.d_lname) ? order.lname : order.d_lname;
                        order.d_email       = string.IsNullOrEmpty(order.d_email) ? order.email : order.d_email;
                        order.d_phone       = string.IsNullOrEmpty(order.d_phone) ? order.phone : order.d_phone;
                        order.d_addr1       = string.IsNullOrEmpty(order.d_addr1) ? order.addr1 : order.d_addr1;
                        if (checkBilldingShipping.HasValue && checkBilldingShipping.Value == 1)
                        {
                            order.b_companyname = string.IsNullOrEmpty(order.d_companyname) ? order.companyname : order.d_companyname;
                            order.b_fname       = string.IsNullOrEmpty(order.d_fname) ? order.fname : order.d_fname;
                            order.b_lname       = string.IsNullOrEmpty(order.d_lname) ? order.lname : order.d_lname;
                            order.b_email       = string.IsNullOrEmpty(order.d_email) ? order.email : order.d_email;
                            order.b_phone       = string.IsNullOrEmpty(order.d_phone) ? order.phone : order.d_phone;
                            order.b_addr1       = string.IsNullOrEmpty(order.d_addr1) ? order.addr1 : order.d_addr1;
                        }
                        order.status = "2";
                        if (order.payoption == "PayPal")
                        {
                            order.paid_status = 2;
                        }
                        if (order.payoption == "COD")
                        {
                            order.paid_status = 1;
                        }
                        ShoppingCart Cart = new ShoppingCart();
                        Cart = (ShoppingCart)Session["ShoppingCart"];
                        order.paid_amount = Cart.CartTotal + Cart.taxTotal;
                        String randomKey = Guid.NewGuid().ToString();
                        if (order.ocid == 0)
                        {
                            order.paid_key = randomKey;
                            db.orders.Add(order);
                            db.SaveChanges();
                        }
                        else
                        {
                            db.Entry(order).State = EntityState.Modified;
                            db.SaveChanges();
                        }

                        Cart.paid_key = order.paid_key;
                        WebApplication1.Models.AllLoggedUserInfo userFullInfo = (WebApplication1.Models.AllLoggedUserInfo)Session["LoggedAccount"];
                        if (userFullInfo != null)
                        {
                            var user = db.users.Find(userFullInfo.user.Id);
                            user.paidorder       = (user.paidorder ?? 0) + (decimal)Cart.CartTotal + (decimal)(order.feeshipping ?? 0) - (decimal)oldPriceOrder;
                            db.Entry(user).State = EntityState.Modified;
                            db.SaveChanges();
                        }
                        double       cartAmount   = 0;
                        string       currencyName = "USD";
                        ordersetting ordersetting = db.ordersettings.Where(t => t.status == 1).FirstOrDefault();
                        if (ordersetting != null)
                        {
                            currencyName = ordersetting.name;
                        }

                        var itemList = new ItemList();
                        var items    = new List <Item>();

                        String paypalURL    = "";
                        var    paypayconfig = new PayPalConfiguration();
                        var    apiContext   = paypayconfig.GetAPIContext();

                        var _orderdetails = db.orderdetails.Where(t => t.ocid == order.ocid).ToList();
                        var listItems     = _orderdetails.Select(t => t.ocdetailcode);
                        var _items        = db.items.Where(t => listItems.Contains(t.ARTCODE)).ToList();
                        foreach (var item in _orderdetails)
                        {
                            if (item.stockId.HasValue && item.stockId.Value > 0)
                            {
                                var _item = _items.FirstOrDefault(t => t.ARTCODE == item.ocdetailcode);
                                if (_item != null)
                                {
                                    var _stock = db.stocks.Where(t => t.ARTNO == item.itemId && t.STOCKNO == item.stockId).FirstOrDefault();
                                    _stock.VOLUME         += item.ocdetailqty.Value;
                                    db.Entry(_stock).State = EntityState.Modified;
                                }
                            }
                        }
                        db.orderdetails.RemoveRange(_orderdetails);
                        var _listItems = Cart.cartItem.Select(t => t.Code);
                        var __items    = db.items.Where(t => _listItems.Contains(t.ARTCODE)).ToList();
                        foreach (var item in Cart.cartItem)
                        {
                            orderdetail od = new orderdetail();
                            od.ocid          = order.ocid;
                            od.ocdetailcode  = item.Code;
                            od.ocdetailname  = item.Name;
                            od.ocdetailprice = item.Price;
                            od.ocdetailqty   = item.Qty;
                            od.ocdetailgst   = item.Tax / item.Qty;
                            od.stockId       = item.StockId;
                            if (item.StockId > 0)
                            {
                                var _item = __items.FirstOrDefault(t => t.ARTCODE == od.ocdetailcode);
                                if (_item != null)
                                {
                                    var _stock = db.stocks.Where(t => t.ARTNO == _item.ARTNO && t.STOCKNO == item.StockId).FirstOrDefault();
                                    _stock.VOLUME         -= item.Qty;
                                    db.Entry(_stock).State = EntityState.Modified;
                                    od.itemId = _item.ARTNO;
                                }
                            }
                            db.orderdetails.Add(od);

                            var Item = new Item();
                            Item.name     = item.Code + " - " + item.Name;
                            Item.currency = currencyName;

                            Item.price    = (item.Price + (item.Tax / item.Qty)) + "";
                            Item.quantity = item.Qty + "";
                            items.Add(Item);
                        }
                        if (order.feeshipping.HasValue && order.feeshipping.Value > 0)
                        {
                            var Item = new Item();
                            Item.name     = "Fee Shipping";
                            Item.currency = currencyName;
                            Item.price    = order.feeshipping + "";
                            Item.quantity = "1";
                            items.Add(Item);
                        }
                        if (Cart.promotion != null)
                        {
                            if (Cart.promotion.TYPENO == 0)
                            {
                                var Item = new Item();
                                Item.name     = "Discount Promotion";
                                Item.currency = currencyName;
                                Item.price    = "-" + Cart.PromotionTotal + "";
                                Item.quantity = "1";
                                items.Add(Item);
                            }
                        }
                        cartAmount     = Cart.CartTotal + Cart.taxTotal + order.feeshipping ?? 0;
                        cartAmount     = Math.Round(cartAmount, 2);
                        itemList.items = items;
                        db.SaveChanges();
                        if (order.payoption == "PayPal")
                        {
                            var payer = new Payer()
                            {
                                payment_method = "paypal"
                            };
                            var redirUrls = new RedirectUrls()
                            {
                                cancel_url = UrlHelper.Root + "Checkout/PayPalCancel?" + UrlHelper.ToQueryString(new { paid_key = order.paid_key }),
                                return_url = UrlHelper.Root + "Checkout/PayPalSuccess?" + UrlHelper.ToQueryString(new { paid_key = order.paid_key })
                            };
                            var paypalAmount = new Amount()
                            {
                                currency = currencyName, total = cartAmount.ToString()
                            };

                            var transactionList = new List <PayPal.Api.Transaction>();
                            PayPal.Api.Transaction transaction = new PayPal.Api.Transaction();
                            transaction.amount    = paypalAmount;
                            transaction.item_list = itemList;
                            transactionList.Add(transaction);


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

                            try
                            {
                                var createdPayment = payment.Create(apiContext);
                                var links          = createdPayment.links.GetEnumerator();
                                while (links.MoveNext())
                                {
                                    var link = links.Current;
                                    if (link.rel.ToLower().Trim().Equals("approval_url"))
                                    {
                                        paypalURL = link.href;
                                    }
                                }
                                return(Redirect(paypalURL));
                            }
                            catch (PaymentsException ex)
                            {
                                paypalURL = "ERROR: " + ex.Response;
                            }
                        }
                        else
                        {
                            SendTemplateEmail(order.d_email, order.d_email, "", "Order Success #" + order.ocid + "" + DateTime.Now.Day, 1, Cart, order);
                            SendTemplateEmail(order.d_email, order.d_email, "", "Order Success #" + order.ocid + "" + DateTime.Now.Day, 3, Cart, order);
                            return(RedirectToAction("Thankyou"));
                        }
                    }
                    catch (DbEntityValidationException e)
                    {
                        foreach (var eve in e.EntityValidationErrors)
                        {
                            Console.WriteLine("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:",
                                              eve.Entry.Entity.GetType().Name, eve.Entry.State);
                            foreach (var ve in eve.ValidationErrors)
                            {
                                Console.WriteLine("- Property: \"{0}\", Error: \"{1}\"",
                                                  ve.PropertyName, ve.ErrorMessage);
                            }
                        }
                    }
                }
            }
            return(RedirectToAction("Create"));
        }
コード例 #26
0
        public OrderModel CreateOrder(OrderModel model)
        {
            OrderModel data = new OrderModel();

            using (shamsweets_mobileappEntities context = new shamsweets_mobileappEntities())
            {
                var maxseq = 0;
                var first  = context.ordermasters.Where(x => x.StoreId == model.StoreId).Select(s => s.OrderId).FirstOrDefault();
                if (first == 0)
                {
                    strSequnceNumber = "SHAM00001";
                }
                else
                {
                    maxseq = context.ordermasters.Where(x => x.StoreId == model.StoreId).Max(s => s.OrderId);
                }

                if (maxseq != null && maxseq > 0)
                {
                    strSequnceNumber = MakeIntoSequence(maxseq + 1, 9, "SHAM");
                }
                else
                {
                    strSequnceNumber = "SHAM00001";
                }

                string  strOrderNumber    = strSequnceNumber;
                decimal grandtotal        = 0;
                decimal deliverycharge    = 0;
                decimal promocodediscount = 0;
                decimal specialdiscount   = 0;
                decimal productprice      = 0;
                decimal GSTvalue          = 0;
                decimal productvalue      = 0;
                decimal taxabale_value    = 0;
                decimal gstvalue          = 0;
                decimal productnetvalue   = 0;
                decimal Itotal            = 0;

                decimal Total               = 0;
                decimal TotalDiscount       = 0;
                decimal TotalGST            = 0;
                decimal TotalSubTotal       = 0;
                decimal TotalGrandTotal     = 0;
                decimal NetPrice            = 0;
                decimal TotalDeliveryCharge = 0;

                foreach (var pro in model.OrderDetails)
                {
                    var product = (from p in context.productmasters
                                   where p.ProductId == pro.ProductId
                                   select p).FirstOrDefault();
                    if (product.TaxType != null && product.TaxType == "I")
                    {
                        productvalue    = pro.Quantity * (decimal)product.UnitPrice;
                        specialdiscount = (productvalue * (decimal)product.Discount / 100);
                        taxabale_value  = productvalue - specialdiscount;
                        GSTvalue        = taxabale_value * (decimal)product.GST / (100 + (decimal)product.GST);
                        Itotal          = taxabale_value - GSTvalue;
                        productprice    = (decimal)pro.Quantity * Itotal + GSTvalue;
                    }
                    else
                    {
                        productvalue    = pro.Quantity * (decimal)product.UnitPrice;
                        specialdiscount = (productvalue * (decimal)product.Discount / 100);
                        taxabale_value  = productvalue - specialdiscount;
                        GSTvalue        = taxabale_value * (decimal)product.GST / 100;
                        productprice    = taxabale_value + GSTvalue;
                    }
                    TotalDeliveryCharge += (decimal)product.DeliveryCharge;
                    Total           += productvalue;
                    TotalDiscount   += specialdiscount;
                    TotalSubTotal   += taxabale_value;
                    TotalGST        += GSTvalue;
                    TotalGrandTotal += productprice;
                }
                if (model.PromoCodeId > 0)
                {
                    promocodediscount = (decimal)(from p in context.promocodemasters
                                                  where p.PromoCodeId == model.PromoCodeId && p.LoginId == model.LoginId
                                                  select p.Discount).FirstOrDefault();
                }
                else
                {
                    promocodediscount = 0;
                }

                NetPrice = TotalGrandTotal + TotalDeliveryCharge - promocodediscount;
                ordermaster o = new ordermaster();
                o.OrderNumber         = strOrderNumber;
                o.StoreId             = model.StoreId;
                o.AddressId           = model.AddressId;
                o.LoginId             = model.LoginId;
                o.TotalPrice          = Total;
                o.GrandTotal          = TotalGrandTotal;
                o.SpecialDiscount     = TotalDiscount;
                o.Discount            = promocodediscount;
                o.NetAmount           = NetPrice;
                o.TotalGST            = TotalGST;
                o.SubTotal            = TotalSubTotal;
                o.TotalDeliveryCharge = TotalDeliveryCharge;
                o.OrderStatusId       = 1;
                foreach (var product in model.OrderDetails)
                {
                    orderdetail x = new orderdetail();
                    x.OrderNumber = strOrderNumber;
                    x.ProductId   = product.ProductId;
                    x.Quantity    = product.Quantity;
                    context.orderdetails.Add(x);
                }
                context.ordermasters.Add(o);

                var result = context.SaveChanges();

                var order = (from x in context.ordermasters
                             join s in context.orderstatusmasters on x.OrderStatusId equals s.OrderStatusId
                             join p in context.promocodemasters on x.LoginId equals p.LoginId into j1
                             from j2 in j1.DefaultIfEmpty()
                             join c in context.registrationmasters on x.LoginId equals c.LoginID into j3
                             from j4 in j3.DefaultIfEmpty()
                             join st in context.storemasters on x.StoreId equals st.StoreId into j5
                             from j6 in j5.DefaultIfEmpty()
                             //join m in context.orderdetails on x.OrderNumber equals m.OrderNumber
                             where x.LoginId == model.LoginId
                             orderby x.OrderId descending
                             select new OrderModel()
                {
                    OrderId = x.OrderId,
                    CustomerName = j4.Name,
                    PhoneNumber = j4.PhoneNumber,
                    EmailId = j4.EmailID,
                    DeviceId = j4.DeviceId,
                    OrderNumber = x.OrderNumber,
                    StoreId = (int)x.StoreId,
                    StoreName = j6.StoreName,
                    StorePhoneNumber = j6.StorePhoneNumber,
                    AddressId = (int)x.AddressId,
                    LoginId = (int)x.LoginId,
                    PromoCode = j2.PromoCode,
                    TotalPrice = (decimal)x.TotalPrice,
                    GrandTotal = (decimal)x.GrandTotal,
                    SpecialDiscount = (decimal)x.SpecialDiscount,
                    PromoDiscount = (decimal)x.Discount,
                    NetPrice = (decimal)x.NetAmount,
                    SubTotal = (decimal)x.SubTotal,
                    TotalGST = (decimal)x.TotalGST,
                    OrderTime = (DateTime)x.CreatedOn,
                    OrderStatus = s.OrderStatus,
                    DeliveryCharge = (decimal)x.TotalDeliveryCharge,
                }).First();

                var orderdetails = (from z in context.ordermasters
                                    join r in context.orderdetails on z.OrderNumber equals r.OrderNumber
                                    join p in context.productmasters on r.ProductId equals p.ProductId
                                    where r.OrderNumber == order.OrderNumber
                                    orderby r.OrderDetailsId descending
                                    select new OrderDetailsModel()
                {
                    ProductName = p.ProductName,
                    UnitPrice = (decimal)p.UnitPrice,
                    ProductId = (int)r.ProductId,
                    Quantity = (decimal)r.Quantity,
                    UOM = p.UOM,
                    //ProductPicturesUrl = path + r.ProductId + "ProductPictures.jpg"
                }).ToList();
                order.OrderDetails = orderdetails;
                return(order);
            }
        }
コード例 #27
0
 public ActionResult AddShC(orderdetail orderdetailmodel)
 {
     ViewModels.SHCList.list.Add(orderdetailmodel);
     return(PartialView("_ShCart", LoadSC(ViewModels.SHCList.list)));
 }
コード例 #28
0
 public static OrderDetailDto ToDto(this orderdetail entity) => Mapper.Map <OrderDetailDto>(entity);