/// <summary> /// 部门-数据赋值 /// </summary> /// <param name="dt"></param> /// <param name="list"></param> void DepartmentDataToList(DataTable dt, List <PublishCountView> list, out int total, out int total2) { total = 0; total2 = 0; string siteID = SiteConfigs.GetConfig().SiteGroupEnabled ? SiteConfigs.GetConfig().SiteID : string.Empty; List <Department> departments = AccountHelper.GetDepartments(siteID, We7Helper.EmptyGUID, "", new string[] { "FullName", "Name", "ParentID" }); foreach (Department dep in departments) { PublishCountView kv = new PublishCountView(); kv.KeyValue = dep.Name; foreach (DataRow dr in dt.Rows) { Account acc = AccountHelper.GetAccount(dr["AccountID"].ToString(), new string[] { "ID", "DepartmentID" }); if (acc != null) { Department d = AccountHelper.GetDepartment(acc.DepartmentID, new string[] { "FullName", "ID", }); if (d != null && d.FullName.ToLower().StartsWith(dep.FullName.ToLower())) { kv.Count += Int32.Parse(dr["pubcount"].ToString()); kv.Clicks += Int32.Parse(dr["clickcount"].ToString()); } } } total += kv.Count; total2 += kv.Clicks; list.Add(kv); } list.Sort(new DinoComparer()); }
/// <summary> /// 用户-数据赋值 /// </summary> /// <param name="dt"></param> /// <param name="list"></param> void AccountDataToList(DataTable dt, List <PublishCountView> list, out int total, out int total2) { total = 0; total2 = 0; foreach (DataRow dr in dt.Rows) { PublishCountView kv = new PublishCountView(); kv.KeyValue = dr["AccountID"].ToString(); string loginName = AccountHelper.GetAccount(kv.KeyValue, new string[] { "LoginName" }).LoginName; if (loginName != null && loginName != "") { kv.KeyValue = loginName; } else { kv.KeyValue = "管理员"; } //修改文章统计可能报错 int pubcount = 0; int clickcount = 0; int.TryParse(dr["pubcount"].ToString(), out pubcount); int.TryParse(dr["clickcount"].ToString(), out clickcount); kv.Count = pubcount; kv.Clicks = clickcount; total += kv.Count; total2 += kv.Clicks; list.Add(kv); } }
/// <summary> /// 栏目-数据赋值 /// </summary> /// <param name="dt"></param> /// <param name="list"></param> void ChannelDataToList(DataTable dt, List <PublishCountView> list, out int total, out int total2, string keyValue) { total = 0; total2 = 0; string name = ""; List <Channel> channels = new List <Channel>(); if (We7Helper.EmptyGUID == keyValue) { channels = ChannelHelper.GetChannels(We7Helper.EmptyGUID); } else if (keyValue == "") { } else { Channel ch = ChannelHelper.GetChannel(keyValue, null); name = ch.Name; channels.Add(ch); string chFullUrl = ChannelHelper.GetFullUrl(keyValue); List <Channel> channelList = ChannelHelper.GetChannels(keyValue); if (channelList != null && channelList.Count > 0) { channels.AddRange(channelList); } } if (channels != null && channels.Count > 0) { foreach (Channel ch in channels) { PublishCountView kv = new PublishCountView(); if (name == ch.Name) { continue; } //kv.KeyValue = ch.Name; else { kv.KeyValue = ch.Name; } kv.ChannelID = ch.ID; foreach (DataRow dr in dt.Rows) { if (dr["ChannelFullUrl"].ToString().ToLower().StartsWith(ch.FullUrl.ToLower())) { kv.Count += Int32.Parse(dr["pubcount"].ToString()); kv.Clicks += Int32.Parse(dr["clickcount"].ToString()); } } total += kv.Count; total2 += kv.Clicks; list.Add(kv); } list.Sort(new DinoComparer()); } }