Example #1
0
        public IHttpActionResult AddNewBlogType(BlogType BlogType)
        {
            _unitOfWork.BlogTypes.AddBlogType(BlogType);
            _unitOfWork.Complete();

            return(CreatedAtRoute("DefaultApi", new { id = BlogType.Id }, BlogType));
        }
Example #2
0
        public static IBlogEngine GetEngine(BlogType blogType)
        {
            switch (blogType)
            {
            case BlogType.WordPress:
                if (_wordPressEngine == null)
                {
                    _wordPressEngine = new WordPressEngine();
                }
                return(_wordPressEngine);

            case BlogType.LiveJournal:
                if (_livejournalEngine == null)
                {
                    _livejournalEngine = new LiveJournalEngine();
                }
                return(_livejournalEngine);

            default:
                if (_bloggerEngine == null)
                {
                    _bloggerEngine = new BloggerEngine();
                }
                return(_bloggerEngine);
            }
        }
Example #3
0
        public BlogType Update(BlogType updatedType)
        {
            var entity = db.BlogTypes.Attach(updatedType);

            entity.State = EntityState.Modified;
            return(updatedType);
        }
 public void OnGet()
 {
     if (Type == null)
     {
         Type = new BlogType();
     }
 }
Example #5
0
 public async Task <int> InsertAsync(BlogType entity)
 {
     if (entity == null)
     {
         throw new ArgumentNullException("BlogType");
     }
     return(await _BlogTypeRepository.InsertAsync(entity));
 }
Example #6
0
 public Blog()
 {
     this.Id          = 1010;
     this._name       = "Angular";
     this._email      = "*****@*****.**";
     this.CreatedBy   = "SAtya";
     this.CreatedDate = DateTime.Now;
     this.BlogType    = BlogType.Public;
 }
Example #7
0
        public async Task <int> DeleteAsync(BlogType entity)
        {
            if (entity == null)
            {
                throw new ArgumentNullException("BlogType");
            }

            entity.Deleted = true;
            return(await UpdateAsync(entity));
        }
Example #8
0
        public IHttpActionResult GetBlogType(int id)
        {
            BlogType BlogType = _unitOfWork.BlogTypes.GetBlogType(id);

            if (BlogType == null)
            {
                return(NotFound());
            }

            return(Ok(BlogType));
        }
Example #9
0
        private Int32 GetBlogListNodeImageIndex(BlogType blogType)
        {
            switch (blogType)
            {
                case BlogType.WordPress:
                    return 1;
                case BlogType.LiveJournal:
                    return 2;
            }

            return 0;
        }
Example #10
0
        public async Task <IHttpActionResult> Delete(int id)
        {
            BlogType entity = await BlogTypeService.FindOneAsync(id);

            if (entity == null)
            {
                return(NotFound());
            }
            await BlogTypeService.DeleteAsync(entity);

            return(Ok(entity.ToModel()));
        }
Example #11
0
        private Int32 GetBlogListNodeImageIndex(BlogType blogType)
        {
            switch (blogType)
            {
            case BlogType.WordPress:
                return(1);

            case BlogType.LiveJournal:
                return(2);
            }

            return(0);
        }
