예제 #1
0
 public override int CreateLink(Link link)
 {
     int linkId = _procedures.InsertLink(link.Title,
         link.Url,
         link.Rss ?? string.Empty,
         link.IsActive,
         link.NewWindow,
         link.CategoryId,
         link.PostId.NullIfMinValue(),
         BlogId,
         link.Relation);
     link.Id = linkId;
     return linkId;
 }
예제 #2
0
        private static Link GetLinkFromLinkCategory(LinkCategory linkCategory, CategoryType catType, BlogUrlHelper urlHelper, Blog blog)
        {
            var link = new Link { Title = linkCategory.Title };

            switch (catType)
            {
                case CategoryType.StoryCollection:
                    link.Url = urlHelper.CategoryUrl(linkCategory).ToFullyQualifiedUrl(blog).ToString();
                    break;

                case CategoryType.PostCollection:
                    link.Url = urlHelper.CategoryUrl(linkCategory).ToFullyQualifiedUrl(blog).ToString();
                    link.Rss = urlHelper.CategoryRssUrl(linkCategory);
                    break;

                case CategoryType.ImageCollection:
                    link.Url = urlHelper.GalleryUrl(linkCategory.Id).ToFullyQualifiedUrl(blog).ToString();
                    break;
            }
            link.NewWindow = false;
            return link;
        }
예제 #3
0
        public static Link LoadLink(IDataReader reader)
        {
            Link link = new Link();
            // Active cannot be null
            link.IsActive = (bool)reader["Active"];

            if(reader["NewWindow"] != DBNull.Value)
            {
                link.NewWindow = (bool)reader["NewWindow"];
            }

            if (reader["Rel"] != DBNull.Value)
            {
               link.Relation = ReadString(reader, "Rel");
            }

            // LinkID cannot be null
            link.Id = ReadInt32(reader, "LinkID");

            if(reader["Rss"] != DBNull.Value)
            {
                link.Rss = ReadString(reader, "Rss");
            }

            if(reader["Url"] != DBNull.Value)
            {
                link.Url = ReadString(reader, "Url");
            }

            if(reader["Title"] != DBNull.Value)
            {
                link.Title = ReadString(reader, "Title");
            }

            if(reader["CategoryID"] != DBNull.Value)
            {
                link.CategoryID = ReadInt32(reader, "CategoryID");
            }

            if(reader["PostID"] != DBNull.Value)
            {
                link.PostID = ReadInt32(reader, "PostID");
            }

            if (reader["BlogId"] != DBNull.Value)
            {
                link.BlogId = ReadInt32(reader, "BlogId");
            }
            return link;
        }
예제 #4
0
 //Needs to be handled else where!
 public static Link LoadArchiveLink(IDataReader reader)
 {
     Link link = new Link();
     int count = ReadInt32(reader, "Count");
     DateTime dt = new DateTime(ReadInt32(reader, "Year"),ReadInt32(reader, "Month"),1);
     link.NewWindow = false;
     link.Title = dt.ToString("y", CultureInfo.InvariantCulture) + " (" + count.ToString(CultureInfo.InvariantCulture) + ")";
     //link.Url = Globals.ArchiveUrl(dt,"MMyyyy");
     link.NewWindow = false;
     link.IsActive = true;
     return link;
 }
예제 #5
0
 public abstract int CreateLink(Link link);
예제 #6
0
 public abstract bool UpdateLink(Link link);
예제 #7
0
        private void ImportOpmlItem(OpmlItem item)
        {
            foreach (OpmlItem childItem in item.ChildItems)
                ImportOpmlItem(childItem);

            Link newLink = new Link();
            newLink.Title = item.Title;
            newLink.Url = item.HtmlUrl;
            newLink.Rss = item.XmlUrl;
            newLink.CategoryID = _categoryID;

            // TODO: let user specify and pass as command props
            newLink.IsActive = true;
            newLink.NewWindow = false;

            // this isn't a valid collision test really
            if (!_allLinks.Contains(newLink))
                Links.CreateLink(newLink);
        }
예제 #8
0
 static Link CreateLink(ObjectRepository repository, string title, int? categoryId, int? postId)
 {
     var link = new Link();
     link.IsActive = true;
     link.BlogId = Config.CurrentBlog.Id;
     if (categoryId != null)
     {
         link.CategoryId = (int)categoryId;
     }
     link.Title = title;
     if (postId != null)
     {
         link.PostId = (int)postId;
     }
     int linkId = repository.CreateLink(link);
     Assert.AreEqual(linkId, link.Id);
     return link;
 }
