public async Task <ActionResult> PopulateDetails(int courseId, int semesterId, int timetableId) { AttendanceMaster param = new AttendanceMaster { CourseId = courseId, SemesterId = semesterId, TimetableId = timetableId }; //List<SAMS.Models.Student> students = await _repo.GetStudents(param); List <SAMS.Models.Student> students = new List <Models.Student> { new Models.Student { Id = 1, Name = "Sam Smith" }, new Models.Student { Id = 2, Name = "Anil Einstine" }, }; List <AttendanceDetailViewModel> details = students.Select(x => new AttendanceDetailViewModel { StudentId = x.Id, StudentName = x.Name }).ToList(); return(PartialView(details)); }
public async Task <JsonResult> GetStudentList(int courseId, int semesterId, int timetableId) { try { AttendanceMaster param = new AttendanceMaster { CourseId = courseId, SemesterId = semesterId, TimetableId = timetableId }; List <SAMS.Models.Student> students; if (HttpContext.IsDebuggingEnabled) { students = new List <Models.Student> { new Models.Student { Id = 1, Name = "Sam Smith" }, new Models.Student { Id = 2, Name = "Anil Einstine" }, }; } else { students = await _repo.GetStudents(param); } return(Json(students, JsonRequestBehavior.AllowGet)); } catch (Exception ex) { return(Json(new { IsError = true, Message = ex.Message }, JsonRequestBehavior.AllowGet)); } }
public AttendanceMaster ViewAttendance(int id) { AttendanceMaster attendanceMaster = new AttendanceMaster(); string qry = @"SELECT A.Id , M.Id as ModuleId, M.Name as ModuleName , T.Id as TimetableId, concat(T.StartTime, ' - ', T.EndTime, ' (', T.Day, ')') as ClassInformation , C.Id as CourseId, C.Name as CourseName , S.Id as SemesterId, S.Name as SemesterName FROM AttendanceMast A INNER JOIN Timetable T on T.Id = A.TimetableId INNER JOIN Module M on M.Id = T.ModuleId INNER JOIN Course C on C.Id = T.CourseId INNER JOIN Semester S on S.Id = T.SemesterId WHERE A.Id = @id SELECT d.id, s.Id as StudentId, s.name as studentName, d.[status], d.remarks FROM AttendanceDetl D INNER JOIN STUDENT S ON d.StudentId = s.Id WHERE D.MastId = @id"; List <SqlParam> parameters = new List <SqlParam>() { new SqlParam("@id", SqlDbType.Int, id), }; DataSet ds = _dao.ExecuteDataSet(qry, parameters); if (ds != null && ds.Tables[0].Rows.Count > 0) { attendanceMaster = ds.Tables[0].ToList <AttendanceMaster>().FirstOrDefault(); attendanceMaster.details = ds.Tables[1].ToList <AttendanceDetail>(); } return(attendanceMaster); }
public async Task <bool> SaveAttendance(AttendanceMaster data) { string qry = @"USP_UPDATE_ATTENDANCE"; DataTable dtDetails = data.details.Select(x => new { Id = (int)x.Id, MastId = (int)x.MastId, StudentId = (int)x.StudentId, Status = x.Status ?? "", Remarks = x.Remarks ?? "" } ).ToList().ToDataTable(); List <SqlParam> parameters = new List <SqlParam>() { new SqlParam("@AttendanceId", SqlDbType.Int, data.Id), new SqlParam("@ModuleId", SqlDbType.Int, data.ModuleId), new SqlParam("@AttendanceDate", SqlDbType.Date, data.AttendanceDate), new SqlParam("@TimetableId", SqlDbType.Int, data.TimetableId), new SqlParam("@ATTENDANCE_DETAILS", SqlDbType.Structured, dtDetails), }; return(await _dao.ExecuteNonQueryAsync(qry, parameters, CommandType.StoredProcedure)); }
public async Task <ActionResult> DeleteConfirmed(int id) { AttendanceMaster attendanceMaster = await db.AttendanceMasters.FindAsync(id); db.AttendanceMasters.Remove(attendanceMaster); await db.SaveChangesAsync(); return(RedirectToAction("Index")); }
public async Task <ActionResult> Edit([Bind(Include = "Id")] AttendanceMaster attendanceMaster) { if (ModelState.IsValid) { db.Entry(attendanceMaster).State = EntityState.Modified; await db.SaveChangesAsync(); return(RedirectToAction("Index")); } return(View(attendanceMaster)); }
public async Task <ActionResult> Delete(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } AttendanceMaster attendanceMaster = await db.AttendanceMasters.FindAsync(id); if (attendanceMaster == null) { return(HttpNotFound()); } return(View(attendanceMaster)); }
// GET: Attendance/Edit/5 public async Task <ActionResult> Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } AttendanceMaster attendanceMaster = _repo.ViewAttendance((int)id); if (attendanceMaster == null) { return(HttpNotFound()); } return(View(attendanceMaster)); }
public async Task <List <Student> > GetStudents(int moduleId) { AttendanceMaster attendanceMaster = new AttendanceMaster(); string qry = @"SELECT s.id, s.rollNumber, s.Name FROM STUDENT S INNER JOIN STUDENTMODULEMAPPING ST ON s.Id = st.StudentId where st.ModuleId = @moduleId"; List <SqlParam> parameters = new List <SqlParam>() { new SqlParam("@moduleId", SqlDbType.Int, moduleId), }; List <Student> list = await _dao.FetchListAsync <Student>(qry, parameters); return(list); }
public async Task <List <Timetable> > GetTimetable(AttendanceMaster data) { string qry = @"SELECT T.Id, concat(M.Name, ' | ', isnull(T.StartTime, ''), ' - ', isnull(T.EndTime, ''), ' (', isnull(cast(T.Day as varchar), ''), ')') as ClassDetails FROM Timetable T INNER JOIN Module M on M.Id = T.ModuleId WHERE T.CourseId = @CourseId and T.SemesterId = @SemesterId and T.day = @day" ; List <SqlParam> parameters = new List <SqlParam>() { new SqlParam("@CourseId", SqlDbType.Int, data.CourseId), new SqlParam("@SemesterId", SqlDbType.Int, data.SemesterId), new SqlParam("@day", SqlDbType.Int, data.Day), }; return(await _dao.FetchListAsync <Timetable>(qry, parameters)); }
public async Task <JsonResult> SaveAttendance(AttendanceMaster data) { try { if (ModelState.IsValid) { data.AttendanceDate = DateTime.Now; await _repo.SaveAttendance(data); return(Json(new { Success = true })); } return(Json(new { Success = false, Error = "Invalid Input Data" })); } catch (Exception ex) { return(Json(new { Success = false, Error = ex.Message })); } }
public async Task <ActionResult> SaveAttendance(AttendanceMaster data) { try { if (ModelState.IsValid) { if (!HttpContext.IsDebuggingEnabled) { await _repo.SaveAttendance(data); } return(RedirectToAction("Index")); } } catch (Exception ex) { ModelState.AddModelError("", ex.Message); } return(View(data)); }