Esempio n. 1
0
 public Topics GetTopic(int id)
 {
     using (var db = new NewsDb())
     {
         return(db.Topics.FirstOrDefault(t => t.Id == id));
     }
 }
Esempio n. 2
0
 public Users GetUser(string username, string password)
 {
     using (var db = new NewsDb())
     {
         return(db.Users.FirstOrDefault(u => u.Username.ToLower() == username.ToLower() && u.Password == password));
     }
 }
Esempio n. 3
0
        public void CreateNew(string title)
        {
            using (var db = new NewsDb())
            {
                // do validations
                // 0. Topic title must be defined
                if (String.IsNullOrEmpty(title))
                {
                    throw new LogicException("Title can't be empty!");
                }

                // 1. Topic title should be unique
                var sameTitle = db.Topics.FirstOrDefault(t => t.Title.ToLower() == title.ToLower());
                if (sameTitle != null)
                {
                    throw new LogicException("Topic already exists!");
                }

                db.Topics.Add(new Topics()
                {
                    Title = title,
                });

                db.SaveChanges();
            }
        }
Esempio n. 4
0
 public Articles GetById(int id)
 {
     using (var db = new NewsDb())
     {
         return(db.Articles.FirstOrDefault(a => a.Id == id));
     }
 }
        public ViewResult ShowPost(
            int id   = 1,
            int page = 1,
            int row  = 20
            )
        {
            var areaDb   = new AreaDb();
            var listArea = areaDb.GetAll();

            ViewBag.listArea = listArea;
            var listAreaChild = areaDb.GetListAreaById(1);

            ViewBag.listAreaChild = listAreaChild;

            var menuListModel = new MenuListModels();

            if (Session["ListOfPost"] != null)
            {
                menuListModel = (MenuListModels)Session["ListOfPost"];
            }

            var newsDb = new NewsDb();
            var menuDb = new MenuDb();
            int intCount;

            menuListModel.MenuId    = id;
            menuListModel.MenuName  = menuDb.GetMenuById(id).Name;
            menuListModel.newsModel = newsDb.SearchNews(out intCount, menuListModel.TinhThanhId, menuListModel.QuanHuyenId, menuListModel.Title, menuListModel.Price, page, row, id);

            ViewBag.NumberOfPages = intCount / row + (intCount % row > 0 ? 1 : 0);
            ViewBag.CurrentPage   = page;
            ViewBag.MenuId        = id;
            return(View(menuListModel));
        }
        public ViewResult MyPost(
            int id   = 1,
            int page = 1,
            int row  = 20)
        {
            var areaDb   = new AreaDb();
            var listArea = areaDb.GetAll();

            ViewBag.listArea = listArea;
            var listAreaChild = areaDb.GetListAreaById(1);

            ViewBag.listAreaChild = listAreaChild;

            var menuListModel = new MenuListModels();

            if (Session["ListOfMyPost"] != null)
            {
                menuListModel = (MenuListModels)Session["ListOfMyPost"];
            }

            var newsDb = new NewsDb();
            int intCount;

            id = new UserDb().GetUserInfo(User.Identity.Name).Id;
            menuListModel.newsModel = newsDb.SearchMyPost(out intCount, menuListModel.TinhThanhId, menuListModel.QuanHuyenId, menuListModel.Title, menuListModel.Price, page, row, id);
            ViewBag.NumberOfPages   = intCount / row + (intCount % row > 0 ? 1 : 0);
            ViewBag.CurrentPage     = page;
            return(View(menuListModel));
        }
Esempio n. 7
0
 public List <Articles> GetAll()
 {
     using (var db = new NewsDb())
     {
         return(db.Articles.OrderByDescending(a => a.PublishedOn).ToList());
     }
 }
Esempio n. 8
0
        //3. Create UserManager with method Register(string username, string email, string password) :

        public void Register(string username, string email, string password)
        {
            using (var db = new NewsDb())
            {
                //3.1. Check if there isn't a user with the same username already
                var existingUser = db.Users.FirstOrDefault(u => u.Username.ToLower() == username.ToLower());
                if (existingUser != null)
                {
                    throw new LogicException("That username is already in use!");
                }
                //3.2. Check if there isn't a user with the same e-mail already
                existingUser = db.Users.FirstOrDefault(u => u.Email.ToLower() == email.ToLower());
                if (existingUser != null)
                {
                    throw new LogicException("That e-mail is already in use!");
                }
                //3.3. (Optional) Check if password is at least 6 symbols
                if (!password.IsPasswordOk())
                {
                    throw new LogicException("Password should be at least 6 symbols!");
                }

                //3.4. Add user if all OK
                db.Users.Add(new Users()
                {
                    Email    = email,
                    Password = password,
                    Username = username,
                });
                db.SaveChanges();
            }
        }
