Beispiel #1
0
        public async Task <IActionResult> PutAttendanceSheet(int id, AttendanceSheet attendanceSheet)
        {
            if (id != attendanceSheet.Id)
            {
                return(BadRequest());
            }

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

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

            return(NoContent());
        }
Beispiel #2
0
        /// <summary>
        /// 详情
        /// </summary>
        /// <returns></returns>
        public AttendanceSheet GetListyi(int id)
        {
            string sql = "select * from AttendanceSheet where AttendanceID=" + id;

            db.PrepareSql(sql);
            DataTable dt = new DataTable();

            dt = db.ExecQuery();
            if (dt.Rows.Count == 0)
            {
                return(null);
            }
            AttendanceSheet entity = new AttendanceSheet();

            foreach (DataRow item in dt.Rows)
            {
                entity.AttendanceID        = int.Parse(item["AttendanceID"].ToString());
                entity.AttendanceStartTime = DateTime.Parse(item["AttendanceStartTime"].ToString());
                entity.AttendanceType      = int.Parse(item["AttendanceType"].ToString());
                entity.UserID       = int.Parse(item["UserID"].ToString());
                entity.ClockTime    = DateTime.Parse(item["ClockTime"].ToString());
                entity.ClockOutTime = DateTime.Parse(item["ClockOutTime"].ToString());
                entity.Workinghours = int.Parse(item["Workinghours"].ToString());
                entity.remake       = item["remake"].ToString();
                entity.Late         = int.Parse(item["Late"].ToString());
                entity.Absenteeism  = int.Parse(item["Absenteeism"].ToString());
            }
            return(entity);
        }
        public bool AddRemake(DateTime time, string name, string remakes)
        {
            AttendanceSheet attendanceSheet = sheetDAL.LoadEntities(u => u.AttendanceStartTime == time && u.UserName == name).FirstOrDefault();

            attendanceSheet.remake = remakes;
            return(sheetDAL.ModifyEntity(attendanceSheet));
        }
Beispiel #4
0
 public HomeViewModel(Account account, AttendanceSheet attendance)
 {
     isError            = false;
     AccountId          = account.Id;
     Name               = $"Welcome {account.Name}";
     Date               = attendance.Date;
     LoginTime          = attendance.Login;
     LogoutTime         = attendance.Logout;
     _attendanceService = new AttendanceService();
 }
        public bool AddSign(int userid)
        {
            AttendanceSheet newAttendance = new AttendanceSheet();

            newAttendance.AttendanceStartTime = Convert.ToDateTime(DateTime.Now.ToShortDateString());
            newAttendance.AttendanceType      = 1;//默认
            newAttendance.UserID = userid;
            UserInfo us = userInfoDAL.LoadEntities(u => u.UserID == userid).FirstOrDefault();

            newAttendance.UserName     = us.UserName;
            newAttendance.DepartmentID = us.DepartmentID;
            newAttendance.ClockTime    = DateTime.Now.ToLocalTime();
            return(sheetDAL.AddEntity(newAttendance));
        }
Beispiel #6
0
        /// <summary>
        /// 添加
        /// </summary>
        /// <returns></returns>
        public int Add(AttendanceSheet entity)
        {
            string sql = "insert into AttendanceSheet(AttendanceStartTime,AttendanceType,UserID,ClockTime,ClockOutTime,Workinghours,remake,Late,Absenteeism) values(@AttendanceStartTime,@AttendanceType,@UserID,@ClockTime,@ClockOutTime,@Workinghours,@remake,@Late,@Absenteeism)";

            db.PrepareSql(sql);
            db.SetParameter("AttendanceStartTime", entity.AttendanceStartTime);
            db.SetParameter("AttendanceType", entity.AttendanceType);
            db.SetParameter("UserID", entity.UserID);
            db.SetParameter("ClockTime", entity.ClockTime);
            db.SetParameter("ClockOutTime", entity.ClockOutTime);
            db.SetParameter("Workinghours", entity.Workinghours);
            db.SetParameter("remake", entity.remake);
            db.SetParameter("Late", entity.Late);
            db.SetParameter("Absenteeism", entity.Absenteeism);
            return(db.ExecNonQuery());
        }
