Таким образом, у меня есть пользователь, который может создавать несколько расписаний одновременно, если пользователь создает расписание и создает более 1 проекта за один раз, он будет создавать отдельные детали расписаний для каждого проекта, но все они будут иметь одного и того же мастера расписаний.Как я могу специально выбрать каждый график, если пользователь нажимает на каждый из них в отдельности.Прямо сейчас я использую firstordefault, и он выберет только первое, даже если вы нажмете на второе и попытаетесь получить подробности второго, возможно, у меня возникла небольшая проблема, объясняющая это, и, возможно, у меня возникла проблема с дизайном в моемпосмотреть, но вот мой код, он имеет список всех записей, но может выбрать только 1, если более 1 имеет один и тот же masterID, но каждый detailId отличается.
//GET: /TimeSheet/UserTimeSheets/{id}
public async Task<ActionResult> UserTimeSheets(string id)
{
var userTimeSheets = (from times in context.TimeSheetMaster
where times.UserId == id
select new TimeSheetMasterModel()
{
TimeSheetMasterId = times.TimeSheetMasterId,
FromDate = ((DateTime)times.FromDate),
ToDate = ((DateTime)times.ToDate),
TimeSheetStatus = times.TimeSheetStatus,
TotalHours = times.TotalHours,
Comment = times.Comment,
DateCreated = ((DateTime)times.DateCreated),
UserId = times.UserId.ToString(),
IdShortened = times.UserId.Substring(0,10)
});
if (userTimeSheets == null)
return HttpNotFound();
return View(await userTimeSheets.ToListAsync());
}
//GET: /TimeSheet/UserTimeDetails/{uid}{tid}
public async Task<ActionResult> UserTimeDetails(string uid, int tid)
{
var tmaster = await context.TimeSheetMaster.Where(t =>
t.TimeSheetMasterId == tid).FirstOrDefaultAsync();
var tdetail = await context.TimeSheetDetails.Where(t =>
t.TimeSheetMasterId == tmaster.TimeSheetMasterId).FirstOrDefaultAsync();
var project = await context.Projects.Where(p =>
p.ProjectId == tdetail.ProjectId).FirstOrDefaultAsync();
var userTimeDetails = (from t in context.TimeSheetMaster
join d in context.TimeSheetDetails
on t.TimeSheetMasterId equals d.TimeSheetMasterId
where t.UserId == uid
select new TimeSheetDetailsModel()
{
TimeSheetMasterId = t.TimeSheetMasterId,
Sunday = d.Sunday,
Monday = d.Monday,
Tuesday = d.Tuesday,
Wednesday = d.Wednesday,
Thursday = d.Thursday,
Friday = d.Friday,
Saturday = d.Saturday,
Hours = t.TotalHours,
ProjectName = project.ProjectName,
ProjectId = project.ProjectId,
UserId = t.UserId,
Comment = t.Comment
});
if (userTimeDetails == null)
return HttpNotFound();
return View(await userTimeDetails.FirstOrDefaultAsync());
}
<td>
@Html.ActionLink("Details", "UserTimeDetails",
new { uid = item.UserId, tid = item.TimeSheetMasterId },
new { @class = "btn btn-info" })
</td>