示例#1
0
        public List<Member_AccountBaseInfo> GetMarketMemberList(int pageSize, int pageIndex, int Type, Class_Detail ClassModel, int TrainingId, int OrganId, int Groupid, string orderBy, out int recordCount)
        {
            if (string.IsNullOrEmpty(orderBy))
                throw new ArgumentNullException();

            StringBuilder s = new StringBuilder();
            s.Append("(select ma.*,mbi.RealName,mbi.Mobile,mbi.Job,mpc.Status as mpcStatus,mpc.Delflag as mpcDelflag, sum(CASE mpt.Result WHEN 1 THEN 1 WHEN 2 THEN 0 ELSE 0 END) as mptResult ");
            s.Append(" ,sum(CASE mpt2.Status WHEN 1 THEN 1 WHEN 2 THEN 1 WHEN 4 THEN 1 ELSE 0 END) as mptStatus  from Member_Account ma");
            s.Append(" left join Member_StudySection mss on ma.Id=mss.AccountId");
            s.Append(" left join Member_TeachSubject mts on ma.Id=mts.AccountId");
            s.Append(" left join Member_TeachGrade mtg on ma.Id=mtg.AccountId");
            s.Append(" left join Member_WorkRank mwr on ma.Id=mwr.AccountId");
            s.Append(" left join Member_BaseInfo mbi on ma.Id=mbi.AccountId");
            s.Append(" left join (select * from dbo.Member_ClassRegister where ClassId='" + ClassModel.Id + "' and Delflag='false')as mpc on ma.Id=mpc.AccountId ");
            s.Append(" left join (select * from dbo.Member_ClassRegister where TrainingId='" + TrainingId + "' and Delflag='false')as mpt on ma.Id=mpt.AccountId");
            s.Append(" left join (select * from dbo.Member_ClassRegister where TrainingId='" + TrainingId + "' and Delflag='false' and Result is null)as mpt2 on ma.Id=mpt2.AccountId ");

            if (Groupid == 2)
            {
                s.Append(" where ma.OrganId in( select Id from Organ_Detail where ParentId='" + OrganId + "')");
            }
            else if (Groupid == 4)
            {
                s.Append(" where ma.OrganId ='" + OrganId + "'");
            }
            else if (Groupid == 3)
            {
                //s.Append(" where ma.OrganId='" + OrganId + "'  ");
                s.Append(" where 1=1");
            }
            else {
                s.Append(" where 1=2");
            }
            if (Groupid == 2 || Groupid == 4)
            {
                s.Append(" and mbi.Id is not null ");
            }
            s.Append(" and ma.Delflag='false' and ma.Status=2 ");
            s.Append(" and (mpc.delflag='false' or mpc.Delflag is null) ");
            s.Append(" and (mpt.delflag='false' or mpt.Delflag is null) ");

            if (Type == 1)
            {
                if (Groupid == 2 || Groupid == 4)
                {
                    if (ClassModel.StudyLevel == false)
                    {
                        s.Append(" and mss.StudySection in(select css.StudySection from Class_Detail cd left join Class_StudySection css on cd.Id=css.ClassId ");
                        s.Append(" where cd.Id='" + ClassModel.Id + "' and cd.StudyLevel=0 and css.Delflag='false') ");
                    }
                    if (ClassModel.Subject == false)
                    {
                        s.Append(" and mts.TeachSubject in(select cts.TeachSubject from Class_Detail cd left join Class_TeachSubject cts on cd.Id=cts.ClassId ");
                        s.Append(" where cd.Id='" + ClassModel.Id + "' and cd.Subject=0 and cts.Delflag='false') ");
                    }
                    if (ClassModel.TeachGrade == false)
                    {
                        s.Append(" and mtg.TeachGrade in(select ctg.TeachGrade from Class_Detail cd left join Class_TeachGrade ctg on cd.Id=ctg.ClassId ");
                        s.Append(" where cd.Id='" + ClassModel.Id + "' and cd.TeachGrade=0 and ctg.Delflag='false') ");
                    }
                    if (ClassModel.TeachRank==false)
                    {
                        //s.Append(" and (mbi.WorkRank is null or charindex(','+cast(mbi.WorkRank as varchar)+',',','+(select TeachRank from Class_Detail where Id='" + ClassModel.Id + "')+',')>0) ");
                        //s.Append(" and (mbi.WorkRank is null or mbi.WorkRank in(select TeachRank from Class_Detail where Id='" + ClassModel.Id + "')) ");
                        s.Append(" and mwr.WorkRank in(select ctr.TeachRank from Class_Detail cd left join Class_TeachRank ctr on cd.Id=ctr.ClassId ");
                        s.Append(" where cd.Id='" + ClassModel.Id + "' and cd.TeachRank=0 and ctr.Delflag='false') ");
                    }
                    if (ClassModel.OrganRange != "0")
                    {
                        s.Append(" and  charindex(','+cast(ma.OrganId as varchar)+',',','+(select OrganRange from Class_Detail where Id='" + ClassModel.Id + "')+',')>0 ");
                        //s.Append(" and ma.OrganId in(select OrganRange from Class_Detail where Id='" + ClassModel.Id + "') ");
                    }
                    s.Append("  and ((mpc.Status is Null or mpc.Status in(3,5))or mpc.delflag=1  ) ");
                }
            }

            s.Append(" group by ma.Id,ma.UserName,ma.Password,ma.Email,ma.Status,ma.RegisterIP,ma.OrganId,ma.Pic,ma.Nickname,ma.IsRealName,ma.originUserId,ma.origin,ma.OriginUserName,ma.IsNeedReName,ma.Delflag,ma.CreateDate,ma.OutSourceId,mbi.RealName,mbi.Mobile,mbi.Job,mpc.Status,mpc.Delflag) as n");
            if (Type == 1)
            {
                s.Append(" where mptResult=0 and mptStatus=0  ");
            }

            StringBuilder sb = new StringBuilder();
            sb.Append("select count(1) from " + s.ToString());

            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 " + orderBy + ") as [RowNum] from " + s.ToString());
            sql.Append(") as T where [RowNum] between " + start + " and " + end);
            List<Member_AccountBaseInfo> list = new List<Member_AccountBaseInfo>();
            using (IDataReader reader = MSEntLibSqlHelper.ExecuteDataReaderBySql(sql.ToString()))
            {
                while (reader.Read())
                {
                    Member_AccountBaseInfo model = new Member_AccountBaseInfo();
                    ConvertToModel2(reader, model);
                    list.Add(model);
                }
            }
            return list;
        }
