Ejemplo n.º 1
0
        public ActionResult PaymentCheckOut(string recieveOrder, string buyerOrder, string note, long shopid, long payfrom, string TaxOrder)
        {
            ProductsBusiness productsBusiness = new ProductsBusiness();
            var serializerSettings            = new JsonSerializerSettings
            {
                PreserveReferencesHandling = PreserveReferencesHandling.Objects
            };

            var recieve  = JsonConvert.DeserializeObject <List <string> >(recieveOrder, serializerSettings);
            var buyeror  = JsonConvert.DeserializeObject <List <string> >(buyerOrder, serializerSettings);
            var taxOrder = JsonConvert.DeserializeObject <List <string> >(TaxOrder, serializerSettings);

            if (ModelState.IsValid)
            {
                var recieveadress = recieve[4];

                var order = new Order();
                order.FeeOfTranspot  = 0;
                order.GramGood       = 0;
                order.KmRoad         = 0;
                order.TotalMoney     = 0;
                order.IdPayForm      = payfrom;
                order.IdShop         = 0;
                order.NoteAboutOrder = note;

                var                sesion            = NlCheckout.GetSessionCard(Session);
                Member             entity            = SessionUtility.GetSessionMember(Session);
                LocationsBusiness  locationsBusiness = new LocationsBusiness();
                double             moneytransport    = 0;
                double             totalmoney        = 0;
                double             totalGram         = 0;
                List <OrderDetail> listOrderDetails  = new List <OrderDetail>();
                foreach (var item in sesion)
                {
                    if (item.Product.MemberId == shopid)
                    {
                        var orderDetail = new OrderDetail();
                        orderDetail.IdOrder   = order.Id;
                        orderDetail.IdProduct = item.Product.Id;

                        orderDetail.Price       = (decimal)item.Product.Price;
                        moneytransport         += 0;// FuntionMember.CountMoneyTransport(0, item.Product.Weight * item.Quantity, recieve[3]); //Kiêm tra tinh chính xác đoạn này
                        totalGram              += item.Product.Weight;
                        totalmoney             += item.Product.Price + moneytransport;
                        orderDetail.NameProduct = item.Product.ProductName;
                        orderDetail.PathImage   = item.Product.ProductImages.First(x => x.IsAvatar == 1).ImgSource;
                        orderDetail.Quantity    = item.Quantity;

                        listOrderDetails.Add(orderDetail);
                    }
                }
                NlCheckout.SetSessionOrderDetail(listOrderDetails, Session);
                var url = "";

                order.TotalMoney    = totalmoney;
                order.FeeOfTranspot = moneytransport;
                order.GramGood      = totalGram;
                order.OrderDetails  = listOrderDetails;
                order.Status        = 0;// đơn hàng mới

                //Buyer
                Member member = SessionUtility.GetSessionMember(Session);
                var    buyer  = new OrderBuyer();
                if (buyeror != null && buyeror.Any()) // lấy thông tin ngươi mua giông ng nhận hàng
                {
                    buyer.Id          = order.Id;
                    buyer.Name        = taxOrder[0];
                    buyer.PhoneNumber = buyeror[1];
                    buyer.Email       = buyeror[2];
                    buyer.Address     = taxOrder[1];
                    buyer.CMTND       = taxOrder[2];
                }
                else
                {
                    buyer.Id          = order.Id;
                    buyer.Name        = taxOrder[0];
                    buyer.PhoneNumber = recieve[1];
                    buyer.Email       = recieve[2];
                    buyer.Address     = taxOrder[1];
                    buyer.CMTND       = taxOrder[2];
                }

                buyer.CreateDate = DateTime.Now;
                if (member != null)
                {
                    buyer.IdMember = member.Id;// người đăng nhập mua hàng
                }

                order.OrderBuyer = buyer;
                //Reciver
                var reciver = new OrderReciver();
                reciver.Id          = order.Id;
                reciver.Name        = recieve[0];
                reciver.PhoneNumber = recieve[1];
                reciver.Email       = recieve[2];
                // reciver.Address = recieve[4]+", "+ recieve[3];
                reciver.Address    = recieve[4];
                reciver.CreateDate = DateTime.Now;
                SessionUtility.SetSessionOrderReciver(reciver, Session);
                order.OrderReciver = reciver;

                #region Xoa san phâm trong sesion

                List <CartItem> listCartItems = new List <CartItem>();
                foreach (var item in sesion)
                {
                    if (item.Product.MemberId != shopid)
                    {
                        listCartItems.Add(item);
                    }
                    else
                    {
                    }
                }
                order.IdShop = null;
                ordersBusiness.AddNew(order);
                Session["Madonhang"]  = order.Id;
                Session["TotalMoney"] = order.TotalMoney;

                NlCheckout.SetSessionCard(listCartItems, Session);

                #endregion Xoa san phâm trong sesion

                string body = ControllerExtensions.RenderRazorViewToString(this, "DetailCart", order);

                Function.ObjMailSend objmail = new Function.ObjMailSend();
                var mailsend = new SystemSettingBusiness().GetDynamicQuery().First(x => x.Key == "mail_noreply");
                var acount   = mailsend.Value.Split('|');
                objmail.FromMail     = acount[0];
                objmail.PassFromMail = acount[1];
                objmail.ToMail       = reciver.Email;

                Function.email_send(objmail, "[Noithatgoquy]Thông tin đơn hàng(" + DateTime.Now + ")", body);
                var car = NlCheckout.GetSessionCard(Session);
                if (payfrom == 200)
                {
                    //thanh toan qua ngan luong
                    string return_url       = "https://wwww.vinaplaza.vn";                            // Địa chỉ trả về
                    string transaction_info = "info";                                                 //Thông tin giao dịch
                    string order_code       = order.Id.ToString();                                    //Mã giỏ hàng
                    string receiver         = new NlCheckout().GetvalueAppsetting("acount_receiver"); //Tài khoản nhận tiền
                    string price            = totalmoney.ToString();                                  //Lấy giá của giỏ hàng
                    BuyGroup365.Models.Member.NlCheckout nl = new BuyGroup365.Models.Member.NlCheckout();
                    //string url;
                    url = nl.buildCheckoutUrl(return_url, receiver, transaction_info, order_code, price);
                    //ImageButton imgBtn = new ImageButton();
                    //imgBtn.ImageUrl = "https://www.nganluong.vn/data/images/buttons/11.gif";//source file ảnh
                    //imgBtn.PostBackUrl = url;//Gán địa chỉ url cho nút thanh toán
                    // Response.Redirect(url);
                }
                else if (payfrom == 1)
                {
                    //thanh toan qua bao kim
                }
                else
                {
                    //nguoi mua va nguoi ban tu thuong luong gia ca
                }
                if (payfrom == 200)
                {
                    return(Json(url, JsonRequestBehavior.AllowGet));
                }
                else
                {
                    if (car != null && car.Any())
                    {
                        return(Json(1, JsonRequestBehavior.AllowGet));
                    }
                    else
                    {
                        return(Json(1, JsonRequestBehavior.AllowGet)); // thay đôi lại luồng trước đây phân ra 2 trương hợp như thê này đê Render tới các page khác nhau
                    }
                }

                //  return Json(listCartItems, JsonRequestBehavior.AllowGet);
            }

            return(Json(0, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 2
0
        public ActionResult Payment(double kmRoad, double gramGoods, double totalMoneyPay, double feeTranspotGood, string nameOfBuyer, string buyerPhone, string buyerEmail, string buyerAddress, string receiverName, string receiverPhone, string receiverEmail, string receiverAddress, long formPayGood, string receiverTown, string receiverPhuong, string note, long shopid)
        {
            //    var id = Request.QueryString["sp"];
            if (ModelState.IsValid)
            {
                //  var shopId = long.Parse(Request.QueryString["sp"]);
                //var idShop = FakeModelCartItem().First().Product.IdShop;
                //Member entity = SessionUtility.GetSessionMember(Session);
                // List<long> listShop=new List<long>();
                // var listoder = NlCheckout.GetSessionCard(Session);
                //foreach (var cartItem in listoder)
                //{
                //    var id = cartItem.Product.MemberId;
                //    if (listShop.Exists(x => x.Equals(id)))
                //    {
                //    }
                //    else
                //    {
                //        listShop.Add(id);
                //    }
                //}
                //foreach (var idshop in listShop)
                //{
                //}

                var order = new Order();
                order.FeeOfTranspot  = 0;
                order.GramGood       = 0;
                order.KmRoad         = kmRoad;
                order.TotalMoney     = 0;
                order.IdPayForm      = formPayGood;
                order.IdShop         = shopid;
                order.NoteAboutOrder = note;
                //  ordersBusiness.AddNew(order);

                if (formPayGood == 0)
                {
                    //thanh toan qua ngan luong
                    string return_url       = "http://demo.nganluong.vn";                              // Địa chỉ trả về
                    string transaction_info = "Hãy lập trình thông tin của giao dịch của bạn vào đây"; //Thông tin giao dịch
                    string order_code       = order.Id.ToString();                                     //Mã giỏ hàng
                    string receiver         = "*****@*****.**";                              //Tài khoản nhận tiền
                    string price            = totalMoneyPay.ToString();                                //Lấy giá của giỏ hàng
                    BuyGroup365.Models.Member.NlCheckout nl = new BuyGroup365.Models.Member.NlCheckout();
                    string url;
                    url = nl.buildCheckoutUrl(return_url, receiver, transaction_info, order_code, price);
                    //ImageButton imgBtn = new ImageButton();
                    //imgBtn.ImageUrl = "https://www.nganluong.vn/data/images/buttons/11.gif";//source file ảnh
                    //imgBtn.PostBackUrl = url;//Gán địa chỉ url cho nút thanh toán
                    order.UrlBtnPayNL = url;
                    ordersBusiness.Edit(order);
                }
                else if (formPayGood == 1)
                {
                    //thanh toan qua bao kim
                }
                else
                {
                    //nguoi mua va nguoi ban tu thuong luong gia ca
                }
                //Order detail
                //var listItem = (List<CartItem>)Session[CartSession];
                var                sesion            = NlCheckout.GetSessionCard(Session);
                Member             entity            = SessionUtility.GetSessionMember(Session);
                LocationsBusiness  locationsBusiness = new LocationsBusiness();
                double             moneytransport    = 0;
                double             totalmoney        = 0;
                double             totalGram         = 0;
                List <OrderDetail> listOrderDetails  = new List <OrderDetail>();
                foreach (var item in sesion)
                {
                    if (item.Product.MemberId == shopid)
                    {
                        var orderDetail = new OrderDetail();
                        orderDetail.IdOrder   = order.Id;
                        orderDetail.IdProduct = item.Product.Id;

                        orderDetail.Price       = (decimal)item.Product.Price;
                        moneytransport         += FuntionMember.CountMoneyTransport(kmRoad, item.Product.Weight, receiverAddress);
                        totalGram              += item.Product.Weight;
                        totalmoney             += item.Product.Price + moneytransport;
                        orderDetail.NameProduct = item.Product.ProductName;
                        orderDetail.PathImage   = item.Product.ProductImages.First(x => x.IsAvatar == 1).ImgSource;
                        orderDetail.Quantity    = item.Quantity;

                        //    var orderDetailDao = new OrderDetailDao();
                        //   orderDetailBusiness.AddNew(orderDetail);
                        listOrderDetails.Add(orderDetail);
                    }
                }
                order.TotalMoney    = totalmoney;
                order.FeeOfTranspot = totalMoneyPay;
                order.GramGood      = totalGram;
                order.OrderDetails  = listOrderDetails;
                //   ordersBusiness.Edit(order);
                //Buyer
                Member member = SessionUtility.GetSessionMember(Session);
                var    buyer  = new OrderBuyer();
                buyer.Id          = order.Id;
                buyer.Name        = nameOfBuyer;
                buyer.PhoneNumber = buyerPhone;
                buyer.Email       = buyerEmail;
                buyer.Address     = buyerAddress;
                buyer.CreateDate  = DateTime.Now;
                if (member != null)
                {
                    buyer.IdMember = member.Id;// người đăng nhập mua hàng
                }

                //var buyerDao = new BuyerDao();
                //buyerDao.Insert(buyer);
                //  orderBuyerBusiness.AddNew(buyer);
                order.OrderBuyer = buyer;
                //Reciver
                var reciver = new OrderReciver();
                reciver.Id          = order.Id;
                reciver.Name        = receiverName;
                reciver.PhoneNumber = receiverPhone;
                reciver.Email       = receiverEmail;
                reciver.Address     = receiverTown + " - " + receiverPhuong + " - " + receiverAddress;
                reciver.CreateDate  = DateTime.Now;
                //var reciverDao = new ReciverDao();
                //reciverDao.Insert(reciver);
                order.OrderReciver = reciver;
                //  orderReciverBusiness.AddNew(reciver);
                //  var idShop = entity.Id;
                //Order

                //#region Xoa san phâm trong sesion


                //foreach (var item in sesion)
                //{
                //    if (item.Product.MemberId != shopid)
                //    {
                //        listCartItems.Add(item);
                //    }
                //    else
                //    {
                //    }
                //}
                //ordersBusiness.AddNew(order);
                //NlCheckout.SetSessionCard(listCartItems, Session);

                //#endregion Xoa san phâm trong sesion
                List <CartItem> listCartItems = new List <CartItem>();
                listCartItems = NlCheckout.GetSessionCard(Session);
                string body = ControllerExtensions.RenderRazorViewToString(this, "DetailCart", order);

                Function.ObjMailSend objmail = new Function.ObjMailSend();
                var mailsend = new SystemSettingBusiness().GetDynamicQuery().First(x => x.Key == "mail_noreply");
                var acount   = mailsend.Value.Split('|');
                objmail.FromMail     = acount[0];
                objmail.PassFromMail = acount[1];
                objmail.ToMail       = reciver.Email;

                Function.email_send(objmail, "Thông tin đơn hàng(" + DateTime.Now + ")", body);
                return(Json(listCartItems, JsonRequestBehavior.AllowGet));
            }
            return(Json(1));
        }