protected void SignBtn_Click(object sender, EventArgs e) { using (WebhostEntities db = new WebhostEntities()) { LibraryPass pass = db.LibraryPasses.Where(p => p.id == PassId).Single(); if (pass.LibrarySignatureId.HasValue && !pass.LibraryCheckInSignature.AltTimeStamp.HasValue) { pass.LibraryCheckInSignature.AltTimeStamp = DateTime.Now; SignBtn.Text = "Signed Back In"; } else if (pass.LibrarySignatureId.HasValue) { pass.LibraryCheckInSignature.AltTimeStamp = null; SignBtn.Text = "Sign Out Again"; } else { int sigid = db.TimeStampedSignatures.Count() > 0? db.TimeStampedSignatures.OrderBy(i => i.id).ToList().Last().id + 1:0; TimeStampedSignature sig = new TimeStampedSignature() { id = sigid, FacultyId = ((BasePage)Page).user.ID, TimeStamp = DateTime.Now }; db.TimeStampedSignatures.Add(sig); pass.LibrarySignatureId = sigid; SignBtn.Text = "Sign Out"; } db.SaveChanges(); PassId = pass.id; } }
protected void SignOutBtn_Click(object sender, EventArgs e) { ((BasePage)Page).log.WriteLine("{0} Signing out {1} to Library.", Log.TimeStamp(), NameLabel.Text); using (WebhostEntities db = new WebhostEntities()) { int pid = db.LibraryPasses.Count() > 0 ? db.LibraryPasses.OrderBy(p => p.id).ToList().Last().id + 1 : 0; bool update = false; if (db.LibraryPasses.Where(p => p.LibraryDay == Date && p.StudentId == StudentId).Count() > 0) { pid = db.LibraryPasses.Where(p => p.LibraryDay == Date && p.StudentId == StudentId).ToList().FirstOrDefault().id; update = true; ((BasePage)Page).log.WriteLine("{0} updating Library Pass", Log.TimeStamp()); } LibraryPass pass = new LibraryPass(); if (!update) { ((BasePage)Page).log.WriteLine("{0} Creating new Library Pass", Log.TimeStamp()); pass.id = pid; pass.LibraryDay = Date; pass.Notes = "None"; pass.StudentId = StudentId; db.LibraryPasses.Add(pass); } else { pass = db.LibraryPasses.Where(p => p.id == pid).Single(); } if (pass.StudyHallSignatureId.HasValue) { pass.StudyHallCheckOutSignature.TimeStamp = DateTime.Now; } else { int sigid = db.TimeStampedSignatures.Count() > 0 ? db.TimeStampedSignatures.OrderBy(s => s.id).ToList().Last().id + 1 : 0; TimeStampedSignature sig = new TimeStampedSignature() { FacultyId = ((BasePage)Page).user.ID, TimeStamp = DateTime.Now, id = sigid }; db.TimeStampedSignatures.Add(sig); pass.StudyHallSignatureId = sigid; } db.SaveChanges(); LoadRow(); ((BasePage)Page).log.WriteLine("{0} Done Signing Library Pass.", Log.TimeStamp()); } }