예제 #1
0
        public string Public()
        {
            var query = new SubSonic.Query.Select(provider, "Number", "Title", "CreateDate", "ArticlePowerPwd").From <Article>().Where <Article>(x => x.Status == Enum_Status.Approved && x.ArticlePower != Enum_ArticlePower.Myself && x.Submission != Enum_Submission.Approved);
            var list  = query.ExecuteTypedList <Article>();

            var newlist = (from l in list
                           select new
            {
                Number = l.Number,
                Title = l.Title,
                ArticlePowerPwd = l.ArticlePowerPwd,
                CreateDate = l.CreateDate.ToString("yyyy-MM-dd hh:mm:ss")
            }).ToList();

            return(Newtonsoft.Json.JsonConvert.SerializeObject(newlist));
        }
예제 #2
0
        public string Pic_1_3()
        {
            ApiResult result = new ApiResult();

            try
            {
                var Number     = ZNRequest.GetString("Number");
                var UserNumber = ZNRequest.GetString("UserNumber");

                if (string.IsNullOrWhiteSpace(UserNumber))
                {
                    result.message = new { records = 0, totalpage = 1 };
                    return(JsonConvert.SerializeObject(result));
                }

                var pager = new Pager();

                //日期分组
                var datequery = new SubSonic.Query.Select(provider, "ID", "CreateDate", "Status").From <ArticlePart>().Where <ArticlePart>(x => x.Types == Enum_ArticlePart.Pic && x.Status != Enum_Status.Delete && x.Status != Enum_Status.DeleteCompletely && x.CreateUserNumber == UserNumber);
                if (Number != UserNumber)
                {
                    datequery = datequery.And("Status").IsEqualTo(Enum_Status.Approved);
                }
                var datelist    = datequery.ExecuteTypedList <ArticlePart>();
                var newdatelist = new List <DateTime>();
                datelist.OrderByDescending(x => x.ID).GroupBy(x => x.CreateDate.ToString("yyyy-MM-dd")).ToList().ForEach(x =>
                {
                    newdatelist.Add(x.FirstOrDefault().CreateDate);
                });
                var recordCount = newdatelist.Count();
                if (recordCount == 0)
                {
                    result.message = new { records = 0, totalpage = 1 };
                    return(JsonConvert.SerializeObject(result));
                }
                var totalPage = recordCount % pager.Size == 0 ? recordCount / pager.Size : recordCount / pager.Size + 1;
                newdatelist = newdatelist.Skip((pager.Index - 1) * pager.Size).Take(pager.Size).ToList();

                //获取数据
                var query = new SubSonic.Query.Select(provider).From <ArticlePart>().Where <ArticlePart>(x => x.Types == Enum_ArticlePart.Pic && x.Status != Enum_Status.Delete && x.Status != Enum_Status.DeleteCompletely && x.CreateUserNumber == UserNumber);
                if (Number != UserNumber)
                {
                    query = query.And("Status").IsEqualTo(Enum_Status.Approved);
                }
                query.And("CreateDate").IsGreaterThanOrEqualTo(newdatelist[newdatelist.Count - 1].ToString("yyyy-MM-dd 00:00:00"));
                query.And("CreateDate").IsLessThanOrEqualTo(newdatelist[0].ToString("yyyy-MM-dd 23:59:59"));
                var list = query.ExecuteTypedList <ArticlePart>();

                var newlist = new List <PicJson>();

                //组织输出

                string[] Month = new string[] { "一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月" };
                string[] Day   = new string[] { "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六" };
                Console.WriteLine();

                newdatelist.ForEach(x =>
                {
                    PicJson pic    = new PicJson();
                    pic.Month      = Month[x.Month - 1];
                    pic.Day        = x.Day;
                    pic.Week       = Day[Convert.ToInt16(x.DayOfWeek)];
                    pic.CreateDate = x.ToString("yyyy年MM月dd日");
                    pic.List       = list.FindAll(y => y.CreateDate.Year == x.Year && y.CreateDate.Month == x.Month && y.CreateDate.Day == x.Day);
                    newlist.Add(pic);
                });

                result.result  = true;
                result.message = new
                {
                    currpage  = pager.Index,
                    records   = recordCount,
                    totalpage = totalPage,
                    list      = newlist
                };
            }
            catch (Exception ex)
            {
                LogHelper.ErrorLoger.Error("Api_User_Pic_1_3:" + ex.Message);
                result.message = ex.Message;
            }
            return(JsonConvert.SerializeObject(result));
        }
