コード例 #1
0
        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);
            }
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        public async Task <IActionResult> ChiTietPhieuNhapAD(int maPN)
        {
            ChiTietPhieuNhapVM result = await _phieuNhapRepository.chiTietPhieuNhapAD(maPN);

            return(Ok(result));
        }