Beispiel #1
0
        public ActionResult GetInforDetailOrder(string idDH)
        {
            var     order          = new DonHangDao().GetDonHang(idDH);
            var     listCT_DonHang = new DonHangDao().getListCTDH(idDH);
            var     customer       = new CustomerModel();
            decimal phiShip        = 0;
            decimal tong           = 0;

            foreach (var item in listCT_DonHang)
            {
                tong += item.SOLUONG * item.THANHTIEN;
            }
            if (tong < 300000)
            {
                phiShip = 30000;
            }
            if (order != null)
            {
                var cusdetail = new CustomerDao().ViewDetail(order.MAKHACHHANG);
                var pttt      = new OrdersDao().GetPhuongThucThanhToan(order.MAPHUONGTHUCTHANHTOAN);
                customer.MAKH                = cusdetail.MAKHACHHANG;
                customer.TENKH               = cusdetail.TENKHACHHANG;
                customer.DIACHI              = cusdetail.DIACHI;
                customer.DIENTHOAI           = cusdetail.DIENTHOAI;
                customer.EMAIL               = cusdetail.EMAIL;
                customer.NgayTaoDon          = order.NGAYLAP;
                customer.PhuongThucThanhToan = pttt.TENPHUONGTHUCTHANHTOAN;
                customer.Ship                = phiShip;
            }
            return(Json(customer, JsonRequestBehavior.AllowGet));
        }
Beispiel #2
0
        public List <OrdersModel> GetOrders()
        {
            OrdersDao          ordersDao = new OrdersDao();
            List <OrdersModel> orders    = ordersDao.GetOrders();

            return(orders);
        }
Beispiel #3
0
        /// <summary>
        /// 取得 Orders by 條件
        /// </summary>
        /// <returns></returns>
        public IList <Order> GetOrders(OrderQueryArg arg)
        {
            CustomerService customerService = new CustomerService();

            OrdersDao orderDao = new OrdersDao();
            // 取得所有訂單後進行篩選  (注意: 此處應將查詢條件串入SQL中為較好之寫法)
            IEnumerable <Order> currentOrders = orderDao.GetOrdersByArg(arg);

            return(currentOrders.OrderBy(m => m.OrderID).ToList());
        }
Beispiel #4
0
        /// <summary>
        /// 取得 Orders by 條件
        /// </summary>
        /// <returns></returns>
        public IList <Order> GetOrders(OrderQueryArg arg)
        {
            CustomerService customerService = new CustomerService();

            OrdersDao orderDao = new OrdersDao();
            // 取得所有訂單後進行篩選  (注意: 此處應將查詢條件串入SQL中為較好之寫法)
            IEnumerable <Order> currentOrders = orderDao.GetAllOrders();

            // 訂單編號
            if (arg.OrderID.HasValue)
            {
                currentOrders = currentOrders.Where(m => m.OrderID == arg.OrderID.Value);
            }

            // 客戶名稱 (like 查詢)
            if (!string.IsNullOrWhiteSpace(arg.CompanyName))
            {
                currentOrders =
                    currentOrders.Where(
                        m => customerService.GetCompanyName(m.CustomerID).Contains(arg.CompanyName)
                        );
            }

            // 員工編號
            if (arg.EmployeeID.HasValue)
            {
                currentOrders = currentOrders.Where(m => m.EmployeeID == arg.EmployeeID.Value);
            }

            // 出貨公司
            if (arg.ShipperID.HasValue)
            {
                currentOrders = currentOrders.Where(m => m.ShipperID == arg.ShipperID.Value);
            }

            // 訂購日期
            if (arg.OrderDate.HasValue)
            {
                currentOrders = currentOrders.Where(m => m.OrderDate == arg.OrderDate.Value);
            }

            // 需要日期
            if (arg.RequiredDate.HasValue)
            {
                currentOrders = currentOrders.Where(m => m.RequiredDate == arg.RequiredDate.Value);
            }

            // 出貨日期
            if (arg.ShipedDate.HasValue)
            {
                currentOrders = currentOrders.Where(m => m.ShippedDate == arg.ShipedDate.Value);
            }

            return(currentOrders.OrderBy(m => m.OrderID).ToList());
        }
