// GET: Admin/DatPhongs public IActionResult Index(DatPhongIndexVM reservation, string sortOrder) { ViewData["NameSortParm"] = sortOrder == "name_desc" ? "name" : "name_desc"; ViewData["DateNhanSortParm"] = sortOrder == "DateNhan" ? "datenhan_desc" : "DateNhan"; ViewData["DateTraSortParm"] = sortOrder == "DateTra" ? "datetra_desc" : "DateTra"; ViewData["TongTienSortParm"] = sortOrder == "TongTien" ? "TongTien_desc" : "TongTien"; if (reservation.CMND == null && reservation.ThoiGianNhan == default) { listdatphong = sortOrder switch { "name_desc" => _context.DatPhongs.FromSqlRaw( $"EXECUTE dbo.GetSortedDatPhongsBySomthing N'TenNguoiDat', N'D';"), "DateNhan" => _context.DatPhongs.FromSqlRaw( $"EXECUTE dbo.GetSortedDatPhongsBySomthing N'ThoiGianNhanPhongDuKien', N'I';"), "datenhan_desc" => _context.DatPhongs.FromSqlRaw( $"EXECUTE dbo.GetSortedDatPhongsBySomthing N'ThoiGianNhanPhongDuKien', N'D';"), "DateTra" => _context.DatPhongs.FromSqlRaw( $"EXECUTE dbo.GetSortedDatPhongsBySomthing N'ThoiGianTraPhongDuKien', N'I';"), "datetra_desc" => _context.DatPhongs.FromSqlRaw( $"EXECUTE dbo.GetSortedDatPhongsBySomthing N'ThoiGianTraPhongDuKien', N'D';"), "TongTien_desc" => _context.DatPhongs.FromSqlRaw( $"EXECUTE dbo.GetSortedDatPhongsBySomthing N'TongTien', N'D';"), "TongTien" => _context.DatPhongs.FromSqlRaw( $"EXECUTE dbo.GetSortedDatPhongsBySomthing N'TongTien', N'I';"), _ => _context.DatPhongs.FromSqlRaw( $"EXECUTE dbo.GetSortedDatPhongsBySomthing N'TenNguoiDat', N'I';") }; } var cmndSqlParameter = new SqlParameter { ParameterName = "@Cmnd", SqlDbType = SqlDbType.NVarChar, SqlValue = reservation.CMND }; var thoiSqlParameter = new SqlParameter { ParameterName = "@ThoiGianNhanPhongDuKien", SqlDbType = SqlDbType.VarChar, SqlValue = reservation.ThoiGianNhan.Date.ToShortDateString() }; if (reservation.CMND != null && reservation.ThoiGianNhan == default) { listdatphong = _context.DatPhongs.FromSqlRaw($"EXECUTE dbo.SearchDatPhongsBySomthing @Cmnd ", cmndSqlParameter); } else if (reservation.CMND == null && reservation.ThoiGianNhan != default) { listdatphong = _context.DatPhongs.FromSqlRaw($"EXECUTE dbo.SearchDatPhongsBySomthing @ThoiGianNhanPhongDuKien = '{reservation.ThoiGianNhan.Date}' "); } else if (reservation.CMND != null && reservation.ThoiGianNhan != default) { listdatphong = _context.DatPhongs.FromSqlRaw($"EXECUTE dbo.SearchDatPhongsBySomthing @Cmnd, @ThoiGianNhanPhongDuKien = '{reservation.ThoiGianNhan.Date}' ", cmndSqlParameter); } var GetDataforReservation2 = new DatPhongIndexVM { LisDatPhongs = listdatphong.ToList() }; return(View(GetDataforReservation2)); }
// GET: Admin/DatPhongs public IActionResult Index(DatPhongIndexVM reservation, string sortOrder) { ViewData["NameSortParm"] = String.IsNullOrEmpty(sortOrder) ? "name_desc" : ""; ViewData["DateNhanSortParm"] = sortOrder == "DateNhan" ? "datenhan_desc" : "DateNhan"; ViewData["DateTraSortParm"] = sortOrder == "DateTra" ? "datetra_desc" : "DateTra"; ViewData["TongTienSortParm"] = sortOrder == "TongTien" ? "TongTien_desc" : "TongTien"; // index chua search // var listdatphong = _datphongsv.GetAll(); var listdatphong = from m in _context.DatPhongs select m; switch (sortOrder) { case "name_desc": listdatphong = listdatphong.OrderByDescending(s => s.TenNguoiDat); break; case "DateNhan": listdatphong = listdatphong.OrderBy(s => s.ThoiGianNhanPhongDuKien); break; case "datenhan_desc": listdatphong = listdatphong.OrderByDescending(s => s.ThoiGianNhanPhongDuKien); break; case "DateTra": listdatphong = listdatphong.OrderBy(s => s.ThoiGianTraPhongDuKien); break; case "datetra_desc": listdatphong = listdatphong.OrderByDescending(s => s.ThoiGianTraPhongDuKien); break; case "TongTien_desc": listdatphong = listdatphong.OrderByDescending(s => s.TongTien); break; case "TongTien": listdatphong = listdatphong.OrderBy(s => s.TongTien); break; default: listdatphong = listdatphong.OrderBy(s => s.TenNguoiDat); break; } // tìm kiếm theo cmnd if (!string.IsNullOrEmpty(reservation.CMND)) { listdatphong = listdatphong.Where(s => s.Cmnd.Contains(reservation.CMND)); } // tìm kiếm theo thời gian nhận if (reservation.ThoiGianNhan != default) { listdatphong = from m in listdatphong where (m.ThoiGianNhanPhongDuKien.Date <= reservation.ThoiGianNhan.Date) && (reservation.ThoiGianNhan.Date <= m.ThoiGianTraPhongDuKien.Date) select m; } // tìm kiếm theo ??? // tạo đối tượng trả về cho view. var GetDataforReservation2 = new DatPhongIndexVM { LisDatPhongs = listdatphong.ToList() }; return(View(GetDataforReservation2)); }