Пример #1
0
        /// <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());
        }
Пример #2
0
        /// <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);
            }
        }
Пример #3
0
        /// <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());
            }
        }