Beispiel #5
0
        public ActionResult GetDataGridOrderSales(DateTime month)
        {
            var listDDH = new OrdersDao().GetListOrderForMonth(month);
            var model   = new List <OrdersModel>();

            foreach (var item in listDDH)
            {
                if (item.TRANGTHAI == 1)
                {
                    var infoCustomer = new CustomerDao().ViewDetail(item.MAKHACHHANG);
                    var ctDDH        = new OrdersDao().GetOrderDetail(item.MAHOADON);
                    var NhanVien     = new AdminDao().ViewDetail(item.NGUOICAPNHAT);
                    var TenNhanVien  = "";
                    if (NhanVien != null)
                    {
                        TenNhanVien = NhanVien.TENNHANVIEN + " (" + NhanVien.MANHANVIEN + ")";
                    }
                    var     dateUpdate = item.NGAYCAPNHAT;
                    decimal TongTien   = 0;
                    //decimal ship = 0;
                    decimal totalIn = 0;
                    foreach (var i in ctDDH)
                    {
                        var product = new SanPhamDao().getProduct(i.MASANPHAM);
                        TongTien = TongTien + i.THANHTIEN * i.SOLUONG;
                        totalIn += i.SOLUONG * product.DONGIA;
                    }
                    //if (TongTien <= 300000)
                    //{
                    //    ship = 30000;
                    //    TongTien += ship;
                    //}
                    if (dateUpdate == null)
                    {
                        dateUpdate = item.NGAYLAP;
                    }
                    model.Add(new OrdersModel
                    {
                        MaDDH           = item.MAHOADON,
                        TenKH           = infoCustomer.TENKHACHHANG,
                        SDT             = infoCustomer.DIENTHOAI,
                        DiaChi          = infoCustomer.DIACHI,
                        TrangThai       = item.TRANGTHAI,
                        NgayCapNhat     = dateUpdate,
                        TenNguoiCapNhat = TenNhanVien,
                        TongTien        = TongTien,
                        //PhiShip = ship,
                        TongNhap          = totalIn,
                        HinhThucThanhToan = "",
                    });
                }
            }
            return(Json(model, JsonRequestBehavior.AllowGet));
        }
        public ActionResult SaveChangeStatus(string id, int status)
        {
            string text    = "";
            var    session = (UserLogin)Session[CommonConstants.USER_SEESION];
            var    nv      = session.UserID;

            if (status == 1)
            {
                var ctdh = new OrdersDao().GetOrderDetail(id);
                foreach (var item in ctdh)
                {
                    var product = new SanPhamDao().getProduct(item.MASANPHAM);
                    if (product.SOLUONG < item.SOLUONG)
                    {
                        text += product.TENSANPHAM + " (" + product.MASANPHAM + "), ";
                    }
                }
                if (text.Trim() == "")
                {
                    foreach (var item in ctdh)
                    {
                        var product         = new SanPhamDao().getProduct(item.MASANPHAM);
                        var updateSLProduct = new SanPhamDao().updateSLProduct(product.MASANPHAM, (int)product.SOLUONG - item.SOLUONG);
                    }
                    var oModel = new
                    {
                        model = new OrdersDao().SaveChangeStatus(id, status, nv),
                        text  = text
                    };
                    return(Json(oModel, JsonRequestBehavior.AllowGet));
                }
                else
                {
                    var oModel = new
                    {
                        model = 0,
                        text  = text
                    };
                    return(Json(oModel, JsonRequestBehavior.AllowGet));
                }
            }
            else
            {
                var oModel = new
                {
                    model = new OrdersDao().SaveChangeStatus(id, status, nv),
                    text  = text
                };
                return(Json(oModel, JsonRequestBehavior.AllowGet));
            }
        }
        public ActionResult GetDataGridOrder(string keyword, int?status)
        {
            var listDDH = new OrdersDao().GetListDonHang(keyword, status);
            var model   = new List <OrdersModel>();

            foreach (var item in listDDH)
            {
                var infoCustomer = new CustomerDao().ViewDetail(item.MAKHACHHANG);
                var ctDDH        = new OrdersDao().GetOrderDetail(item.MAHOADON);
                var NhanVien     = new AdminDao().ViewDetail(item.NGUOICAPNHAT);
                var TenNhanVien  = "";
                if (NhanVien != null)
                {
                    TenNhanVien = NhanVien.TENNHANVIEN + " (" + NhanVien.MANHANVIEN + ")";
                }
                var     dateUpdate = item.NGAYCAPNHAT;
                decimal TongTien   = 0;
                decimal ship       = 0;
                foreach (var i in ctDDH)
                {
                    TongTien = TongTien + i.THANHTIEN * i.SOLUONG;
                }
                if (TongTien <= 300000)
                {
                    ship      = 30000;
                    TongTien += ship;
                }
                if (dateUpdate == null)
                {
                    dateUpdate = item.NGAYLAP;
                }
                model.Add(new OrdersModel
                {
                    MaDDH           = item.MAHOADON,
                    TenKH           = infoCustomer.TENKHACHHANG,
                    SDT             = infoCustomer.DIENTHOAI,
                    DiaChi          = infoCustomer.DIACHI,
                    TrangThai       = item.TRANGTHAI,
                    NgayCapNhat     = dateUpdate,
                    TenNguoiCapNhat = TenNhanVien,
                    TongTien        = TongTien,
                    PhiShip         = ship
                });
            }
            return(Json(model, JsonRequestBehavior.AllowGet));
        }
