Пример #1
0
        /// <summary>
        ///  Thay đổi tình trạng đơn hàng
        /// </summary>
        /// <param name="_input"></param>
        public void changeStatusDonHang(UpdateTrangThaiDonHang _input)
        {
            var donhang = _donhangRepository.SelectById(_input.MaDonHang);

            if (_input.TinhTrang == DonHangConstant.GiaoThanhCong)
            {
                // if(_khachhangRepository.GetAll().Any(p => p.TenTaiKhoan == donhang.TenTaiKhoan)){

                var kh = _khachhangRepository.GetAll().Where(p => p.TenTaiKhoan == donhang.TenTaiKhoan).SingleOrDefault();
                donhang.ThoiDiemHoanThanhDH = DateTime.Now;
                if (donhang.ThanhTien == null)
                {
                    donhang.ThanhTien = 0;
                }

                var hoadon = new HoaDon     //Tạo hóa đơn cho đơn hàng hoàn thành
                {
                    MaHoaDon     = 12,
                    MaDonHang    = donhang.MaDonHang,
                    GhiChu       = donhang.GhiChu,
                    MaNhanVienGH = donhang.MaNhanVienGiao,
                    ThanhTien    = donhang.ThanhTien,
                };
                if (kh != null)
                {
                    hoadon.MaKhachHang = kh.MaKhachHang;
                }
                _hoaDonServices.Create(hoadon);
                if (donhang.cod.HasValue)
                {
                    string code = "COD_";
                    Random rd   = new Random();
                    Random rd2  = new Random();

                    _noServices.Create(new No
                    {
                        KyHieu      = code + DateTime.Now.ToLongTimeString() + rd.Next(10, 1000).ToString() + rd2.Next(10, 1000).ToString(),
                        MoTa        = donhang.GhiChu,
                        MaKhachHang = donhang.MaKhachHang.ToString(),
                        ThoiGian    = DateTime.Now,
                        TrangThai   = 0
                    });
                    //Will create No (cod)
                }
                donhang.TinhTrang = _input.TinhTrang;// Cập nhật tình trạng
                // }
            }
            else
            {
                if (_input.TinhTrang == DonHangConstant.DaTiepNhan) //Chuyển trạng thái đơn hàng đang chờ thành giao hàng
                {
                    donhang.MaNhanVienGiao      = nhanVienServices.GetNhanVienCurrentUser().MaNhanVien;
                    donhang.ThoiDiemTiepNhanDon = DateTime.Now;
                }
                donhang.TinhTrang = _input.TinhTrang;// Cập nhật tình trạng
            }
            _donhangRepository.Update(donhang);
        }
 public IHttpActionResult ThayDoiStatusDonHang(UpdateTrangThaiDonHang _input)
 {
     if (_donHangServices.IsExists(_input.MaDonHang))
     {
         _donHangServices.changeStatusDonHang(_input);
     }
     else
     {
         return(ResponseMessage(Request.CreateErrorResponse
                                    (HttpStatusCode.InternalServerError, "Đơn hàng không tòn tại.")));
     }
     return(Ok(1));
 }
Пример #3
0
        public IHttpActionResult GiaoHangThanhCong(int MaDonHang)
        {
            UpdateTrangThaiDonHang updateTrangThaiDonHang = new UpdateTrangThaiDonHang();

            updateTrangThaiDonHang.MaDonHang = MaDonHang;
            updateTrangThaiDonHang.TinhTrang = DonHangConstant.GiaoThanhCong;
            var donhang = _donHangServices.GetById(MaDonHang);

            if (donhang.TinhTrang != DonHangConstant.DangGiao)
            {
                return(ResponseMessage(Request.CreateErrorResponse
                                           (HttpStatusCode.InternalServerError, "Trạng thái đơn hàng phải là \"Đang giao hàng\"!")));
            }
            if (updateTrangThaiDonHang.MaDonHang <= 0)
            {
                return(BadRequest());
            }
            _donHangServices.changeStatusDonHang(updateTrangThaiDonHang);
            return(Ok(1));
        }