コード例 #1
0
        public IActionResult CreatePost(PostModel newPost)
        {
            setUser();
            if (!_user.IsAdmin)
            {
                return(RedirectToAction("Index", "Home"));
            }
            if (!ModelState.IsValid)
            {
                return(View());
            }

            Post post = new Post
            {
                Title        = newPost.Title,
                Abstract     = newPost.Abstract,
                Content      = newPost.Content,
                CreationDate = DateTime.Now,
                UserId       = _user.Id,
                Poster       = getPosterPath(newPost.Poster),
                Category     = GetCategory(newPost.Category)
            };

            SetPostTags(newPost.Tags, post);

            _context.Posts.Add(post);
            _context.SaveChanges();

            return(RedirectToAction("Index", "Home"));
        }
コード例 #2
0
        public ActionResult Create([Bind(Include = "idLT,Ten,Ten_KhongDau,ThuTu,AnHien,idTL")] loaitin type)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    bool isExists = (from t in db.loaitins
                                     where t.Ten == type.Ten
                                     select t).Count() > 0;
                    if (isExists)
                    {
                        ModelState.AddModelError("", "Tên loại tin đã tồn tại! Vui lòng nhập tên khác.");
                    }
                    else
                    {
                        type.Ten_KhongDau = StringHelper.ToUnsignString(type.Ten);
                        db.loaitins.Add(type);
                        db.SaveChanges();
                        return(RedirectToAction("Index"));
                    }
                }
            }
            catch { ModelState.AddModelError("", "Có lỗi khi thêm mới thông tin Loại tin! Vui lòng thử lại."); }

            ViewBag.idTL = new SelectList(db.theloais, "idTL", "TenTL", type.idTL);
            return(View(type));
        }
コード例 #3
0
        public ActionResult Create([Bind(Include = "Title,NewsContant,Side,NewsReporter")] News news, HttpPostedFileBase[] UploadImage)
        {
            if (ModelState.IsValid)
            {
                if (UploadImage != null)
                {
                    foreach (var image in UploadImage)
                    {
                        if (image.ContentLength > 0)
                        {
                            byte[] imageByte = null;
                            using (var binaryImage = new BinaryReader(image.InputStream))
                            {
                                imageByte = binaryImage.ReadBytes(image.ContentLength);
                            }

                            news.Image = imageByte;
                        }
                    }
                }

                news.NewsDate = DateTime.Now;
                db.News.Add(news);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(news));
        }
コード例 #4
0
        public ActionResult Create([Bind(Include = "idTin,TieuDe,TieuDe_KhongDau,TomTat,urlHinh,idUser,Content, idLT,idTL,AnHien")] tin news, HttpPostedFileBase urlHinh)
        {
            if (ModelState.IsValid)
            {
                if (urlHinh.ContentLength <= 0)
                {
                    return(View(news));
                }

                string _FileName = Path.GetFileName(urlHinh.FileName) + DateTime.Now.ToString("ddMMyyyyhmi");
                string _path     = Path.Combine(Server.MapPath("~/Assets/upload/tintuc/"), _FileName);
                urlHinh.SaveAs(_path);

                news.TieuDe_KhongDau = StringHelper.ToUnsignString(news.TieuDe);
                news.idUser          = Convert.ToInt32(Session["ID"]);
                news.urlHinh         = _FileName;
                news.Ngay            = DateTime.Now;
                db.tins.Add(news);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.idLT   = new SelectList(db.loaitins, "idLT", "Ten", news.idLT);
            ViewBag.idTL   = new SelectList(db.theloais, "idTL", "TenTL", news.idTL);
            ViewBag.idUser = new SelectList(db.users, "idUser", "HoTen", news.idUser);
            return(View(news));
        }
コード例 #5
0
        public ActionResult Create(theloai category)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    bool isExists = (from c in db.theloais
                                     where c.TenTL == category.TenTL
                                     select c.TenTL
                                     ).Count() > 0;
                    if (isExists)
                    {
                        ModelState.AddModelError("", "Tên thể loại đã tồn tại! Vui lòng nhập tên khác.");
                    }
                    else
                    {
                        category.TenTL_KhongDau = StringHelper.ToUnsignString(category.TenTL);

                        db.theloais.Add(category);
                        db.SaveChanges();
                        return(RedirectToAction("Index"));
                    }
                }
            }
            catch
            {
                ModelState.AddModelError("", "Có lỗi khi thêm mới thông tin Thể loại! Vui lòng thử lại.");
            }
            return(View(category));
        }