Beispiel #8
0
        public ActionResult GetDataOrederSuccesss(DateTime month)
        {
            var list = new OrdersDao().GetListOrderForMonth(month);
            int sumSuccess = 0, sumCancel = 0;

            double[] datasuccess = new double[31];
            for (int i = 1; i <= 31; i++)
            {
                int temp = 0;
                foreach (var item in list)
                {
                    if (item.NGAYCAPNHAT.Day == i && item.TRANGTHAI == 1)
                    {
                        temp       += 1;
                        sumSuccess += 1;
                    }
                    datasuccess[i - 1] = temp;
                }
            }

            double[] datacancel = new double[31];
            for (int i = 1; i <= 31; i++)
            {
                int temp = 0;
                foreach (var item in list)
                {
                    if (item.NGAYCAPNHAT.Day == i && item.TRANGTHAI == -1)
                    {
                        temp      += 1;
                        sumCancel += 1;
                    }
                    datacancel[i - 1] = temp;
                }
            }

            var oModel = new
            {
                datasuccess = datasuccess,
                datacancel  = datacancel,
                sumCancel   = sumCancel,
                sumSuccess  = sumSuccess,
            };

            return(Json(oModel, JsonRequestBehavior.AllowGet));
        }
Beispiel #9
0
        public ActionResult GetDataLineChartSalesReport(DateTime month)
        {
            double[] data    = new double[DateTime.Now.Day];
            var      list    = new OrdersDao().GetListOrderForMonth(month);
            double   sum     = 0;
            double   totalIn = 0;

            //for (int i = 1; i <= DateTime.Now.Day; i++)
            //{
            foreach (var item in list)
            {
                var ctDDH = new OrdersDao().GetOrderDetail(item.MAHOADON);
                if (item.TRANGTHAI == 1)
                {
                    double total = 0;
                    //double totaltemp = 0;
                    foreach (var k in ctDDH)
                    {
                        var product = new SanPhamDao().getProduct(k.MASANPHAM);
                        totalIn += k.SOLUONG * (double)product.DONGIA;
                        total   += k.SOLUONG * (double)k.THANHTIEN;
                    }
                    //if (totaltemp < 300000)
                    //{
                    //    total = totaltemp + 30000;
                    //}
                    //else
                    //{
                    //    total = totaltemp;
                    //}
                    sum += total;
                    data[item.NGAYCAPNHAT.Day - 1] += total;
                }
            }
            //}
            var oModel = new
            {
                data    = data,
                sum     = sum,
                totalIn = totalIn
            };

            return(Json(oModel, JsonRequestBehavior.AllowGet));
        }
 public ActionResult PaymentWithCOD(Data.Models.Order orderInput)
 {
     try
     {
         var order = new Data.Models.Order()
         {
             CreatedDate     = DateTime.Now,
             PaymentMethod   = "COD",
             ShipAddress     = orderInput.ShipAddress,
             ShipEmail       = orderInput.ShipEmail,
             ShipMobile      = orderInput.ShipMobile,
             ShipDescription = orderInput.ShipDescription,
             Status          = 0,
             ShipName        = orderInput.ShipName
         };
         var insert     = new OrdersDao().Insert(order);
         var detailsDao = new OrderDetailsDao();
         if (insert)
         {
             foreach (var cart in CommonConstants.listCart)
             {
                 var orderDetail = new OrderDetails
                 {
                     ProductID = cart.Product.ID,
                     OrderID   = order.ID,
                     Price     = cart.Product.Price - cart.Product.Price * cart.Product.Discount / 100,
                     Quantity  = cart.Quantity
                 };
                 detailsDao.Insert(orderDetail);
             }
         }
         CommonConstants.listCart.Clear();
         Session.Remove("CartSession");
         return(RedirectToAction("Success", "Cart"));
     }
     catch
     {
         return(RedirectToAction("Index", "Cart"));
     }
 }
        public ActionResult GetDataOrderDetail(string id)
        {
            var list  = new OrdersDao().GetOrderDetail(id);
            var model = new List <OrderDetailModel>();

            foreach (var item in list)
            {
                var product = new SanPhamDao().getProduct(item.MASANPHAM);
                var img     = new SanPhamDao().getListImages(item.MASANPHAM);
                model.Add(new OrderDetailModel
                {
                    MaDDH      = item.MAHOADON,
                    MaSanPham  = item.MASANPHAM,
                    DonGiaBan  = item.THANHTIEN,
                    SoLuong    = item.SOLUONG,
                    MauSac     = product.MAUSAC,
                    TenSanPham = product.TENSANPHAM,
                    Link       = img[0].LINKHINHANH
                });
            }
            return(Json(model, JsonRequestBehavior.AllowGet));
        }
