public void GetAllNews_ShouldReturnAllNews() { var context = new NewsContext(); context.News.Delete(); var firstNews = new Models.News() { Title = "Murder", Content = "A man was slaughterd in Sofia last night.", PublishDate = DateTime.Now }; context.News.Add(firstNews); var secNews = new Models.News() { Title = "Eros Ramazzotti", Content = "Ramazzotti will sing in Sofia in September", PublishDate = DateTime.Now }; context.News.Add(secNews); context.SaveChanges(); var repo = new NewsRepository(context); var newsFromDB = repo.All().ToArray(); Assert.IsNotNull(newsFromDB[0]); Assert.AreEqual(firstNews.Title, newsFromDB[0].Title); Assert.AreEqual(firstNews.Content, newsFromDB[0].Content); Assert.AreEqual(firstNews.PublishDate, newsFromDB[0].PublishDate); Assert.IsTrue(newsFromDB[0].Id != 0); Assert.IsNotNull(newsFromDB[1]); Assert.AreEqual(secNews.Title, newsFromDB[1].Title); Assert.AreEqual(secNews.Content, newsFromDB[1].Content); Assert.AreEqual(secNews.PublishDate, newsFromDB[1].PublishDate); Assert.IsTrue(newsFromDB[1].Id != 0); }
public ActionResult AddNews(ViewModel viewModel) { try { Models.News news = new Models.News(); news.Descr = viewModel.Descr; string fileName = Path.GetFileNameWithoutExtension(viewModel.file.FileName); string extension = Path.GetExtension(viewModel.file.FileName); fileName = fileName + " " + DateTime.Now.ToString("yymmssfff") + extension; viewModel.NewsImage = "~/Content/image/news/" + fileName; fileName = Path.Combine(Server.MapPath("~/Content/image/news/"), fileName); viewModel.file.SaveAs(fileName); news.Image = viewModel.NewsImage; db.News.Add(news); db.SaveChanges(); ModelState.Clear(); return(RedirectToAction("NewsDetail")); } catch (Exception ex) { ViewData["message"] = ex.Message; return(RedirectToAction("Error")); } }
public void CreateNews_WhenNewsIsAddedToDbWithCorrectData_ShouldReturnNews() { // Arrange -> prapare the objects var repo = new NewsRepository(new NewsContext()); var news = new Models.News() { Title = "Sample New News", PublishDate = DateTime.Now, Content = "Sample New News Content" }; // Act -> perform some logic repo.Add(news); repo.SaveChanges(); // Assert -> validate the results var newsFromDb = repo.Find(news.Id); Assert.IsNotNull(newsFromDb); Assert.AreEqual(news.Title, newsFromDb.Title); Assert.AreEqual(news.Content, newsFromDb.Content); Assert.AreEqual(news.PublishDate, newsFromDb.PublishDate); Assert.IsTrue(newsFromDb.Id != 0); }
public void _Return_View_With_Model(string cloud, string apiKey, string apiSecret, int newsId) { //Arrange var model = new NewsDetailsViewModel(); var news = new Models.News(); var mockedAuthProvider = new Mock <IAuthenticationProvider>(); var mockedNewsService = new Mock <INewsService>(); mockedNewsService.Setup(n => n.GetNewsById(newsId)).Returns(news); var mockedViewModelFactory = new Mock <IViewModelFactory>(); mockedViewModelFactory.Setup(v => v.CreateNewsDetailsViewModel(It.IsAny <Models.News>())).Returns(model); var fakeAcc = new CloudinaryDotNet.Account(cloud, apiKey, apiSecret); var mockedCloudinary = new Mock <Cloudinary>(fakeAcc); var newsControllerSUT = new NewsController(mockedAuthProvider.Object, mockedNewsService.Object, mockedViewModelFactory.Object, mockedCloudinary.Object); //Act var res = newsControllerSUT.Details(newsId) as ViewResult; //Assert Assert.AreEqual(model, res.Model); }
public IActionResult News(ANews _news) { Models.News pro = new Models.News(); pro = _news.editedNews; if (ModelState.IsValid) { if (pro != null) { if (_news.editedNews.id == 0) { db.News.Add(pro); } else { Models.News pd = db.News.FirstOrDefault(); db.Entry(pd).State = Microsoft.EntityFrameworkCore.EntityState.Detached; db.SaveChanges(); db.News.Update(pro); } } } db.SaveChanges(); updateNewsList(1, "", "", 1); ModelState.Clear(); // ViewBag.pName = aProduct.editedProduct.name; // ViewBag.Id=aProduct.editedProduct.id; ViewBag.isCreation = "Create"; ViewBag.totalPage = Math.Ceiling(this.aNews.news.Count() / (double)nPageSize); return(View(this.aNews)); }
public HttpResponseMessage Put(int Id, Models.News value) { try { var News = from d in db.MstNews where d.Id == Id select d; if (News.Any()) { var UpdatedNews = News.FirstOrDefault(); SqlDateTime NewsDate = new SqlDateTime(new DateTime(Convert.ToDateTime(value.NewsDate).Year, + Convert.ToDateTime(value.NewsDate).Month, + Convert.ToDateTime(value.NewsDate).Day)); UpdatedNews.NewsDate = NewsDate.Value; UpdatedNews.News = value.NewsDescription; UpdatedNews.Particulars = value.Particulars; db.SubmitChanges(); return(Request.CreateResponse(HttpStatusCode.OK)); } else { return(Request.CreateResponse(HttpStatusCode.NotFound)); } } catch (NullReferenceException) { return(Request.CreateResponse(HttpStatusCode.BadRequest)); } }
public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; if (context.Session["User"] == null) { context.Response.Write("no permission"); } int id = -1; bool topState = false; int.TryParse(context.Request["id"], out id); topState = Convert.ToBoolean(context.Request["topState"]); if (id <= 0) { context.Response.Write("error"); context.Response.End(); return; } Models.News n = new Models.News() { NewsId = id, IsTop = topState }; if (CommonNews.Helper.OperateContext.Current.TransferTopState(n)) { context.Response.Write("true"); } else { context.Response.Write("error"); } }
public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; //判断Session,验证权限 if (context.Session["User"] != null) { string title = context.Request["newsTitle"], content = context.Request["newsContent"], type = context.Request["newsType"], imgPath = context.Request["imagePath"], attachPath = context.Request["attachPath"], externalLink = context.Request["externalLink"], publishDate = context.Request["publishDate"]; int nType = -1; int.TryParse(type, out nType); //验证数据合法性 if (nType <= 0 || String.IsNullOrEmpty(title)) { return; } Models.News n = new Models.News() { NewsTitle = title, NewsContent = Common.ConverterHelper.GetContent(content), NewsTypeId = nType, NewsImagePath = Common.ConverterHelper.GetContent(imgPath), NewsAttachPath = Common.ConverterHelper.GetContent(attachPath), NewsExternalLink = Common.ConverterHelper.GetContent(externalLink), PublishTime = String.IsNullOrEmpty(publishDate)?DateTime.Now:Convert.ToDateTime(publishDate) }; if (CommonNews.Helper.OperateContext.Current.AddNews(n)) { context.Response.Write("true"); } else { context.Response.Write("false"); } } else { context.Response.Write("no permission"); } }
public async Task <IActionResult> Edit(long id, [Bind("Id,Title,PublisherId,NewsDate,Content,Image")] Models.News news) { if (id != news.Id) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(news); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!NewsExists(news.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(news)); }
public virtual System.Web.Mvc.ActionResult Edit(Models.News news) { news.UpdateDateTime = Infrastructure.Utility.Now; if (ModelState.IsValid) { if (Request.Files["FileName"].ContentLength > 0) { string directoryReal = string.Format("{0}/{1}", Server.MapPath("~/Content/NewsFiles"), Request.Files["FileName"].FileName); string filname = Request.Files["FileName"].FileName; Request.Files["FileName"].SaveAs(directoryReal); news.FileName = filname; } else { } news.FA_Description = System.Web.HttpUtility.HtmlDecode(news.FA_Description); UnitOfWork.NewsRepository.Update(news); UnitOfWork.Save(); return(RedirectToAction(MVC.News.AdminIndex())); } return(View(news)); }
public void AddNewsWhenNewsIsAddedToDbShouldReturnNews() { //Arange -> prepare the objects var repo = new Repository<Models.News>(new NewsContext()); var news = new Models.News() { Id = 1, Title = "title 1", Content = "content 1", PublishedData = DateTime.Now }; //Act -> perform some logic repo.Add(news); repo.SaveChanges(); //Assert -> validate the results var newsFromDb = repo.GetById(news.Id); Assert.IsNotNull(newsFromDb); Assert.AreEqual(news.Title, newsFromDb.Title); Assert.AreEqual(news.Content, newsFromDb.Content); Assert.AreEqual(news.PublishedData, newsFromDb.PublishedData); Assert.IsTrue(newsFromDb.Id != 0); }
public ActionResult DeleteConfirmed(int id) { Models.News news = db.News.Find(id); db.News.Remove(news); db.SaveChanges(); return(RedirectToAction("Index")); }
/// <summary> /// 添加新闻 /// </summary> /// <param name="news"></param> /// <param name="u"></param> /// <returns></returns> public bool AddNews(Models.News news) { //设置新闻发布时间--已经在Handler处设置 //news.PublishTime = DateTime.Now; //新闻发布人 news.NewsPublisher = (HttpContext.Current.Session["User"] as Models.User).UserName; try { if (String.IsNullOrEmpty(news.NewsExternalLink)) { //news 静态化,设置news 的NewsPath //获取当前时间字符串,构建新闻路径 string timeString = DateTime.Now.ToString("yyyyMMddHHmmssfff"); news.NewsPath = "/News/" + news.NewsTypeId.ToString() + "/" + timeString.Substring(0, 6) + "/" + timeString + ".html"; //添加新闻并获取新闻id,统计浏览次数 news.NewsId = BLLSession.INews.AddDataWithIdReturn(news); //创建静态文件 CreateNewsFile(news); } return(true); } catch (Exception ex) { logger.Error(ex); return(false); } }
/// <summary> /// 更新新闻 /// </summary> /// <param name="news">新闻ViewModel实体</param> /// <returns></returns> public bool UpdateNews(Models.News news) { news.NewsPublisher = (HttpContext.Current.Session["User"] as Models.User).UserName; try { //判断新闻有指向外链 if (String.IsNullOrEmpty(news.NewsExternalLink)) { //news 静态化,设置news 的 NewsId,统计浏览次数 //获取新闻路径 if (String.IsNullOrEmpty(news.NewsPath)) { news.NewsPath = SelectNews(news.NewsId).NewsPath; } //创建静态文件 CreateNewsFile(news); } //设置修改项 return(BLLSession.INews.Modify(news, "NewsTypeId", "NewsTitle", "NewsContent", "NewsPublisher", "NewsPath", "NewsImagePath", "NewsAttachPath", "NewsExternalLink", "IsTop") == 1); } catch (Exception ex) { logger.Error(ex); return(false); } }
public ActionResult Edit(Models.News editPro) { if (Session["accname"] == null) { Session["accname"] = null; return(RedirectToAction("Login", "Account")); } else { ViewBag.pdcListEdit = new SelectList(news.Themes, "ID", "TenChuDe"); try { news.Entry(editPro).State = System.Data.Entity.EntityState.Modified; news.SaveChanges(); SetAlert("Cập nhật tin tuc thành công!", "success"); return(RedirectToAction("Index", "News")); } catch (Exception) { ViewBag.EditProError = "Không thể cập nhật tin tức."; } return(View()); } }
public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; //Model.FormatModel.JsonMsgModel jsonMsg; int id = -1; int.TryParse(context.Request["id"], out id); if (id <= 0) { //jsonMsg = new Model.FormatModel.JsonMsgModel() { BackupUrl = context.Request.UrlReferrer.ToString(), Msg = "error", Status = Model.FormatModel.JsonMsgStatus.error }; context.Response.Write("error"); context.Response.End(); return; } try { Models.News news = CommonNews.Helper.OperateContext.Current.SelectNews(id); //jsonMsg = new Model.FormatModel.JsonMsgModel() { BackupUrl = context.Request.UrlReferrer.ToString(), Data = news, Msg = "success", Status = Model.FormatModel.JsonMsgStatus.ok }; string jsonData = Common.ConverterHelper.ObjectToJson(news); context.Response.Write(jsonData); } catch (System.Exception) { context.Response.Write("error"); } }
public int Post(Models.News value) { try { Data.MstNew NewNews = new Data.MstNew(); DateTime myDate = Convert.ToDateTime(value.NewsDate, new CultureInfo("en-US")); SqlDateTime NewsDate = new SqlDateTime(new DateTime(Convert.ToDateTime(myDate).Year, + Convert.ToDateTime(myDate).Month, + Convert.ToDateTime(myDate).Day)); NewNews.NewsDate = NewsDate.Value; NewNews.News = value.NewsDescription; NewNews.Particulars = value.Particulars; db.MstNews.InsertOnSubmit(NewNews); db.SubmitChanges(); return(NewNews.Id); } catch { return(0); } }
public override System.Web.Mvc.ActionResult Edit(Models.News news) { var callInfo = new T4MVC_System_Web_Mvc_ActionResult(Area, Name, ActionNames.Edit); ModelUnbinderHelpers.AddRouteValues(callInfo.RouteValueDictionary, "news", news); EditOverride(callInfo, news); return(callInfo); }
protected async Task Hide(Models.News item) { await _newsService.HideAsync(item.Id); await SaveAsync(); StateHasChanged(); }
public ShortNewsViewModel(Models.News news) { this.Id = news.NewsId; this.Title = news.Title; this.ImageUrl = news.ImageUrl; this.DatePublished = news.DatePublished; this.Views = news.Views; }
private (bool, string) CanLikeOrDislikeNews(Models.News news) { var userId = User.FindFirst(JwtRegisteredClaimNames.Sub)?.Value; var foundedUserNews = _context.Set <UserNews>().Where(userNews => userNews.NewsId == news.Id) .Where(userNews => userNews.UserId == userId).Any(); return(!foundedUserNews, userId); }
public NewsDetailPage(Models.News news) { InitializeComponent(); viewModel = new ViewModels.NewsDetailViewModel(news); this.BindingContext = viewModel; web.Source = new HtmlWebViewSource() { Html = news.HtmlContent }; }
//Action to insert new news public IActionResult AddNews(Models.News model) { model.Date = DateTime.Now; var category = _dataBaseContext.Categories.Where(c => c.Name == model.Category.Name).ToList(); model.CategoryId = category[0].Id; model.Category = null; _dataBaseContext.Add(model); _dataBaseContext.SaveChanges(); return(RedirectToAction("Admin")); }
public ActionResult Edit([Bind(Include = "News_id,News_title,News_content,News_date,Cat_id")] Models.News news) { if (ModelState.IsValid) { db.Entry(news).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.Cat_id = new SelectList(db.Categories, "Cat_id", "Cat_title", news.Cat_id); return(View(news)); }
protected void Add() { Model = new Models.News(); // Model.AppUser = new AppUser(); Model.GamesGroups = new List <Models.GamesGroup>(); Model.Images = new List <Image>(); _showAdd = true; _isButtonAddVisible = false; }
async void Save_Clicked(object sender, EventArgs e) { Loading.IsVisible = true; Loading.IsRunning = true; try { App.localizer.SetLocale(App.defaultCulture); RestClient restClient = App.restClient; Models.News news = new Models.News(); news.User = App.user; if (news.User == null) { await DisplayAlert(App.localizeResProvider.GetText("Notification"), App.localizeResProvider.GetText("String186"), "Ok"); } else { if (this.news != null) { this.news.User = App.user; this.news.Content = Content; this.news.Title = txtTitle.Text; var result = await restClient.PutAsync("news", this.news.ToModel(), this.news.NewsId); if (result == ApiStatusConstant.SUCCESS) { await DisplayAlert(App.localizeResProvider.GetText("Notification"), App.localizeResProvider.GetText("String195"), "Ok"); } } else { news.Status = 0; news.Content = Content; news.Title = txtTitle.Text; news.CreatedTime = DateTime.Now; var result = await restClient.PostAsync("news", news); if (result == ApiStatusConstant.SUCCESS) { await DisplayAlert(App.localizeResProvider.GetText("Notification"), App.localizeResProvider.GetText("String196"), "Ok"); } } var existingPages = Navigation.NavigationStack.ToList(); for (int i = 1; i < existingPages.Count; i++) { Navigation.RemovePage(existingPages[i]); } } } catch (Exception ex) { } Loading.IsVisible = false; Loading.IsRunning = false; }
public async Task <IActionResult> Post(Models.News model) { if (model == null) { return(BadRequest()); } var createdEntity = await _entityService.Create(model); return(Created(createdEntity)); }
public NewsDetailsViewModel(Models.News news) { this.Id = news.NewsId; this.Title = news.Title; this.Text = news.Text; this.ImageUrl = news.ImageUrl; this.DatePublished = news.DatePublished; this.Views = news.Views; this.Category = news.Category.Name; this.Author = news.Author.UserName; this.Comments = news.Comments; }
public static NewsItemViewModel FromModel(Models.News news) { return(new NewsItemViewModel { PreviewImageUri = news.Body != null?news.Body.GetFirstImageUri() : "", NewsId = news.NewsId, Title = news.Title, AuthorId = news.AuthorId, Date = news.Date, _dataModel = news }); }
public NewsViewModel Execute(EditNewsViewModel request) { UnitOfWork.BeginTransaction(); Models.News model; if (!request.Id.HasDefaultValue()) { model = Repository .AsQueryable <Models.News>() .Where(t => t.Id == request.Id) .ToList() .FirstOne(); } else { model = new Models.News(); } model.Version = request.Version; model.CategoryId = request.CategoryId; model.Title = request.Title; model.Title_en = request.Title_en; model.Summary = request.Summary; model.Summary_en = request.Summary_en; model.Content = request.Content; model.Content_en = request.Content_en; model.PublishDate = request.PublishDate; model.SortOrder = request.SortOrder; if (request.Image != null && request.Image.ImageId.HasValue) { model.Image = Repository.AsProxy <MediaImage>(request.Image.ImageId.Value); } else { model.Image = null; } Repository.Save(model); UnitOfWork.Commit(); if (!request.Image.ImageId.HasValue) { request.Image.ThumbnailUrl = "/file/bcms-pages/content/styles/images/bcms-no-image-2.png"; } return(new NewsViewModel { Id = model.Id, CategoryId = model.CategoryId, Title = model.Title, Title_en = model.Title_en, SortOrder = model.SortOrder, Image = request.Image }); }
public void Creating_News_With_Incorrect_Data_Should_Throw_Exception() { var fakeNews = new Models.News { Title = null, Content = null, PublishDate = DateTime.Now }; repo.News.Add(fakeNews); repo.SaveChanges(); }
public void Modify_Existing_News_Item_With_Incorrect_Data_Should_Throw_Exception() { var news = new Models.News { Id = 2, Title = null, Content = null, PublishDate = DateTime.Now }; repo.News.Update(news); repo.SaveChanges(); }
public void Modifying_Non_Existing_News_Should_Throw_Exception() { var news = new Models.News { Id = 2000, Title = "eeee", Content = "Modified", PublishDate = DateTime.Now }; repo.News.Update(news); repo.SaveChanges(); }
public void AddNewsWhenNewsIsInvalidShouldThrowException() { //Arrange -> prepare the objects var repo = new Repository<Models.News>(new NewsContext()); var invalidNews = new Models.News() { Content = null }; //Act -> perform some logic repo.Add(invalidNews); repo.SaveChanges(); //Assert -> expect an exception }
public void Creating_News_Should_Create_And_Return_The_News() { var news = new Models.News { Title = "New 1", Content = "New 1", PublishDate = DateTime.Now }; repo.News.Add(news); repo.SaveChanges(); var newsFromDb = repo.News.Find(news.Id); Assert.IsNotNull(newsFromDb); Assert.AreEqual(news, newsFromDb); }
public void Modify_Existing_News_Item_With_Correct_Data_Modifies_The_Item() { var news = new Models.News { Id = 2, Title = "Modified", Content = "Modified", PublishDate = DateTime.Now }; repo.News.Update(news); repo.SaveChanges(); var modifiedNews = repo.News.Find(2); Assert.IsNotNull(modifiedNews); Assert.AreEqual(news, modifiedNews); }
public void ModifyNewsWhenExistingItemShouldModify() { var repo = new Repository<Models.News>(new NewsContext()); var news = new Models.News() { Id = 1, Title = "1", Content = "1", PublishedData = DateTime.Now }; //Act -> perform some logic repo.Add(news); repo.SaveChanges(); news.Title = "2"; news.Content = "2"; repo.Update(news); repo.SaveChanges(); var newsFromDb = repo.GetById(news.Id); Assert.IsNotNull(newsFromDb); Assert.AreEqual("2", newsFromDb.Title); Assert.AreEqual("2", newsFromDb.Content); Assert.IsTrue(newsFromDb.Id != 0); }
public void DeleteNewsWhenExistingItemShouldDelete() { //Arrange -> prepare the objects var repo = new Repository<Models.News>(new NewsContext()); var news = new Models.News() { Id = 1, Title = "1", Content = "1", PublishedData = DateTime.Now }; //Act -> perform some logic repo.Add(news); repo.SaveChanges(); var newsFromDb = repo.GetById(news.Id); repo.Delete(newsFromDb); repo.SaveChanges(); var newNewsFromDb = repo.GetById(news.Id); Assert.IsNull(newNewsFromDb); }
public void CreateNews_WhenNewsIsInvalid_ShouldThrowException() { var repo = new NewsRepository(new NewsContext()); var invalidNews = new Models.News() { Title = null, Content = "bla bla", PublishDate = DateTime.Now }; repo.Add(invalidNews); repo.SaveChanges(); // Assert -> expect an exception }
public void ModifyNews_WhenExistingNewsIsModifiedWithCorrectData_ShouldReturnNews() { var context = new NewsContext(); context.News.Delete(); var news = new Models.News() { Title = "Murder", Content = "A man was slaughterd in Sofia last night.", PublishDate = DateTime.Now }; context.News.Add(news); context.SaveChanges(); var repo = new NewsRepository(context); var newsToChange = repo.Find(news.Id); newsToChange.Title = "Murder committed last night"; repo.SaveChanges(); var newsFromDb = repo.Find(news.Id); Assert.IsNotNull(newsFromDb); Assert.AreEqual(newsToChange.Title, newsFromDb.Title); Assert.AreEqual(news.Content, newsFromDb.Content); Assert.AreEqual(news.PublishDate, newsFromDb.PublishDate); Assert.IsTrue(newsFromDb.Id != 0); }
public void ModifyNews_WhenExistingNewsIsModifiedWithIncorrectData_ShouldThrowException() { var context = new NewsContext(); context.News.Delete(); var news = new Models.News() { Title = "Murder", Content = "A man was slaughterd in Sofia last night.", PublishDate = DateTime.Now }; context.News.Add(news); context.SaveChanges(); var repo = new NewsRepository(context); var newsToChange = repo.Find(news.Id); newsToChange.Title = null; repo.SaveChanges(); }
public void DeleteNews_WhenDeletingExistingNews_ShouldDeleteNews() { var context = new NewsContext(); context.News.Delete(); var news = new Models.News() { Title = "Murder", Content = "A man was slaughterd in Sofia last night.", PublishDate = DateTime.Now }; context.News.Add(news); context.SaveChanges(); var repo = new NewsRepository(context); repo.Delete(news); repo.SaveChanges(); var newsFromDb = repo.All().ToArray(); Assert.AreEqual(0, newsFromDb.Count()); }