Exemple #1
0
        //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);
            }
        }
Exemple #2
0
        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>();
        }
Exemple #3
0
 public void SubmitForm(CreateArticle article)
 {
     this.Open();
     this.Elements.Title.Type(article.Title);
     this.Elements.Content.Type(article.Content);
     this.Elements.CreateButton.Click();
 }
Exemple #4
0
        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()));
            }
        }
Exemple #5
0
        public void Create(CreateArticle create)
        {
            var Article = new Article(create.Title, create.ShortDescription, create.Image, create.Content, create.ArticleCategoryId);

            _articleRepo.Create(Article);
            _articleRepo.Save();
        }
Exemple #6
0
        public async Task CreateArticle(CreateArticle createArticle)
        {
            var sendEndpoint =
                await _busControl.GetSendEndpoint(new Uri("rabbitmq://localhost:5672/helloworld"));

            await sendEndpoint.Send(createArticle);
        }
Exemple #7
0
        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());
        }
Exemple #9
0
        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);
        }
Exemple #14
0
        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();
        }
Exemple #20
0
        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) }));
        }
Exemple #21
0
        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());
            }
        }
Exemple #25
0
        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();
        }
Exemple #28
0
        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);
        }