예제 #1
0
        protected void Button_submit_Click(object sender, EventArgs e)
        {
            ClassBLL classBLL = new ClassBLL();

            if (!string.IsNullOrEmpty(classBLL.get(DropDownList_class.SelectedValue).MonitorID))
            {
                AttendanceBLL attendBLL = new AttendanceBLL();

                Attendance attend = new Attendance();

                attend.Status      = DropDownList_status.SelectedValue;
                attend.Remark      = "";
                attend.Recorder    = "班长";
                attend.RecorderID  = classBLL.get(DropDownList_class.SelectedValue).MonitorID;
                attend.StudID      = DropDownList_student.SelectedValue;
                attend.CourTableID = Label_courTableId.Text;

                attendBLL.save(attend);

                Response.Write("<script>alert('添加成功!');location.href='increaseStudentAttendanceRecords.aspx';</script>");
            }
            else
            {
                Response.Write("<script>alert('添加失败!该班级没有班长!');location.href='increaseStudentAttendanceRecords.aspx';</script>");
            }
        }
예제 #2
0
        protected void ImageButton_delete_Click(object sender, ImageClickEventArgs e)
        {
            ImageButton imageButton = sender as ImageButton;

            string id = imageButton.CommandArgument;

            AttendanceBLL attendBLL = new AttendanceBLL();
            CourseTableBLL ctBLL = new CourseTableBLL();
            CourseTable ct = ctBLL.get(id);

            string filter = "courId='" + ct.CourId + "' and teachID='" + ct.TeachID + "' and classID='" + ct.ClassID;
            filter += "' and semester='" + ct.Semester + "' and weekDay='" + ct.WeekDay + "' and courseTime='" + ct.CourseTime + "'";

            DataTable dt = PageUtil.getProcessedDataTable(ctBLL.getAll().Tables[0], filter,null,false);

            foreach (DataRow dr in dt.Rows)
            {
                attendBLL.deleteByCourseTableId(dr["ID"].ToString());
                CourseTable tempCt = new CourseTable();
                tempCt.Id = dr["ID"].ToString();
                ctBLL.delete(tempCt);
            }

            Response.Write("<script>alert('删除成功!');location.href='showCourseTable.aspx';</script>");
        }
예제 #3
0
        protected void ImageButton_delete_Click(object sender, ImageClickEventArgs e)
        {
            ImageButton imageButton = sender as ImageButton;

            string id = imageButton.CommandArgument;

            AttendanceBLL  attendBLL = new AttendanceBLL();
            CourseTableBLL ctBLL     = new CourseTableBLL();
            CourseTable    ct        = ctBLL.get(id);

            string filter = "courId='" + ct.CourId + "' and teachID='" + ct.TeachID + "' and classID='" + ct.ClassID;

            filter += "' and semester='" + ct.Semester + "' and weekDay='" + ct.WeekDay + "' and courseTime='" + ct.CourseTime + "'";

            DataTable dt = PageUtil.getProcessedDataTable(ctBLL.getAll().Tables[0], filter, null, false);

            foreach (DataRow dr in dt.Rows)
            {
                attendBLL.deleteByCourseTableId(dr["ID"].ToString());
                CourseTable tempCt = new CourseTable();
                tempCt.Id = dr["ID"].ToString();
                ctBLL.delete(tempCt);
            }

            Response.Write("<script>alert('删除成功!');location.href='showCourseTable.aspx';</script>");
        }
    void LoadData()
    {
        uxTable.ClientIDMode = ClientIDMode.Static;
        //uxEmployeesHidden.ClientIDMode = ClientIDMode.Static;



        List <int>    years     = Enumerable.Range(PersianDate.Now.Year - 1, 5).ToList();
        List <object> yearslist = new List <object>();

        foreach (int i in years)
        {
            yearslist.Add(new { Value = i, Text = i });
        }
        uxFiscalYear.DataSource = yearslist;
        uxFiscalYear.DataBind();

        List <HolidayType> HTList = AttendanceBLL.GetHolidayTypes();

        uxHolidayTypeID.DataSource = HTList;
        uxHolidayTypeID.DataBind();

        //List<object> relist = new List<object>();
        //relist.Add(new { ID = 0, Text = "نخیر" });
        //relist.Add(new { ID = 1, Text = "بلی" });

        //uxReturnList.DataSource = relist;
        //uxReturnList.DataBind();

        //List<ExceptionType> elist = AttendanceBLL.GetExceptionTypeList("Leave");
        //uxExceptionType.DataSource = elist;
        //uxExceptionType.DataBind();
    }
        protected void Button_submit_Click(object sender, EventArgs e)
        {
            ClassBLL classBLL = new ClassBLL();
            if (!string.IsNullOrEmpty(classBLL.get(DropDownList_class.SelectedValue).MonitorID))
            {

                AttendanceBLL attendBLL = new AttendanceBLL();

                Attendance attend = new Attendance();

                attend.Status = DropDownList_status.SelectedValue;
                attend.Remark = "";
                attend.Recorder = "班长";
                attend.RecorderID = classBLL.get(DropDownList_class.SelectedValue).MonitorID;
                attend.StudID = DropDownList_student.SelectedValue;
                attend.CourTableID = Label_courTableId.Text;

                attendBLL.save(attend);

                Response.Write("<script>alert('添加成功!');location.href='increaseStudentAttendanceRecords.aspx';</script>");
            }
            else
            {
                Response.Write("<script>alert('添加失败!该班级没有班长!');location.href='increaseStudentAttendanceRecords.aspx';</script>");
            }
        }
        /// <summary>
        /// 绑定数据源
        /// </summary>
        private void bind()
        {
            string id = Request.QueryString["id"].ToString();

            AttendanceBLL attendBLL = new AttendanceBLL();

            attend = attendBLL.get(id);

            CourseTableBLL ctBLL = new CourseTableBLL();
            CourseTable    ct    = ctBLL.get(attend.CourTableID);

            ClassBLL   classBLL   = new ClassBLL();
            TeacherBLL teacherBLL = new TeacherBLL();
            CourseBLL  courseBLL  = new CourseBLL();
            StudentBLL stuBLL     = new StudentBLL();

            #region 绑定页面数据
            Label_class.Text      = classBLL.get(ct.ClassID).Name;
            Label_course.Text     = courseBLL.get(ct.CourId).Name;
            Label_teacher.Text    = teacherBLL.get(ct.TeachID).Name;
            Label_student.Text    = stuBLL.get(attend.StudID).Name;
            Label_oldStatus.Text  = attend.Status;
            Label_week.Text       = ct.Week;
            Label_weekDay.Text    = ct.WeekDay;
            Label_courseTime.Text = ct.CourseTime;
            Label_place.Text      = ct.Place;

            #endregion
        }
