示例#1
0
        public async Task Init()
        {
            var list = await _eventService.GetById <IEnumerable <Model.Response.EventAttendance> >(EventId);

            AttendanceList.Clear();
            foreach (var member in list)
            {
                AttendanceList.Add(member);
            }
        }
示例#2
0
        public async Task <IActionResult> RegidterDepartureDate(UserRegidterDepartureDate model, CancellationToken cancellationToken)
        {
            if (model.Id == 0)
            {
                return(NotFound());
            }
            AttendanceList attandance = await _attendanceListRepository.Entities.FirstOrDefaultAsync(c => c.Id == model.Id, cancellationToken);

            attandance.DepartureDate = DateTime.Now;
            attandance.DepartureTime = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, DateTime.Now.Hour, DateTime.Now.Minute, DateTime.Now.Second);
            await _attendanceListRepository.UpdateAsync(attandance, cancellationToken);

            return(RedirectToAction(nameof(Index), new { Id = model.UserId }));
        }
        public IActionResult AttendanceTaken(List <AttendanceStudentListVM> attendanceStudentListVM)
        {
            if (HttpContext.Session.GetString("Faculty") != null &&
                HttpContext.Session.GetString("Faculty") != "Expired")
            {
                var faculty   = HttpContext.Session.GetString("Faculty");
                var facultyId = db.Faculty.Where(a => a.UserName == faculty).FirstOrDefault();
                ViewBag.FacultyName = facultyId.FirstName + " " + facultyId.LastName;

                for (int i = 0; i < attendanceStudentListVM.Count; i++)
                {
                    AttendanceList attendanceList = new AttendanceList();
                    attendanceList.ClassId     = attendanceStudentListVM[i].classIdVM;
                    attendanceList.CourseId    = attendanceStudentListVM[i].courseIdVM;
                    attendanceList.Date        = attendanceStudentListVM[i].dateVM;
                    attendanceList.StudentId   = attendanceStudentListVM[i].StudentIdVM;
                    attendanceList.TeacherId   = facultyId.id;
                    attendanceList.ClassTimeId = attendanceStudentListVM[i].timeIdVM;
                    attendanceList.Status      = attendanceStudentListVM[i].Status;

                    if (attendanceStudentListVM[i].Status == 0)
                    {
                        MessageList messageList = new MessageList();
                        {
                            messageList.MessageTitle = "Absent alert.";

                            messageList.TeacherId = facultyId.id;
                            messageList.Date      = DateTime.Now.ToString("M/d/yyyy");
                            messageList.Time      = DateTime.Now.ToString("hh:mm tt");
                            var courseId = db.Course.Where(a => a.Id == attendanceStudentListVM[i].courseIdVM).FirstOrDefault();
                            var sid      = db.Student.Where(e => e.Id == attendanceList.StudentId).FirstOrDefault();
                            var sname    = sid.FirstName + " " + sid.LastName;
                            messageList.MessageDetail = "Your son/daughter Mr/Mrs " + sname + " was absent in " + courseId.CourseName + " class at " + messageList.Time + " on " + messageList.Date + ".";
                            messageList.SentBy        = "tc";
                            var gId = db.Student.Where(a => a.Id == attendanceList.StudentId).FirstOrDefault();
                            messageList.GuardianId = gId.GuardianId;
                        };
                        db.MessageList.Add(messageList);
                        db.SaveChanges();
                    }
                    db.AttendanceList.Add(attendanceList);
                    db.SaveChanges();
                }
                return(RedirectToAction("AttendancePanel"));
            }
            return(RedirectToAction("Login"));
        }
