Ejemplo n.º 1
0
        public async Task <IActionResult> PutAttendanceSheetDetail(int id, AttendanceSheetDetail attendanceSheetDetail)
        {
            if (id != attendanceSheetDetail.Id)
            {
                return(BadRequest());
            }

            _context.Entry(attendanceSheetDetail).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!AttendanceSheetDetailExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
Ejemplo n.º 2
0
 private bool IsExists(List <AttendanceSheetDetail> InDetails, AttendanceSheetDetail test)
 {
     foreach (var item in InDetails)
     {
         if (item.LearnerId == test.LearnerId)
         {
             return(true);
         }
     }
     return(false);
 }
Ejemplo n.º 3
0
        public void PostAttendanceSheetList(Guid userId, int lecturerId, int tutorId, string classId, int month, int year)
        {
            // tạo hết 1 loạt các chi tiết điểm danh theo các buổi học

            var classSessions = (from cl in _context.LanguageClasses
                                 join ts in _context.TeachingSchedules on cl.Id equals ts.LanguageClassId
                                 join s in _context.ClassSessions on ts.Id equals s.TeachingScheduleId
                                 where cl.Id == classId && s.Date.Month == month && s.Date.Year == year
                                 select s).OrderBy(x => x.Date).ToList();

            //lấy ra các học viên trong lớp đó.
            var learners = (from l in _context.Learners
                            join st in _context.StudyProcesses on l.Id equals st.LearnerId
                            where st.LanguageClassId == classId && l.Status == Status.Active && st.Status == Status.Active
                            select l).ToList();

            var _class = _context.LanguageClasses.Where(x => x.Id == classId).SingleOrDefault();

            List <AttendanceSheet> attendanceSheets = new List <AttendanceSheet>();


            foreach (var cs in classSessions)
            {
                AttendanceSheet attendanceSheet = new AttendanceSheet();

                attendanceSheet.WageOfLecturer  = Convert.ToDecimal(_class.WageOfLecturer);
                attendanceSheet.WageOfTutor     = Convert.ToDecimal(_class.WageOfTutor);
                attendanceSheet.DateCreated     = DateTime.Now;
                attendanceSheet.Status          = Status.Active;
                attendanceSheet.AppUserId       = userId;
                attendanceSheet.LecturerId      = lecturerId;
                attendanceSheet.TutorId         = tutorId;
                attendanceSheet.LanguageClassId = classId;

                attendanceSheet.Date = cs.Date;
                attendanceSheets.Add(attendanceSheet);
            }
            _context.AttendanceSheets.AddRange(attendanceSheets);
            _context.SaveChanges();


            List <AttendanceSheetDetail> attendanceSheetDetails = new List <AttendanceSheetDetail>();

            foreach (var attendance in attendanceSheets)
            {
                foreach (var learner in learners)
                {
                    AttendanceSheetDetail attendanceSheetDetail = new AttendanceSheetDetail();
                    attendanceSheetDetail.Status            = Status.InActive;
                    attendanceSheetDetail.LanguageClassId   = classId;
                    attendanceSheetDetail.DateCreated       = attendance.Date;
                    attendanceSheetDetail.AttendanceSheetId = attendance.Id;

                    attendanceSheetDetail.LearnerId = learner.Id;

                    attendanceSheetDetails.Add(attendanceSheetDetail);
                }
            }
            _context.AttendanceSheetDetails.AddRange(attendanceSheetDetails);
            _context.SaveChanges();
        }
Ejemplo n.º 4
0
        public async Task <ActionResult <AttendanceSheetDetail> > PostAttendanceSheetDetail(AttendanceSheetDetail attendanceSheetDetail)
        {
            attendanceSheetDetail.DateCreated = DateTime.Now;
            attendanceSheetDetail.Status      = Status.Active;
            _context.AttendanceSheetDetails.Add(attendanceSheetDetail);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetAttendanceSheetDetail", new { id = attendanceSheetDetail.Id }, attendanceSheetDetail));
        }