예제 #7
0
    void LoadData()
    {
        List <vUserInfo> employees = AttendanceBLL.GetEmployees();

        ListsBLL.GenerateEmployeesXL(employees);

        String output  = "";
        int    counter = 1;

        foreach (vUserInfo m in employees)
        {
            String label = "";

            if (m.Status == 1)
            {
                label = "label bg-success-400";
            }
            else
            {
                label = "label bg-danger";
            }
            output = output + Temp.Replace("$Counter", counter.ToString()).Replace("$EnglishName", m.NameEnglish).Replace("$ID", m.BadgeNumber).Replace("$Name", m.NameLocal).Replace("$HrCode", m.HrCode).Replace("$FatherName", m.FathernameLocal).Replace("$Title", m.TITLE).Replace("$Bast", m.BastText).Replace("$Department", m.DepartmentText).Replace("$Label", label).Replace("$Status", m.StatusText).Replace("$Gender", m.GenderText).Replace("$Zone", m.ZoneName);
            counter++;
        }
        uxEmployeesList.InnerHtml = output;
    }
        /// <summary>
        /// 绑定数据源
        /// </summary>
        private void bind()
        {
            string id = Request.QueryString["id"].ToString();

            AttendanceBLL attendBLL = new AttendanceBLL();
            attend = attendBLL.get(id);

            CourseTableBLL ctBLL = new CourseTableBLL();
            CourseTable ct = ctBLL.get(attend.CourTableID);

            ClassBLL classBLL = new ClassBLL();
            TeacherBLL teacherBLL = new TeacherBLL();
            CourseBLL courseBLL = new CourseBLL();
            StudentBLL stuBLL = new StudentBLL();

            #region 绑定页面数据
            Label_class.Text = classBLL.get(ct.ClassID).Name;
            Label_course.Text = courseBLL.get(ct.CourId).Name;
            Label_teacher.Text = teacherBLL.get(ct.TeachID).Name;
            Label_student.Text = stuBLL.get(attend.StudID).Name;
            Label_oldStatus.Text = attend.Status;
            Label_week.Text = ct.Week;
            Label_weekDay.Text = ct.WeekDay;
            Label_courseTime.Text = ct.CourseTime;
            Label_place.Text = ct.Place;

            #endregion
        }
예제 #9
0
        protected void Button_submit_Click(object sender, EventArgs e)
        {
            if (!checkEmpty())
            {
                string userName = TextBox_userName.Text.Trim();
                string password = TextBox_password.Text.Trim();

                StaffBLL staffBLL = new StaffBLL();
                UserBLL userBLL = new UserBLL();
                User user = userBLL.getByUsername(userName);
                if (user != null)
                {
                    //取得加密后的密码
                    string encryptPWD = EncryptUtil.MD5Encrypt(password);

                    if (!user.Password.Equals(encryptPWD))
                    {
                        //密码不匹配的情况

                        checkPassword.ErrorMessage = "密码输入错误!";
                        checkPassword.IsValid = false;

                    }
                    else
                    {
                        Staff staff = staffBLL.getByUserId(user.Id);
                        if (staff != null && staff.Type.Equals("超级管理员"))
                        {

                            //用户检查通过的情况
                            AttendanceBLL attendBLL = new AttendanceBLL();
                            CourseTableBLL ctBLL = new CourseTableBLL();

                            string filter = "semester='" + GlobalVars.SEMESTER + "'";
                            DataTable dt = PageUtil.getProcessedDataTable(ctBLL.getAll().Tables[0], filter, null, false);

                            foreach (DataRow dr in dt.Rows)
                            {
                                attendBLL.deleteByCourseTableId(dr["ID"].ToString());
                            }

                            Response.Write("<script>alert('考勤初始化成功!');location.href='../mainPages/welcome.aspx';</script>");

                        }
                        else
                        {
                            checkUsername.ErrorMessage = "该用户没有权限!";
                            checkUsername.IsValid = false;
                        }

                    }
                }
                else
                {
                    checkUsername.ErrorMessage = "账号不存在!";
                    checkUsername.IsValid = false;
                }
            }
        }
        protected void Button_submit_Click(object sender, EventArgs e)
        {
            AttendanceBLL attendBLL = new AttendanceBLL();
            attend.Status = DropDownList_newStatus.SelectedValue;

            attendBLL.update(attend);

            Response.Write("<script>alert('修改成功!');location.href='attendanceStatistics.aspx';</script>");
        }
    void LoadData()
    {
        uxTable.ClientIDMode = ClientIDMode.Static;

        List <vEmployeesOrganization> list = AttendanceBLL.GetEmployeesOrganizations();

        uxEmployees.DataSource = list;
        uxEmployees.DataBind();
    }
