/// <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)); }
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)); }