Example #12
0
        public void SaveToXml(XmlNode xmlNode)
        {
            if (xmlNode == null)
            {
                throw new ArgumentNullException("xmlNode");
            }

            XmlService.AppendChild(xmlNode, "address", Address);
            XmlService.AppendChild(xmlNode, "blog_name", BlogName);
            XmlService.AppendChild(xmlNode, "blog_type", BlogType.ToString());
            XmlService.AppendChild(xmlNode, "password", Password);
            XmlService.AppendChild(xmlNode, "username", Username);
        }
        /// <summary>
        /// 编辑文章类型
        /// </summary>
        /// <param name="typename"></param>
        /// <param name="typeid"></param>
        /// <returns></returns>
        public ActionResult EditType(string typename, int typeid)
        {
            JSData jsdata = new JSData();

            #region 数据验证
            if (null == BLLSession.UserInfoSessioin)
            {
                jsdata.Messg = "您还未登录~";
            }
            else if (string.IsNullOrEmpty(typename))
            {
                jsdata.Messg = "类型不能为空~";
            }
            else if (null == typeid)
            {
                jsdata.Messg = "未取到文章ID~";
            }
            if (!string.IsNullOrEmpty(jsdata.Messg))
            {
                jsdata.State = EnumState.失败;
                return(Json(jsdata));
            }
            #endregion

            BLL.BaseBLL <BlogType> bll = new BaseBLL <BlogType>();
            var blogtype = new BlogType()
            {
                Id       = typeid,
                TypeName = typename
            };
            bll.Updata(blogtype, "TypeName");

            if (bll.save() > 0)//保存
            {
                //  BLL.Common.CacheData.GetAllType(true);//更新缓存
                jsdata.State = EnumState.成功;
                // jsdata.Messg = "修改成功~";
            }
            else
            {
                jsdata.State = EnumState.失败;
                jsdata.Messg = "操作失败~";
            }
            return(Json(jsdata));
        }
 public static IBlogEngine GetEngine(BlogType blogType)
 {
     switch (blogType)
     {
         case BlogType.WordPress:
             if (_wordPressEngine == null)
                 _wordPressEngine = new WordPressEngine();
             return _wordPressEngine;
         case BlogType.LiveJournal:
             if (_livejournalEngine == null)
                 _livejournalEngine = new LiveJournalEngine();
             return _livejournalEngine;
         default:
             if (_bloggerEngine == null)
                 _bloggerEngine = new BloggerEngine();
             return _bloggerEngine;
     }
 }
        public async Task <ActionResult> DeleteConfirmed(int id)
        {
            try
            {
                BlogType blogType = await db.BlogTypes.FindAsync(id);

                db.BlogTypes.Remove(blogType);
                await db.SaveChangesAsync();

                return(Json(new AjaxResponse {
                    Success = true, Message = "La Categoría se eliminó correctamente."
                }, JsonRequestBehavior.AllowGet));
            }
            catch (Exception)
            {
                return(Json(new AjaxResponse {
                    Success = false, Message = "No se puede eliminar la categoría, está siendo utilizada por otra instancia."
                }, JsonRequestBehavior.AllowGet));
            }
        }
Example #16
0
        public static bool PostToBlog(BlogType blogType)
        {
            bool LoginOK = false;

            //switch (blogType)
            //{
            //    case BlogType.Blogger:
            //        bDescr.BlogType = BlogType.Blogger;
            //        bDescr.Address = "http://www.blogger.com";
            //        Service service = new Service("blogger", "");
            //        service.Credentials = new GDataCredentials(Username, Password);
            //        Uri blogPostUri = SelectUserBlog(service);
            //        AtomEntry createdEntry = PostNewEntry(service, blogPostUri, Title, Body);
            //        LoginOK = true;
            //        break;

            //    case BlogType.WordPress:
            //        bDescr.BlogType = BlogType.WordPress;
            //        bDescr.Address = WPAddress;

            //        WordPressEngine wpe = new WordPressEngine();
            //        wpe.PublishNewEntry(bDescr, Title, Body);
            //        LoginOK = true;
            //        break;

            //    case BlogType.LiveJournal:
            //        bDescr.BlogType = BlogType.LiveJournal;
            //        bDescr.Address = "http://www.livejournal.com";

            //        LiveJournalEngine lje = new LiveJournalEngine();
            //        lje.PublishNewEntry(bDescr, Title, Body);
            //        LoginOK = true;
            //        break;

            //    default:
            //        break;
            //}

            return(LoginOK);
        }