예제 #12
0
    public object UpdateStatus(Temp Data)
    {
        Message result = new Message();

        if (Data.Type.Equals("UpID"))
        {
            result = AttendanceBLL.LeaveUpdate(Data.UpiD);
        }
        return(result);
    }
예제 #13
0
    public object Remove(Temp Data)
    {
        Message result = new Message();

        if (Data.Type.Equals("RET"))
        {
            result = AttendanceBLL.RemoveUrgentTicket(Data.UT);
        }
        return(result);
    }
        protected void Button_submit_Click(object sender, EventArgs e)
        {
            AttendanceBLL attendBLL = new AttendanceBLL();

            attend.Status = DropDownList_newStatus.SelectedValue;

            attendBLL.update(attend);

            Response.Write("<script>alert('修改成功!');location.href='attendanceStatistics.aspx';</script>");
        }
예제 #15
0
        protected void Button_submit_Click(object sender, EventArgs e)
        {
            if (!checkEmpty())
            {
                string userName = TextBox_userName.Text.Trim();
                string password = TextBox_password.Text.Trim();

                StaffBLL staffBLL = new StaffBLL();
                UserBLL  userBLL  = new UserBLL();
                User     user     = userBLL.getByUsername(userName);
                if (user != null)
                {
                    //取得加密后的密码
                    string encryptPWD = EncryptUtil.MD5Encrypt(password);

                    if (!user.Password.Equals(encryptPWD))
                    {
                        //密码不匹配的情况

                        checkPassword.ErrorMessage = "密码输入错误!";
                        checkPassword.IsValid      = false;
                    }
                    else
                    {
                        Staff staff = staffBLL.getByUserId(user.Id);
                        if (staff != null && staff.Type.Equals("超级管理员"))
                        {
                            //用户检查通过的情况
                            AttendanceBLL  attendBLL = new AttendanceBLL();
                            CourseTableBLL ctBLL     = new CourseTableBLL();

                            string    filter = "semester='" + GlobalVars.SEMESTER + "'";
                            DataTable dt     = PageUtil.getProcessedDataTable(ctBLL.getAll().Tables[0], filter, null, false);

                            foreach (DataRow dr in dt.Rows)
                            {
                                attendBLL.deleteByCourseTableId(dr["ID"].ToString());
                            }

                            Response.Write("<script>alert('考勤初始化成功!');location.href='../mainPages/welcome.aspx';</script>");
                        }
                        else
                        {
                            checkUsername.ErrorMessage = "该用户没有权限!";
                            checkUsername.IsValid      = false;
                        }
                    }
                }
                else
                {
                    checkUsername.ErrorMessage = "账号不存在!";
                    checkUsername.IsValid      = false;
                }
            }
        }
예제 #16
0
        protected void ImageButton_submit_Click(object sender, ImageClickEventArgs e)
        {
            if (check())
            {
                AttendanceBLL  attendBLL = new AttendanceBLL();
                CourseTableBLL ctBLL     = new CourseTableBLL();
                string         filter    = "courId='" + ct.CourId + "' and teachID='" + ct.TeachID + "' and classID='" + ct.ClassID;
                filter += "' and semester='" + ct.Semester + "' and weekDay='" + ct.WeekDay + "' and courseTime='" + ct.CourseTime + "'";

                #region 先删除旧数据
                DataTable dt = PageUtil.getProcessedDataTable(ctBLL.getAll().Tables[0], filter, null, false);

                foreach (DataRow dr in dt.Rows)
                {
                    attendBLL.deleteByCourseTableId(dr["ID"].ToString());
                    CourseTable tempCt = new CourseTable();
                    tempCt.Id = dr["ID"].ToString();
                    ctBLL.delete(tempCt);
                }
                #endregion

                #region 后添加新数据
                string semester   = DropDownList_semester_from.SelectedValue + "-" + DropDownList_semester_to.SelectedValue + "学年" + DropDownList_semester_end.SelectedValue;
                int    week_from  = Convert.ToInt32(DropDownList_week_from.SelectedValue);
                int    week_to    = Convert.ToInt32(DropDownList_week_to.SelectedValue);
                string weekDay    = DropDownList_weekDay.SelectedValue;
                string place      = TextBox_place.Text;
                string courseTime = DropDownList_courseTime.SelectedValue + "节";
                string teachId    = ct.TeachID;
                string classId    = ct.ClassID;
                string courId     = ct.CourId;

                CourseTable courTable = new CourseTable();
                courTable.Semester   = semester;
                courTable.WeekDay    = weekDay;
                courTable.Place      = place;
                courTable.CourseTime = courseTime;
                courTable.TeachID    = teachId;
                courTable.ClassID    = classId;
                courTable.CourId     = courId;


                for (int i = week_from; i <= week_to; i++)
                {
                    courTable.Week = i.ToString();
                    ctBLL.save(courTable);
                }
                #endregion

                Response.Write("<script>alert('修改成功!');location.href='showCourseTable.aspx';</script>");
            }
        }
