Exemplo n.º 1
0
        public ArticleStruct Post([FromBody] CreateArticleRequest content)
        {
            try
            {
                var publicationDate = DateTime.Parse(content.PublicationDate);
                var parent          = _articleUtil.GenerateDailyFolder(content.PublicationID, publicationDate);
                var rinsedName      = ItemUtil.ProposeValidItemName(content.Name);
                var articleCreate   = _sitecoreMasterService.Create <IArticle, IArticle_Date_Folder>(parent, rinsedName);

                //Hack to start the workflow
                var articleItem  = _sitecoreMasterService.GetItem <Item>(articleCreate._Id);
                var savedArticle = _sitecoreMasterService.GetItem <ArticleItem>(articleCreate._Id);
                //var intialWorkflow = _sitecoreMasterService.Database.WorkflowProvider.GetWorkflow("{926E6200-EB76-4AD4-8614-691D002573AC}");
                var intialWorkflow = _sitecoreMasterService.Database.WorkflowProvider.GetWorkflow(savedArticle.Crawl <ISite_Root>().Workflow.ToString());
                intialWorkflow.Start(articleItem);

                var article = _sitecoreMasterService.GetItem <IArticle__Raw>(articleCreate._Id);
                article.Title = content.Name;
                article.Planned_Publish_Date = publicationDate;
                article.Created_Date         = DateTime.Now;
                article.Article_Number       = SitecoreUtil.GetNextArticleNumber(_articleSearch.GetNextArticleNumber(content.PublicationID), content.PublicationID);
                _sitecoreMasterService.Save(article);
                savedArticle = _sitecoreMasterService.GetItem <ArticleItem>(articleCreate._Id);
                var articleStruct = _articleUtil.GetArticleStruct(savedArticle);
                return(articleStruct);
            }
            catch (Exception ex)
            {
                return(new ArticleStruct {
                    RemoteErrorMessage = ex.ToString()
                });
            }
        }
Exemplo n.º 2
0
        public string GetLastArticleNumber(Guid publicationGuid)
        {
            IArticleSearchFilter filter = _articleSearcher.CreateFilter();
            var results = _articleSearcher.Search(filter);

            if (!results.Articles.Any())
            {
                return(0.ToString(Constants.ArticleNumberLength));
            }
            IEnumerable <string> articles = results.Articles.Select(a => a.Article_Number).OrderByDescending(b => b);
            string num = articles.First().Replace(SitecoreUtil.GetPublicationPrefix(publicationGuid), "");
            int    n   = int.Parse(num);

            return((n + 1).ToString(Constants.ArticleNumberLength));
        }
Exemplo n.º 3
0
 public UserStatusStruct Post([FromBody] LoginModel content)
 {
     return(SitecoreUtil.GetUserStatus(content.Username, content.Password));
 }