Beispiel #12
0
        public ActionResult GetDataReportProduct(string keyword)
        {
            var list  = new BookDao().GetDataBook(keyword);
            var model = new List <SanPhamModel>();

            //int nhap=0, xuat=0, ton = 0;

            foreach (var item in list)
            {
                var order = new OrdersDao().GetOrderDetailByIDProduct(item.MASANPHAM);
                int xuat  = 0;
                if (order != null)
                {
                    foreach (var items in order)
                    {
                        xuat += items.SOLUONG;
                    }
                }
                var    ncc    = new SanPhamDao().GetItemNCC(item.NHACUNGCAP);
                string tenNCC = "";
                if (ncc != null)
                {
                    tenNCC = ncc.TENNHACUNGCAP;
                }
                model.Add(new SanPhamModel
                {
                    MASANPHAM   = item.MASANPHAM,
                    TENSANPHAM  = item.TENSANPHAM,
                    MAUSAC      = item.MAUSAC,
                    TACGIA      = item.TACGIA,
                    NGAYCAPNHAT = item.NGAYCAPNHAT,
                    NHASANXUAT  = tenNCC,
                    XUAT        = xuat,
                    TON         = (int)item.SOLUONG,
                    NHAP        = xuat + (int)item.SOLUONG
                });
            }
            return(Json(model, JsonRequestBehavior.AllowGet));
        }
Beispiel #13
0
        /// <summary>
        /// 更新 Order
        /// </summary>
        /// <param name="order">欲更新的訂單資料</param>
        public void UpdOrder(Order order)
        {
            OrdersDao orderDao = new OrdersDao();

            orderDao.UpdateOrder(order);
        }