예제 #17
0
        protected void btnSure_Click(object sender, EventArgs e)
        {
            AttendanceBLL attendBLL = new AttendanceBLL();

            List <Attendance> attenList = Session["attenList"] as List <Attendance>;

            foreach (Attendance att in attenList)
            {
                attendBLL.save(att);
            }

            Response.Write("<script>location.href='confirmAttendance.aspx';</script>");
        }
예제 #18
0
        protected void btnSure_Click(object sender, EventArgs e)
        {
            AttendanceBLL attendBLL = new AttendanceBLL();

            List<Attendance> attenList = Session["attenList"] as List<Attendance>;

            foreach (Attendance att in attenList)
            {
                attendBLL.save(att);
            }

            Response.Write("<script>location.href='confirmAttendance.aspx';</script>");
        }
        public async Task <ActionResult <IEnumerable <Attendance> > > Get(int studentID, int attendanceStateID, DateTime startDate, DateTime endDate)
        {
            // Call GetAttendanceBLL method with all the parameters
            object BLLResponse = new AttendanceBLL(_context).GetAttendanceBLL(studentID: studentID, attendanceStateID: attendanceStateID, startDate: startDate, endDate: endDate, userClaims: User);

            // Get the base class for the response
            // Ref: https://docs.microsoft.com/en-us/dotnet/api/system.type.basetype?view=netcore-3.1
            if (BLLResponse.GetType().BaseType == typeof(Exception))
            {
                // Create log entries for Debug log
                ((APIException)BLLResponse).Exceptions.ForEach(ex => Logger.Msg <AttendancesController>((Exception)ex, Serilog.Events.LogEventLevel.Debug));

                // Return response from API
                return(BadRequest(new { errors = ((APIException)BLLResponse).Exceptions.Select(x => x.Message).ToArray() }));
            }
            else
            {
                try
                {
                    // Create a dictionary to interpret response
                    Dictionary <string, object> BLLResponseDic = (Dictionary <string, object>)(BLLResponse);

                    // Apply all the criteria with supplied or default values from BLL
                    IQueryable <Attendance> dbRequest = _context.AttendanceRecords
                                                        .Where(x => x.Date >= (DateTime)BLLResponseDic["StartDate"] && x.Date <= (DateTime)BLLResponseDic["EndDate"])
                                                        .Where(x => x.StudentID == (int)BLLResponseDic["StudentID"]);

                    // If specific type of attendance is sought (AttendanceStateID != 0) then apply criteria else return all
                    if ((int)BLLResponseDic["AttendanceStateID"] != 0)
                    {
                        dbRequest = dbRequest.Where(x => x.AttendanceStateID == (int)BLLResponseDic["AttendanceStateID"]);
                    }
                    List <Attendance> dbResponse = await dbRequest.ToListAsync();

                    // Convert result to AttendanceDTO
                    List <AttendanceDTO> response = new List <AttendanceDTO>();
                    dbResponse.ForEach(x => response.Add(new AttendanceDTO(x)));

                    Logger.Msg <AttendancesController>($"[{User.FindFirstValue("email")}] [GET]", Serilog.Events.LogEventLevel.Debug);
                    return(Ok(response));
                }
                catch (Exception ex)
                {
                    // Local log entry. Database reconciliation issues are more serious so reported as Error
                    Logger.Msg <AttendancesController>($"[GET] Database sync error {ex.Message}", Serilog.Events.LogEventLevel.Error);

                    // Return response to client
                    return(StatusCode(500, new { errors = "Database update failed. Contact the administrator to resolve this issue." }));
                }
            }
        } // End of Get
예제 #20
0
        protected void ImageButton_delete_Click(object sender, EventArgs e)
        {
            LinkButton linkButton = sender as LinkButton;

            string id = linkButton.CommandArgument;

            Attendance attend = new Attendance();
            attend.Id = id;

            AttendanceBLL attendBLL = new AttendanceBLL();
            attendBLL.delete(attend);

            Response.Write("<script>alert('删除成功!');location.href='attendanceStatistics.aspx';</script>");
        }
        public async Task <ActionResult> ModifyAttendance([FromBody] AttendanceModDTO attendance)
        {
            if (AttendanceExists(attendance.RecordID))
            {
                // Call BLL method to run validation
                object BLLResponse = new AttendanceBLL(_context).ModifyAttendanceBLL(attendance: attendance, userClaims: User);

                if (BLLResponse.GetType().BaseType == typeof(Exception))
                {
                    // Create log entries for Debug log
                    ((APIException)BLLResponse).Exceptions.ForEach(ex => Logger.Msg <AttendancesController>((Exception)ex, Serilog.Events.LogEventLevel.Debug));

                    // Return response from API
                    return(BadRequest(new { errors = ((APIException)BLLResponse).Exceptions.Select(x => x.Message).ToArray() }));
                }
                else
                {
                    try
                    {
                        // Cast the response to the correct type
                        AttendanceModDTO modAttendanceRecord = (AttendanceModDTO)BLLResponse;

                        // Modify the Attendance Record
                        Attendance attendanceRecord = _context.AttendanceRecords.Where(x => x.RecordID == modAttendanceRecord.RecordID).First();

                        attendanceRecord.AttendanceStateID = attendance.AttendanceStateID;
                        attendanceRecord.Comment           = attendance.Comment;

                        // Save changes
                        await _context.SaveChangesAsync();

                        Logger.Msg <AttendancesController>($"[{User.FindFirstValue("email")}] [MODIFY] attendance RecordID '{attendanceRecord.RecordID}' updated", Serilog.Events.LogEventLevel.Information);
                        AttendanceDTO response = new AttendanceDTO(attendanceRecord);
                        return(Ok(response));
                    }
                    catch (Exception ex)
                    {
                        // Local log entry. Database reconciliation issues are more serious so reported as Error
                        Logger.Msg <AttendancesController>($"[MODIFY] Database sync error {ex.Message}", Serilog.Events.LogEventLevel.Error);

                        // Return response to client
                        return(StatusCode(500, new { errors = "Database update failed. Contact the administrator to resolve this issue." }));
                    }
                }
            }
            else
            {
                return(NotFound());
            }
        } // End of ModifyAttendance