예제 #3
0
        public string Article_1_3()
        {
            ApiResult result = new ApiResult();

            try
            {
                var UserNumber     = ZNRequest.GetString("UserNumber");
                var CurrUserNumber = ZNRequest.GetString("CurrUserNumber");
                if (string.IsNullOrWhiteSpace(UserNumber))
                {
                    result.message = new { records = 0, totalpage = 1 };
                    return(JsonConvert.SerializeObject(result));
                }
                var pager = new Pager();
                //日期分组
                var datequery = new SubSonic.Query.Select(provider, "ID", "CreateDate", "ArticlePower").From <Article>().Where <Article>(x => x.Status == Enum_Status.Approved && x.CreateUserNumber == UserNumber);
                if (UserNumber != CurrUserNumber)
                {
                    datequery = datequery.And("ArticlePower").IsEqualTo(Enum_ArticlePower.Public);
                    datequery = datequery.And("Submission").IsGreaterThan(Enum_Submission.Audit);
                }
                var datelist    = datequery.ExecuteTypedList <Article>();
                var newdatelist = new List <DateTime>();
                datelist.OrderByDescending(x => x.ID).GroupBy(x => x.CreateDate.ToString("yyyy-MM")).ToList().ForEach(x =>
                {
                    newdatelist.Add(x.FirstOrDefault().CreateDate);
                });

                var recordCount = newdatelist.Count();
                if (recordCount == 0)
                {
                    result.message = new { records = 0, totalpage = 1 };
                    return(JsonConvert.SerializeObject(result));
                }
                var totalPage = recordCount % pager.Size == 0 ? recordCount / pager.Size : recordCount / pager.Size + 1;
                newdatelist = newdatelist.Skip((pager.Index - 1) * pager.Size).Take(pager.Size).ToList();

                //获取数据
                var query = new SubSonic.Query.Select(provider, "ID", "Number", "CreateUserNumber", "Cover", "ArticlePower", "Status", "CreateDate").From <Article>().Where <Article>(x => x.Status == Enum_Status.Approved && x.CreateUserNumber == UserNumber);
                if (UserNumber != CurrUserNumber)
                {
                    query = query.And("ArticlePower").IsEqualTo(Enum_ArticlePower.Public);
                    query = query.And("Submission").IsGreaterThan(Enum_Submission.Audit);
                }

                recordCount = query.GetRecordCount();

                query.And("CreateDate").IsGreaterThanOrEqualTo(newdatelist[newdatelist.Count - 1].ToString("yyyy-MM-01 00:00:00"));
                var day = DateTime.DaysInMonth(newdatelist[0].Year, newdatelist[0].Month);;

                query.And("CreateDate").IsLessThanOrEqualTo(newdatelist[0].ToString("yyyy-MM-" + day + " 23:59:59"));
                var list = query.ExecuteTypedList <Article>();

                var newlist = new List <UserArticleJson>();

                //组织输出
                newdatelist.ForEach(x =>
                {
                    UserArticleJson model = new UserArticleJson();
                    model.List            = new List <UserArticleSubJson>();
                    var items             = list.FindAll(y => y.CreateDate.Year == x.Year && y.CreateDate.Month == x.Month);
                    items.ForEach(y =>
                    {
                        UserArticleSubJson item = new UserArticleSubJson();
                        item.ID               = y.ID;
                        item.Number           = y.Number;
                        item.CreateUserNumber = y.CreateUserNumber;
                        item.Cover            = y.Cover;
                        item.ArticlePower     = y.ArticlePower;
                        model.List.Add(item);
                    });
                    model.CreateDate = x.Year + "年" + x.Month + "月";
                    model.Count      = model.List.Count;
                    newlist.Add(model);
                });

                result.result  = true;
                result.message = new
                {
                    currpage  = pager.Index,
                    records   = recordCount,
                    totalpage = totalPage,
                    list      = newlist
                };
            }
            catch (Exception ex)
            {
                LogHelper.ErrorLoger.Error("Api_User_Article_1_3:" + ex.Message);
                result.message = ex.Message;
            }
            return(JsonConvert.SerializeObject(result));
        }