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); } }
private async Task <ChiTietPhieuNhapVM> chiTietPhieuNhapAD(int maPN) { 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 CHITIETPHIEUNHAP CTDDH LEFT JOIN SANPHAM SP ON CTDDH.MaSeri = SP.MaSeri WHERE MaPN=" + maPN + " GROUP BY MaSP, DonGia"; var chiTiet = connection.Query <SanPhamDDH>(queryGroupByDDH, commandType: CommandType.Text); var p = new DynamicParameters(); p.Add("@ID", maPN); p.Add("@TABLE", "PHIEUNHAP"); PhieuNhap phieuNhap = connection.QuerySingleOrDefault <PhieuNhap>("SP_GETDETAILBYID", p, commandType: CommandType.StoredProcedure); string queryND = "select TaiKhoan, HoTen, Email, SoDT, DiaChi from NGUOIDUNG where MaND =" + phieuNhap.MaNV; NguoiDungInforVM nhanVien = connection.QuerySingleOrDefault <NguoiDungInforVM>(queryND, commandType: CommandType.Text); ChiTietPhieuNhapVM ct = new ChiTietPhieuNhapVM(); ct.MaPN = maPN; ct.MaCode = phieuNhap.MaCode; ct.TrangThai = phieuNhap.TrangThai; ct.MaNCC = phieuNhap.MaNCC; ct.MaNV = phieuNhap.MaNV; ct.NgayTao = phieuNhap.NgayTao; ct.TongTien = phieuNhap.TongTien; ct.nhanVien = nhanVien; foreach (var item in chiTiet) { SanPhamLoaiPhieuNhap itemPN = new SanPhamLoaiPhieuNhap(); itemPN.MaSP = item.MaSP; itemPN.tenSP = item.tenSP; itemPN.SoLuong = item.SoLuong; itemPN.DonGia = item.DonGia; string querySeri = "select CT.MaSeri from CHITIETPHIEUNHAP CT " + "INNER JOIN SANPHAM SP ON CT.MaSeri = SP.MaSeri " + "where MaPN = " + maPN + " and SP.MaSP ='" + item.MaSP + "'"; var sp = await connection.QueryAsync <string>(querySeri, commandType : CommandType.Text); foreach (var spnhap in sp) { itemPN.dsSeriSanPham.Add(spnhap); } ct.TongTien += (itemPN.SoLuong * itemPN.DonGia); ct.DSSanPhamNhap.Add(itemPN); } return(ct); }
public async Task <IActionResult> ChiTietPhieuNhapAD(int maPN) { ChiTietPhieuNhapVM result = await _phieuNhapRepository.chiTietPhieuNhapAD(maPN); return(Ok(result)); }