예제 #22
0
    void LoadData()
    {
        uxTable.ClientIDMode = ClientIDMode.Static;

        List <vEmployeesOrganization> list = AttendanceBLL.GetEmployeesOrganizations();

        uxEmployees.DataSource = list;
        uxEmployees.DataBind();

        List <ExceptionType> elist = AttendanceBLL.GetExceptionTypeList("Leave");

        uxExceptionType.DataSource = elist;
        uxExceptionType.DataBind();
    }
예제 #23
0
    void loadrecord(int ID)
    {
        if (ID > 0)
        {
            AttException record = AttendanceBLL.GetExceptionByID(ID);
            uxID.Value       = ID.ToString();
            uxEmployees.Text = record.UserID.ToString();
            uxExceptionType.SelectedValue = record.ExceptionTypID.ToString();
            PersianLibrary.PersianDate SD = PersianLibrary.PersianDate.Convert(record.StartDate);

            uxDateStart.Text = SD.DateString;;
            PersianLibrary.PersianDate ED = PersianLibrary.PersianDate.Convert(record.EndDate);
            uxDateEnd.Text   = ED.DateString;
            uxNote.InnerText = record.Note;
        }
    }
        protected void ImageButton_delete_Click(object sender, EventArgs e)
        {
            LinkButton linkButton = sender as LinkButton;

            string id = linkButton.CommandArgument;

            Attendance attend = new Attendance();

            attend.Id = id;

            AttendanceBLL attendBLL = new AttendanceBLL();

            attendBLL.delete(attend);

            Response.Write("<script>alert('删除成功!');location.href='attendanceStatistics.aspx';</script>");
        }
        protected void Button_submit_Click(object sender, EventArgs e)
        {
            AttendanceBLL attendBLL = new AttendanceBLL();

            Attendance attend = new Attendance();

            attend.Status = DropDownList_status.SelectedValue;
            attend.Remark = "";
            attend.Recorder = "教师";
            attend.RecorderID = DropDownList_teacher.SelectedValue;
            attend.StudID = DropDownList_student.SelectedValue;
            attend.CourTableID = Label_courTableId.Text;

            attendBLL.save(attend);

            Response.Write("<script>alert('添加成功!');location.href='increaseStudentAttendanceRecords.aspx';</script>");
        }
예제 #26
0
        protected void Button_submit_Click(object sender, EventArgs e)
        {
            AttendanceBLL attendBLL = new AttendanceBLL();

            Attendance attend = new Attendance();

            attend.Status      = DropDownList_status.SelectedValue;
            attend.Remark      = "";
            attend.Recorder    = "教师";
            attend.RecorderID  = DropDownList_teacher.SelectedValue;
            attend.StudID      = DropDownList_student.SelectedValue;
            attend.CourTableID = Label_courTableId.Text;

            attendBLL.save(attend);

            Response.Write("<script>alert('添加成功!');location.href='increaseStudentAttendanceRecords.aspx';</script>");
        }
        public async Task <ActionResult> AddAttendance([FromBody] AttendanceDTO attendance)
        {
            // Call BLL method to run validation
            object BLLResponse = new AttendanceBLL(_context).AddAttendanceBLL(attendance: attendance, userClaims: User);

            if (BLLResponse.GetType().BaseType == typeof(Exception))
            {
                // Create log entries for Debug log
                ((APIException)BLLResponse).Exceptions.ForEach(ex => Logger.Msg <AttendancesController>((Exception)ex, Serilog.Events.LogEventLevel.Debug));

                // Return response from API
                return(BadRequest(new { errors = ((APIException)BLLResponse).Exceptions.Select(x => x.Message).ToArray() }));
            }
            else
            {
                try
                {
                    Attendance newAttendanceRecord = new Attendance
                    {
                        StudentID         = attendance.StudentID,
                        StaffID           = attendance.StaffID,
                        AttendanceStateID = attendance.AttendanceStateID,
                        Date    = attendance.Date,
                        Comment = attendance.Comment
                    };

                    _context.AttendanceRecords.Add(newAttendanceRecord);

                    // Save changes
                    await _context.SaveChangesAsync();

                    Logger.Msg <AttendancesController>($"[{User.FindFirstValue("email")}] [ADD] attendance for StudentID '{newAttendanceRecord.StudentID}' recorded", Serilog.Events.LogEventLevel.Information);
                    AttendanceDTO response = new AttendanceDTO(newAttendanceRecord);
                    return(Ok(response));
                }
                catch (Exception ex)
                {
                    // Local log entry. Database reconciliation issues are more serious so reported as Error
                    Logger.Msg <AttendancesController>($"[MODIFY] Database sync error {ex.Message}", Serilog.Events.LogEventLevel.Error);

                    // Return response to client
                    return(StatusCode(500, new { errors = "Database update failed. Contact the administrator to resolve this issue." }));
                }
            }
        } // End of AddAttendance