Beispiel #7
0
        /// <summary>
        /// 修改
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        public int Update(AttendanceSheet entity)
        {
            string sql = "update AttendanceSheet set AttendanceStartTime=@AttendanceStartTime,AttendanceType=@AttendanceType,UserID=@UserID,ClockTime=@ClockTime,ClockOutTime=@ClockOutTime,Workinghours=@Workinghours,remake=@remake,Late=@Late,Absenteeism=@Absenteeism where AttendanceID=@AttendanceID";

            db.PrepareSql(sql);
            db.SetParameter("AttendanceStartTime", entity.AttendanceStartTime);
            db.SetParameter("AttendanceType", entity.AttendanceType);
            db.SetParameter("UserID", entity.UserID);
            db.SetParameter("ClockTime", entity.ClockTime);
            db.SetParameter("ClockOutTime", entity.ClockOutTime);
            db.SetParameter("Workinghours", entity.Workinghours);
            db.SetParameter("remake", entity.remake);
            db.SetParameter("Late", entity.Late);
            db.SetParameter("Absenteeism", entity.Absenteeism);
            db.SetParameter("AttendanceID", entity.AttendanceID);
            return(db.ExecNonQuery());
        }
        public bool DelAttendance(string[] time, string[] name)
        {
            int n = 0;

            for (int i = 0; i < time.Length; i++)
            {
                var             ti  = Convert.ToDateTime(time[i]);
                var             na  = name[i];
                AttendanceSheet us  = sheetDAL.LoadEntities(u => u.AttendanceStartTime == ti && u.UserName == na).FirstOrDefault();
                bool            del = sheetDAL.DeleteEntity(us);
                if (del == false)
                {
                    n++;
                }
            }
            if (n > 0)
            {
                return(false);
            }
            return(true);
        }
Beispiel #9
0
        public async Task SetAttendanceLogout(SetAttendanceLogoutDto model)
        {
            var accountAttendance = await _attendanceRepository.GetAccountAttendance(model.AccountId, model.LogoutDate);

            if (accountAttendance == null)
            {
                var attendance = new AttendanceSheet
                {
                    Id        = Guid.NewGuid().ToString(),
                    AccountId = model.AccountId,
                    Date      = model.LogoutDate,
                    Logout    = TimeSpan.Parse(model.LogoutTime)
                };
                await _attendanceRepository.Add(attendance);
            }
            else
            {
                accountAttendance.Logout = TimeSpan.Parse(model.LogoutTime);
                await _attendanceRepository.Update(accountAttendance);
            }
        }
        public async ValueTask <AttendanceSheet> CreateAttendanceSheet(AttendanceSheet newAttendanceSheet)
        {
            _uow.AttendanceSheetRepository.Create(newAttendanceSheet);

            // Create attendances for enrolled students.
            var enrolledStudents = _uow.StudentRepository.RetrieveEnrolledStudents(newAttendanceSheet.LessonId);

            newAttendanceSheet.Attendances = new List <Attendance>();
            foreach (var student in await enrolledStudents)
            {
                newAttendanceSheet.Attendances.Add(
                    new Attendance
                {
                    AttendanceSheetId = newAttendanceSheet.Id,
                    LessonId          = newAttendanceSheet.LessonId,
                    StudentId         = student.Id,
                    Comment           = "",
                    AttendanceType    = AttendanceType.Absent
                }
                    );
            }
            return(newAttendanceSheet);
        }
Beispiel #11
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();
        }
Beispiel #12
0
 /// <summary>
 /// 分页
 /// </summary>
 /// <returns></returns>
 public List <AttendanceSheet> GetPage(AttendanceSheet entity, int PageIndex, int PageSiez, out int count)
 {
     throw new NotImplementedException();
 }