Esempio n. 9
0
 public List <Articles> GetLatestNews(int count = 6)
 {
     using (var db = new NewsDb())
     {
         // SELECT TOP 6 * FROM Articles ORDER BY PublishedOn DESC
         return(db.Articles.OrderByDescending(a => a.PublishedOn).Take(count).ToList());
     }
 }
Esempio n. 10
0
 public static void MarksNewsAsRead(List <OrderedItemInfo> newItems)
 {
     for (int i = 0; i < newItems.Count; i++)
     {
         NewsDb item = DbTypeConvertor.FromNewsData(newItems[i]);
         DatabaseManager.AddNewsItems(item);
     }
 }
Esempio n. 11
0
        public ActionResult DetailPost(int Id = 1, int menuId = 1)
        {
            var newsDb    = new NewsDb();
            var newsModel = new NewsModels();

            newsModel = newsDb.GetDetailNews(Id);
            return(View(newsModel));
        }
Esempio n. 12
0
 public List <Topics> GetAllTopics()
 {
     //returns Topics, ordered by Title ASC
     using (var db = new NewsDb())
     {
         // SELECT * FROM Topics ORDER BY Title
         return(db.Topics.OrderBy(t => t.Title).ToList());
     }
 }
Esempio n. 13
0
        public void Delete(int id)
        {
            using (var db = new NewsDb())
            {
                var topic = db.Topics.FirstOrDefault(t => t.Id == id);
                db.Topics.Remove(topic);

                db.SaveChanges();
            }
        }
Esempio n. 14
0
        public void Delete(int id)
        {
            using (var db = new NewsDb())
            {
                var article = db.Articles.FirstOrDefault(a => a.Id == id);
                db.Articles.Remove(article);

                db.SaveChanges();
            }
        }
Esempio n. 15
0
 private static void AddNewsItems(NewsDb item)
 {
     try
     {
         DatabaseManager.db.Insert(item);
     }
     catch (Exception ex)
     {
         FMLogger.Log("add news fail. " + ex.Message);
     }
 }
Esempio n. 16
0
 public List <Articles> GetByTopic(int topicId)
 {
     using (var db = new NewsDb())
     {
         return(db.Articles
                // under specific topic
                .Where(a => a.TopicId == topicId)
                // latest first
                .OrderByDescending(a => a.PublishedOn)
                .ToList());
     }
 }
Esempio n. 17
0
        public void Update(int id, string title)
        {
            using (var db = new NewsDb())
            {
                // find the topic
                var topic = db.Topics.FirstOrDefault(t => t.Id == id);

                // modify it's data
                topic.Title = title;

                // save changes
                db.SaveChanges();
            }
        }
Esempio n. 18
0
        public ActionResult EditPost(NewsModels model, string CaptchaText)
        {
            var areaDb   = new AreaDb();
            var listArea = areaDb.GetAll();

            ViewBag.listArea = listArea;
            var listAreaChild = areaDb.GetListAreaById(1);

            ViewBag.listAreaChild = listAreaChild;

            if (model.MenuId == 0)
            {
                ModelState.AddModelError("MenuId", "Vui lòng chọn chuyên mục.");
            }

            if (model.QuanHuyenId == 0)
            {
                ModelState.AddModelError("QuanHuyenId", "Vui lòng chọn quận huyện.");
            }

            if (model.TinhThanhId == 0)
            {
                ModelState.AddModelError("TinhThanhId", "Vui lòng chọn tỉnh thành.");
            }

            if (this.Session["CaptchaImageText"].ToString() != CaptchaText)
            {
                ModelState.AddModelError("CaptchaText", "Mã xác nhận không đúng");
            }

            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var newsDb = new NewsDb();

            var userId = new UserDb().GetUserInfo(User.Identity.Name).Id;

            if (model.UserId == userId)
            {
                newsDb.Update(model);
                Session["AddNewsSuccessMessage"] = "Sửa bài viết thành công!";
                return(RedirectToAction("EditPost", "News", new { @Id = model.Id }));
            }
            else
            {
                return(RedirectToAction("MyPost", "News"));
            }
        }
Esempio n. 19
0
        public ActionResult EditPost(int Id = 1)
        {
            var newsDb = new NewsDb();
            var model  = newsDb.GetNewsById(Id);

            var areaDb   = new AreaDb();
            var listArea = areaDb.GetAll();

            ViewBag.listArea = listArea;
            var listAreaChild = areaDb.GetListAreaById(1);

            ViewBag.listAreaChild = listAreaChild;

            return(View(model));
        }
