コード例 #1
0
        public static DataSet Search_News(string Search, NewsStatusEnum Status, int NewsGrpID)
        {
            DataSet  ds     = new DataSet();
            DataSet  dsTemp = new DataSet();
            bool     flag   = false;
            DBAccess db     = new DBAccess();

            string[] arr = Search.Split(' ');
            foreach (string s in arr)
            {
                db.AddNVarChar("Search", s, 250);
                db.AddInt("Status", System.Convert.ToInt32(Status));
                db.AddInt("NewsGrpID", NewsGrpID);

                dsTemp = db.ExecuteDataSet(_SQLSelectBySearch);
                db.Parameters.Clear();
                //If dsTemp.Tables.Count > 0 Then
                ds.Merge(dsTemp);
                if (flag == false)
                {
                    DataColumn[] pk = new DataColumn[2];
                    pk[0] = ds.Tables[0].Columns["ID"];
                    ds.Tables[0].PrimaryKey = pk;
                    flag = true;
                }
                //End If
            }
            return(ds);
        }
コード例 #2
0
        public ShowNewsStatusViewModel GetNewsWithStatus(int page, NewsStatusEnum status, string username, INewsRepository repository)
        {
            var user = repository.Users.FirstOrDefault(x => x.UserName == username);

            if (!string.IsNullOrEmpty(username))
            {
                if (user == null)
                {
                    return(null);
                }
            }


            int PageSize = 3;
            List <NewsModel> SelectedNews = new List <NewsModel>();
            var news = repository.AllAgencyNews
                       .Where(x => x.Staus == (int)status)
                       .OrderByDescending(p => p.Id)
                       .Skip((page - 1) * PageSize)
                       .Take(PageSize);

            if (!string.IsNullOrEmpty(username))
            {
                news = news.Where(x => x.UserId == user.Id);
            }

            var news_list = news.ToList();

            foreach (var item in news_list)
            {
                SelectedNews.Add(new NewsModel
                {
                    MainContent  = item.MainContent,
                    Summary      = item.Summary,
                    Title        = item.Title,
                    Status       = (NewsStatusEnum)item.Staus,
                    ReporterName = item.User.FullName,
                    Id           = item.Id,
                    Category     = item.Category.Title,
                });
            }


            ShowNewsStatusViewModel model = new ShowNewsStatusViewModel
            {
                News       = SelectedNews,
                PagingInfo = new PagingInfo
                {
                    CurrentPage  = page,
                    ItemsPerPage = PageSize,
                    TotalItems   = user == null?repository.AllAgencyNews.Where(x => x.Staus == (int)status).Count() : repository.AllAgencyNews.Where(x => x.Staus == (int)status && x.UserId == user.Id).Count()
                }
            };

            return(model);
        }
コード例 #3
0
        public bool SetNewsStatus(int id, NewsStatusEnum status, INewsRepository repository)
        {
            var news = repository.AllAgencyNews.FirstOrDefault(x => x.Id == id);

            if (news == null)
            {
                return(false);
            }
            news.Staus = (int)status;
            repository.SaveChanges();
            return(true);
        }
コード例 #4
0
        public static int Update(int ID, int NewsGrpID, NewsStatusEnum Status, string Title, string Teaser, string Body, string LinkUrl, int LinkTarget, DateTime PublishDate, DateTime ExpiredDate)
        {
            News c = new News(ID);

            c.NewsGrpID   = NewsGrpID;
            c.Status      = NewsStatusEnum.Aktiv;
            c.Title       = Title;
            c.Teaser      = Teaser;
            c.Body        = Body;
            c.LinkUrl     = LinkUrl;
            c.LinkTarget  = LinkTarget;
            c.PublishDate = PublishDate;
            c.ExpiredDate = ExpiredDate;

            return(Update(c));
        }
コード例 #5
0
        public static System.Collections.Generic.List <News> Search_NewsList(string search, NewsStatusEnum status, int NewsGrpID)
        {
            System.Collections.Generic.List <News> result = new System.Collections.Generic.List <News>();
            int      ID     = -1;
            DBAccess db     = new DBAccess();
            DataSet  ds     = new DataSet();
            DataSet  dsTemp = new DataSet();
            bool     flag   = false;

            db.AddInt("NewsGrpID", NewsGrpID);

            string[] arr = search.Split(' ');
            foreach (string s in arr)
            {
                db.AddNVarChar("Search", s, 250);
                db.AddInt("Status", System.Convert.ToInt32(status));
                db.AddInt("NewsGrpID", NewsGrpID);

                dsTemp = db.ExecuteDataSet(_SQLSelectIDBySearch);
                db.Parameters.Clear();
                //If dsTemp.Tables.Count > 0 Then
                ds.Merge(dsTemp);
                if (flag == false)
                {
                    DataColumn[] pk = new DataColumn[2];
                    pk[0] = ds.Tables[0].Columns["ID"];
                    ds.Tables[0].PrimaryKey = pk;
                    flag = true;
                }
                //End If
            }

            foreach (DataRow row in ds.Tables[0].Rows)
            {
                ID = System.Convert.ToInt32(row["ID"]);
                result.Add(News.GetNews(ID));
            }

            return(result);
        }
コード例 #6
0
 public static DataSet Search_News(string Search, NewsStatusEnum Status)
 {
     return(Search_News(Search, Status, System.Convert.ToInt32(NewsStatusEnum.Alle)));
 }