예제 #1
0
        /// <summary>
        /// 获取分页数据集[组员]
        /// </summary>
        /// <param name="pageSize"></param>
        /// <param name="pageIndex"></param>
        /// <param name="iClassId"></param>
        /// <param name="recordCount"></param>
        /// <returns></returns>
        public List<Class_GroupAll> GetGroupList_Member(int pageSize, int pageIndex, int iClassId,int iAccountId, out int recordCount)
        {
            var List_Class_GroupAll = new List<Class_GroupAll>();

            StringBuilder sb = new StringBuilder();
            sb.AppendFormat(@" Select count(1)
                            from Member_Account
                            inner join Class_GroupMember on Member_Account.Id = Class_GroupMember.AccountId and Member_Account.Delflag = 0
                            and Class_GroupMember.Delflag = 0 and Class_GroupMember.GroupId IN (select GroupId from Class_GroupMember where Class_GroupMember.AccountId = {1} and Delflag=0)
                            left join Class_Group on Class_Group.Id = Class_GroupMember.GroupId
                            left join Organ_Detail on Member_Account.OrganId = Organ_Detail.Id
                            where Class_Group.ClassId={0}"
                , iClassId, iAccountId);
            recordCount = Convert.ToInt32(MSEntLibSqlHelper.ExecuteScalarBySql(sb.ToString()));
            int start = (pageIndex - 1) * pageSize + 1;
            int end = pageIndex * pageSize;
            StringBuilder sql = new StringBuilder();
            sql.Append("select * from ( select *,ROW_NUMBER() over (order by AccountId) as [RowNum] from (");
            sql.AppendFormat(@" Select Member_Account.Id as AccountId, Organ_Detail.Id as OrganDetailId,Organ_Detail.Title as OrganDetailTitle
                            from Member_Account
                            inner join Class_GroupMember on Member_Account.Id = Class_GroupMember.AccountId and Member_Account.Delflag = 0
                            and Class_GroupMember.Delflag = 0 and Class_GroupMember.GroupId IN (select GroupId from Class_GroupMember where Class_GroupMember.AccountId = {1} and Delflag=0)
                            left join Class_Group on Class_Group.Id = Class_GroupMember.GroupId
                            left join Organ_Detail on Member_Account.OrganId = Organ_Detail.Id
                            where Class_Group.ClassId={0}) as T"
                , iClassId, iAccountId);
            sql.Append(") as T where [RowNum] between " + start + " and " + end);

            using (IDataReader reader = MSEntLibSqlHelper.ExecuteDataReaderBySql(sql.ToString()))
            {
                while (reader.Read())
                {
                    Class_GroupAll model = new Class_GroupAll();
                    ConvertToModel(reader, model, 4);
                    List_Class_GroupAll.Add(model);
                }
            }

            return List_Class_GroupAll;
        }
예제 #2
0
        /// <summary>
        /// 获取辅导员
        /// </summary>
        /// <param name="iAccountId"></param>
        /// <param name="iClassId"></param>
        /// <returns></returns>
        private List<Class_GroupAll> GetGroupList_Counselor(int iAccountId, int iClassId)
        {
            var List_Class_GroupAll = new List<Class_GroupAll>();

            //[获取辅导员]
            var sql_LecturerCounselor = new StringBuilder();
            sql_LecturerCounselor.AppendFormat(@" Select Member_Account.Id as AccountId, Organ_Detail.Id as OrganDetailId, Organ_Detail.Title as OrganDetailTitle, Class_Detail.Instructor
                                            from Class_Detail
                                            left join PlatformManager_Detail on Class_Detail.Instructor = PlatformManager_Detail.Id and PlatformManager_Detail.Delflag = 0
                                            left join Member_Account on PlatformManager_Detail.AccountId = Member_Account.Id
                                            left join Organ_Detail on Member_Account.OrganId = Organ_Detail.Id
                                            where Class_Detail.Id = ( select top 1 Member_ClassRegister.ClassId from Member_ClassRegister where AccountId={0} and ClassId={1} and Delflag = 0)"
                , iAccountId, iClassId);

            using (IDataReader reader_LecturerCounselor = MSEntLibSqlHelper.ExecuteDataReaderBySql(sql_LecturerCounselor.ToString()))
            {
                while (reader_LecturerCounselor.Read())
                {
                    var Model_Class_GroupAll = new Class_GroupAll();
                    ConvertToModel(reader_LecturerCounselor, Model_Class_GroupAll, 3);
                    List_Class_GroupAll.Add(Model_Class_GroupAll);
                }
            }

            return List_Class_GroupAll;
        }