예제 #9
0
 public static int CreateLink(Link link)
 {
     return ObjectProvider.Instance().CreateLink(link);
 }
예제 #10
0
 public void CanSetAndGetSimpleProperties()
 {
     var link = new Link();
     UnitTestHelper.AssertSimpleProperties(link);
 }
예제 #11
0
 public override bool UpdateLink(Link link)
 {
     return _procedures.UpdateLink(link.Id,
         link.Title,
         link.Url,
         link.Rss ?? string.Empty,
         link.IsActive,
         link.NewWindow,
         link.CategoryId,
         link.Relation,
         BlogId);
 }
예제 #12
0
 public override int CreateLink(Link link)
 {
     return DbProvider.Instance().InsertLink(link);
 }
예제 #13
0
 public override bool UpdateLink(Link link)
 {
     return DbProvider.Instance().UpdateLink(link);
 }
예제 #14
0
        public static Link LoadLink(DataRow dr)
        {
            Link link = new Link();
            // Active cannot be null
            link.IsActive = (bool)dr["Active"];

            if(dr["NewWindow"] != DBNull.Value)
            {
                link.NewWindow = (bool)dr["NewWindow"];
            }

            //LinkID cannot be null.
            link.Id = (int)dr["LinkID"];

            if(dr["Rss"] != DBNull.Value)
            {
                link.Rss = (string)dr["Rss"];
            }

            if(dr["Url"] != DBNull.Value)
            {
                link.Url = (string)dr["Url"];
            }

            if(dr["Title"] != DBNull.Value)
            {
                link.Title = (string)dr["Title"];
            }

            if(dr["CategoryID"] != DBNull.Value)
            {
                link.CategoryID = (int)dr["CategoryID"];
            }

            if (dr["Rel"] != DBNull.Value)
            {
                link.Relation = (string)(dr["Rel"]);
            }

            if(dr["PostID"] != DBNull.Value)
            {
                link.PostID = (int)dr["PostID"];
            }
            return link;
        }
예제 #15
0
        private void UpdateLink()
        {
            string successMessage = Constants.RES_SUCCESSNEW;

            try
            {
                var link = new Link
                {
                    Title = txbTitle.Text,
                    Url = txbUrl.Text,
                    Rss = txbRss.Text,
                    IsActive = ckbIsActive.Checked,
                    CategoryId = Convert.ToInt32(ddlCategories.SelectedItem.Value),
                    NewWindow = chkNewWindow.Checked,
                    Id = Config.CurrentBlog.Id,
                    Relation = txtXfn.Text
                };

                if(LinkID > 0)
                {
                    successMessage = Constants.RES_SUCCESSEDIT;
                    link.Id = LinkID;
                    Repository.UpdateLink(link);
                }
                else
                {
                    LinkID = Repository.CreateLink(link);
                }

                if(LinkID > 0)
                {
                    BindList();
                    Messages.ShowMessage(successMessage);
                }
                else
                {
                    Messages.ShowError(Constants.RES_FAILUREEDIT
                                       + " There was a baseline problem posting your link.");
                }
            }
            catch(Exception ex)
            {
                Messages.ShowError(String.Format(Constants.RES_EXCEPTION,
                                                 Constants.RES_FAILUREEDIT, ex.Message));
            }
            finally
            {
                rprSelectionList.Visible = true;
                headerLiteral.Visible = true;
            }
        }
예제 #16
0
        private void ImportOpmlItem(OpmlItem item)
        {
            foreach (OpmlItem childItem in item.ChildItems)
            {
                ImportOpmlItem(childItem);
            }

            var newLink = new Link
            {
                Title = item.Title,
                Url = item.HtmlUrl,
                Rss = item.XmlUrl,
                CategoryId = _categoryID,
                IsActive = true,
                NewWindow = false
            };

            // TODO: let user specify and pass as command props

            // this isn't a valid collision test really
            if (!_allLinks.Contains(newLink))
            {
                Repository.CreateLink(newLink);
            }
        }
예제 #17
0
 public abstract int InsertLink(Link link);