Example #1
0
        public async Task <object> LayDanhSachGheTheoRap(int maRap)
        {
            using (var connection = new SqlConnection(connectionString))
            {
                if (connection.State == ConnectionState.Closed)
                {
                    connection.Open();
                }

                List <GheTheoHangVM>  listGhe        = new List <GheTheoHangVM>();
                RapViewModel_DSGhe    rapVM          = new RapViewModel_DSGhe();
                IEnumerable <Ghe>     listGheTheoRap = connection.Query <Ghe>("SELECT * FROM [dbo].[GHE] WHERE MaRap = " + maRap, commandType: CommandType.Text);
                IEnumerable <LoaiGhe> listLoaiGhe    = connection.Query <LoaiGhe>("SELECT * FROM dbo.LOAIGHE", commandType: CommandType.Text);

                foreach (var phongRap in listGheTheoRap.GroupBy(n => new { n.TenHang })) //Lấy ra rạp đang chiếu
                {
                    GheTheoHangVM gheTheoHang = new GheTheoHangVM();
                    gheTheoHang.TenHang = phongRap.Key.TenHang;
                    foreach (var pr in phongRap)
                    {
                        GheViewModel ghe     = new GheViewModel();
                        LoaiGhe      loaiGhe = new LoaiGhe();
                        loaiGhe   = listLoaiGhe.Single(n => n.MaLoaiGhe == pr.MaLoaiGhe);
                        ghe.MaRap = maRap;
                        // (phongRap.MaLoaiGheNavigation.ChietKhau * giaVe) / 100 +
                        int phuThu = loaiGhe.PhuThu;
                        ghe.LoaiGhe = loaiGhe.TenLoaiGhe;
                        ghe.MaGhe   = pr.MaGhe;
                        ghe.TenGhe  = pr.TenGhe;
                        ghe.STT     = pr.SoThuTu;
                        ghe.PhuThu  = phuThu;
                        gheTheoHang.DanhSachGheTheoHang.Add(ghe);
                    }
                    listGhe.Add(gheTheoHang);
                }

                rapVM.DanhSachGhe = listGhe;
                return(rapVM);
            }
        }