示例#4
0
        /// <summary>
        /// Metoda drukująca ewidencje
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnDrukuj_Click(object sender, EventArgs e)
        {
            string       temp   = string.Format("Czy napewno chcesz wydrukować plik 'Lista obecności' dla WSZYSTKICH zatrudnionych pracowników?");
            DialogResult result = MessageBox.Show(temp, "Wydruk", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);

            if (result == DialogResult.Yes)
            {
                AttendanceList attendanceList = new AttendanceList();
                attendanceList.PrintAll(dtpDataWydruku.Value);
            }
            else
            {
                MessageBox.Show("Drukowanie anulowane.", "Anulowanie...", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }

            //zamykanie form
            this.Close();
        }
示例#5
0
        public async Task <IActionResult> SetRegidterDepartureDate(int Id, CancellationToken cancellationToken)
        {
            if (Id == 0)
            {
                return(NotFound());
            }
            AttendanceList attandance = await _attendanceListRepository.Entities.FirstOrDefaultAsync(c => c.Id == Id, cancellationToken);

            UserRegidterDepartureDate model = new UserRegidterDepartureDate
            {
                Id            = attandance.Id,
                UserId        = User.FindFirst(ClaimTypes.NameIdentifier).Value,
                EntranceDate  = attandance.EntranceDate.Value.ToPersionDate(),
                EntranceTime  = attandance.EntranceTime.Value.ToString("HH:mm"),
                DepartureDate = DateTime.Now.ToPersionDate(),
                DepartureTime = DateTime.Now.ToString("HH:mm")
            };

            return(View("RegidterDepartureDate", model));
        }
示例#6
0
        public async Task <IActionResult> OnGetAsync(string UPI)
        {
            Student = _context.Students
                      .Include(s => s.AttendanceList)
                      .Include(s => s.CourseTags)
                      .ThenInclude(s => s.Course)
                      .ThenInclude(s => s.Lecturer)
                      .FirstOrDefault(s => s.StudentID == UPI);

            AttendanceList = _context.AttendanceList
                             .Include(a => a.Session)
                             .ThenInclude(s => s.Course)
                             .Where(a => a.StudentID == UPI)
                             .ToList();
            Sessions = _context.Sessions
                       .Where(s => Student.CourseTags.Select(c => c.CourseID).Contains(s.CourseID)) //only sessions of my courses
                       .Where(s => !AttendanceList.Select(a => a.SessionID).Contains(s.SessionID))
                       .ToList();
            return(Page());
        }
示例#7
0
        public async Task <IActionResult> Vacation(UserVacationVm model, CancellationToken cancellationToken)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }
            AttendanceList enterance = await _attendanceListRepository.Entities.FirstOrDefaultAsync(c => c.Id == model.Id, cancellationToken);

            enterance.Vacations = new List <TypeVacation>
            {
                new TypeVacation
                {
                    AttendanceListId = enterance.Id,
                    TimeOff          = model.TimeOff,
                    Title            = model.Title,
                    DepartureDate    = model.DepartureDateAD,
                    DepartureTime    = model.DepartureTime
                }
            };
            await _attendanceListRepository.UpdateAsync(enterance, cancellationToken);

            return(RedirectToAction(nameof(Index), new { Id = User.FindFirst(ClaimTypes.NameIdentifier).Value }));
        }
示例#8
0
        public ActionResult List(DateTime EventDate, string code = "", int codeID = 0)
        {
            GetData();
            IEnumerable <attendance> AttendanceList;

            if (code == "MemberSearch")
            {
                AttendanceList = AttendanceRepository.GetAttencanceByMember(codeID);
            }
            else if (code == "CalendarSearch")
            {
                AttendanceList = AttendanceRepository.GetAttendanceByCalendar(codeID);
            }
            else
            {
                AttendanceList = AttendanceRepository.GetAttendanceByDate(EventDate);
            }


            ViewBag.RecordCount = AttendanceList.Count();

            return(PartialView(AttendanceList));
        }
示例#9
0
 /// <summary>
 /// 更新一条数据
 /// </summary>
 /// <param name="entity"></param>
 public void UpdateAttendanceList(AttendanceList entity)
 {
     new AttendanceListDAL().UpdateAttendanceList(entity);
 }
示例#10
0
 /// <summary>
 /// 增加一条数据
 /// </summary>
 /// <param name="entity"></param>
 public void AddAttendanceList(AttendanceList entity)
 {
     service.AddAttendanceList(entity);
 }
