public async Task <object> chiTietDonDatHangAD(int MaDDH) { var connection = new SqlConnection(connectionstr); string queryGroupByDDH = "SELECT SP.MaSP, (SELECT SPL.TenSP From SANPHAM_LOAI SPL" + " WHERE SPL.MaSP = SP.MaSP) as TenSP,COUNT(SP.MaSP)AS SoLuong, CTDDH.DonGia " + "FROM CHITIETDONDATHANG CTDDH " + "LEFT JOIN SANPHAM SP ON CTDDH.MaSeri = SP.MaSeri " + "WHERE MaDDH=" + MaDDH + " GROUP BY MaSP, DonGia"; var chiTiet = connection.Query <SanPhamDDH>(queryGroupByDDH, commandType: CommandType.Text); var p = new DynamicParameters(); p.Add("@ID", MaDDH); p.Add("@TABLE", "DONDATHANG"); DonDatHang donDatHang = connection.QuerySingleOrDefault <DonDatHang>("SP_GETDETAILBYID", p, commandType: CommandType.StoredProcedure); if (donDatHang == null) { var response = await tbl.TBLoi(ThongBaoLoi.Loi500, "Order is not exist"); return(response.Content); } string queryND = "select TaiKhoan, HoTen, Email, SoDT, DiaChi from NGUOIDUNG where MaND =" + donDatHang.MaKH; NguoiDungInforVM khachHang = connection.QuerySingleOrDefault <NguoiDungInforVM>(queryND, commandType: CommandType.Text); string queryNV = "select TaiKhoan, HoTen, Email, SoDT, DiaChi from NGUOIDUNG where MaND =" + donDatHang.MaNV; NguoiDungInforVM nhanVien = connection.QuerySingleOrDefault <NguoiDungInforVM>(queryNV, commandType: CommandType.Text); ChiTietDonDatHangVM ct = new ChiTietDonDatHangVM(); ct.MaDDH = MaDDH; ct.NgayXuLy = donDatHang.NgayXuLy; ct.NgayDat = donDatHang.NgayDat; ct.TrangThai = donDatHang.TrangThai; ct.TinhTrang = donDatHang.TinhTrang; ct.DiaChiNhan = donDatHang.DiaChiNhan; ct.TenNguoiNhan = donDatHang.TenNguoiNhan; ct.Email = donDatHang.Email; ct.SoDT = donDatHang.SoDT; ct.TongTien = 0; ct.khachHang = khachHang; ct.nhanVien = nhanVien; //int idND = donDatHang.MaKH; foreach (var item in chiTiet) { SanPhamDDH itemOrder = new SanPhamDDH(); itemOrder.MaSP = item.MaSP; itemOrder.tenSP = item.tenSP; itemOrder.SoLuong = item.SoLuong; itemOrder.DonGia = item.DonGia; ct.TongTien += (itemOrder.SoLuong * itemOrder.DonGia); ct.DSSanPhamDDH.Add(itemOrder); } return(ct); }
public async Task <dynamic> chiTietSanPhamSeri(string maSeri) { SanPhamSeriWarranty sp = null; using (var connection = new SqlConnection(connectionstr)) { DetailSanPhamSeri detailSeri = new DetailSanPhamSeri(); string query = @"SELECT SANPHAM.MaSeri , SANPHAM.MaSP, (SELECT CHITIETDONDATHANG.MaDDH FROM CHITIETDONDATHANG INNER JOIN DONDATHANG ON DONDATHANG.MaDDH = CHITIETDONDATHANG.MaDDH WHERE CHITIETDONDATHANG.MaSeri = SANPHAM.MaSeri AND TrangThai=1) AS MaDDH , (SELECT CHITIETPHIEUNHAP.MaPN FROM CHITIETPHIEUNHAP WHERE CHITIETPHIEUNHAP.MaSeri = SANPHAM.MaSeri) AS MaPN FROM SANPHAM WHERE MaSeri='" + maSeri + "' AND TrangThai=0"; sp = await connection.QueryFirstOrDefaultAsync <SanPhamSeriWarranty>(query, commandType : CommandType.Text); if (sp == null) { return("This seri is uncorrect! Please check again!"); } detailSeri.sp = sp; ChiTietDonDatHangVM ctDDH = await this.chiTietDonDatHangAD(sp.MaDDH); detailSeri.ddh = ctDDH; ChiTietPhieuNhapVM ctPN = await this.chiTietPhieuNhapAD(sp.MaPN); detailSeri.pn = ctPN; IEnumerable <BaoHanh> dsbh = null; string query2 = @"SELECT * FROM BAOHANH BH WHERE TrangThai !=-1 AND MaSeri='" + maSeri + "' ORDER BY NgayTao "; dsbh = await connection.QueryAsync <BaoHanh>(query2, commandType : CommandType.Text); if (dsbh != null) { foreach (var item in dsbh) { BaoHanh bh = new BaoHanh(); bh.MaBH = item.MaBH; bh.MaNV = item.MaNV; bh.MaSeri = item.MaSeri; bh.NgayTao = item.NgayTao; bh.TrangThai = item.TrangThai; bh.NoiDung = item.NoiDung; detailSeri.dsBH.Add(bh); } } return(detailSeri); } }