using [Link].
Mvc;
using System;
using [Link];
using [Link];
using [Link];
using [Link];
using [Link];
using [Link];
using [Link];
using [Link];
using [Link];
using [Link];
namespace [Link]
{
[Area("Administration")]
public class StudentDetailsController : Controller
{
private readonly VueTicketDbContext _vueTicketDbContext;
public StudentDetailsController(VueTicketDbContext vueTicketDbContext)
{
_vueTicketDbContext = vueTicketDbContext;
}
public async Task<IActionResult> Index(string sortOrder, string
currentFilter, string searchString, int? pageNumber)
{
ViewData["CurrentSort"] = sortOrder;
ViewData["NameSortParm"] = [Link](sortOrder) ?
"name_desc" : "";
if (searchString != null)
{
pageNumber = 1;
}
else
{
searchString = currentFilter;
}
ViewData["CurrentFilter"] = searchString;
var result = from details in _vueTicketDbContext.StudentDetails
join student in _vueTicketDbContext.Student on
[Link] equals [Link]
join specializare in _vueTicketDbContext.Specializare on
[Link] equals [Link]
join seria in _vueTicketDbContext.Seria on [Link]
equals [Link]
select new StudentDetails
{
StudID = [Link],
StudentId = [Link],
FullName = student == null ? "" : [Link],
NrMatricol = [Link],
SpecID = [Link],
Specializare_ani = specializare == null ? "" :
specializare.Specializare_ani,
SeriaId = [Link],
Seria_ani = seria == null ? "" : seria.Seria_ani
};
int pageSize = 5; // Set your desired page size here
[Link] = pageSize; // Pass it to the view using ViewBag
return View(await
PaginatedList<StudentDetails>.CreateAsync([Link](), pageNumber ?? 1,
pageSize));
}
public IActionResult Create(StudentDetails obj)
{
List<Student> students = _vueTicketDbContext.[Link]();
List<Seria> serii = _vueTicketDbContext.[Link]();
List<Specializare> specializari =
_vueTicketDbContext.[Link]();
// Filtrați lista de cursuri pentru a face dnumele unic
var uniqueStudents = [Link](student => [Link])
.Select(group => [Link]())
.ToList();
// Puteți utiliza ViewBag sau un model de vedere pentru a transmite
aceste liste la vedere
[Link] = new SelectList(uniqueStudents, "StudentId",
"FullName");
[Link] = new SelectList(serii, "SeriaId", "Seria_ani");
[Link] = new SelectList(specializari, "ID",
"Specializare_ani");
// Restul codului pentru afișarea formularului CreateEnrollment
return View(obj);
}
[HttpPost]
public async Task<IActionResult> AddDetails(StudentDetails obj)
{
try
{
if ([Link])
{
if ([Link] == 0)
{
_vueTicketDbContext.[Link](obj);
await _vueTicketDbContext.SaveChangesAsync();
}
else
{
_vueTicketDbContext.Entry(obj).State =
[Link];
await _vueTicketDbContext.SaveChangesAsync();
}
return RedirectToAction("Index");
}
return View(obj);
}
catch (Exception ex)
{
return RedirectToAction("Index");
}
[HttpPost]
public IActionResult Edit(int StudID)
{
try
{
var std = _vueTicketDbContext.[Link](e =>
[Link] == StudID);
if (std == null)
{
return NotFound();
}
List<Student> students = _vueTicketDbContext.[Link]();
List<Specializare> specializari =
_vueTicketDbContext.[Link]();
List<Seria> serii = _vueTicketDbContext.[Link]();
[Link] = new SelectList(students, "StudentId",
"FullName");
[Link] = new SelectList(specializari, "ID",
"Specializare_ani");
[Link] = new SelectList(serii, "SeriaId", "Seria_ani");
return View(StudID);
}
catch (Exception ex)
{
return RedirectToAction("Index");
}
}
public async Task<IActionResult> Delete(int StudID)
{
try
{
var std = await
_vueTicketDbContext.[Link](StudID);
if (std != null)
{
_vueTicketDbContext.[Link](std);
await _vueTicketDbContext.SaveChangesAsync();
}
return RedirectToAction("Index");
}
catch (Exception ex)
{
return RedirectToAction("Index");
}
}
}
}