Example #17
0
        public static bool PostToBlog(BlogType blogType)
        {
            bool LoginOK = false;

            //switch (blogType)
            //{
            //    case BlogType.Blogger:
            //        bDescr.BlogType = BlogType.Blogger;
            //        bDescr.Address = "http://www.blogger.com";
            //        Service service = new Service("blogger", "");
            //        service.Credentials = new GDataCredentials(Username, Password);
            //        Uri blogPostUri = SelectUserBlog(service);
            //        AtomEntry createdEntry = PostNewEntry(service, blogPostUri, Title, Body);
            //        LoginOK = true;
            //        break;

            //    case BlogType.WordPress:
            //        bDescr.BlogType = BlogType.WordPress;
            //        bDescr.Address = WPAddress;

            //        WordPressEngine wpe = new WordPressEngine();
            //        wpe.PublishNewEntry(bDescr, Title, Body);
            //        LoginOK = true;
            //        break;

            //    case BlogType.LiveJournal:
            //        bDescr.BlogType = BlogType.LiveJournal;
            //        bDescr.Address = "http://www.livejournal.com";

            //        LiveJournalEngine lje = new LiveJournalEngine();
            //        lje.PublishNewEntry(bDescr, Title, Body);
            //        LoginOK = true;
            //        break;

            //    default:
            //        break;
            //}

            return LoginOK;
        }
Example #18
0
 public void Update(BlogType entityType, int? ID = 0)
 {
     throw new NotImplementedException();
 }
Example #19
0
 public BlogType Add(BlogType newType)
 {
     db.Add(newType);
     return(newType);
 }
Example #20
0
 public Blog(string type, BlogType blogType) : base(type)
 {
     this.BlogType = blogType;
 }
 public bool Update([FromBody] BlogType model)
 {
     return(bll.Update(model));
 }
Example #22
0
 public void Save(BlogType entityType)
 {
     throw new NotImplementedException();
 }
Example #23
0
 public BlogType GetEntity(BlogType entity, int Id)
 {
     return DbModel.GetEntity<BlogType>(entity,Id);
 }
Example #24
0
 public void SaveEntity(BlogType entity)
 {
     DbModel.SaveEntity<BlogType>(entity);
 }
 public ActionResult Add()
 {
     // FormContext for=new
     var blogType = new BlogType();
     return View(blogType);
 }
        public async Task <BlogResponseDto> Update(Int64 blogId, String name, String title, String desctiption, Boolean isPublic, BlogType type)
        {
            using (var uow = _tellerDatabaseUnitOfWorkFactory.CreateBasicUnitOfWork())
            {
                var blogRepo = uow.GetRepository <IBlogRepository>();

                var blog = await blogRepo.GetById(blogId);

                if (blog == null)
                {
                    return(null);
                }

                blog.Name        = name;
                blog.Title       = title;
                blog.Description = desctiption;
                blog.IsPublic    = isPublic;
                blog.Type        = type;

                var savedBlog = await uow.GetRepository <IBlogRepository>().SaveOrUpdate(blog);

                uow.Commit();

                return(new BlogResponseDto
                {
                    Id = savedBlog.Id,
                    Name = savedBlog.Name,
                    Title = savedBlog.Title,
                    Author = new UserResponseDto
                    {
                        Id = savedBlog.Owner.Id,
                        FullName = $"{ savedBlog.Owner.FirstName } { savedBlog.Owner.LastName }",
                        Avatar = savedBlog.Owner.Avatar
                    }
                });
            }
        }
Example #27
0
 public void UpdateEntity(BlogType entity, Nullable<int> ID = 0)
 {
     DbModel.UpdateEntity<BlogType>(entity, ID);
 }
 public BlogType Add([FromBody] BlogType model)
 {
     return(bll.Add(model));
 }
Example #29
0
 public static BlogTypeDTO ToModel(this BlogType entity)
 {
     return(Mapper.Map <BlogType, BlogTypeDTO>(entity));
 }
Example #30
0
 public static BlogType ToEntity(this BlogTypeDTO dto, BlogType entity)
 {
     return(Mapper.Map(dto, entity));
 }
