Exemple #1
0
        //学生查看自己的请假信息
        public static async Task <LeaveItemEntity> ViewLeave(int student_id)
        {
            LeaveItemEntity leave = new LeaveItemEntity();

            leave.total     = 0;
            leave.leaveItem = new List <LeaveEntity>();
            var query = "SELECT leave_id,student_id,work_id,content,leave_time,proof,status,request_time,leave_duration FROM leave_information WHERE student_id=@student_id";

            using var connection = DatabaseConnector.Connect();
            await connection.OpenAsync();

            using var command   = connection.CreateCommand();
            command.CommandText = query;
            command.Parameters.AddWithValue("@student_id", student_id);
            using var reader = await command.ExecuteReaderAsync();

            while (reader.Read())
            {
                LeaveEntity temp = new LeaveEntity();

                temp.leave_id       = reader.GetInt32("leave_id");
                temp.student_id     = reader.GetInt32("student_id");
                temp.work_id        = reader.GetInt32("work_id");
                temp.content        = reader.GetString("content");
                temp.leave_time     = reader.GetString("leave_time");
                temp.proof          = reader.GetString("proof");
                temp.status         = reader.GetInt32("status");
                temp.leave_duration = reader.GetDecimal("leave_duration");
                temp.request_time   = reader.GetDateTime("request_time");

                leave.total++;
                leave.leaveItem.Add(temp);
            }
            return(leave);
        }
Exemple #2
0
        ///<summery>
        /// (非学生用户)查看所有请假申请
        /// 这里不查询student.name和work.name
        /// dumei 08.24
        ///</summery>
        public static async Task <LeaveItemEntity> ProViewLeaves(int provider_id)
        {
            var leave_apps = new LeaveItemEntity();

            leave_apps.total     = 0;
            leave_apps.leaveItem = new List <LeaveEntity>();
            var query = @"SELECT leave_id,user_id,work_id,
            content,proof,status,leave_duration,
            request_time,leave_day,leave_start,leave_end
            FROM leave_information NATURAL JOIN work
            WHERE teacher_id=@id ORDER BY status ASC";

            using var connection = DatabaseConnector.Connect();
            await connection.OpenAsync();

            using var command   = connection.CreateCommand();
            command.CommandText = query;
            command.Parameters.AddWithValue("@id", provider_id);

            using var reader = await command.ExecuteReaderAsync();

            while (reader.Read())
            {
                var temp = new LeaveEntity()
                {
                    leave_id   = reader.GetInt32("leave_id"),
                    student_id = reader.GetInt32("user_id"),
                    work_id    = reader.GetInt32("work_id"),
                    content    = reader.GetString("content"),
                    //leave_time=reader.GetString("leave_time"),
                    proof          = reader.GetString("proof"),
                    status         = reader.GetInt32("status"),
                    leave_duration = reader.GetDouble("leave_duration"),
                    request_time   = reader.GetDateTime("request_time"),
                    leave_day      = reader.GetString("leave_day"),
                    leave_start    = reader.GetString("leave_start"),
                    leave_end      = reader.GetString("leave_end")
                };
                leave_apps.total++;
                leave_apps.leaveItem.Add(temp);
            }
            return(leave_apps);
        }