public void AddArticle_AddsArticle_WhenValidData() { using (var ctx = ContextUtil.GetContext()) { var repo = new ArticlesRepository(ctx); var article = new ArticleDto { Title = "The empire actually strikes back!?", Body = "[Insert something funny here]", Tags = new string[] { "star wars", "light side", "dark side", "dark side" } }; var result = repo.AddArticle(article).GetAwaiter().GetResult(); Assert.AreEqual("The empire actually strikes back!?", result.Title); Assert.AreEqual("[Insert something funny here]", result.Body); new List <string>() { "Star Wars", "Light Side", "Dark Side" }.Select(x => { var tag = result.Tags.First(y => x == y); Assert.AreEqual(x, tag); return(tag); }); // Give it two minutes Assert.IsTrue(result.Date > DateTime.UtcNow.AddMinutes(-1) && result.Date < DateTime.UtcNow.AddMinutes(1)); } }
public ArticleMutation(ArticlesRepository repo) { FieldAsync <ArticleType>( "createArticle", arguments: new QueryArguments(new QueryArgument <NonNullGraphType <ArticleTypeInput> > { Name = "article" }), resolve: async context => { var article = context.GetArgument <Article>("article"); return(await context.TryAsyncResolve( async c => await repo.AddArticle(article))); } ); FieldAsync <ArticleType>( "removeArticle", arguments: new QueryArguments(new QueryArgument <NonNullGraphType <IntGraphType> > { Name = "id" }), resolve: async context => { var id = context.GetArgument <string>("id"); return(await context.TryAsyncResolve( async _ => await repo.RemoveArticle(Guid.Parse((ReadOnlySpan <char>)id)) )); } ); }
public ActionResult Create(Article article, HttpPostedFileBase ArticleImage, string Tags) { if (ModelState.IsValid) { if (!HttpContext.User.Identity.IsAuthenticated) { ViewBag.Message = "کاربر وارد کننده پیدا نشد."; return(View(article)); } #region Upload Image if (ArticleImage != null) { // Saving Temp Image var newFileName = Guid.NewGuid() + Path.GetExtension(ArticleImage.FileName); ArticleImage.SaveAs(Server.MapPath("/Files/ArticleImages/Temp/" + newFileName)); // Resize Image ImageResizer image = new ImageResizer(820, 340, true); image.Resize(Server.MapPath("/Files/ArticleImages/Temp/" + newFileName), Server.MapPath("/Files/ArticleImages/Image/" + newFileName)); ImageResizer thumb = new ImageResizer(400, 300, true); thumb.Resize(Server.MapPath("/Files/ArticleImages/Temp/" + newFileName), Server.MapPath("/Files/ArticleImages/Thumb/" + newFileName)); // Deleting Temp Image System.IO.File.Delete(Server.MapPath("/Files/ArticleImages/Temp/" + newFileName)); article.Image = newFileName; } #endregion _repo.AddArticle(article); if (!string.IsNullOrEmpty(Tags)) { _repo.AddArticleTags(article.Id, Tags); } return(RedirectToAction("Index")); } ViewBag.Tags = Tags; ViewBag.ArticleCategoryId = new SelectList(_repo.GetArticleCategories(), "Id", "Title", article.ArticleCategoryId); return(View(article)); }
public IActionResult Add(EditorModel model) { model.Article = new Article() { Word = model.Word, Transcription = model.Transcription, Translations = new List <Translation>() { new Translation() { Text = model.Translation } } }; var articleToAdd = model.Article; model.Article = _articlesRepository.AddArticle(model.Article); return(View(model)); }