Beispiel #14
0
        /// <summary>
        /// 新增 Order
        /// </summary>
        /// <param name="order">欲新增的訂單資料</param>
        public void InsOrder(Order order)
        {
            OrdersDao orderDao = new OrdersDao();

            orderDao.AddNewOrderReturnNewOrderId(order);
        }
        public ActionResult PaymentWithPaypal(Data.Models.Order orderInput)
        {
            APIContext apiContext = Configuration.GetAPIContext();

            try
            {
                string payerId = Request.Params["PayerID"];
                if (String.IsNullOrEmpty(payerId))
                {
                    var profile = new WebProfile
                    {
                        name         = Guid.NewGuid().ToString(),
                        presentation = new Presentation
                        {
                            brand_name  = "ELEX Store",
                            locale_code = "US"
                        },
                        input_fields = new InputFields
                        {
                            no_shipping = 1
                        }
                    };
                    var createdProfile = profile.Create(apiContext);

                    string baseURI = Request.Url.Scheme + "://" + Request.Url.Authority +
                                     "/Paypal/PaymentWithPayPal?";
                    var guid = Convert.ToString((new Random()).Next(100000));
                    baseURI += "guid=" + guid + "&webProfileId=" + createdProfile.id;
                    Session["webProfileId"] = createdProfile.id;
                    var    createdPayment    = this.CreatePayment(apiContext, baseURI + "guid=" + guid, createdProfile);
                    var    links             = createdPayment.links.GetEnumerator();
                    string paypalRedirectUrl = null;

                    while (links.MoveNext())
                    {
                        Links lnk = links.Current;

                        if (lnk.rel.ToLower().Trim().Equals("approval_url"))
                        {
                            //saving the payapalredirect URL to which user will be redirected for payment
                            paypalRedirectUrl = lnk.href;
                        }
                    }
                    Session.Add(guid, createdPayment.id);
                    Session["OrderInput"] = orderInput;
                    return(Redirect(paypalRedirectUrl));
                }
                else
                {
                    // This section is executed when we have received all the payments parameters

                    // from the previous call to the function Create

                    // Executing a payment

                    var guid                     = Request.Params["guid"];
                    var webProfileId             = Session["webProfileId"].ToString();
                    Data.Models.Order orderModel = (Data.Models.Order)Session["OrderInput"];
                    try
                    {
                        var order = new Data.Models.Order()
                        {
                            CreatedDate     = DateTime.Now,
                            PaymentMethod   = "PayPal",
                            ShipAddress     = orderModel.ShipAddress,
                            ShipEmail       = orderModel.ShipEmail,
                            ShipMobile      = orderModel.ShipMobile,
                            ShipDescription = orderModel.ShipDescription,
                            Status          = 0,
                            ShipName        = orderModel.ShipName
                        };
                        var insert     = new OrdersDao().Insert(order);
                        var detailsDao = new OrderDetailsDao();
                        if (insert)
                        {
                            foreach (var cart in CommonConstants.listCart)
                            {
                                var orderDetail = new OrderDetails
                                {
                                    ProductID = cart.Product.ID,
                                    OrderID   = order.ID,
                                    Price     = cart.Product.Price - cart.Product.Price * cart.Product.Discount / 100,
                                    Quantity  = cart.Quantity
                                };
                                detailsDao.Insert(orderDetail);
                            }
                        }
                        var executedPayment = ExecutePayment(apiContext, payerId, Session[guid] as string);

                        WebProfile.Delete(apiContext, webProfileId);
                        Session.Remove("webProfileId");
                        CommonConstants.listCart.Clear();
                        Session["CartSession"] = CommonConstants.listCart;
                        if (executedPayment.state.ToLower() != "approved")
                        {
                            return(RedirectToAction("Index", "Home"));
                        }
                    }
                    catch (Exception)
                    {
                        return(RedirectToAction("Index", "Cart"));
                    }
                }
            }
            catch (Exception ex)
            {
                return(RedirectToAction("Index", "Home"));
            }


            return(RedirectToAction("Success", "Cart"));
        }
Beispiel #16
0
        /// <summary>
        /// 取得 Order by 訂單編號
        /// </summary>
        /// <param name="orderID">訂單編號</param>
        /// <returns></returns>
        public Order GetOrder(int orderID)
        {
            OrdersDao dao = new OrdersDao();

            return(dao.GetOrderById(orderID));
        }
Beispiel #17
0
        /// <summary>
        /// 刪除 Order
        /// </summary>
        /// <param name="orderID">訂單編號</param>
        public void DelOrder(int orderID)
        {
            OrdersDao orderDao = new OrdersDao();

            orderDao.DeleteOrder(orderID);
        }