예제 #28
0
    public object Push(Temp Data)
    {
        Message m = new Message();

        if (User.Identity.IsAuthenticated)
        {
            if (Data.Type.Equals("EMP"))
            {
                m = AttendanceBLL.SaveEmployee(Data.EMP);
            }


            if (Data.Type.Equals("EXC"))
            {
                m = AttendanceBLL.SaveExceptions(Data.EXC, Data.SDate, Data.EDate);
            }
            if (Data.Type.Equals("EXCEP"))
            {
                m = AttendanceBLL.SaveExceptionWork(Data.EXCEP, Data.SDate, Data.EDate, Data.Note);
            }

            if (Data.Type.Equals("UT"))
            {
                m = AttendanceBLL.SaveUrgentTickets(Data.UT, Data.OT, Data.RT, Data.SDate, Data.Note);
            }

            if (Data.Type.Equals("OP"))
            {
                m = AttendanceBLL.SaveOrganizationPolicy(Data.OP, Data.SDate, Data.EDate, Data.RT, Data.OT);
            }

            if (Data.Type.Equals("HD"))
            {
                m = AttendanceBLL.SaveHolidays(Data.HD, Data.SDate, Data.EDate);
            }
        }

        else
        {
            m = new Message {
                ID = -1, Text = "حق دسترسی به سیستم محدود گردیده"
            };
        }
        return(m);
    }
 void loadrecord(int ID)
 {
     if (ID > 0)
     {
         vUserInfo record = AttendanceBLL.GetEmployeeByID(ID);
         uxNameLocal.Text              = record.NameLocal;
         uxFatherNameLocal.Text        = record.FathernameLocal;
         uxHrCode.Text                 = record.HrCode;
         uxName.Text                   = record.NameEnglish;
         uxGender.SelectedValue        = record.Gender.ToString();
         uxStatus.SelectedValue        = record.Status.HasValue ? record.Status.ToString() : (1).ToString();
         uxTitle.Text                  = record.TITLE;
         uxDefaultDeptID.SelectedValue = record.DepartmentID.ToString();
         uxBast.SelectedValue          = record.Bast.ToString();
         uxID.Value               = ID.ToString();
         uxQadam.SelectedValue    = record.Qadam.ToString();
         uxZoneName.SelectedValue = record.ZoneName.ToString();
     }
 }
    void LoadData()
    {
        uxTable.ClientIDMode = ClientIDMode.Static;
        List <DEPARTMENT> list = AttendanceBLL.GetDepartments();

        uxOrg.DataSource = list;
        uxOrg.DataBind();

        List <int>    years     = Enumerable.Range(PersianDate.Now.Year, 3).ToList();
        List <object> yearslist = new List <object>();

        foreach (int i in years)
        {
            yearslist.Add(new { Value = i, Text = i });
        }

        uxYear.DataSource = yearslist;
        uxYear.DataBind();


        List <object> mlist = PersianDate.GetPersianMonths();

        uxMonth.DataSource = mlist;
        uxMonth.DataBind();

        List <Zone> zlist = AttendanceBLL.GetZones();

        uxZoneName.DataSource = zlist;
        uxZoneName.DataBind();
        //List<vAttendanceReport> EmployeeReport = AttendanceBLL.GetReportForAMonth();

        //ListsBLL.GenerateGeneralReportXL(EmployeeReport);

        //String output = "";
        //int counter = 1;
        //foreach (vAttendanceReport m in EmployeeReport)
        //{
        //    output = output + Temp.Replace("$Counter", counter.ToString()).Replace("$NameLocal", m.NAMELOCAL).Replace("$FatherNameLocal", m.FATHERNAMELOCAL).Replace("$Bast", m.Bast).Replace("$Qadam", m.Qadam).Replace("$UserID", m.USERID.ToString()).Replace("$Title", m.TITLE).Replace("$Department", m.Departments).Replace("$Present", m.Present.ToString()).Replace("$Absent", m.Absent.ToString()).Replace("$Leave", m.Leave.ToString());
        //    counter++;
        //}
        //uxTable.InnerHtml = output;
    }
예제 #31
0
    void LoadData()
    {
        uxTable.ClientIDMode = ClientIDMode.Static;

        List <vEmployeesOrganization> list = AttendanceBLL.GetEmployeesOrganizations();

        uxEmployees.DataSource = list;
        uxEmployees.DataBind();

        List <object> relist = new List <object>();

        relist.Add(new { ID = 0, Text = "نخیر" });
        relist.Add(new { ID = 1, Text = "بلی" });

        uxReturnList.DataSource = relist;
        uxReturnList.DataBind();

        //List<ExceptionType> elist = AttendanceBLL.GetExceptionTypeList("Leave");
        //uxExceptionType.DataSource = elist;
        //uxExceptionType.DataBind();
    }
