public void ApplicationCloseTime(int attendeeId) { ApplicationAccessInfo applicationAccessInfo = Db.ApplicationAccessInfoes.Where(s => s.AttendeeId == attendeeId).OrderByDescending(s => s.ApplicationStartTime).Take(1).FirstOrDefault(); if (applicationAccessInfo != null) { DateTime newEndTime = DateTime.Now.ToUniversalTime(); if (!applicationAccessInfo.ApplicationEndTime.HasValue) { applicationAccessInfo.ApplicationEndTime = newEndTime; Db.SaveChanges(); } } }
public void ApplicationStartTime(int attendeeId) { ApplicationAccessInfo applicationAccessInfo = Db.ApplicationAccessInfoes.Where(s => s.AttendeeId == attendeeId).OrderByDescending(s => s.ApplicationStartTime).Take(1).FirstOrDefault(); DateTime newStartTime = DateTime.Now.ToUniversalTime(); if (applicationAccessInfo == null) { ApplicationAccessInfo applicationAccessInfoNew = new ApplicationAccessInfo { AttendeeId = attendeeId, ApplicationStartTime = newStartTime }; Db.ApplicationAccessInfoes.Add(applicationAccessInfoNew); AppDownload appDownload = new AppDownload(); appDownload.AttendeeId = attendeeId; appDownload.DownloadDate = newStartTime; appDownload.UserName = GetAttendeeFullName(attendeeId); Db.AppDownloads.Add(appDownload); } else { if (!applicationAccessInfo.ApplicationEndTime.HasValue) { DateTime newEndDate = applicationAccessInfo.ApplicationStartTime.Value.Add(TimeSpan.FromMinutes(45)); while (newEndDate > newStartTime) { newEndDate = newEndDate.Add(new TimeSpan(0, -5, 0)); } applicationAccessInfo.ApplicationEndTime = newEndDate; Db.SaveChanges(); } ApplicationAccessInfo applicationAccessInfoNew = new ApplicationAccessInfo(); applicationAccessInfoNew.AttendeeId = attendeeId; applicationAccessInfoNew.ApplicationStartTime = newStartTime; Db.ApplicationAccessInfoes.Add(applicationAccessInfoNew); } Db.SaveChanges(); }
private DateTime GetLastLoginDate(int attendeeId) { ApplicationAccessInfo applicationAccessInfo = Db.ApplicationAccessInfoes.Where(s => s.AttendeeId == attendeeId).OrderByDescending(s => s.ApplicationStartTime).Take(1).FirstOrDefault(); if (applicationAccessInfo == null) { return(DateTime.Now); } else { if (applicationAccessInfo.ApplicationStartTime.HasValue) { return(applicationAccessInfo.ApplicationStartTime.Value.ToLocalTime()); } else { return(DateTime.Now); } } }