示例#11
0
        /// <summary>
        /// 執行條件查詢
        /// </summary>
        /// <param name="Name"></param>
        /// <param name="Year"></param>
        /// <param name="Month"></param>
        /// <param name="AttendanceList"></param>
        /// <returns></returns>
        public static bool GetQuery(string Name, string Year, string Month, ref List <AttendanceInfo> AttendanceList)
        {
            try
            {
                if (AttendanceList == null)
                {
                    AttendanceList = new List <AttendanceInfo>();
                }

                string[] files = Directory.GetFiles(To_FileAddress, "*.txt");

                StringBuilder strFile = new StringBuilder();
                int           ID      = 0;
                foreach (string txtName in files)
                {
                    int    counter = 0;
                    string line;

                    if (txtName.Substring(txtName.Length - 12, 4) == Year.ToString() && txtName.Substring(txtName.Length - 8, 2) == Month.ToString())
                    {
                        // Read the file and display it line by line.
                        System.IO.StreamReader file = new System.IO.StreamReader(txtName);
                        while ((line = file.ReadLine()) != null)
                        {
                            char[]   str1 = { ' ', '\t', '\n', '\r', '\n', '\r', '\n' };
                            string[] str  = line.Split(str1);
                            //0, 4, 8
                            if (str.Length > 0)
                            {
                                if (str[0] != string.Empty && str[0] == Name)
                                {
                                    DaCardStatus dcs;
                                    string[]     str2 = null;

                                    if (str[8] != string.Empty)
                                    {
                                        str2 = str[8].Split(':');
                                    }
                                    else
                                    {
                                        str2 = str[9].Split(':');
                                    }



                                    //Status
                                    if (AttendanceList.Where(i => i.Name == Name && i.StrDaCardDate == (str[4] == string.Empty ? str[5] : str[4])).Count() == 0)
                                    {
                                        if (int.Parse(str2[0]) >= 18)
                                        {
                                            dcs = DaCardStatus.None;
                                        }
                                        else
                                        {
                                            dcs = DaCardStatus.Arrived;
                                        }
                                    }
                                    else
                                    {
                                        dcs = DaCardStatus.Leave;
                                    }

                                    AttendanceList.Add(new AttendanceInfo()
                                    {
                                        ID = ID++, Name = str[0], StrDaCardDate = str[4] == string.Empty ? str[5] : str[4], StrDaCardDay = str2[0] + ":" + str2[1] + ":00", Status = dcs, Remark = dcs == DaCardStatus.None ? "未打上班卡" : ""
                                    });
                                }
                            }
                            counter++;
                        }

                        file.Close();
                        System.Console.WriteLine("There were {0} lines.", counter);
                        // Suspend the screen.
                        System.Console.ReadLine();
                    }
                }

                var _obj1 = AttendanceList.GroupBy(info => info.StrDaCardDate)
                            .Select(group => new
                {
                    Date  = group.Key,
                    Count = group.Count()
                });

                var _obj2 = _obj1.Where(item => item.Count > 2);

                foreach (var item in _obj2)
                {
                    List <AttendanceInfo> _obj3 = AttendanceList.Where(j => j.StrDaCardDate == item.Date).OrderBy(j => j.DaCardDT).ToList();
                    int i = 0;
                    foreach (AttendanceInfo item2 in _obj3)
                    {
                        if (i != 0 && _obj3.Count() - 1 != i)
                        {
                            int index = AttendanceList.FindIndex(r => r.StrDaCardDay.Equals(item2.StrDaCardDay));
                            AttendanceList.RemoveAt(index);
                        }
                        i++;
                    }
                }
            }

            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            return(true);
        }
        private async void AttendanceList_Refreshing(object sender, EventArgs e)
        {
            AttendanceList.ItemsSource = await firebase.Child("Attendance").OnceAsync <Attendance>();

            AttendanceList.EndRefresh();
        }
示例#13
0
 /// <summary>
 /// 更新一条数据
 /// </summary>
 public void UpdateAttendanceList(AttendanceList entity)
 {
     linqHelper.UpdateEntity <AttendanceList>(entity);
 }
示例#14
0
 /// <summary>
 /// 增加一条数据
 /// </summary>
 public void AddAttendanceList(AttendanceList entity)
 {
     linqHelper.InsertEntity <AttendanceList>(entity);
 }
示例#15
0
        private void RefreshTable()
        {
            Instructor instructor = (Instructor)Session["Instructor"];
            TermClass  termclass  = new TermClass();
            Student    student    = new Student();
            Section    section    = new Section();
            Class      clas       = new Class();
            Attendance attendance = new Attendance();

            AttendanceList aList = new AttendanceList();

            TermClassList tClassList  = new TermClassList();
            StudentList   studentList = new StudentList();
            DataTable     dt          = new DataTable();

            tClassList = tClassList.GetAll(); // Get Term classes



            dt.Columns.Add("Student Name");
            dt.Columns.Add("Class Name");
            dt.Columns.Add("Instructor Name");
            dt.Columns.Add("Section Name");
            dt.Columns.Add("Total Absences");

            Guid sectionID = new Guid(ddlSections.SelectedValue);
            Guid classID   = new Guid(ddlSelectClass.SelectedValue);


            foreach (TermClass tc in tClassList.List)
            {
                if (tc.InstructorId == instructor.Id)
                {
                    if (tc.SectionId == sectionID)
                    {
                        if (tc.ClassId == classID)
                        {
                            clas       = clas.GetById(tc.ClassId);
                            student    = student.GetById(tc.StudentId);
                            attendance = attendance.GetByStudentId(tc.StudentId);
                            string className      = clas.Name;
                            string instructorName = instructor.FirstName + " " + instructor.LastName;
                            string studentName    = student.FullName;
                            string sectionName    = ddlSections.SelectedItem.ToString();
                            int    totalAbsences  = attendance.TotalAbsences;

                            aList.GetAttendanceByStudentID(student.Id);
                            foreach (Attendance a in aList.List)
                            {
                                totalAbsences = totalAbsences + 1;
                            }


                            dt.Rows.Add(studentName, className, instructorName, sectionName, totalAbsences);
                        }
                    }
                }
            }
            GridView1.DataSource = dt;
            GridView1.DataBind();
        }