示例#2
0
 private void ConvertToModelP(IDataReader reader, Member_AccountBaseInfo model)
 {
     if (reader["Id"] != DBNull.Value)
         model.Id = Convert.ToInt32(reader["Id"]);
     if (reader["UserName"] != DBNull.Value)
         model.UserName = reader["UserName"].ToString();
     if (reader["Password"] != DBNull.Value)
         model.Password = reader["Password"].ToString();
     if (reader["Email"] != DBNull.Value)
         model.Email = reader["Email"].ToString();
     if (reader["Status"] != DBNull.Value)
         model.Status = Convert.ToInt32(reader["Status"]);
     if (reader["RegisterIP"] != DBNull.Value)
         model.RegisterIP = reader["RegisterIP"].ToString();
     if (reader["OrganId"] != DBNull.Value)
         model.OrganId = Convert.ToInt32(reader["OrganId"]);
     if (reader["Pic"] != DBNull.Value)
         model.Pic = reader["Pic"].ToString();
     if (reader["Nickname"] != DBNull.Value)
         model.Nickname = reader["Nickname"].ToString();
     if (reader["IsRealName"] != DBNull.Value)
         model.IsRealName = Convert.ToBoolean(reader["IsRealName"]);
     if (reader["originUserId"] != DBNull.Value)
         model.originUserId = reader["originUserId"].ToString();
     if (reader["origin"] != DBNull.Value)
         model.origin = Convert.ToInt32(reader["origin"]);
     if (reader["OriginUserName"] != DBNull.Value)
         model.OriginUserName = reader["OriginUserName"].ToString();
     if (reader["IsNeedReName"] != DBNull.Value)
         model.IsNeedReName = Convert.ToBoolean(reader["IsNeedReName"]);
     if (reader["Delflag"] != DBNull.Value)
         model.Delflag = Convert.ToBoolean(reader["Delflag"]);
     if (reader["CreateDate"] != DBNull.Value)
         model.CreateDate = Convert.ToDateTime(reader["CreateDate"]);
     if (reader["RealName"] != DBNull.Value)
         model.RealName = reader["RealName"].ToString();
     if (reader["Mobile"] != DBNull.Value)
         model.Mobile = reader["Mobile"].ToString();
     if (reader["Job"] != DBNull.Value)
         model.Job = reader["Job"].ToString();
 }
示例#3
0
 public List<Member_AccountBaseInfo> GetMABListPractice(int pageSize, int pageIndex, string where, string orderBy, out int recordCount)
 {
     if (string.IsNullOrEmpty(orderBy))
         throw new ArgumentNullException();
     StringBuilder sb = new StringBuilder();
     sb.Append("select count(1) from [dbo].[Member_Account]");
     if (!string.IsNullOrEmpty(where))
         sb.Append(" where " + where);
     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 " + orderBy + ") as [RowNum] from (select ma.*,mbi.RealName,mbi.Mobile,mbi.Job from [dbo].[Member_Account] ma left join [dbo].[Member_BaseInfo] mbi on ma.Id=mbi.AccountId) as n");
     if (!string.IsNullOrEmpty(where))
         sql.Append(" where " + where);
     sql.Append(") as T where [RowNum] between " + start + " and " + end);
     List<Member_AccountBaseInfo> list = new List<Member_AccountBaseInfo>();
     using (IDataReader reader = MSEntLibSqlHelper.ExecuteDataReaderBySql(sql.ToString()))
     {
         while (reader.Read())
         {
             Member_AccountBaseInfo model = new Member_AccountBaseInfo();
             ConvertToModelP(reader, model);
             list.Add(model);
         }
     }
     return list;
 }