/// <summary> /// ��ȡLogo��¼ /// </summary> /// <param name="type">Logo����</param> /// <param name="pager">��ҳ����</param> /// <param name="uid">�û�ID</param> /// <param name="industry">��ҵ����</param> /// <param name="sta">ָ��������</param> /// <returns>ArrayList</returns> private static ArrayList List(LogoType type, Pager pager, int uid, string industry, int enabled,string exclude) { ArrayList list = new ArrayList(); /* LogoList @type char(1), @uid int=0, @industry char(6)='000000', @pageindex int=1, @pagesize int=20, @sort int=0 */ SqlParameter[] prams ={ Database.MakeReturnValueParam("@returnValue"), Database.MakeInParam("@type",SqlDbType.Char,1,((int)type).ToString()), Database.MakeInParam("@uid",SqlDbType.Int,uid), Database.MakeInParam("@industry",SqlDbType.Char,6,industry), Database.MakeInParam("@enabled",SqlDbType.Char,6,enabled), Database.MakeInParam("@exclude",SqlDbType.VarChar,32,String.IsNullOrEmpty(exclude)?"":exclude.Trim()), Database.MakeInParam("@pageindex",SqlDbType.Int,pager.PageIndex), Database.MakeInParam("@pagesize",SqlDbType.Int,pager.PageSize), Database.MakeInParam("@sort",SqlDbType.Int,pager.SortNum) }; SqlDataReader reader = null; try { reader = Database.ExecuteReader(CommandType.StoredProcedure, "LogoList", prams); if (reader.Read()) { pager.RecordCount = reader.GetInt32(0); if (reader.NextResult()) { while (reader.Read()) { /*[Id],Type,Guid, UserId,Industry, Title, Score, ImageType, CreateDatetime, Enabled,ComName*/ LogoBase logo = new LogoBase(); logo.Id = reader.GetInt32(0); logo.LType = (LogoType)Convert.ToInt16(reader.GetString(1)); logo.Guid = reader.GetString(2); logo.UserId = reader.GetInt32(3); logo.Industry = reader.GetString(4); logo.Title = reader.GetString(5); logo.Score = reader.GetInt32(6); logo.ImageType = (LogoImageType)Convert.ToInt16(reader.GetString(7)); logo.CreateDatetime = reader.GetDateTime(8); logo.Enabled = reader.GetString(9) == "1" ? true : false; logo.ComName = reader.GetString(10); list.Add(logo); } } } reader.Close(); } catch (Exception e) { throw e; } finally { if (reader != null) { reader.Close(); } } return list; }
/// <summary> /// ��ȡlogo���� /// </summary> /// <param name="guid">Guid</param> /// <returns></returns> public static LogoBase Get(string guid) { /* LogoGet @id varchar(32) */ if (guid.Length != 32) { return null; } LogoBase logo = null; SqlParameter[] prams ={ Database.MakeInParam("@id",SqlDbType.VarChar,32,guid) }; SqlDataReader reader = null; try { reader = Database.ExecuteReader(CommandType.StoredProcedure, "LogoGet", prams); /*[Id],Type, Guid, UserId, Industry, Title, Score, ImageType, CreateDatetime, Enabled,[Description],ComName*/ if (reader.Read()) { logo = new LogoBase(); logo.Id = reader.GetInt32(0); logo.LType = (LogoType)Convert.ToInt16(reader.GetString(1)); logo.Guid = reader.GetString(2); logo.UserId = reader.GetInt32(3); logo.Industry = reader.GetString(4); logo.Title = reader.GetString(5); logo.Score = reader.GetInt32(6); logo.ImageType = (LogoImageType)Convert.ToInt16(reader.GetString(7)); logo.CreateDatetime = reader.GetDateTime(8); logo.Enabled = reader.GetString(9) == "1" ? true : false; logo.Description = reader.GetString(10); logo.ComName = reader.GetString(11); } reader.Close(); } finally { if (reader != null) { reader.Close(); } } return logo; }
/// <summary> /// ��ȡָ��Logo�ĶԱ��б� /// </summary> /// <param name="type">�Ա�����</param> /// <param name="logoId">Logo Id����Guid</param> /// <returns></returns> public static ArrayList GetComparesList(LogoCompareType type,string logoId) { ArrayList list = new ArrayList(); /* LogoCompareList @type char(1), @logoId int=0 */ SqlParameter[] prams ={ Database.MakeInParam("@type",SqlDbType.Char,1,((int)type).ToString()), Database.MakeInParam("@logoId",SqlDbType.VarChar,32,logoId) }; SqlDataReader reader = null; try { reader = Database.ExecuteReader(CommandType.StoredProcedure, "LogoCompareList", prams); while (reader.Read()) { /*[Id],Type,Guid, UserId,Industry, Title, Score, ImageType, CreateDatetime, Enabled,ComName*/ LogoBase logo = new LogoBase(); logo.Id = reader.GetInt32(0); logo.LType = (LogoType)Convert.ToInt16(reader.GetString(1)); logo.Guid = reader.GetString(2); logo.UserId = reader.GetInt32(3); logo.Industry = reader.GetString(4); logo.Title = reader.GetString(5); logo.Score = reader.GetInt32(6); logo.ImageType = (LogoImageType)Convert.ToInt16(reader.GetString(7)); logo.CreateDatetime = reader.GetDateTime(8); logo.Enabled = reader.GetString(9) == "1" ? true : false; logo.ComName = reader.GetString(10); list.Add(logo); } reader.Close(); } catch (Exception e) { throw e; } finally { if (reader != null) { reader.Close(); } } //�������ҵ�Աȣ����ҶԱ��������㣬�������ȡ��¼������б� if (list.Count < LogoUtil.LOGO_COMPARE_MAXCOUNT && type == LogoCompareType.IndustryCompare) { LogoBase sourceLogo = LogoBase.Get(logoId); if (sourceLogo != null) { int[] sortNums ={ 0,11,12,21,22}; int sortNum = sortNums[new Random().Next(0, sortNums.Length)];//������� int padCount = (LogoUtil.LOGO_COMPARE_MAXCOUNT - list.Count) * 10;//�Ŵ�10���������ȡ ArrayList padList = ListSample(new Pager(1, padCount * 10, sortNum), sourceLogo.Industry, true); list.AddRange(LogoUtil.GetRandomList(padList, LogoUtil.LOGO_COMPARE_MAXCOUNT - list.Count)); } } return list; }
public static LogoBase Create(LogoType type) { LogoBase logo = new LogoBase(); logo.LType = type; return logo; }