示例#1
0
        public async Task <ResponseEntity> LayThongTinPhim(int MaPhim = 0)
        {
            if (MaPhim == 0 || !db.Phim.Any(n => n.MaPhim == MaPhim))
            {
                return(new ResponseEntity(StatusCodeConstants.BAD_REQUEST, "Mã phim không hợp lệ!", MessageConstant.BAD_REQUEST));

                //return await tbl.TBLoi(ThongBaoLoi.Loi500, "Mã phim không hợp lệ!");
            }
            Phim          phim        = db.Phim.Single(n => n.MaPhim == MaPhim);
            ChiTietPhimVM chiTietPhim = new ChiTietPhimVM();

            chiTietPhim.BiDanh        = phim.BiDanh;
            chiTietPhim.DanhGia       = phim.DanhGia;
            chiTietPhim.HinhAnh       = DomainImage + phim.HinhAnh;
            chiTietPhim.MaNhom        = phim.MaNhom;
            chiTietPhim.MaPhim        = phim.MaPhim;
            chiTietPhim.MoTa          = phim.MoTa;
            chiTietPhim.Trailer       = phim.Trailer;
            chiTietPhim.NgayKhoiChieu = phim.NgayKhoiChieu;
            chiTietPhim.Hot           = phim.Hot;
            chiTietPhim.DangChieu     = phim.DangChieu;
            chiTietPhim.SapChieu      = phim.SapChieu;

            var lst = db.LichChieu.Where(n => n.MaPhim == MaPhim);

            if (lst.Count() > 0)
            {
                foreach (var lichChieu in lst)
                {
                    ThongTinLichChieu thongTinLC = new ThongTinLichChieu();
                    thongTinLC.GiaVe                     = lichChieu.GiaVe;
                    thongTinLC.MaLichChieu               = lichChieu.MaLichChieu;
                    thongTinLC.MaPhim                    = lichChieu.MaPhim;
                    thongTinLC.MaRap                     = lichChieu.MaRap;
                    thongTinLC.NgayChieuGioChieu         = lichChieu.NgayChieuGioChieu;
                    thongTinLC.TenPhim                   = lichChieu.MaPhimNavigation.TenPhim;
                    thongTinLC.ThoiLuong                 = lichChieu.ThoiLuong;
                    thongTinLC.ThongTinRap.MaCumRap      = lichChieu.MaRapNavigation.MaCumRap;
                    thongTinLC.ThongTinRap.MaHeThongRap  = lichChieu.MaRapNavigation.MaCumRapNavigation.MaHeThongRap;
                    thongTinLC.ThongTinRap.MaRap         = lichChieu.MaRap;
                    thongTinLC.ThongTinRap.TenRap        = lichChieu.MaRapNavigation.TenRap;
                    thongTinLC.ThongTinRap.TenCumRap     = lichChieu.MaRapNavigation.MaCumRapNavigation.TenCumRap;
                    thongTinLC.ThongTinRap.TenHeThongRap = lichChieu.MaRapNavigation.MaCumRapNavigation.MaHeThongRapNavigation.TenHeThongRap;

                    chiTietPhim.LichChieu.Add(thongTinLC);
                }
            }
            return(new ResponseEntity(StatusCodeConstants.OK, chiTietPhim, MessageConstant.MESSAGE_SUCCESS_200));

            //return Ok(chiTietPhim);
        }
        public async Task <ActionResult> LayThongTinPhim(int MaPhim = 0)
        {
            if (MaPhim == 0 || !db.Phim.Any(n => n.MaPhim == MaPhim))
            {
                return(await tbl.TBLoi(ThongBaoLoi.Loi500, "Mã phim không hợp lệ!"));
            }
            Phim          phim        = db.Phim.Single(n => n.MaPhim == MaPhim);
            ChiTietPhimVM chiTietPhim = new ChiTietPhimVM();

            chiTietPhim.BiDanh        = phim.BiDanh;
            chiTietPhim.DanhGia       = phim.DanhGia;
            chiTietPhim.HinhAnh       = DomainImage + phim.HinhAnh;
            chiTietPhim.MaNhom        = phim.MaNhom;
            chiTietPhim.MaPhim        = phim.MaPhim;
            chiTietPhim.MoTa          = phim.MoTa;
            chiTietPhim.Trailer       = phim.Trailer;
            chiTietPhim.NgayKhoiChieu = phim.NgayKhoiChieu;
            chiTietPhim.TenPhim       = phim.TenPhim;

            var lst = db.LichChieu.Where(n => n.MaPhim == MaPhim);

            if (lst.Count() > 0)
            {
                foreach (var lichChieu in lst)
                {
                    ThongTinLichChieu thongTinLC = new ThongTinLichChieu();
                    thongTinLC.GiaVe                     = lichChieu.GiaVe;
                    thongTinLC.MaLichChieu               = lichChieu.MaLichChieu;
                    thongTinLC.MaPhim                    = lichChieu.MaPhim;
                    thongTinLC.MaRap                     = lichChieu.MaRap;
                    thongTinLC.NgayChieuGioChieu         = lichChieu.NgayChieuGioChieu;
                    thongTinLC.TenPhim                   = lichChieu.MaPhimNavigation.TenPhim;
                    thongTinLC.ThoiLuong                 = lichChieu.ThoiLuong;
                    thongTinLC.ThongTinRap.MaCumRap      = lichChieu.MaRapNavigation.MaCumRap;
                    thongTinLC.ThongTinRap.MaHeThongRap  = lichChieu.MaRapNavigation.MaCumRapNavigation.MaHeThongRap;
                    thongTinLC.ThongTinRap.MaRap         = lichChieu.MaRap;
                    thongTinLC.ThongTinRap.TenRap        = lichChieu.MaRapNavigation.TenRap;
                    thongTinLC.ThongTinRap.TenCumRap     = lichChieu.MaRapNavigation.MaCumRapNavigation.TenCumRap;
                    thongTinLC.ThongTinRap.TenHeThongRap = lichChieu.MaRapNavigation.MaCumRapNavigation.MaHeThongRapNavigation.TenHeThongRap;

                    chiTietPhim.LichChieu.Add(thongTinLC);
                }
            }

            return(Ok(chiTietPhim));
        }
        //Lấy thông tin phim (mô tả, lịch chiếu, bình luận)
        public async Task <object> LayThongTinPhimFull(int maPhim)
        {
            using (var connection = new SqlConnection(connectionString))
            {
                IEnumerable <LichChieuVM> lichChieuList = null;
                ChiTietPhimViewModel      chiTietPhim   = new ChiTietPhimViewModel();;
                var phim = connection.QuerySingleOrDefault <Phim>("SELECT * FROM [dbo].[PHIM] WHERE MaPhim = " + maPhim, commandType: CommandType.Text);

                chiTietPhim.TenPhim       = phim.TenPhim;
                chiTietPhim.BiDanh        = phim.BiDanh;
                chiTietPhim.DanhGia       = phim.DanhGia;
                chiTietPhim.HinhAnh       = phim.HinhAnh;
                chiTietPhim.MaPhim        = phim.MaPhim;
                chiTietPhim.MoTa          = phim.MoTa;
                chiTietPhim.ThoiLuong     = phim.ThoiLuong;
                chiTietPhim.Trailer       = phim.Trailer;
                chiTietPhim.NgayKhoiChieu = phim.NgayKhoiChieu.ToString("dd/MM/yyyy");
                chiTietPhim.DaoDien       = phim.DaoDien;
                chiTietPhim.DienVien      = phim.DienVien;
                chiTietPhim.DoTuoi        = phim.DoTuoi;
                chiTietPhim.DaXoa         = phim.DaXoa;
                chiTietPhim.KhoiChieu     = phim.KhoiChieu;
                chiTietPhim.SapChieu      = phim.SapChieu;

                chiTietPhim.ListTheLoai = connection.Query <TheLoaiPhim>("SELECT * FROM [dbo].[View_THE_LOAI] WHERE MaPhim = " + maPhim, commandType: CommandType.Text);

                lichChieuList = connection.Query <LichChieuVM>("SELECT * FROM [dbo].[View_LICH_CHIEU_COMMON] WHERE MaPhim = " + maPhim + " ORDER BY [dbo].[View_LICH_CHIEU_COMMON].NgayChieuGioChieu", commandType: CommandType.Text);

                if (lichChieuList != null)
                {
                    foreach (var ttr in lichChieuList.GroupBy(n => new { n.MaCumRap }))
                    {
                        ThongTinRap thongTinRap = new ThongTinRap();
                        thongTinRap.MaCumRap = ttr.Key.MaCumRap;
                        foreach (var lc in ttr)
                        {
                            ThongTinLichChieu thongTinLC = new ThongTinLichChieu();
                            thongTinRap.MaHeThongRap     = lc.MaHeThongRap;
                            thongTinRap.TenHeThongRap    = connection.QuerySingleOrDefault <string>("SELECT TenHeThongRap FROM [dbo].[HETHONGRAP] WHERE MaHeThongRap = '" + thongTinRap.MaHeThongRap + "'", commandType: CommandType.Text);
                            thongTinRap.MaCumRap         = lc.MaCumRap;
                            thongTinRap.TenCumRap        = connection.QuerySingleOrDefault <string>("SELECT TenCumRap FROM [dbo].[CUMRAP] WHERE MaCumRap = '" + thongTinRap.MaCumRap + "'", commandType: CommandType.Text);
                            thongTinRap.ThongTin         = connection.QuerySingleOrDefault <string>("SELECT ThongTin FROM [dbo].[CUMRAP] WHERE MaCumRap = '" + thongTinRap.MaCumRap + "'", commandType: CommandType.Text);
                            thongTinLC.MaLichChieu       = lc.MaLichChieu;
                            thongTinLC.MaRap             = lc.MaRap;
                            thongTinLC.TenRap            = connection.QuerySingleOrDefault <string>("SELECT TenRap FROM [dbo].[RAP] WHERE MaRap = " + thongTinLC.MaRap, commandType: CommandType.Text);
                            thongTinLC.NgayChieuGioChieu = lc.NgayChieuGioChieu;
                            thongTinLC.ThoiLuong         = lc.ThoiLuong;
                            thongTinLC.GiaVe             = lc.GiaVe;
                            thongTinRap.ChiTietLichChieu.Add(thongTinLC);
                        }

                        chiTietPhim.LichChieu.Add(thongTinRap);
                    }
                }

                var binhLuanList = connection.Query("SELECT * FROM [dbo].[BINHLUANDANHGIA] WHERE MaPhim = " + maPhim, commandType: CommandType.Text);
                if (binhLuanList != null)
                {
                    foreach (var binhLuan in binhLuanList)
                    {
                        ThongTinBinhLuan thongTinBL = new ThongTinBinhLuan();
                        thongTinBL.MaThanhVien     = binhLuan.MaThanhVien;
                        thongTinBL.TenThanhVien    = connection.QuerySingleOrDefault <string>("SELECT TaiKhoan FROM [dbo].[THANHVIEN] WHERE MaThanhVien = " + thongTinBL.MaThanhVien, commandType: CommandType.Text);
                        thongTinBL.NoiDungBinhLuan = binhLuan.NoiDungBinhLuan;
                        thongTinBL.ChiSoDanhGia    = binhLuan.ChiSoDanhGia.ToString("0.00");
                        //thongTinBL.NgayBinhLuan = binhLuan.NgayBinhLuan;
                        chiTietPhim.ThongTinBinhLuan.Add(thongTinBL);
                    }
                }
                return(chiTietPhim);
            }
        }