select (new TimeSheetDetailViewModel
{
TimeCardID = timecard.TimeCardID,
TimeSheetStatusTypeID = timecard.StatusID ?? 0,
TimeSheetStatusTypeName = BC.TimeSheetStatusTypeName,
SubmittedDate = timecard.SubmittedDate,
HourWorks = timecard.MinutesWorked,
ContactID = timecard.ContactID,
FirstName = contact.FirstName.Trim(),
MiddleName = contact.MiddleName,
LastName = contact.LastName,
EmployeeNumber = contact.EmployeeNumber,
WeekStartDate = timecard.WeekStartDate,
WeekEndDate = DbFunctions.AddDays(timecard.WeekStartDate, 6),
ApprovedBy = timecard.ApprovedBy,
ApprovedDate = timecard.ApprovedDate,
CATStaffApprovedBy = timecard.CATStaffApprovedBy,
CATStaffApprovedDate = timecard.CATStaffApprovedDate,
RejectionComment = contextTimesheet.TCRejectionHistories.OrderByDescending(t => t.RejectionHistoryID).FirstOrDefault(t => t.TimeCardId == timecard.TimeCardID).Comment ?? string.Empty,
PayTypeID = timecard.PayTypeId ?? 0,
PayTypeName = BC.PayTypeName,
DiemTypeID = BC.DiemTypeID ?? 0,
DiemTypeName = BC.DiemTypeName ?? "",
ContactAssignmentID = CA.ContactAssignmentID,
LastModifiedDate = this.Database.("EXEC [dbo].[spGetTimecardLastModifiedDate] @TimeCardID, @InvoiceSourceTypeID").FirstOrDefault()
}
)).Distinct().ToList<TimeSheetDetailViewModel>();