// [System.Web.Http.HttpPost] public IHttpActionResult AddNews(NewsModel news) //ApiTest news) //(int id, string name) // //public IHttpActionResult AddNews(int id, string name) // { string Host = ""; //IEnumerable<string> origin; //Request.Headers.TryGetValues("Origin", out origin); //foreach (var i in origin) //{ // Host = i.ToString(); //} //if (Request.Headers.Contains("Origin")) // Host = Request.Headers.GetValues("Origin"); //var ip = CommonHelper.GetIP(request) //OrderTest callOrderHistory = new OrderTest(); //callOrderHistory.ID = id; //news.WhenCreated = DateTime.Now; //int s = news.GroupHeadId; _newsService.AddNews(news); //var response = this.Request.CreateResponse<CallOrderHistory>(HttpStatusCode.Created, callOrderHistory); //string uri = Url.Link("DefaultApi", new { id = callOrderHistory.ID }); //response.Headers.Location = new Uri(uri); //return response; //return "SUCCESS"; return(Ok(news)); }
public async Task <IActionResult> AddNews([FromBody] AddNewsForm form) { var news = new New { Text = form.Text, UserId = UserId }; var id = await _newsService.AddNews(news); return(Ok(id)); }
public async Task <JsonResult> AddNews(AddNewsDto dto, IFormFile uploadFile) { if (dto.NewsClassifyId <= 0) { return(Json(new ResponseModel { Code = 0, Result = "请选择新闻分类!" })); } if (string.IsNullOrWhiteSpace(dto.Title)) { return(Json(new ResponseModel { Code = 0, Result = "请填写新闻标题!" })); } if (string.IsNullOrEmpty(dto.Contents)) { return(Json(new ResponseModel { Code = 0, Result = "请输入新闻内容!" })); } if (uploadFile != null) { var webRootPath = _hostEnvironment.ContentRootPath; var relativeDirPath = "UploadFiles\\NewsPic"; var absolutePath = Path.Combine(webRootPath, relativeDirPath); var fileTypes = new string[] { ".gif", ".jpg", ".jpeg", ".png", ".bmp" }; var extension = Path.GetExtension(uploadFile.FileName); if (!fileTypes.Contains(extension.ToLower())) { return(Json(new ResponseModel { Code = 0, Result = "图片格式有误!" })); } if (!Directory.Exists(absolutePath)) { Directory.CreateDirectory(absolutePath); } var fileName = DateTime.Now.ToString("yyyyMMddHHmmss") + extension; var filePath = Path.Combine(absolutePath, fileName); await using (var stream = new FileStream(filePath, FileMode.Create)) { await uploadFile.CopyToAsync(stream); } dto.Image = Path.Combine("/UploadFiles/NewsPic/", fileName); } var result = _newsService.AddNews(dto); return(Json(result)); }
public void AddNewsReturnsFalseWhenPostIsNull() { var options = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()) .Options; ApplicationDbContext dbContext = new ApplicationDbContext(options); NewsService newsService = new NewsService(dbContext); NewsPost post = null; bool result = newsService.AddNews(post); Assert.AreEqual(false, result); }
public async Task AddNewsShouldThrowException() { News news = new News { Title = "chandrayaan2-spacecraft", Content = "The Lander of Chandrayaan-2 was named Vikram after Dr Vikram A Sarabhai", PublishedAt = DateTime.Now, CreatedBy = "Jack" }; var mockRepo = new Mock <INewsRepository>(); mockRepo.Setup(repo => repo.IsNewsExist(news)).Returns(Task.FromResult(true)); var service = new NewsService(mockRepo.Object); var actual = await Assert.ThrowsAsync <NewsAlreadyExistsException>(() => service.AddNews(news)); Assert.Equal($"This news is already added", actual.Message); }
public void AddNewsActuallyAddsPost() { var options = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()) .Options; ApplicationDbContext dbContext = new ApplicationDbContext(options); NewsService newsService = new NewsService(dbContext); NewsPost post = new NewsPost(); bool result = newsService.AddNews(post); int newsPostsCount = dbContext.Posts.Count(); Assert.AreEqual(1, newsPostsCount); }
public async Task <JsonResult> AddNews(AddNews news, IFormCollection collection) { if (news.NewsClassifyId < 0 || string.IsNullOrEmpty(news.Title) || string.IsNullOrEmpty(news.Contents)) { return(Json(new ResponseModel() { code = 0, result = "参数有误" })); } var files = collection.Files; if (files.Count > 0) { var webRootPath = _host.WebRootPath; string relativeDirPath = "\\NewsPic"; string absolutePath = webRootPath + relativeDirPath; string[] fileTypes = new string[] { ".gif", ".jpg", ".jpeg", ".png", ".bmp" }; string extension = Path.GetExtension(files[0].FileName); if (fileTypes.Contains(extension.ToLower())) { if (!Directory.Exists(absolutePath)) { Directory.CreateDirectory(absolutePath); } string fileName = DateTime.Now.ToString("yyyyMMddHHmmss") + extension; var filePath = absolutePath + "\\" + fileName; using (var stream = new FileStream(filePath, FileMode.Create)) { await files[0].CopyToAsync(stream); } news.Image = "/NewsPic/" + fileName; return(Json(_newsService.AddNews(news))); } return(Json(new ResponseModel() { code = 0, result = "图片格式有误" })); } return(Json(new ResponseModel() { code = 0, result = "请上传图片文件" })); }
public void AddNews_ShouldAddAsExpected() { // Arrange var news = new News() { Id = 6, Description = "news desc 6" }; mockNewsRepository.Setup(x => x.AddNews(It.IsAny <News>())).Returns(news); var service = new NewsService(Options.Create(new NewsApiSettings()), mockNewsRepository.Object); // Act var actual = service.AddNews(news); //Assert Assert.Equal(news, actual); }
protected void btnAdd_Click(object sender, EventArgs e) { AddNewsInDTO inDto = new AddNewsInDTO(); inDto.Type = (NewsType)int.Parse(drpType.SelectedValue); inDto.Title = txtTitle.Text.Trim(); inDto.Author = txtAuthor.Text.Trim(); inDto.Context = txtContext.Text.Trim(); var outDto = NewsService.AddNews(inDto); if (!outDto.IsSucceed) { LogProxy.Error(outDto.ErrorMsg); } Response.Redirect("/index.aspx"); }
public void RemoveNewsReturnsFalseWhenPostIdIsIncorrect() { var options = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()) .Options; ApplicationDbContext dbContext = new ApplicationDbContext(options); NewsService newsService = new NewsService(dbContext); int postId = 1; NewsPost post = new NewsPost() { Id = postId, }; newsService.AddNews(post); bool result = newsService.DeleteNews(15); Assert.AreEqual(false, result); }
public async Task <JsonResult> NewsAdd(AddNews news, IFormCollection collection) { if (news.NewsClassifyId <= 0 || string.IsNullOrEmpty(news.Title) || string.IsNullOrEmpty(news.Contents)) { return(Json(new ResponseModel { code = 0, result = "wrong params" })); } var files = collection.Files; if (files.Count > 0) { string webRootPath = _host.WebRootPath; string relativeDir = "/NewsPic"; string absolutePath = webRootPath + relativeDir; string[] fileTypes = new string[] { ".gif", ".jpg", ".jpeg", ".png", ".bmp", }; string extension = Path.GetExtension(files[0].FileName); if (fileTypes.Contains(extension)) { if (!Directory.Exists(absolutePath)) { Directory.CreateDirectory(absolutePath); } string fileName = DateTime.Now.ToString("yyyyMMddHHmmss") + extension; var filePath = absolutePath + '/' + fileName; using (var stream = new FileStream(filePath, FileMode.Create)) { await files[0].CopyToAsync(stream); } news.Image = "/NewsPic/" + fileName; return(Json(_newsService.AddNews(news))); } return(Json(new ResponseModel { code = 0, result = "Invalid image format" })); } return(Json(new ResponseModel { code = 0, result = "Please upload image" })); }
public void GetNewsByIdReturnsNullWhenIdIsIncorrect() { var options = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()) .Options; ApplicationDbContext dbContext = new ApplicationDbContext(options); NewsService newsService = new NewsService(dbContext); int postId = 1; NewsPost post = new NewsPost() { Id = postId, }; newsService.AddNews(post); NewsPost result = newsService.GetNewsById(postId); Assert.AreEqual(post, result); }
public async Task AddNewsShouldReturnNews() { News news = new News { Title = "chandrayaan2-spacecraft", Content = "The Lander of Chandrayaan-2 was named Vikram after Dr Vikram A Sarabhai", PublishedAt = DateTime.Now, CreatedBy = "Jack" }; News addednews = new News { NewsId = 103, Title = "chandrayaan2-spacecraft", Content = "The Lander of Chandrayaan-2 was named Vikram after Dr Vikram A Sarabhai", PublishedAt = DateTime.Now, CreatedBy = "Jack" }; var mockRepo = new Mock <INewsRepository>(); mockRepo.Setup(repo => repo.IsNewsExist(news)).Returns(Task.FromResult(false)); mockRepo.Setup(repo => repo.AddNews(news)).Returns(Task.FromResult(addednews)); var service = new NewsService(mockRepo.Object); var actual = await service.AddNews(news); Assert.NotNull(actual); Assert.IsAssignableFrom <News>(actual); Assert.Equal(103, actual.NewsId); }
public void RemoveNewsActuallyRemovesNews() { var options = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()) .Options; ApplicationDbContext dbContext = new ApplicationDbContext(options); NewsService newsService = new NewsService(dbContext); int postId = 1; NewsPost post = new NewsPost() { Id = postId, }; newsService.AddNews(post); newsService.DeleteNews(postId); int newsPostsCount = dbContext.Posts.Count(); Assert.AreEqual(0, newsPostsCount); }
public async Task <IActionResult> AddNews(ICollection <IFormFile> files, NewsViewModel model) { if (ModelState.IsValid && files.Count > 0) { model.Images = new List <Byte[]>(); foreach (IFormFile file in files) { if (file.Length > 0) { BinaryReader reader = new BinaryReader(file.OpenReadStream()); model.Images.Add(reader.ReadBytes((int)file.Length)); } } NewsService service = new NewsService(); service.AddNews(model); return(RedirectToAction("News", "Admin")); } else { ModelState.AddModelError("", "Некорректно введены данные"); } return(RedirectToAction("News", "Admin")); }
public JsonResult AddNews() { ResponseModel resp = new ResponseModel(); HttpFileCollectionBase files = Request.Files; var header = Request.Form["SECTION_NAME"].ToString(); var subHeader = Request.Form["HTML_SUB_HEADER1"].ToString(); var content = Request.Form["HTML_VALUE"].ToString(); var pathFolder = Server.MapPath("~/assets/images"); try { //var pathFolder = Server.MapPath("~/assets/images/news"); var pathfile = ""; var fileName = ""; for (int i = 0; i < files.Count; i++) { HttpPostedFileBase file = files[i]; pathfile = Path.Combine(pathFolder, file.FileName); fileName = file.FileName; file.SaveAs(pathfile); } NewsService service = new NewsService(); if (Session["User"] != null) { var obj = (LOGON)Session["User"]; PAGE_CONTENT source = new PAGE_CONTENT() { MODULE = "News", SECTION_NAME = header, HTML_SUB_HEADER1 = subHeader, HTML_VALUE = content, STATUS = 1, IMAGE_URL1 = pathfile, IMAGE_URL2 = fileName, CREATED_DATE = DateTime.Now, UPDATED_DATE = DateTime.Now, CREATED_BY = obj.USERNAME, UPDATED_BY = obj.USERNAME }; resp = service.AddNews(source); } else { resp.STATUS = false; resp.ERROR_MESSAGE = "กรุณาเข้าสู่ระบบใหม่"; } } catch (Exception ex) { resp.STATUS = false; resp.MESSAGE = pathFolder; resp.ERROR_MESSAGE = ex.Message; } return(Json(resp, JsonRequestBehavior.AllowGet)); }