コード例 #6
0
        public ActionResult Create([Bind(Include = "CategoryId,CategoryName")] Category category)
        {
            if (ModelState.IsValid)
            {
                db.Categories.Add(category);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(category));
        }
コード例 #7
0
        public ActionResult Create([Bind(Include = "TagId,TagName")] NewsTag newsTag)
        {
            if (ModelState.IsValid)
            {
                db.NewsTags.Add(newsTag);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(newsTag));
        }
コード例 #8
0
        public ActionResult Create([Bind(Include = "UserId,Name,Password,Email,Permission")] User user)
        {
            if (ModelState.IsValid)
            {
                db.Users.Add(user);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(user));
        }
コード例 #9
0
ファイル: NewsRepo.cs プロジェクト: azsatti/NewsSite
        public async Task Add(NewsArticle newsArticle)
        {
            if (newsArticle == null)
            {
                throw new ArgumentNullException();
            }

            await _context.Set <NewsArticle>().AddAsync(newsArticle);

            _context.SaveChanges();
        }
コード例 #10
0
        public ActionResult Create([Bind(Include = "ArticleId,Title,Description,Date,NumOfLikes,ImageLink,ArticleLink,CategoryId,UserId")] Article article)
        {
            if (ModelState.IsValid)
            {
                db.Articles.Add(article);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.CategoryId = new SelectList(db.Categories, "CategoryId", "Name", article.CategoryId);
            ViewBag.UserId     = new SelectList(db.Users, "UserId", "Name", article.UserId);
            return(View(article));
        }
コード例 #11
0
        public void DbInitialization()
        {
            //Arrange
            var options = new DbContextOptionsBuilder <NewsDbContext>().UseInMemoryDatabase(Guid.NewGuid().ToString()).Options;

            this.db = new NewsDbContext(options);
            var userService = new UserService(db);

            var user1 = new User()
            {
                Id = "1", UserName = "******"
            };
            var user2 = new User()
            {
                Id = "2", UserName = "******"
            };
            var user3 = new User()
            {
                Id = "3", UserName = "******"
            };
            var user4 = new User()
            {
                Id = "4", UserName = "******"
            };


            db.Users.AddRange(user1, user2, user3, user4);
            db.SaveChanges();
        }
コード例 #12
0
        public void DbInitialization()
        {
            //Arrange
            var options = new DbContextOptionsBuilder <NewsDbContext>().UseInMemoryDatabase(Guid.NewGuid().ToString()).Options;

            this.db = new NewsDbContext(options);
            var articleService = new ArticleService(db);

            var author = new User()
            {
                Id = "2", UserName = "******"
            };
            var category = new Category()
            {
                Id = 1, Name = "TestCategory"
            };

            var article1 = new Article()
            {
                Id = 1, Title = "Test1", Author = author, Category = category
            };
            var article2 = new Article()
            {
                Id = 2, Title = "Test2", Author = author, Category = category
            };
            var article3 = new Article()
            {
                Id = 3, Title = "Test3", Author = author, Category = category
            };

            db.Articles.AddRange(article1, article2, article3);
            db.SaveChanges();
        }
コード例 #13
0
        public void DeleteUserById(string id)
        {
            var user = this.db.Users.FirstOrDefault(u => u.Id == id);

            this.db.Users.Remove(user);
            db.SaveChanges();
        }
コード例 #14
0
ファイル: ParalelUpdates.cs プロジェクト: SGStoyanov/SoftUni
        public static void MakeParalelUpdate()
        {
            Database.SetInitializer(new MigrateDatabaseToLatestVersion<NewsDbContext, Configuration>());
            var context = new NewsDbContext();
            var firstNews = context.News.FirstOrDefault();

            Console.WriteLine("First news current content: " + firstNews.Content);
            Console.WriteLine("Enter the new text: ");

            using (var transaction = context.Database.BeginTransaction())
            {
                try
                {
                    var newText = Console.ReadLine();
                    firstNews.Content = newText;
                    context.SaveChanges();
                    transaction.Commit();

                    Console.WriteLine("Update successful");
                }
                catch (Exception ex)
                {
                    transaction.Rollback();
                    Console.WriteLine("Conflict occured! \nThe transcation has been rolled back!");
                    Console.WriteLine(ex.Message);
                    MakeParalelUpdate();
                }
            }
        }
コード例 #15
0
        public void TestListAll()
        {
            ClearNews();
            var news = new[]
            {
                new News {
                    Title = "Zaglavie", Content = "dadadada"
                },
                new News {
                    Title = "Asdjoqwe", Content = "asodojk"
                }
            };

            using (var dbContext = new NewsDbContext())
            {
                dbContext.News.AddRange(news);
                dbContext.SaveChanges();
            }

            var httpResponse = this.httpClient.GetAsync("/api/news").Result;
            var returnedNews = httpResponse.Content.ReadAsAsync <List <News> >().Result;

            Assert.AreEqual(HttpStatusCode.OK, httpResponse.StatusCode);
            Assert.AreEqual(httpResponse.Content.Headers.ContentType.MediaType, "application/json");
            Assert.AreEqual(2, returnedNews.Count);
            for (var i = 0; i < returnedNews.Count; i++)
            {
                Assert.AreEqual(returnedNews[i].Content, news[i].Content);
                Assert.AreEqual(returnedNews[i].Title, news[i].Title);
                Assert.AreEqual(returnedNews[i].PublishDate.ToString(), news[i].PublishDate.ToString());
                Assert.AreEqual(returnedNews[i].UserId, news[i].UserId);
            }
        }
コード例 #16
0
 private static void AddUsers(NewsDbContext context)
 {
     context.Users.Add(new UserProfile {
         UserId = "Jack", FirstName = "Jackson", LastName = "James", Contact = "9812345670", Email = "*****@*****.**", CreatedAt = DateTime.Now
     });
     context.SaveChanges();
 }
コード例 #17
0
 private static void AddReminders(NewsDbContext context)
 {
     context.Reminders.Add(new Reminder {
         NewsId = 101, Schedule = DateTime.Now.AddDays(5)
     });
     context.SaveChanges();
 }
コード例 #18
0
        public void TestModifyInvalidNews()
        {
            ClearNews();
            var news = new News {
                Title = "Zaglavie", Content = "tralala123"
            };

            using (var dbContext = new NewsDbContext())
            {
                dbContext.News.Add(news);
                dbContext.SaveChanges();
            }

            var postContent = new FormUrlEncodedContent(new[]
            {
                new KeyValuePair <string, string>("content", "No Title")
            });

            var httpResponse = this.httpClient.PutAsync("/api/news/" + news.Id, postContent).Result;

            Assert.AreEqual(HttpStatusCode.BadRequest, httpResponse.StatusCode);

            using (var dbContext = new NewsDbContext())
            {
                var newsFromDb = dbContext.News.FirstOrDefault();
                Assert.IsNotNull(newsFromDb);
                Assert.AreEqual(news.Title, newsFromDb.Title);
                Assert.AreEqual(news.Content, newsFromDb.Content);
            }
        }
コード例 #19
0
        public void DbInitialization()
        {
            //Arrange
            var options = new DbContextOptionsBuilder <NewsDbContext>().UseInMemoryDatabase(Guid.NewGuid().ToString()).Options;

            this.db = new NewsDbContext(options);
            var categoryService = new CategoryService(db);

            var author = new User()
            {
                Id = "2", UserName = "******"
            };
            var category1 = new Category()
            {
                Id = 1, Name = "Movies"
            };
            var category2 = new Category()
            {
                Id = 2, Name = "Fashion"
            };
            var category3 = new Category()
            {
                Id = 3, Name = "Travel"
            };

            db.Categories.AddRange(category1, category2, category3);
            db.SaveChanges();
        }
コード例 #20
0
 public void Delete(News news)
 {
     using (var ctx = new NewsDbContext())
     {
         ctx.News.Remove(news);
         ctx.SaveChanges();
     }
 }
コード例 #21
0
 public void Update(News news)
 {
     using (var ctx = new NewsDbContext())
     {
         ctx.News.Update(news);
         ctx.SaveChanges();
     }
 }
コード例 #22
0
        // The id parameter name should match the DataKeyNames value set on the control
        public void ListViewCategories_UpdateItem(int ID)
        {
            Category item = dbContext.Categories.Find(ID);

            // Load the item here, e.g. item = MyDataLayer.Find(id);
            if (item == null)
            {
                // The item wasn't found
                ModelState.AddModelError("", String.Format("Item with id {0} was not found", ID));
                return;
            }
            TryUpdateModel(item);
            if (ModelState.IsValid)
            {
                dbContext.SaveChanges();
            }
        }
コード例 #23
0
 private static void ClearUsers()
 {
     using (var dbContext = new NewsDbContext())
     {
         dbContext.Users.Delete();
         dbContext.SaveChanges();
     }
 }
コード例 #24
0
ファイル: NewsController.cs プロジェクト: zepoxnyan/MACA
        public ActionResult Create([Bind(Include = "Title,Abstract,Text,Author,Source,SourceLink,DatePublished,Image,ImageAuthor,ImageDescription")] NewsViewModel newsView)
        {
            if (ModelState.IsValid)
            {
                News news = new News();
                news.NewsID           = Guid.NewGuid();
                news.Title            = newsView.Title;
                news.Abstract         = newsView.Abstract;
                news.Text             = newsView.Text;
                news.Author           = newsView.Author;
                news.Source           = newsView.Source;
                news.SourceLink       = newsView.SourceLink;
                news.DatePublished    = newsView.DatePublished;
                news.ImageAuthor      = newsView.ImageAuthor;
                news.ImageDescription = newsView.ImageDescription;

                news.DateCreated    = DateTime.Now;
                news.DateModified   = DateTime.Now;
                news.UserCreatedID  = User.Identity.GetUserId();
                news.UserModifiedID = User.Identity.GetUserId();

                // Handle the image
                if (newsView.Image != null && newsView.Image.ContentLength > 0)
                {
                    if (!Auxiliaries.ValidImageTypes.Contains(newsView.Image.ContentType))
                    {
                        ModelState.AddModelError("Image", "Choose an image in one of the following formats: GIF, JPG, or PNG.");
                    }
                    else
                    {
                        using (var reader = new BinaryReader(newsView.Image.InputStream))
                        {
                            news.Image = reader.ReadBytes(newsView.Image.ContentLength);
                        }
                    }
                }

                db.News.Add(news);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(newsView));
        }
コード例 #25
0
 private static void AddNews(NewsDbContext context)
 {
     context.NewsList.Add(new News {
         NewsId = 101, Title = "IT industry in 2020", Content = "It is expected to have positive growth in 2020.", PublishedAt = DateTime.Now, UrlToImage = null, CreatedBy = "Jack", Url = null
     });
     context.NewsList.Add(new News {
         NewsId = 102, Title = "2020 FIFA U-17 Women World Cup", Content = "The tournament will be held in India between 2 and 21 November 2020", PublishedAt = DateTime.Now, UrlToImage = null, CreatedBy = "Jack"
     });
     context.SaveChanges();
 }
コード例 #26
0
        public Task <News> AddNews(News news)
        {
            if (news.NewsId == 0)
            {
                for (int x = 101; x < 10000; x++)
                {
                    var find = _context.NewsList?.ToList().Find(c => c.NewsId == x);
                    if (find == null)
                    {
                        news.NewsId = x;
                        break;
                    }
                }
            }

            _context.NewsList.Add(news);
            _context.SaveChanges();
            return(Task.FromResult(news));
        }
コード例 #27
0
        public string Add(News news)
        {
            using (var ctx = new NewsDbContext())
            {
                ctx.News.Add(news);
                ctx.SaveChanges();
            }

            return("Haberiniz başarıyla kayıt edilmiştir.");
        }
コード例 #28
0
        public ActionResult Create([Bind(Include = "Id,Tittle,Description,Body,Published,PostedDate,Modified,CategoryID")] News news, string[] selectedTags)
        {
            news.PostedDate = DateTime.Now;

            if (selectedTags != null)
            {
                news.NewsTags = new List <NewsTag>();
                foreach (var tag in selectedTags)
                {
                    var addtag = db.NewsTags.Find(int.Parse(tag));
                    news.NewsTags.Add(addtag);
                }
            }
            if (ModelState.IsValid)
            {
                db.News.Add(news);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            TagList(news);
            CategoryList(news.CategoryID);
            return(View(news));
        }
コード例 #29
0
ファイル: NewsRepo.cs プロジェクト: azsatti/NewsSite
        public NewsRepo(NewsDbContext context)
        {
            _context = context;

            if (!_context.NewsArticles.Any())
            {
                _context.Set <NewsArticle>().Add(new NewsArticle
                {
                    Id            = 1,
                    Title         = "News1",
                    Body          = "News1-Body",
                    DatePublished = DateTime.UtcNow,
                    AuthorName    = "Author"
                });

                _context.SaveChanges();
            }
        }
コード例 #30
0
        public DatabaseFixture()
        {
            var options = new DbContextOptionsBuilder <NewsDbContext>()
                          .UseInMemoryDatabase(databaseName: "NewsDB")
                          .Options;

            //Initializing DbContext with InMemory
            context = new NewsDbContext(options);

            // Insert seed data into the database using one instance of the context

            context.NewsList.Add(new News {
                NewsId = 101, Title = "IT industry in 2020", Content = "It is expected to have positive growth in 2020.", PublishedAt = DateTime.Now, UrlToImage = null, UserId = "Jack"
            });
            context.SaveChanges();
            //context.NewsList.Add(new News { Title = "2020 FIFA U-17 Women World Cup", Content = "The tournament will be held in India between 2 and 21 November 2020.", PublishedAt = DateTime.Now, UrlToImage = null });
            //context.SaveChanges();
        }
コード例 #31
0
        public ActionResult Create(CreateArticleInputModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var category = categoryService.GetByName(model.Category);

            if (category == null)
            {
                category = new Category
                {
                    Name = model.Category
                };

                categoryService.SaveItem(category);
            }

            var username = User.Identity.Name;

            var author = new Author
            {
                Username = username
            };

            var article = new Article
            {
                Title      = model.Title,
                Author     = author,
                CategoryId = category.Id,
                Content    = model.Content,
                CreatedOn  = DateTime.UtcNow,
            };

            DbContext.Articles.Add(article);
            DbContext.SaveChanges();

            TempData["success"] = SuccessMessages.ArticleCreatedSuccess;

            return(RedirectToAction("All"));
        }
コード例 #32
0
        public static void Main()
        {
            Database.SetInitializer(new MigrateDatabaseToLatestVersion<NewsDbContext, Configuration>());
            Console.WriteLine("Application started");

            var contextFirstUser = new NewsDbContext();
            var firstNews = contextFirstUser.News.FirstOrDefault();
            bool running = true;

            do
            {
                if (firstNews != null)
                {
                    UpdateNewsContent(firstNews, contextFirstUser);

                    var contextSecondUser = new NewsDbContext();
                    firstNews = contextSecondUser.News.FirstOrDefault();
                    UpdateNewsContent(firstNews, contextSecondUser);
                    contextFirstUser.SaveChanges();
                    try
                    {
                        contextSecondUser.SaveChanges();
                    }
                    catch (DbUpdateConcurrencyException ex)
                    {
                        Console.WriteLine("Conflict! Text from DB: {0}. Enter the corrected text:", firstNews.Content);
                        Console.WriteLine(ex.Message);
                        UpdateNewsContent(firstNews, contextSecondUser);
                    }
                }
                else
                {
                    Console.WriteLine("Sorry, no news yet!");
                }
            } while (!running);
        }