Пример #1
0
        public shOrderDetail Insert_Update(
            string OrderDetailGuid,
            int?OrderDetailId,
            string OrderDetailName,
            string OrderGuid,
            string MemberGuid,
            string ProductGuid,
            string ProductName,
            string SectionGuid,
            string SizeGuid,
            int?Number,
            decimal?Prices,
            decimal?Total,
            bool?Status,
            DateTime?CreateDate,
            DateTime?NgayDat)
        {
            shOrderDetailService _orderDetail = new shOrderDetailService();

            shOrderDetail orderDetail = new shOrderDetail();

            if (!string.IsNullOrWhiteSpace(OrderDetailGuid) || !string.IsNullOrEmpty(OrderDetailGuid))
            {
                orderDetail = _orderDetail.FindByKey(OrderDetailGuid);
            }
            else
            {
                orderDetail.OrderDetailGuid = GuidUnique.getInstance().GenerateUnique();
            }

            //orderDetail.OrderDetailId = OrderDetailId;
            orderDetail.OrderDetailName = OrderDetailName;
            orderDetail.OrderGuid       = OrderGuid;
            orderDetail.MemberGuiId     = MemberGuid;
            orderDetail.ProductGuid     = ProductGuid;
            orderDetail.ProductName     = ProductName;
            orderDetail.SectionGuid     = SectionGuid;
            orderDetail.SizeGuid        = SizeGuid;
            orderDetail.Number          = Number;
            orderDetail.Prices          = Prices;
            orderDetail.Total           = Total;
            orderDetail.Status          = Status;
            orderDetail.CreateDate      = CreateDate;
            orderDetail.NgayDat         = NgayDat;

            if (orderDetail.OrderDetailId > 0)
            {
                _orderDetail.Update(orderDetail);
            }
            else
            {
                _orderDetail.Insert(orderDetail);
            }

            return(orderDetail);
        }
Пример #2
0
        public IEnumerable <shOrderDetail> DanhSachOrderDetailBy(string OrderGuid, string MemberGuiId, string ProductGuid)
        {
            shOrderDetailService        _orderDetail = new shOrderDetailService();
            IEnumerable <shOrderDetail> ds           = DanhSachOrderDetail();

            if (!string.IsNullOrWhiteSpace(OrderGuid) || !string.IsNullOrEmpty(OrderGuid))
            {
                ds = ds.Where(x => x.OrderGuid == OrderGuid);
            }

            if (!string.IsNullOrWhiteSpace(MemberGuiId) || !string.IsNullOrEmpty(MemberGuiId))
            {
                ds = ds.Where(x => x.MemberGuiId == MemberGuiId);
            }

            if (!string.IsNullOrWhiteSpace(ProductGuid) || !string.IsNullOrEmpty(ProductGuid))
            {
                ds = ds.Where(x => x.ProductGuid == ProductGuid);
            }

            return(ds);
        }
Пример #3
0
        public IEnumerable <shOrderDetail> DanhSachOrderDetail()
        {
            shOrderDetailService _orderDetail = new shOrderDetailService();

            return(_orderDetail.FindList().OrderBy(x => x.SortOrder));
        }
Пример #4
0
        public shGoodReceiptIsuue XuatDuLieuDonHang(string OrderGuid, int?OrderStatus, string Description, int UserId, int Phieu, int MaKho, int LoaiPhieu, string GhiChu, int TrangThai, bool?Status, DateTime?CreateDate, string MaDonHang)
        {
            // 1. Cập nhật trạng thái đơn hàng
            shOrderService _order = new shOrderService();
            shOrder        order  = _order.FindByKey(OrderGuid);

            order.OrderStatus = OrderStatus;
            _order.Update(order);

            shGoodReceiptIsuue receipt = new shGoodReceiptIsuue();

            if (OrderStatus != C.Core.Common.OrderStatus.HuyDonHang.GetHashCode())
            {
                // 2. ghi lịch sử cập nhật đơn hàng
                shOrderHistoryService _orderHistory = new shOrderHistoryService();
                shOrderHistory        orderHistory  = _orderHistory.Insert_Update(
                    null,
                    order.OrderGuid,
                    OrderStatus,
                    null,
                    Description,
                    UserId,
                    true,
                    DateTime.Now);

                // 3. Tạo hóa đơn xuất kho
                receipt = Insert_Update(
                    null,
                    null,
                    Phieu,
                    null,
                    null,
                    MaKho,
                    null,
                    LoaiPhieu,
                    MaDonHang,
                    GhiChu,
                    UserId,
                    TrangThai,
                    Status,
                    CreateDate
                    );


                // 4 Cập nhật số lượng tồn của mỗi sản phẩm
                shOrderDetailService        _orderdetail = new shOrderDetailService();
                IEnumerable <shOrderDetail> ds           = _orderdetail.DanhSachOrderDetailBy(order.OrderGuid, order.MemberGuid, null);

                shSizeService _size = new shSizeService();
                shSetSize     size  = new shSetSize();
                foreach (var item in ds)
                {
                    size = _size.FindByKey(item.SizeGuid);
                    if (size == null)
                    {
                        size = new shSetSize();
                    }

                    // 5.. Tạo chi tiết hóa đơn xuất hàng hóa
                    shGoodReceiptIsuueDetailService _receiptDetail = new shGoodReceiptIsuueDetailService();
                    shGoodReceiptIsuueDetail        receiptDetail  = _receiptDetail.Insert_Update(
                        null,
                        null,
                        receipt.ReceiptIsuueGuid,
                        size.ProductGuid,
                        size.SectionGuid,
                        size.SizeGuid,
                        item.Number,
                        Status,
                        CreateDate,
                        Phieu);

                    // 6.Update số lượng tồn ở bảng size

                    size.Inventory = size.Inventory - item.Number;
                    _size.Update(size);
                }

                // 5. Thông báo cho Khach hàng biết đơn hàng đã xử lý
                shMemberService _member   = new shMemberService();
                shMember        member    = _member.FindByKey(order.MemberGuid);
                int             MemberId  = member != null ? member.MemberId : 0;
                ThongBaoService _thongbao = new ThongBaoService();
                _thongbao.InsertOrUpdate(
                    null,
                    "Thông báo đơn hàng đang trong quá trình xử lý",
                    "Đơn hàng của bạn đang trong quá trình vận chuyển. Vui lòng kiểm tra thông tin cá nhân trong quá trình chúng tôi vận chuyển sản phẩm",
                    null,
                    UserId,
                    MemberId,
                    DateTime.Now,
                    false,
                    Config.THONG_BAO_DA_XU_LY_DON_HANG,
                    null
                    );

                // 6. Gửi Email báo xử lý đơn hàng

                string noidungdonhang = EmailHelper.NoiDungDonHang(order, new List <CartItem>());
                string noidungEmail   = EmailHelper.NoiDungMailThongBaoXuLyDatHang(noidungdonhang);

                EmailHelper.ThongBaoEmailDonHangMoiToiNguoiDatHang(member.Email, noidungEmail);
            }


            return(receipt);
        }