Example #31
0
 public void DeleteEntity(BlogType entity)
 {
     DbModel.DeleteEntity<BlogType>(entity);
 }
Example #32
0
        public static bool CreateBlogStructure(string blogName, BlogType.Tech currentBlogType, bool hasImportFile, string blogHomePath, string fileLocation)
        {
            Sitecore.Data.Database master = Sitecore.Data.Database.GetDatabase("master");

            using (new Sitecore.SecurityModel.SecurityDisabler())
            {
                #region Create high level blog structure

                TemplateItem folder = master.GetItem("{A87A00B1-E6DB-45AB-8B54-636FEC3B5523}");

                //Check to see if a Data folder already exists, if not create one.
                Item blogDataParentItem = master.GetItem("/sitecore/content/Data");

                if (blogDataParentItem == null)
                {
                    Item contentHome = master.GetItem("/sitecore/content");
                    blogDataParentItem = contentHome.Add("Data", folder);
                }

                //Where all new templates should be created
                Item pageTemplateHome = master.GetItem("/sitecore/templates/XBlog/Page");
                if (pageTemplateHome == null)
                    return false;

                //Add an instance of this blog to pageTemplateHome
                Item blogPageTemplateHomeFolder = pageTemplateHome.Add(blogName, folder);
                #endregion

                #region Create Templates (Blog Home, Author Listing, and Blog Post) specific to blog type technology

                Item userCreatedBlogBaseTemplate = null;
                Item userCreatedAuthorTemplate = null;
                Item userBlogPostTemplate = null;

                try
                {
                    if (currentBlogType == BlogType.Tech.MVC)
                    {
                        //Creates template for MVC Author Home
                        Item mvcAuthorHome = master.GetItem("/sitecore/templates/XBlog/Page/MVC/Blog Author");
                        Item userMvcAuthorHome = mvcAuthorHome.CopyTo(blogPageTemplateHomeFolder, "Blog Author");
                        userCreatedAuthorTemplate = userMvcAuthorHome;

                        //TODO if I could get the standard values and set the datasource location of the author listing to the imported authors.... would be pretty sweet.

                        //Creates template for MVC Blog Post
                        Item mvcBlogPost = master.GetItem("/sitecore/templates/XBlog/Page/MVC/Blog Post");
                        Item userMvcBlogPost = mvcBlogPost.CopyTo(blogPageTemplateHomeFolder, "Blog Post");
                        userBlogPostTemplate = userMvcBlogPost;

                        //Creates template for MVC Blog Home
                        Item mvcBlogHome = master.GetItem("/sitecore/templates/XBlog/Page/MVC/Blog Home");
                        Item userMvcBlogHome = mvcBlogHome.CopyTo(blogPageTemplateHomeFolder, "Blog Home");
                        userCreatedBlogBaseTemplate = userMvcBlogHome;

                        //Get the standard values for the newly created Blog Home and update its insert options to include the newly created Blog Post
                        Item userMvcBlogHomeStandarValues = master.GetItem(userMvcBlogHome.Paths.FullPath + "/__Standard Values");

                        //Change the insert options to use the newly created templates instead of the "shipped" MVC / WF
                        using (new EditContext(userMvcBlogHomeStandarValues))
                        {
                            userMvcBlogHomeStandarValues.SetValue("{1172F251-DAD4-4EFB-A329-0C63500E4F1E}", userMvcBlogPost.ID);
                        }
                    }
                    else if (currentBlogType == BlogType.Tech.WebForm)
                    {
                        //Creates template for WebForms Author Home
                        Item wfAuthorHome = master.GetItem("/sitecore/templates/XBlog/Page/WF/Blog Author");
                        Item userWfAuthorHome = wfAuthorHome.CopyTo(blogPageTemplateHomeFolder, "Blog Author");
                        userCreatedAuthorTemplate = userWfAuthorHome;

                        //Creates template for WebForms Blog Post
                        Item wfBlogPost = master.GetItem("/sitecore/templates/XBlog/Page/WF/Blog Post");
                        Item userWfBlogPost = wfBlogPost.CopyTo(blogPageTemplateHomeFolder, "Blog Post");
                        userBlogPostTemplate = userWfBlogPost;

                        //Creates template for MVC Blog Home
                        Item wfBlogHome = master.GetItem("/sitecore/templates/XBlog/Page/WF/Blog Home");
                        Item userWfBlogHome = wfBlogHome.CopyTo(blogPageTemplateHomeFolder, "Blog Home");
                        userCreatedBlogBaseTemplate = userWfBlogHome;

                        //Get the standard values for the newly created Blog Home and update its insert options to include the newly created Blog Post
                        Item userWfBlogHomeStandarValues = master.GetItem(userWfBlogHome.Paths.FullPath + "/__Standard Values");

                        //Change the insert options to use the newly created templates instead of the "shipped" MVC / WF
                        using (new EditContext(userWfBlogHomeStandarValues))
                        {
                            userWfBlogHomeStandarValues.SetValue("{1172F251-DAD4-4EFB-A329-0C63500E4F1E}", userWfBlogPost.ID);
                        }
                    }
                }
                catch (Exception ex)
                {
                    Log.Error("Failed to create Blog Templates: " + ex.Message, "BlogCreator");
                    return false;
                }

                #endregion

                #region Create Data and Settings
                //create new XBlog Data node
                Sitecore.Data.Items.TemplateItem blogDataTemplate = master.GetItem(XBlogData.XBlogDataTemplateId);
                XBlogData xdata = blogDataParentItem.Add(blogName, blogDataTemplate).CreateAs<XBlogData>();

                //Create new Settings node under the XBlog Data node
                Sitecore.Data.Items.TemplateItem settingsTemplate = master.GetItem(BlogSettings.BlogSettingsTemplateId);
                BlogSettings blogSettings = xdata.InnerItem.Add("Settings", settingsTemplate).CreateAs<BlogSettings>();
                #endregion

                #region Create Author Structure and import authors if needed
                //Create new Authors node under the new XBlog Data node
                Sitecore.Data.Items.TemplateItem blogAuthorsTemplate = master.GetItem(XBlogAuthors.XBlogAuthorsTemplateId);
                XBlogAuthors xbAuthors = xdata.InnerItem.Add("Authors", blogAuthorsTemplate).CreateAs<XBlogAuthors>();

                //Links author Parent in settings
                using (new EditContext(blogSettings.InnerItem))
                {
                    blogSettings.InnerItem.SetValue(BlogSettings.AuthorFolderFieldId, xbAuthors.InnerItem.ID);
                }

                //Import authors
                if (hasImportFile && !string.IsNullOrEmpty(fileLocation))
                {
                    List<WPAuthor> authors = ImportManager.ImportAuthors(fileLocation);
                    if (authors.Any())
                        CreateImportedAuthorsInSitecore(master, authors, xbAuthors);
                }

                #endregion

                #region Create Tags Structure and import tags if needed

                //Create new Tags node under the XBlog Data node
                Sitecore.Data.Items.TemplateItem blogTagsTemplate = master.GetItem(XBlogTags.XBlogTagsTemplateId);
                XBlogTags xbTags = xdata.InnerItem.Add("Tags", blogTagsTemplate).CreateAs<XBlogTags>();

                //Links tag Parent in settings
                using (new EditContext(blogSettings.InnerItem))
                {
                    blogSettings.InnerItem.SetValue(BlogSettings.TagFolderFieldId, xbTags.InnerItem.ID);
                }

                //Import tags
                if (hasImportFile && !string.IsNullOrEmpty(fileLocation))
                {
                    List<WPTag> tags = ImportManager.ImportTags(fileLocation);
                    if (tags.Any())
                        CreateImportedTagsInSitecore(master, tags, xbTags);
                }

                #endregion

                #region Create Categories Structure and import categories if needed

                //Create new Categories node under the XBlog Data node
                Sitecore.Data.Items.TemplateItem blogCategoriesTemplate = master.GetItem(XBlogCategories.XBlogCategoriesTemplateId);
                XBlogCategories xbCategories = xdata.InnerItem.Add("Categories", blogCategoriesTemplate).CreateAs<XBlogCategories>();

                //Links category Parent in settings
                using (new EditContext(blogSettings.InnerItem))
                {
                    blogSettings.InnerItem.SetValue(BlogSettings.CategoryFolderFieldId, xbCategories.InnerItem.ID);
                }

                //Import categories
                if (hasImportFile && !string.IsNullOrEmpty(fileLocation))
                {
                    List<WPCategory> categories = ImportManager.ImportCategories(fileLocation);
                    if (categories.Any())
                        CreateImportedCategoriesInSitecore(master, categories, xbCategories);
                }

                #endregion

                #region Create Author Home, Blog Home and import blog posts if needed
                //Use the template created based on the base template - containes correct insert options
                TemplateItem blogHomeTemplate = master.GetItem(userCreatedBlogBaseTemplate.ID);//(BlogHome.BlogPostParentTemplateId);
                TemplateItem authorTemplate = master.GetItem(userCreatedAuthorTemplate.ID);

                //TODO give the user the option of where the Blog Home should be created
                Item blogPostParentItem = master.GetItem(blogHomePath);
                Item bh = blogPostParentItem.Add(blogName, blogHomeTemplate);
                Item authorPage = blogPostParentItem.Add("Authors of " + blogName, authorTemplate);

                //Links author Parent in settings
                using (new EditContext(blogSettings.InnerItem))
                {
                    blogSettings.InnerItem.SetValue(BlogSettings.AuthorViewPageFieldId, authorPage.ID);
                }

                using (new EditContext(bh))
                {
                    bh.SetValue(BlogHome.BlogSettingsFieldId, blogSettings.InnerItem.ID);
                    bh.SetString(BlogHome.BlogNameFieldId, blogName);
                }

                if (hasImportFile)
                {
                    //IMPORTS BLOG POSTS
                    List<WPPost> listWordpressPosts = ImportManager.Import(fileLocation, false, false, false);
                    if (listWordpressPosts.Any())
                        ImportManager.ImportPosts(bh, listWordpressPosts.ToList(), blogName, userBlogPostTemplate);
                }

                return true;

                #endregion
            }
        }
