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; }
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(); }
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; }