예제 #32
0
    void loadrecord(int ID)
    {
        if (ID > 0)
        {
            UrgentTicket record = AttendanceBLL.GetEmployeeTicketByID(ID);
            uxID.Value       = ID.ToString();
            uxEmployees.Text = record.UserID.ToString();

            PersianLibrary.PersianDate SD = PersianLibrary.PersianDate.Convert(record.TicketDate);
            uxDate.Text = SD.DateString;

            String ot = (record.TicketDate + record.OutTime).ToString("hh:mm tt");
            uxOutTime.Text = ot;

            uxReturnList.Text = record.WillReturn.ToString();

            String ret = (record.TicketDate + record.ReturnTime).Value.ToShortTimeString();
            uxReturnTime.Text = ret;
            uxNote.InnerText  = record.Note;
        }
    }
예제 #33
0
    void LoadData()
    {
        List <vEmployeesOrganization> list = AttendanceBLL.GetEmployeesOrganizations();

        uxEmployees.DataSource = list;
        uxEmployees.DataBind();

        List <vUserAccount> UList = UserBLL.GetUsersAccounts();
        StringBuilder       rows  = new StringBuilder();

        foreach (vUserAccount emp in UList)
        {
            String tr =
                t.Replace("$id", emp.UserId.ToString()).
                Replace("$name", emp.NAME);
            MembershipUser User = Membership.GetUser(emp.UserId);
            if (User.IsLockedOut)
            {
                tr = tr.Replace("$status", lbDan.Replace("$txt", "قفل شده"));
            }
            else
            {
                tr = tr.Replace("$status", lbPri.Replace("$txt", "فعال است"));
            }
            tr = tr.Replace("$role", Roles.GetRolesForUser(User.UserName).FirstOrDefault());
            tr = tr.Replace("$did", emp.UserId.ToString());
            rows.Append(tr);
        }
        uxEmployeeList.InnerHtml = rows.ToString();

        //List<USERINFO> Employees = UserBLL.GetAllEmployees();
        //uxUsers.DataSource = Employees;
        //uxUsers.DataBind();

        string[] rolelist = Roles.GetAllRoles();
        uxRole.DataSource = rolelist;
        uxRole.DataBind();
    }
    void LoadData()
    {
        uxTable.ClientIDMode = ClientIDMode.Static;

        NSIADataContext      dc    = new NSIADataContext();
        List <vEmployeeName> llist = AttendanceBLL.GetEmployeesName();

        uxEmployees.DataSource = llist;
        uxEmployees.DataBind();

        //List<ExceptionType> elist = AttendanceBLL.GetExceptionTypeList("Leave");
        //uxEmployees.DataSource = elist;
        //uxEmployees.DataBind();

        //List<vUrgentTicket> ut = AttendanceBLL.GetAllTickets();

        //ListsBLL.GenerateUrgentTicket(ut);

        //String output = "";
        //int counter = 1;
        //foreach (vUrgentTicket m in ut)
        //{
        //    String label = "";

        //    if (m.WillReturn.Equals(true))
        //    {
        //        label = "label bg-success-400";
        //    }
        //    else
        //    {
        //        label = "label bg-danger";
        //    }
        //    output = output + Temp.Replace("$Counter", counter.ToString()).Replace("$Name", m.NameLocal).Replace("$Date", m.TicketDate.ToShortDateString()).Replace("$OutTime", m.OutTime.ToString()).Replace("$Return", m.WillReturn.ToString()).Replace("$ReturnTime", m.ReturnTime.ToString()).Replace("$Note", m.Note);
        //    counter++;
        //}
        //uxTable.InnerHtml = output;
    }
    void loadValues()
    {
        List <Bast> blist = AttendanceBLL.GetAllBasts();

        uxBast.DataSource = blist;
        uxBast.DataBind();

        List <Qadam> qlist = AttendanceBLL.GetQadams();

        uxQadam.DataSource = qlist;
        uxQadam.DataBind();

        List <DEPARTMENT> dlist = AttendanceBLL.GetDepartments();

        uxDefaultDeptID.DataSource = dlist;
        uxDefaultDeptID.DataBind();

        List <Gender> glist = AttendanceBLL.GetGenders();

        uxGender.DataSource = glist;
        uxGender.DataBind();

        List <Status> slist = AttendanceBLL.GetStatuses();

        uxStatus.DataSource = slist;
        uxStatus.DataBind();

        List <Zone> zlist = AttendanceBLL.GetZones();

        uxZoneName.DataSource = zlist;
        uxZoneName.DataBind();


        //List<object> vlist = new List<object>();
        //List<object> elist = new List<object>();
        //for (int i = 1; i <= 100; i++)
        //{
        //    vlist.Add(new { ID = i, Text = i });

        //    if (i <= 20)
        //    {
        //        elist.Add(new { ID = i, Text = i + " years" });
        //    }
        //}

        //uxBast.DataSource = CMSBLL.GetBastList();
        //uxBast.DataBind();

        //uxVacant.DataSource = vlist;
        //uxVacant.DataBind();

        //uxStatus.DataSource = CMSBLL.GetStatusList();
        //uxStatus.DataBind();

        //uxExperience.DataSource = elist;
        //uxExperience.DataBind();

        //uxEducationDegree.DataSource = CMSBLL.GetEducationList();
        //uxEducationDegree.DataBind();

        //uxLocation.DataSource = CMSBLL.GetLocationList(1);
        //uxLocation.DataBind();


        //uxNationality.DataSource = CMSBLL.GetNationalityList();
        //uxNationality.DataBind();

        //uxGender.DataSource = CMSBLL.GetGenderList();
        //uxGender.DataBind();

        //uxFA.DataSource = CMSBLL.GetFunctionalAreaList();
        //uxFA.DataBind();

        //uxStudyField.DataSource = CMSBLL.GetStudyFieldList();
        //uxStudyField.DataBind();


        //uxShortlistCriteria.DataSource = CMSBLL.GetAttributesList();
        //uxShortlistCriteria.DataBind();
    }
