//http://www.cnblogs.com/babycool/p/3922738.html public async Task SaveBlogArticle([FromBody] CreateArticle article) { try { DateTime dateTime = DateTime.Now; article.Article.PostTime = dateTime; article.Article.UpdateTime = dateTime; if (article.Article.Id < 1) //Add { await this._blogService.InsertBlog(article.Article, article.Tags.TagId); } else //Update { Article blog = new Article(); blog = this._blogArticleRepository.Entities.FirstOrDefault(m => m.Id == article.Article.Id); blog.Title = article.Article.Title; blog.Content = article.Article.Content; blog.PostTime = dateTime; blog.UpdateTime = dateTime; await this._blogService.UpdateBlog(blog, article.Tags.TagId); } } catch (Exception exception) { Logger.Error("博客内容保存时发生异常", exception); } }
public async Task CreateArticle(CreateArticle command) { var article = new Article(command.Id, command.Articlenumber, command.Description, new Money(command.PriceValue, command.PriceIsoCode ?? "EUR")); await repository.SaveAsync(article); await WaitForReadModelUpdate <ArticleReadModelState>(); }
public void SubmitForm(CreateArticle article) { this.Open(); this.Elements.Title.Type(article.Title); this.Elements.Content.Type(article.Content); this.Elements.CreateButton.Click(); }
public ActionResult Create(CreateArticle model) { if (!ModelState.IsValid) { return(View()); } Article art = new Article { Title = model.Name, Description = model.Description, Address = model.Address }; if (model.NewSource && !Models.Analyse.SourceFinder.SourceExist(model.Address, repoSou) && Models.Analyse.SourceFinder.SourceWorks(model.Address)) { Source sou = new Source { Domain = Models.Analyse.SourceFinder.GetDomain(model.Address), Name = Models.Analyse.SourceFinder.GetDomain(model.Address), Description = "New source", Image = "grf/defaultSou.png" }; art.Source = sou; return(Content((repoSou.AddSource(sou) && repo.AddArticle(art)).ToString())); } else if (Models.Analyse.SourceFinder.SourceExist(model.Address, repoSou)) { string domain = Models.Analyse.SourceFinder.GetDomain(model.Address); Source sou = repoSou.GetElements().First(x => x.Domain == domain); art.Source = sou; return(Content(repo.AddArticle(art).ToString())); } else { art.Source = repoSou.GetElements().First(x => x.Id == model.SourceId); return(Content(repo.AddArticle(art).ToString())); } }
public void Create(CreateArticle create) { var Article = new Article(create.Title, create.ShortDescription, create.Image, create.Content, create.ArticleCategoryId); _articleRepo.Create(Article); _articleRepo.Save(); }
public async Task CreateArticle(CreateArticle createArticle) { var sendEndpoint = await _busControl.GetSendEndpoint(new Uri("rabbitmq://localhost:5672/helloworld")); await sendEndpoint.Send(createArticle); }
public async Task <IActionResult> Post([FromBody] CreateArticle command) { command.ArticleId = Guid.NewGuid(); await _articleService.CreateAsync(command.ArticleId, command.Title, command.Lead, command.Content, command.CategoryId, command.Tags); return(Created($"articles/{command.ArticleId}", null)); }
public OperationResult Create(CreateArticle command) { var operation = new OperationResult(); if (_articleRepository.Exists(x => x.Title == command.Title)) { return(operation.Failed(ApplicationMessages.DuplicatedRecord)); } var slug = command.Slug.Slugify(); var categorySlug = _articleCategoryRepository.GetSlugBy(command.CategoryId); //var path = $"{categorySlug}/{slug}"; var path = $"{categorySlug}//{slug}"; var pictureName = _fileUploader.Upload(command.Picture, path); var publishDate = command.PublishDate.ToGeorgianDateTime(); var article = new Article(command.Title, command.ShortDescription, command.Description, pictureName, command.PictureAlt, command.PictureTitle, publishDate, slug, command.Keywords, command.MetaDescription, command.CanonicalAddress, command.CategoryId); _articleRepository.Create(article); _articleRepository.SaveChanges(); return(operation.Succeeded()); }
public async Task <Article> CreateAsync(CreateArticle article) { ThrowHelper.ThrowIfNull(article, nameof(article)); var request = new { article }; return(await ApiConnection.ExecutePostAsync <object, Article>(Route, request).ConfigureAwait(false)); }
public ActionResult Add(CreateArticle model) { var sanitizer = new HtmlSanitizer(); var sanitizedContent = sanitizer.Sanitize(model.Content); this.service.Add(model.Title, sanitizedContent, int.Parse(model.CategoryId), this.User.Identity.GetUserId()); return(RedirectToAction("Index")); }
public void Create(CreateArticle command) { _unitOfWork.BeginTran(); var article = new Article(command.Title, command.ShortDescription, command.Image, command.Content, command.ArticleCategoryId); _articleRepository.Create(article); _unitOfWork.CommitTran(); }
public ActionResult Add() { CreateArticle model = new CreateArticle(); model.Categories = this.articleCategoryService.All().Select(x => new SelectListItem() { Text = x.Name, Value = x.Id.ToString() }).ToList(); return(View(model)); }
public async Task CreateArticleAsync(CreateArticle command) { Validator.Validate <CreateArticleValidator, CreateArticle>(command); var article = new Article { Name = command.Name, Description = command.Description }; await _articleRepository.CreateArticleAsync(article); }
public async Task <ActionResult <ArticleDto> > CreateArticleAsync([FromBody] CreateArticle request) { var article = await this.rpcClient.CreateArticleAsync(request.Username, request.Title, request.Content); await this.hub.OnArticleCreatedAsync(new ArticleCreatedEvent { Id = article.Id, Title = article.Title, Username = article.Username }); return(this.StatusCode(201, article)); }
public void CreateArticleWithoutTittle() { LoginPage loginuser = new LoginPage(this.driver); //loginuser.LoginUser("*****@*****.**", "londa101"); loginuser.LoginUser("*****@*****.**", "P@ssw@rd"); CreateArticle newArticle = new CreateArticle(this.driver); newArticle.ArticleNavigateTo(); newArticle.ArticleCreate("", "This is the text of article THREE"); newArticle.AssertTitleErrorMessage("The Title field is required."); loginuser.LogOffButton.Click(); }
public void CreateArticleWithLongTittle() { LoginPage loginuser = new LoginPage(this.driver); // loginuser.LoginUser("*****@*****.**", "londa101"); loginuser.LoginUser("*****@*****.**", "P@ssw@rd"); CreateArticle newArticle = new CreateArticle(this.driver); newArticle.ArticleNavigateTo(); newArticle.ArticleCreate("Article Test more than 50. Article Test more than 50.", "This is the text of article test"); newArticle.AssertTitleErrorMessage("The field Title must be a string with a maximum length of 50."); loginuser.LogOffButton.Click(); }
public void CreateArticleWithoutContent() { LoginPage loginuser = new LoginPage(this.driver); // loginuser.LoginUser("*****@*****.**", "londa101"); loginuser.LoginUser("*****@*****.**", "P@ssw@rd"); CreateArticle newArticle = new CreateArticle(this.driver); newArticle.ArticleNavigateTo(); newArticle.ArticleCreate("Article Test THREE", ""); newArticle.AssertContentErrorMessage("The Content field is required."); loginuser.LogOffButton.Click(); }
public async Task <Entry> CreateEntryAsync(CreateArticle form, string user) { using (var transaction = await _unitOfWork.BeginTransaction()) { try { Entry article = new Entry() { HeadLine = form.HeadLine, Slug = GenerateSlug(form.HeadLine), ApplicationUserId = user, Body = form.Body, Date = DateTime.Now, Rank = 0, Url = form.Url, Paragraph = form.Paragraph, Img = form.Img != null?_imageProcessingService.ProcessFormImage(form.Img) : string.Empty, PageViews = 0, IsPublished = false, IsPinned = 0, Caption = String.Empty, IsFeatured = false, LastModified = DateTime.Now }; await _entryRepository.Create(article); await _unitOfWork.Commit(); if (!String.IsNullOrEmpty(form.PrimaryTopic)) { await AddTopicAsync(article.Id, form.PrimaryTopic, true); } else { throw new AppException(ExceptionType.ARTICLE_CREATION_FAILED); } transaction.Commit(); return(article); } catch (Exception ex) { transaction.Rollback(); throw; } } }
public void CreateArticleInDashboard() { LoginPage loginuser = new LoginPage(this.driver); loginuser.LoginUser("*****@*****.**", "P@ssw@rd"); loginuser.AssertLoginUser(); CreateArticle newArticle = new CreateArticle(this.driver); newArticle.ArticleNavigateTo(); newArticle.ArticleCreate("qwerty", "browser"); ArticlesDashboard dash = new ArticlesDashboard(this.driver); dash.AssertArticleDetailsDashboard("qwerty", "browser", "--author"); dash.LogOut.Click(); }
public async Task <JsonResult> Post([FromForm] CreateArticle request, CancellationToken token) { var fileStreamResult = Request.Form.Files[0].OpenReadStream(); var fileBytes = new byte[fileStreamResult.Length]; fileStreamResult.Read(fileBytes, 0, (int)fileStreamResult.Length); var requestCommand = new CreateArticleCommand { AuthorId = User.Claims.Single(x => x.Type == "Id").Value, Created = DateTime.UtcNow.ToUniversalTime(), Content = _stringToHtmlHelper.GetHtml(request.Content), Description = request.Description, Title = request.Title, Thumbnail = fileBytes }; return(new JsonResult(new { Article = await _mediator.Send(requestCommand, token) })); }
public async Task HandleShouldPersistArticle() { var command = new CreateArticle { Title = "Test Title Command", Content = "Test Content Command" }; var handler = new CreateArticle.CreateArticleHandler(this.Context); var result = await handler.Handle(command, CancellationToken.None); var article = this.Context.Articles.Find(result); article.ShouldNotBeNull(); article.Title.ShouldBe(command.Title); article.CreatedBy.ShouldBe(TestUserId); }
public void AvailableScrollBarDashboard() { Thread.Sleep(10000); LoginPage loginuser = new LoginPage(this.driver); loginuser.LoginUser("*****@*****.**", "P@ssw@rd"); loginuser.AssertLoginUser(); CreateArticle newArticle = new CreateArticle(this.driver); newArticle.ArticleNavigateTo(); newArticle.ArticleCreate("qwertyQWERTYqwertyQWERTYqwertyQWERTYqwertyQWERTY", "browserBROWSERbrowserBROWSERbrowserBROWSERbrowserBROWSERbrowserBROWSERbrowserBROWSERbrowserBROWSERbrowserBROWSERbrowserBROWSERbrowserBROWSER"); ArticlesDashboard dash = new ArticlesDashboard(this.driver); dash.AssertArticleDetailsDashboard("qwertyQWERTYqwertyQWERTYqwertyQWERTYqwertyQWERTY", "browserBROWSERbrowserBROWSERbrowserBROWSERbrowserBROWSERbrowserBROWSERbrowserBROWSERbrowserBROWSERbrowserBROWSERbrowserBROWSERbrowserBROWSER", "--author"); dash.AssertAvailableScrolBarsDashboard(); dash.LogOut.Click(); dash.AssertAvailableLoginButton(); }
public void CreateArticleWithoutSubmit() { LoginPage loginuser = new LoginPage(this.driver); //loginuser.LoginUser("*****@*****.**", "londa101"); loginuser.LoginUser("*****@*****.**", "P@ssw@rd"); CreateArticle newArticle = new CreateArticle(this.driver); newArticle.ArticleNavigateTo(); newArticle.AssertCancelButtonDisplayed(); newArticle.ArticleCreateWithoutSubmit("Title CancelButton", "Content CancelButton"); ArticlesDashboard dash = new ArticlesDashboard(this.driver); dash.AssertDeleteArticleDashboard("Article Test Nury"); loginuser.LogOffButton.Click(); }
public IActionResult OnPost(CreateArticle Command) { if (ModelState.IsValid) { var article = new Article(Command.title, Command.picture, Command.pictureAlt, Command.pictureTitle, Command.shortDescription, Command.body); _context.Articles.Add(article); _context.SaveChanges(); SuccessMessage = "مقاله با موفقیت ذخیره شد"; return(RedirectToPage("./Index")); } else { ErrorMessage = "مقاله با موفقیت ذخیره نشد"; return(Page()); } }
public async Task <IActionResult> OnCreate( [FromForm] CreateArticle form) { if (ModelState.IsValid) { string user = (await _userManager.GetUserAsync(HttpContext.User)).Id; Entry article = await _entryService.CreateEntryAsync(form, user); return(RedirectToRoute(new { controller = this.ControllerContext.ActionDescriptor.ControllerName, action = nameof(Edit), id = article.Id })); } return(RedirectToAction(nameof(Create))); }
public void ArticleViewBackButtonDashboard() { LoginPage loginuser = new LoginPage(this.driver); loginuser.LoginUser("*****@*****.**", "P@ssw@rd"); loginuser.AssertLoginUser(); CreateArticle newArticle = new CreateArticle(this.driver); newArticle.ArticleNavigateTo(); newArticle.ArticleCreate("qwertyPetyaBack", "browserPetyaBack"); ArticlesDashboard dash = new ArticlesDashboard(this.driver); dash.ViewArticleByTitle("qwertyPetyaBack"); dash.BackButtonArticle.Click(); dash.AssertPageUrl(); dash.LogOut.Click(); dash.AssertAvailableLoginButton(); }
public void EditOwnArticleFromList() { LoginPage loginuser = new LoginPage(this.driver); //loginuser.LoginUser("*****@*****.**", "londa101"); loginuser.LoginUser("*****@*****.**", "P@ssw@rd"); CreateArticle newArticle = new CreateArticle(this.driver); newArticle.ArticleNavigateTo(); newArticle.ArticleCreate("Article Test THREE", "Content Nury Test"); ArticlesDashboard dash = new ArticlesDashboard(this.driver); EditArticle newEditArticle = new EditArticle(this.driver); dash.ViewArticleByTitle("Article Test THREE"); newEditArticle.ArticleEdit("Article Test Nury3", "This is the text of article Nury3"); dash.AssertArticleDetailsDashboard("Article Test Nury3", "This is the text of article Nury3", "--author"); loginuser.LogOffButton.Click(); }
public CreateArticle GetCreateArticle(int id = 0) { CreateArticle createArticle = new CreateArticle() { Article = new Article(), SelectList = new List <Tag>() }; if (id > 0) { createArticle.Article = this._blogArticleRepository.Entities.FirstOrDefault(item => item.Id == id); var list = from articleTags in this._articleTagRepository.Entities join tags in this._blogTagRepository.Entities on articleTags.TagId equals tags.Id where articleTags.ArticleId == id select tags; createArticle.SelectList = list.ToList(); } return(createArticle); }
public void CreateArticle(CreateArticle article) { if (article == null) { throw new ArgumentException("article"); } if (string.IsNullOrEmpty(article.Title)) { throw new Exception("Title cannot be empty."); } DataAccess.Entities.Article dbArticle = new DataAccess.Entities.Article() { CreatedOn = DateTime.UtcNow, Title = article.Title, Content = article.Content }; _uow.DataProvider.Articles.Add(dbArticle); }
public void CreatingNewArticleShouldProccessCorrectly() { //// Arrange var loginPage = new LoginPage(this.driver); var articleListPage = new ArticleListPage(this.driver); var createArticlePage = new CreateArticlePage(this.driver); var article = new CreateArticle() { Title = Guid.NewGuid().ToString(), Content = Guid.NewGuid().ToString() }; //// Act loginPage.LoginAsUser(); var expectedArticlesCount = articleListPage.Elements.Articles.Count + 1; createArticlePage.SubmitForm(article); var actualArticlesCount = articleListPage.Elements.Articles.Count; //// Assert Assert.AreEqual(expectedArticlesCount, actualArticlesCount); }