public IHttpActionResult AddEntry(Entry entry) { // To call this method: // DEV: http://localhost:52051/Api/AttendanceEntry/AddEntry // PROD: http://ktkaciovaite-001-site1.ctempurl.com/Api/AttendanceEntry/AddEntry var studentDataService = new StudentDataService(); var students = studentDataService.GetAll(); if (students.Exists(x => x.CardNumber == entry.CardNumber)) { var attendanceEntryDataService = new AttendanceEntryDataService(); var attendanceEntry = new AttendanceEntry() { Time = DateTime.Now, CardNumber = entry.CardNumber }; attendanceEntryDataService.Add(attendanceEntry); var updateAttendanceThread = new Thread(() => UpdateAttendance(attendanceEntry.Time, attendanceEntry.CardNumber)); updateAttendanceThread.Start(); return(Ok("Pažymėta")); } return(Ok("Kortelės nėra sistemoje")); }
public void Add(AttendanceEntry attendanceEntry) { using (var context = new AttendanceContext()) { context.AttendanceEntry.Add(attendanceEntry); context.SaveChanges(); } }
private static void TestAttendanceEntryStateChange(AttendanceStatus initial, AttendanceStatus expected, Action <AttendanceEntry> action) { var entry = new AttendanceEntry("some id", "some name", initial); action(entry); Assert.AreEqual(expected, entry.Status); }
public void WhenMessageIsProvided_EntryShouldStoreTheMessage() { var entry = new AttendanceEntry("some id", "some name", AttendanceStatus.Yes); var message = "some message"; entry.Maybe(message); Assert.AreEqual(message, entry.Message); }
public StudentAttendance GetAttendanceReview(int studentNo, DateTime dateFrom, DateTime dateTo) { var query = new StringBuilder(); query.AppendFormat("SELECT StudentNo, student, Course, ClassDate, ClassStartTime, ClassEndTime, ClassHours, AttendanceHours, AttendanceCode, Complete, CourseDescription, AttendedAdj, ScheduledAdj ") .AppendFormat(" FROM vWebAttendanceReview ") .AppendFormat(" WHERE StudentNo = {0} AND ClassDate BETWEEN '{1}' AND '{2}' ORDER BY ClassDate ASC", studentNo, dateFrom, dateTo); var attendanceEntries = new List <AttendanceEntry>(); using (var reader = this.ExecuteReader(CommandType.Text, query.ToString())) { while (reader.Read()) { int colIndex = -1; var attendanceEntry = new AttendanceEntry { StudentNo = reader[++colIndex] as int?, Student = reader[++colIndex] as string, Course = reader[++colIndex] as string, ClassDate = reader[++colIndex] as DateTime?, ClassStartTime = reader[++colIndex] as DateTime?, ClassEndTime = reader[++colIndex] as DateTime?, ClassHours = reader[++colIndex] as string, AttendanceHours = reader[++colIndex] as double?, AttendanceCode = reader[++colIndex] as string, ScheduledComplete = reader[++colIndex] as string, CourseDescription = reader[++colIndex] as string, AttendedAdj = reader[++colIndex] as double?, ScheduledAdj = reader[++colIndex] as double? }; attendanceEntries.Add(attendanceEntry); } } query = new StringBuilder(); query.AppendFormat("SELECT SUM(AttendedAdj) as TotalScheduledAttended,Sum(ScheduledAdj) as TotalScheduledComplete") .AppendFormat(" FROM vWebAttendanceReview") .AppendFormat(" WHERE StudentNo = {0} ", studentNo); double totalScheduledComplete = 0.0; double totalScheduledAttended = 0.0; using (var reader = this.ExecuteReader(CommandType.Text, query.ToString())) { while (reader.Read()) { int colIndex = -1; double.TryParse(reader[++colIndex].ToString(), out totalScheduledAttended); double.TryParse(reader[++colIndex].ToString(), out totalScheduledComplete); } } return(new StudentAttendance(attendanceEntries, dateFrom, dateTo, totalScheduledComplete, totalScheduledAttended)); }
public ApiResult <List <string> > GetPeopleOvertime(AttendanceEntry attendanceEntry) { _logger.Info("開始呼叫OvertimeService.GetPeopleOvertime"); ApiResult <List <string> > apiResult = new ApiResult <List <string> >(); apiResult.State = false; try { apiResult.Result = _overtimeService.GetPeopleOvertime(attendanceEntry); apiResult.State = true; } catch (Exception ex) { apiResult.Message = ex.ToString(); } return(apiResult); }
public ApiResult <List <CardDto> > GetCard(AttendanceEntry attendanceEntry) { _logger.Info("開始呼叫CardService.GetCard"); ApiResult <List <CardDto> > apiResult = new ApiResult <List <CardDto> >(); apiResult.State = false; try { apiResult.Result = _cardService.GetCard(attendanceEntry); apiResult.State = true; } catch (Exception ex) { apiResult.Message = ex.ToString(); } return(apiResult); }
public ApiResult <List <RoteChangeDto> > GetRoteChange(AttendanceEntry attendacneEntry) { _logger.Info("開始呼叫RoteChangeService.GetRoteChange"); ApiResult <List <RoteChangeDto> > apiResult = new ApiResult <List <RoteChangeDto> >(); apiResult.State = false; try { apiResult.Result = _roteChangeService.GetRoteChange(attendacneEntry); apiResult.State = true; } catch (Exception ex) { apiResult.Message = ex.ToString(); } return(apiResult); }
private string SaveLog(IASystemWeb.Models.UserLog.LogCollection logs) { string message = string.Empty; AttendanceEntry db = new AttendanceEntry(); SqlCommand cmd = new SqlCommand("sp_Attendance"); SqlParameter errorMessage = new SqlParameter("@rMessage", SqlDbType.VarChar, 200); errorMessage.Direction = ParameterDirection.Output; SqlParameter logData = new SqlParameter("@iAttendanceDetails", SqlDbType.Structured); logData.Direction = ParameterDirection.Input; logData.TypeName = "dbo.NewLog"; logData.Value = logs; cmd.Parameters.Add(logData); cmd.Parameters.Add(errorMessage); message = db.ExecuteSP(cmd); return(message); }
public StudentAttendance GetAttendanceReview(int studentNo) { var query = new StringBuilder(); query.AppendFormat("SELECT [StudentNo],[Student],[Course],[TermBeginDate],[ClassDate],[ClassStartTime],[ClassEndTime],[ClassHours],[Complete],[AttendanceHours],[CourseDescription],[AttendanceCode],[AttendedAdj],[ScheduledAdj] ") .AppendFormat(" FROM vWebAttendanceReview WHERE StudentNo = {0} ORDER BY ClassDate ASC", studentNo); var attendanceEntries = new List <AttendanceEntry>(); using (var reader = this.ExecuteReader(CommandType.Text, query.ToString())) { while (reader.Read()) { int colIndex = -1; var attendanceEntry = new AttendanceEntry { //AttendanceType = reader[++colIndex] as string, StudentNo = reader[++colIndex] as int?, Student = reader[++colIndex] as string, Course = reader[++colIndex] as string, TermBeginDate = reader[++colIndex] as DateTime?, ClassDate = reader[++colIndex] as DateTime?, ClassStartTime = reader[++colIndex] as DateTime?, ClassEndTime = reader[++colIndex] as DateTime?, ClassHours = reader[++colIndex] as string, Complete = reader[++colIndex] as string, AttendanceHours = reader[++colIndex] as double?, CourseDescription = reader[++colIndex] as string, AttendanceCode = reader[++colIndex] as string, AttendedAdj = reader[++colIndex] as double?, ScheduledAdj = reader[++colIndex] as double? }; attendanceEntries.Add(attendanceEntry); } } return(new StudentAttendance(attendanceEntries)); }
private void Init() { #region Filling AttendanceData Test Data AttendanceData = new Dictionary <int, StudentAttendance>(); var attendanceEntries = new List <AttendanceEntry>(); var attendanceEntry1 = new AttendanceEntry { StudentNo = 1, Student = "Alex", Course = "Test001 (T-1)", TermBeginDate = new DateTime(2011, 2, 16), ClassDate = new DateTime(2011, 2, 16), ClassStartTime = new DateTime(1899, 12, 30, 5, 30, 0), ClassEndTime = new DateTime(1899, 12, 30, 9, 30, 0), ClassHours = "4", Complete = "Y", AttendanceHours = 4, CourseDescription = "This is test 1 course.", AttendanceCode = "P", AttendedAdj = 4, ScheduledAdj = 4 }; var attendanceEntry2 = new AttendanceEntry { StudentNo = 1, Student = "Alex", Course = "Test001 (T-1)", TermBeginDate = new DateTime(2011, 2, 16), ClassDate = new DateTime(2011, 2, 17), ClassStartTime = new DateTime(1899, 12, 30, 5, 30, 0), ClassEndTime = new DateTime(1899, 12, 30, 9, 30, 0), ClassHours = "4", Complete = "Y", AttendanceHours = 4, CourseDescription = "This is test 1 course.", AttendanceCode = "P", AttendedAdj = 4, ScheduledAdj = 4 }; var attendanceEntry3 = new AttendanceEntry { StudentNo = 1, Student = "Alex", Course = "Test002 (T-2)", TermBeginDate = new DateTime(2011, 2, 16), ClassDate = new DateTime(2011, 3, 10), ClassStartTime = null, ClassEndTime = null, ClassHours = "0", Complete = "Y", AttendanceHours = 3, CourseDescription = "This is test 3 course.", AttendanceCode = "P", AttendedAdj = 3, ScheduledAdj = 3 }; attendanceEntries.Add(attendanceEntry1); attendanceEntries.Add(attendanceEntry2); attendanceEntries.Add(attendanceEntry3); var studentAttendance = new StudentAttendance(attendanceEntries); AttendanceData.Add(1, studentAttendance); attendanceEntry1 = new AttendanceEntry { StudentNo = 2, Student = "Ben", Course = "Test011 (T-11)", TermBeginDate = new DateTime(2011, 3, 8), ClassDate = new DateTime(2011, 3, 8), ClassStartTime = new DateTime(1899, 12, 30, 5, 30, 0), ClassEndTime = new DateTime(1899, 12, 30, 9, 30, 0), ClassHours = "4", Complete = "Y", AttendanceHours = 4, CourseDescription = "This is a test 11 course.", AttendanceCode = "P", AttendedAdj = 4, ScheduledAdj = 4 }; attendanceEntry2 = new AttendanceEntry { StudentNo = 2, Student = "Ben", Course = "Test012 (T-12)", TermBeginDate = new DateTime(2011, 3, 8), ClassDate = new DateTime(2011, 3, 9), ClassStartTime = new DateTime(1899, 12, 30, 5, 30, 0), ClassEndTime = new DateTime(1899, 12, 30, 9, 30, 0), ClassHours = "4", Complete = "Y", AttendanceHours = 4, CourseDescription = "This is a test 2 course.", AttendanceCode = "P", AttendedAdj = 4, ScheduledAdj = 4 }; attendanceEntry3 = new AttendanceEntry { StudentNo = 2, Student = "Ben", Course = "Test013 (T-13)", TermBeginDate = new DateTime(2011, 3, 8), ClassDate = new DateTime(2011, 3, 22), ClassStartTime = null, ClassEndTime = null, ClassHours = "4", Complete = "Y", AttendanceHours = 4, CourseDescription = "This is a test 13 course.", AttendanceCode = "P", AttendedAdj = 4, ScheduledAdj = 4 }; attendanceEntries = new List <AttendanceEntry> { attendanceEntry1, attendanceEntry2, attendanceEntry3 }; studentAttendance = new StudentAttendance(attendanceEntries); AttendanceData.Add(2, studentAttendance); #endregion SummaryData = new Dictionary <int, StudentAttendanceSummary>(); var attendanceSummary1 = new AttendanceSummary(); attendanceSummary1.StudentNo = 1; attendanceSummary1.Student = "Alex"; attendanceSummary1.Course = "Test001 (T-1)"; attendanceSummary1.CourseDescription = "This is Test 1 Course"; attendanceSummary1.TermBeginDate = new DateTime(2011, 2, 16); attendanceSummary1.ScheduledTotal = 8; attendanceSummary1.ScheduledToDate = 8; attendanceSummary1.AttendedToDate = 8; attendanceSummary1.AttendedPercentage = ((attendanceSummary1.AttendedToDate * 100) / attendanceSummary1.ScheduledToDate); var attendanceSummary2 = new AttendanceSummary(); attendanceSummary2.StudentNo = 1; attendanceSummary2.Student = "Alex"; attendanceSummary2.Course = "Test002 (T-2)"; attendanceSummary2.CourseDescription = "This is Test 2 Course"; attendanceSummary2.TermBeginDate = new DateTime(2011, 2, 16); attendanceSummary2.ScheduledTotal = 3; attendanceSummary2.ScheduledToDate = 3; attendanceSummary2.AttendedToDate = 3; attendanceSummary2.AttendedPercentage = ((attendanceSummary2.AttendedToDate * 100) / attendanceSummary2.ScheduledToDate); var summary = new StudentAttendanceSummary(new[] { attendanceSummary1, attendanceSummary2 }); SummaryData.Add(1, summary); attendanceSummary1 = new AttendanceSummary(); attendanceSummary1.StudentNo = 2; attendanceSummary1.Student = "Ben"; attendanceSummary1.Course = "Test011 (T-11)"; attendanceSummary1.CourseDescription = "This is Test 11 Course"; attendanceSummary1.TermBeginDate = new DateTime(2011, 2, 16); attendanceSummary1.ScheduledTotal = 8; attendanceSummary1.ScheduledToDate = 8; attendanceSummary1.AttendedToDate = 8; attendanceSummary1.AttendedPercentage = ((attendanceSummary1.AttendedToDate * 100) / attendanceSummary1.ScheduledToDate); attendanceSummary2 = new AttendanceSummary(); attendanceSummary2.StudentNo = 2; attendanceSummary2.Student = "Ben"; attendanceSummary2.Course = "Test012 (T-12)"; attendanceSummary2.CourseDescription = "This is Test 12 Course"; attendanceSummary2.TermBeginDate = new DateTime(2011, 2, 16); attendanceSummary2.ScheduledTotal = 12; attendanceSummary2.ScheduledToDate = 12; attendanceSummary2.AttendedToDate = 12; attendanceSummary2.AttendedPercentage = ((attendanceSummary2.AttendedToDate * 100) / attendanceSummary2.ScheduledToDate); summary = new StudentAttendanceSummary(new[] { attendanceSummary1, attendanceSummary2 }); SummaryData.Add(2, summary); }