コード例 #1
0
        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);
        }
コード例 #2
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);
            }
        }