Пример #1
0
        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();
     }
 }
Пример #3
0
        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);
        }
Пример #4
0
            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));
        }
Пример #6
0
        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);
        }
Пример #7
0
        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);
        }
Пример #8
0
        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);
        }
Пример #9
0
        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));
        }
Пример #11
0
        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);
        }