Example #2
0
        //Lấy danh sách phòng vé
        public async Task <object> LayDanhSachPhongVe(int maLichChieu)
        {
            using (var connection = new SqlConnection(connectionString))
            {
                if (connection.State == ConnectionState.Closed)
                {
                    connection.Open();
                }
                if (maLichChieu == 0)
                {
                    return(await thongBaoLoi.thongBaoLoi(ThongBaoLoi.Loi500, "Mã lịch chiếu không hợp lệ!"));
                }
                LichChieu lichChieu = connection.QuerySingleOrDefault <LichChieu>("SELECT * FROM [dbo].[View_LICH_CHIEU_COMMON] " +
                                                                                  "WHERE MaLichChieu = " + maLichChieu, commandType: CommandType.Text);
                if (lichChieu == null)
                {
                    return(await thongBaoLoi.thongBaoLoi(ThongBaoLoi.Loi500, "Mã lịch chiếu không tồn tại!"));
                }
                decimal giaVe = lichChieu.GiaVe;

                var listDanhSachGheDuocDat = connection.Query <Ve>("SELECT * FROM [dbo].[VE] " +
                                                                   "WHERE MaLichChieu = " + maLichChieu, commandType: CommandType.Text);

                bool flag = false;

                LichChieuTheoRapViewModel rap     = new LichChieuTheoRapViewModel();
                List <GheTheoHangVM>      listGhe = new List <GheTheoHangVM>();
                int?MaRap = lichChieu.MaRap;

                IEnumerable <Ghe>       listGheTheoRap = connection.Query <Ghe>("SELECT * FROM [dbo].[GHE] WHERE MaRap = " + lichChieu.MaRap, commandType: CommandType.Text);
                IEnumerable <LoaiGhe>   listLoaiGhe    = connection.Query <LoaiGhe>("SELECT * FROM dbo.LOAIGHE", commandType: CommandType.Text);
                IEnumerable <ThanhVien> listThanhVien  = connection.Query <ThanhVien>("SELECT * FROM dbo.THANHVIEN", commandType: CommandType.Text);
                IEnumerable <ThanhToan> listThanhToan  = connection.Query <ThanhToan>("SELECT * FROM dbo.PHIEUTHANHTOAN", commandType: CommandType.Text);

                foreach (var phongRap in listGheTheoRap.GroupBy(n => new { n.TenHang })) //Lấy ra rạp đang chiếu
                {
                    GheTheoHangVM gheTheoHang = new GheTheoHangVM();
                    gheTheoHang.TenHang = phongRap.Key.TenHang;
                    foreach (var pr in phongRap)
                    {
                        flag = false;
                        GheViewModel ghe     = new GheViewModel();
                        LoaiGhe      loaiGhe = new LoaiGhe();
                        loaiGhe   = listLoaiGhe.Single(n => n.MaLoaiGhe == pr.MaLoaiGhe);
                        ghe.MaRap = pr.MaRap;
                        // (phongRap.MaLoaiGheNavigation.ChietKhau * giaVe) / 100 +
                        int phuThu = loaiGhe.PhuThu;
                        ghe.GiaVe   = (phuThu * giaVe) / 100 + giaVe;
                        ghe.LoaiGhe = loaiGhe.TenLoaiGhe;
                        ghe.MaGhe   = pr.MaGhe;
                        ghe.TenGhe  = pr.TenGhe;
                        ghe.STT     = pr.SoThuTu;
                        ghe.PhuThu  = phuThu;
                        foreach (var rapDatVe in listDanhSachGheDuocDat) //Lấy ra danh sách ghế được đặt
                        {
                            //ghe.TaiKhoanNguoiDat= connection.QuerySingleOrDefault<string>("SELECT TaiKhoan FROM [dbo].[THANHVIEN] WHERE TaiKhoan = '" + rapDatVe.TaiKhoan + "'", commandType: CommandType.Text);

                            if (pr.MaGhe == rapDatVe.MaGhe && !rapDatVe.TrangThaiHuy)
                            {
                                ThanhToan thanhToan = listThanhToan.Single(n => n.MaThanhToan == rapDatVe.MaThanhToan);
                                ThanhVien tv        = listThanhVien.Single(n => n.MaThanhVien == thanhToan.MaThanhVien);
                                ghe.TaiKhoanNguoiDat = tv.TaiKhoan;
                                flag = true;
                            }
                        }
                        if (flag == true)
                        {
                            ghe.DaDat = true;
                        }
                        gheTheoHang.DanhSachGheTheoHang.Add(ghe);
                    }
                    listGhe.Add(gheTheoHang);
                }

                rap.DanhSachGhe            = listGhe;
                rap.ThongTinPhim.NgayChieu = lichChieu.NgayChieuGioChieu.ToString("dd/MM/yyyy");
                rap.ThongTinPhim.GioChieu  = lichChieu.NgayChieuGioChieu.ToString("HH:mm");
                //rap.ThongTinPhim.hinhAnh = DomainImage + LichChieu.MaPhimNavigation.HinhAnh;
                rap.ThongTinPhim.MaLichChieu = maLichChieu;
                rap.ThongTinPhim.TenRap      = connection.QuerySingleOrDefault <string>("SELECT TenRap FROM [dbo].[RAP] WHERE MaRap = '" + lichChieu.MaRap + "'", commandType: CommandType.Text);
                rap.ThongTinPhim.TenCumRap   = connection.QuerySingleOrDefault <string>("SELECT TenCumRap FROM [dbo].[CUMRAP] WHERE MaCumRap = '" + lichChieu.MaCumRap + "'", commandType: CommandType.Text);
                rap.ThongTinPhim.DiaChi      = connection.QuerySingleOrDefault <string>("SELECT ThongTin FROM [dbo].[CUMRAP] WHERE MaCumRap = '" + lichChieu.MaCumRap + "'", commandType: CommandType.Text);
                var phim = connection.QuerySingleOrDefault <Phim>("SELECT * FROM [dbo].[PHIM] WHERE MaPhim = '" + lichChieu.MaPhim + "'", commandType: CommandType.Text);
                rap.ThongTinPhim.TenPhim = phim.TenPhim;
                rap.ThongTinPhim.DoTuoi  = phim.DoTuoi;
                return(rap);
            }
        }