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