예제 #3
0
        /// <summary>
        /// 获取讲师
        /// 如果 Traning_Detail.TeacherName 不为NULL,该讲师不是系统内部用户,属于外聘讲师
        /// 否则讲师系统内部用户: Traning_Teacher.PlatformManagerId
        /// </summary>
        /// <param name="iAccountId"></param>
        /// <param name="iClassId"></param>
        /// <returns></returns>
        private List<Class_GroupAll> GetGroupList_Lecturer(int iAccountId, int iClassId)
        {
            var List_Class_GroupAll = new List<Class_GroupAll>();

            //[获取讲师]外聘
            var sql_LecturerForeign = new StringBuilder();
            sql_LecturerForeign.AppendFormat(@" Select Traning_Detail.*
                                            from Traning_Detail
                                            where Traning_Detail.Id = (select top 1 Member_ClassRegister.TrainingId from Member_ClassRegister where AccountId = {0} and ClassId = {1} and Delflag = 0)"
                , iAccountId, iClassId);

            //[获取讲师]内部用户
            var sql_LecturerInternal = new StringBuilder();
            sql_LecturerInternal.AppendFormat(@" select Member_Account.Id as AccountId, Organ_Detail.Id as OrganDetailId,Organ_Detail.Title as OrganDetailTitle,Traning_Teacher.PlatformManagerId
                                            from Traning_Teacher
                                            left join Member_Account on Traning_Teacher.PlatformManagerId = Member_Account.Id
                                            left join Organ_Detail on Member_Account.OrganId = Organ_Detail.Id
                                            where Traning_Teacher.TraningId = (select top 1 Member_ClassRegister.TrainingId from Member_ClassRegister where AccountId = {0} and ClassId={1} and Delflag = 0)
                                            and Traning_Teacher.Delflag=0 and Traning_Teacher.Status = 1"
                , iAccountId, iClassId);

            using (IDataReader reader_LecturerForeign = MSEntLibSqlHelper.ExecuteDataReaderBySql(sql_LecturerForeign.ToString()))
            {
                //若取值为NULL,则从Traning_Teacher.PlatformManagerId入手,即查询内部用户入手
                if (reader_LecturerForeign != null)
                {
                    while (reader_LecturerForeign.Read())
                    {
                        var Model_Class_GroupAll = new Class_GroupAll();
                        ConvertToModel(reader_LecturerForeign, Model_Class_GroupAll, 1);
                        List_Class_GroupAll.Add(Model_Class_GroupAll);
                    }
                }
                else
                {
                    using (IDataReader reader_LecturerInternal = MSEntLibSqlHelper.ExecuteDataReaderBySql(sql_LecturerInternal.ToString()))
                    {
                        while (reader_LecturerInternal.Read())
                        {
                            var Model_Class_GroupAll = new Class_GroupAll();
                            ConvertToModel(reader_LecturerInternal, Model_Class_GroupAll, 2);
                            List_Class_GroupAll.Add(Model_Class_GroupAll);
                        }
                    }
                }
            }

            return List_Class_GroupAll;
        }
예제 #4
0
        /// <summary>
        /// 转换成Model [Class_GroupAll]
        /// </summary>
        /// <param name="reader"></param>
        /// <param name="model"></param>
        private void ConvertToModel(IDataReader reader, Class_GroupAll model, int iType)
        {
            Member_AccountDAL mebAccDal = new Member_AccountDAL();

            if (iType == 1)//讲师-外聘
            {
                if (reader["TeacherName"] != DBNull.Value)
                    model.TeacherName = Convert.ToString(reader["TeacherName"]);
                model.Identity = "讲师";
                if (reader["TeacherPic"] != DBNull.Value)
                    model.LecturerForeignPic = Convert.ToString(reader["TeacherPic"]);
            }
            else if (iType == 2)//讲师-内部
            {
                var iAccountId = 0;

                if (reader["AccountId"] != DBNull.Value)
                    iAccountId = Convert.ToInt32(reader["AccountId"]);

                if (iAccountId > 0)
                    model.Model_Member_Account = mebAccDal.GetModel(iAccountId, string.Empty);

                model.AccountId = iAccountId;
                if (reader["PlatformManagerId"] != DBNull.Value)
                    model.IdentityId = Convert.ToInt32(reader["PlatformManagerId"]);
                model.Identity = "讲师";

                if (reader["OrganDetailId"] != DBNull.Value)
                    model.OrganDetailId = Convert.ToInt32(reader["OrganDetailId"]);
                if (reader["OrganDetailTitle"] != DBNull.Value)
                    model.OrganDetailTitle = Convert.ToString(reader["OrganDetailTitle"]);

                model.TeacherName = model.Model_Member_Account != null ? model.Model_Member_Account.Nickname : string.Empty;
            }
            else if (iType == 3)//辅导员
            {
                var iAccountId = 0;

                if (reader["AccountId"] != DBNull.Value)
                    iAccountId = Convert.ToInt32(reader["AccountId"]);

                if (iAccountId > 0)
                    model.Model_Member_Account = mebAccDal.GetModel(iAccountId, string.Empty);

                model.AccountId = iAccountId;
                if (reader["Instructor"] != DBNull.Value)
                    model.IdentityId = Convert.ToInt32(reader["Instructor"]);
                model.Identity = "辅导员";

                if (reader["OrganDetailId"] != DBNull.Value)
                    model.OrganDetailId = Convert.ToInt32(reader["OrganDetailId"]);
                if (reader["OrganDetailTitle"] != DBNull.Value)
                    model.OrganDetailTitle = Convert.ToString(reader["OrganDetailTitle"]);

                model.TeacherName = model.Model_Member_Account != null ? model.Model_Member_Account.Nickname : string.Empty;
            }
            else if (iType == 4)//组员
            {
                var iAccountId = 0;

                if (reader["AccountId"] != DBNull.Value)
                    iAccountId = Convert.ToInt32(reader["AccountId"]);

                if (iAccountId > 0)
                    model.Model_Member_Account = mebAccDal.GetModel(iAccountId, string.Empty);

                model.AccountId = iAccountId;

                model.IdentityId = iAccountId;
                model.Identity = "组员";

                if (reader["OrganDetailId"] != DBNull.Value)
                    model.OrganDetailId = Convert.ToInt32(reader["OrganDetailId"]);
                if (reader["OrganDetailTitle"] != DBNull.Value)
                    model.OrganDetailTitle = Convert.ToString(reader["OrganDetailTitle"]);

                model.TeacherName = model.Model_Member_Account != null ? model.Model_Member_Account.Nickname : string.Empty;
            }
        }