Example #33
0
 public void AddBlogType(BlogType type)
 {
     _ctx.BlogTypes.Add(type);
 }
        public async Task <BlogResponseDto> CreateNew(String name, String title, String description, Boolean isPublic, BlogType type, Int64 ownerId)
        {
            using (var uow = _tellerDatabaseUnitOfWorkFactory.CreateBasicUnitOfWork())
            {
                var owner = await uow.GetRepository <IUserRepository>().GetById(ownerId);

                if (owner == null)
                {
                    return(null);
                }

                var blog = new Blog {
                    Name        = name.Trim().ToLower(),
                    Title       = title.Trim(),
                    Description = description.Trim(),
                    IsPublic    = isPublic,
                    Type        = type,
                    Owner       = owner
                };

                var savedBlog = await uow.GetRepository <IBlogRepository>().SaveOrUpdate(blog);

                uow.Commit();

                return(new BlogResponseDto
                {
                    Id = savedBlog.Id,
                    Name = savedBlog.Name,
                    Title = savedBlog.Title,
                    Author = new UserResponseDto
                    {
                        Id = savedBlog.Owner.Id,
                        FullName = $"{ savedBlog.Owner.FirstName } { savedBlog.Owner.LastName }",
                        Avatar = savedBlog.Owner.Avatar
                    }
                });
            }
        }
        public bool Delete(int id)
        {
            BlogType model = Get(id);

            return(bll.Delete(model));
        }