public ActionResult DeleteConfirmed(string id) { //StudentCheckIn studentCheckIn = db.StudentCheckIns.Find(id); StudentCheckIn studentCheckIn = Bs.GetStudentCheckIn(id); Bs.RemoveStudentCheckIn(studentCheckIn); return(RedirectToAction("Index")); }
public bool RemoveStudentCheckIn(StudentCheckIn studentCheckIn) { try { db.StudentCheckIns.Remove(studentCheckIn); db.SaveChanges(); return(true); } catch (Exception ex) { return(false); } }
public bool UpdateStudentCheckIn(StudentCheckIn studentCheckIn) { try { db.Entry(studentCheckIn).State = EntityState.Modified; db.SaveChanges(); return(true); } catch (Exception ex) { return(false); } }
public ActionResult Edit([Bind(Include = "CheckIn_Id,StudId,ResId,ResName,Date_In,RoomId")] StudentCheckIn studentCheckIn) { if (ModelState.IsValid) { Bs.UpdateStudentCheckIn(studentCheckIn); return(RedirectToAction("Index")); } ViewBag.ResId = new SelectList(db.Residences, "ResId", "ResName", studentCheckIn.ResId); ViewBag.RoomId = new SelectList(db.Rooms, "RoomId", "RoomNumber", studentCheckIn.RoomId); ViewBag.StudId = new SelectList(db.Students, "StudId", "StudentNumber", studentCheckIn.StudId); return(View(studentCheckIn)); }
// GET: StudentCheckIns/Details/5 public ActionResult Details(string id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } StudentCheckIn studentCheckIn = db.StudentCheckIns.Find(id); if (studentCheckIn == null) { return(HttpNotFound()); } return(View(studentCheckIn)); }
// GET: StudentCheckIns/Edit/5 public ActionResult Edit(string id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } StudentCheckIn studentCheckIn = db.StudentCheckIns.Find(id); if (studentCheckIn == null) { return(HttpNotFound()); } ViewBag.ResId = new SelectList(db.Residences, "ResId", "ResName", studentCheckIn.ResId); ViewBag.RoomId = new SelectList(db.Rooms, "RoomId", "RoomNumber", studentCheckIn.RoomId); ViewBag.StudId = new SelectList(db.Students, "StudId", "StudentNumber", studentCheckIn.StudId); return(View(studentCheckIn)); }
public ActionResult Create() { DateTime now = DateTime.UtcNow; StudentCheckIn studentCheckIn = new StudentCheckIn(); var userId = User.Identity.GetUserName(); var roomResult = studentCheckIn.checkRoomStatus(); var student = db.Students.ToList().Find(x => x.Email == User.Identity.GetUserName()); Student stdent = new Student(); var resid = lo.getStudentRes((student.IdNumber)); var id = stdent.IdNumber; if (lo.ChechIdForCheckIn(lo.getId(id.ToString())) == false) { if (lo.checkForCheckIn(userId)) { TempData["message"] = "You have already checked in"; return(RedirectToAction("Index", "Students")); } else { ViewBag.ResId = new SelectList(db.Residences, "ResId", "ResName"); ViewBag.RoomId = new SelectList(db.Rooms.Where(x => x.Status == "Available" && x.Residence.ResId == resid), "RoomId", "RoomNumber"); if (User.IsInRole("SAN")) { ViewBag.StudId = new SelectList(db.Students, "StudId", "StudentNumber"); } else if (User.IsInRole("Student")) { ViewBag.StudId = new SelectList(db.Students.Where(x => x.Email == userId), "StudId", "StudentNumber"); } return(View()); } } else { TempData["message"] = "You have not been temporarily booked for"; return(View("Home2")); } }
public ActionResult Create([Bind(Include = "CheckIn_Id,StudId,ResId,ResName,Date_In,RoomId")] StudentCheckIn studentCheckIn) { DateTime now = DateTime.UtcNow; var userId = User.Identity.GetUserId(); var username = User.Identity.GetUserName(); Guid guid = new Guid(); Random r = new Random(); if (ModelState.IsValid) { if (studentCheckIn.CheckStudent() == true) { if (studentCheckIn.checkRoomStatus() == true) { var student = db.Students.ToList().Find(x => x.Email == User.Identity.GetUserName()); studentCheckIn.StudId = student.StudId; var resid = lo.getStudentRes((student.IdNumber)); if (lo.canCheckIn(student.Email, studentCheckIn.RooNumber) == false) { TempData["message"] = "Cannot checkin into a " + lo.getGender(studentCheckIn.RooNumber) + "'s room."; return(RedirectToAction("Create")); } if (studentCheckIn.CheckRoomGender(username) == false) { TempData["message"] = "Cannot checkin into a " + lo.getGender(studentCheckIn.RooNumber) + "'s room."; return(RedirectToAction("Create")); } studentCheckIn.ResId = resid; // studentCheckIn.UpdateCheckIn(); var qtyUpdate = db.ResAvailabilities.Where(x => x.ResId == resid).FirstOrDefault(); qtyUpdate.CheckedIN += 1; db.Entry(qtyUpdate).State = System.Data.Entity.EntityState.Modified; studentCheckIn.UpdateStatus(); studentCheckIn.CheckIn_Id = guid.ToString() + r.Next(2, 10000).ToString(); studentCheckIn.ResName = lo.getResName(studentCheckIn.getStudentNUmber()); studentCheckIn.Date_In = now.Date; studentCheckIn.RooNumber = studentCheckIn.GetRoomNumber(); //studentCheckIn.RoomId=studentCheckIn.RoomId studentCheckIn.UpdateProfile(); studentCheckIn.updateSpace(); Bs.AddStudentCheckIn(studentCheckIn); db.SaveChanges(); return(RedirectToAction("Create", "PDFs")); } else { ModelState.AddModelError("", "Room is Already Taken"); } } else { ModelState.AddModelError("", "Student is already checked in"); } } ViewBag.ResId = new SelectList(db.Residences, "ResId", "ResName", studentCheckIn.ResId); ViewBag.RoomId = new SelectList(db.Rooms.Where(x => x.Space != 0 && x.Residence.ResId == studentCheckIn.ResId), "RoomId", "RoomNumber", studentCheckIn.RoomId); if (User.IsInRole("SystemAdmin")) { ViewBag.StudId = new SelectList(db.Students, "StudId", "StudentNumber", studentCheckIn.StudId); } else if (User.IsInRole("Student")) { ViewBag.StudId = new SelectList(db.Students.Where(x => x.Email == userId), "StudId", "StudentNumber", studentCheckIn.StudId); } return(View(studentCheckIn)); }
/// <summary> /// Điểm danh học sinh lúc đi và lúc về (Cho app của GSX) /// </summary> /// <param name="request"></param> /// <returns></returns> public async Task <ResultDto <StudentCheckInDto> > CheckIn(CheckInRequestDto request) { var studentCheckIn = new StudentCheckIn() { CheckInResult = (StudentStatus)request.CheckInResult, CheckInTime = request.CheckInTime, CheckInType = (CheckInType)request.CheckInType, MonitorId = request.MonitorId, Latitude = request.Latitude, Longitude = request.Longitude, StudentId = request.StudentId }; var student = await this.GetById(request.StudentId); var checkInTimeSpan = new TimeSpan(studentCheckIn.CheckInTime.Hour, (studentCheckIn.CheckInTime.Minute), 00); if (studentCheckIn.CheckInResult == StudentStatus.PickedUp) { TimeSpan timeCheck = checkInTimeSpan.Subtract(student.StopPickTime); if (timeCheck.TotalMinutes > 5) { studentCheckIn.CheckInState = CheckInState.Late; } else if (timeCheck.TotalMinutes < -5) { studentCheckIn.CheckInState = CheckInState.Soon; } else { studentCheckIn.CheckInState = CheckInState.OnTime; } } else if (studentCheckIn.CheckInResult == StudentStatus.DropedOff) { TimeSpan timeCheck = checkInTimeSpan.Subtract(student.StopDropTime); if (timeCheck.TotalMinutes > 5) { studentCheckIn.CheckInState = CheckInState.Late; } else if (timeCheck.TotalMinutes < -5) { studentCheckIn.CheckInState = CheckInState.Soon; } else { studentCheckIn.CheckInState = CheckInState.OnTime; } } // Lưu điểm danh vào DB await _context.StudentCheckIns.AddAsync(studentCheckIn); var result = await _context.SaveChangesAsync(); if (result > 0) { // Cập nhật trạng thái HS var studentUpdateResult = await this.UpdateStatus(studentCheckIn.StudentId, (StudentStatus)request.CheckInResult); // Cập nhật trạng thái warning var updateWarningResult = await this.UpdateWarningState(studentCheckIn.StudentId, false); // Lấy StudentCheckInDto var itemCheckIn = await this.GetItemCheckInById(studentCheckIn.Id); if (studentUpdateResult != 0 && itemCheckIn != null) { return(new ResultDto <StudentCheckInDto>(ResponseCode.Success, "Điểm danh thành công", itemCheckIn)); } return(new ResultDto <StudentCheckInDto>(ResponseCode.LogicError, "Điểm danh thất bại", null)); } else { return(new ResultDto <StudentCheckInDto>(ResponseCode.LogicError, "Điểm danh thất bại", null)); } }