예제 #36
0
        protected void ImageButton_submit_Click(object sender, ImageClickEventArgs e)
        {
            if (check())
            {
                AttendanceBLL attendBLL = new AttendanceBLL();
                CourseTableBLL ctBLL = new CourseTableBLL();
                string filter = "courId='" + ct.CourId + "' and teachID='" + ct.TeachID + "' and classID='" + ct.ClassID;
                filter += "' and semester='" + ct.Semester + "' and weekDay='" + ct.WeekDay + "' and courseTime='" + ct.CourseTime + "'";

                #region 先删除旧数据
                DataTable dt = PageUtil.getProcessedDataTable(ctBLL.getAll().Tables[0], filter,null, false);

                foreach (DataRow dr in dt.Rows)
                {
                    attendBLL.deleteByCourseTableId(dr["ID"].ToString());
                    CourseTable tempCt = new CourseTable();
                    tempCt.Id = dr["ID"].ToString();
                    ctBLL.delete(tempCt);
                }
                #endregion

                #region 后添加新数据
                string semester = DropDownList_semester_from.SelectedValue + "-" + DropDownList_semester_to.SelectedValue + "学年" + DropDownList_semester_end.SelectedValue;
                int week_from = Convert.ToInt32(DropDownList_week_from.SelectedValue);
                int week_to = Convert.ToInt32(DropDownList_week_to.SelectedValue);
                string weekDay = DropDownList_weekDay.SelectedValue;
                string place = TextBox_place.Text;
                string courseTime = DropDownList_courseTime.SelectedValue + "节";
                string teachId = ct.TeachID;
                string classId = ct.ClassID;
                string courId = ct.CourId;

                CourseTable courTable = new CourseTable();
                courTable.Semester = semester;
                courTable.WeekDay = weekDay;
                courTable.Place = place;
                courTable.CourseTime = courseTime;
                courTable.TeachID = teachId;
                courTable.ClassID = classId;
                courTable.CourId = courId;

                for (int i = week_from; i <= week_to; i++)
                {
                    courTable.Week = i.ToString();
                    ctBLL.save(courTable);
                }
                #endregion

                Response.Write("<script>alert('修改成功!');location.href='showCourseTable.aspx';</script>");

            }
        }
예제 #37
0
    public object Pull(Temp Data)
    {
        object Result = new object();

        if (Data.Type.Equals("ER"))
        {
            Result = AttendanceBLL.GetExceptionByName(Data.EMP);
        }
        if (Data.Type.Equals("LA"))
        {
            Result = AttendanceBLL.GetLeaveRequest(Data.LA);
        }
        if (Data.Type.Equals("LR"))
        {
            Result = AttendanceBLL.GetEmployeeByName(Data.EMP);
        }
        if (Data.Type.Equals("Rep"))
        {
            Result = AttendanceBLL.GetMonthlyReport(Data.DeptID, Data.Month, Data.Year, Data.Zone);
        }


        if (Data.Type.Equals("ATSHEET"))
        {
            Result = AttendanceBLL.GetTimeSheet(Data.UserID, Data.SDate, Data.EDate);
        }
        if (Data.Type.Equals("ET"))
        {
            DateTime Date = ToolkitBLL.PersianStringDatetoDate(Data.SDate);
            Result = AttendanceBLL.GetEmployeeTicketByDate(Date);
        }

        if (Data.Type.Equals("EXC"))
        {
            Result = AttendanceBLL.GetEmployeesExceptions(Data.EXC);
        }
        if (Data.Type.Equals("EXCEP"))
        {
            Result = AttendanceBLL.GetEmployeesExceptions(Data.EXCEP);
        }

        if (Data.Type.Equals("UT"))
        {
            Result = AttendanceBLL.GetEmployeesTickets(Data.UT);
        }

        if (Data.Type.Equals("OP"))
        {
            Result = AttendanceBLL.GetOrganizationPolicy(Data.OP);
        }

        if (Data.Type.Equals("OPID"))
        {
            Result = AttendanceBLL.GetOrganizationPolicyByID(Data.ID);
        }

        if (Data.Type.Equals("HDID"))
        {
            Result = AttendanceBLL.GetGeneralHolidaysByID(Data.ID);
        }

        if (Data.Type.Equals("HD"))
        {
            Result = AttendanceBLL.GetGeneralHolidays(Data.HD);
        }


        return(Result);
    }