Esempio n. 20
0
        public JsonResult DeletePost(int Id = 0, int UserId = 0)
        {
            var newsDb    = new NewsDb();
            var newsModel = newsDb.GetDetailNews(Id);
            var userId    = new UserDb().GetUserInfo(User.Identity.Name).Id;

            if (newsModel.UserId == userId)
            {
                newsDb.Delete(Id);
                return(Json("Xóa thành công", JsonRequestBehavior.AllowGet));
            }
            else
            {
                return(Json("Bạn không có quyền xóa item này", JsonRequestBehavior.AllowGet));
            }
        }
        /// <summary>
        ///     Добавляет новость в БД
        /// </summary>
        /// <param name="news">Модель новости</param>
        /// <returns>Код ответа Create и добавленную модель</returns>
        public async Task <string> Add(NewsDb news)
        {
            try
            {
                news.CreatedDate = DateTime.UtcNow;

                _context.News.Add(news);
                await _context.SaveChangesAsync();

                return(_context.News.Last().NewsId);
            }
            catch (Exception)
            {
                return("Exception Data");
            }
        }
Esempio n. 22
0
        public void Create(int topicId, string title, string text, string author, string image = "")
        {
            using (var db = new NewsDb())
            {
                db.Articles.Add(new Articles()
                {
                    Author      = author,
                    PublishedOn = DateTime.Now,
                    Text        = text,
                    Title       = title,
                    TopicId     = topicId,
                    Image       = image,
                });

                db.SaveChanges();
            }
        }
Esempio n. 23
0
        // CRUD operations (Create-Read-Update-Delete)

        public void Update(int id, int topicId, string title, string text, string author, string image = "")
        {
            using (var db = new NewsDb())
            {
                // I - Retrieve
                var data = db.Articles.FirstOrDefault(a => a.Id == id);

                // II - Modify
                data.Author  = author;
                data.Text    = text;
                data.Title   = title;
                data.TopicId = topicId;
                if (!String.IsNullOrEmpty(image))
                {
                    data.Image = image;
                }

                // III - Commit
                db.SaveChanges();
            }
        }
Esempio n. 24
0
    public static NewsDb FromNewsData(OrderedItemInfo item)
    {
        NewsDb newsDb = new NewsDb();

        newsDb.Id = item.id;
        int             newsType = -1;
        OrderedItemType itemType = item.itemType;

        if (itemType != OrderedItemType.PromoPic)
        {
            if (itemType == OrderedItemType.ExternalLink)
            {
                newsDb.NewsType = 1;
            }
        }
        else
        {
            newsDb.NewsType = 0;
        }
        newsDb.NewsType = newsType;
        return(newsDb);
    }
Esempio n. 25
0
        static void Main(string[] args)
        {
            Console.WriteLine("Application started.");
            using (var context = new NewsDb())
            {
                var news  = context.News.ToList();
                var count = 1;
                news.ForEach(n =>
                {
                    Console.WriteLine("{0}. {1}", count, n.Content);
                    count++;
                });

                var continueReading = true;
                while (continueReading)
                {
                    Console.WriteLine("Enter news content:");
                    var content = Console.ReadLine();
                    var newNews = new News()
                    {
                        Content = content
                    };
                    context.News.Add(newNews);

                    try
                    {
                        context.SaveChanges();
                        continueReading = false;
                        Console.WriteLine("Changes successfully saved in the DB.");
                    }
                    catch (DbUpdateConcurrencyException ex)
                    {
                        Console.WriteLine("Conflict! Text from DB: {0}", content);
                    }
                }
            }
        }
 /// <summary>
 ///     Автоматически добавляет новость в БД
 /// </summary>
 /// <param name="news">Модель новости</param>
 /// <returns>Код ответа Create и добавленную модель</returns>
 public async Task AddAutoNews(NewsDb news)
 {
     news.CreatedDate = DateTime.UtcNow;
     _context.News.Add(news);
     await _context.SaveChangesAsync();
 }
 public NewsController(NewsDb context, IHostingEnvironment hosting)
 {
     db   = context;
     host = hosting;
 }
Esempio n. 28
0
 public anahabersController(NewsDb context, IHostingEnvironment hostin)
 {
     _context = context;
     host     = hostin;
 }
Esempio n. 29
0
 public defaultController(NewsDb database)
 {
     db = database;
 }
Esempio n. 30
0
 /// <summary>
 /// Конструктор класса
 /// </summary>
 public NewsRepository()
 {
     context = new NewsDb();
 }