refactoring

This commit is contained in:
Paul Schneider 2015-10-17 19:07:54 +02:00
commit bb5e34a61d
29 changed files with 609 additions and 272 deletions

View file

@ -30,8 +30,6 @@ using System.ComponentModel.DataAnnotations;
namespace Yavsc.Model.Blogs
{
/// <summary>
/// Base post.
/// </summary>
@ -55,8 +53,6 @@ namespace Yavsc.Model.Blogs
}
}
/// <summary>
/// The posted.
/// </summary>
@ -139,12 +135,10 @@ namespace Yavsc.Model.Blogs
set;
}
/// <summary>
/// Gets or sets a value indicating whether this <see cref="Yavsc.Model.Blogs.BlogEntry"/> is visible.
/// </summary>
/// <value><c>true</c> if visible; otherwise, <c>false</c>.</value>
public bool Visible { get; set ; }
}
}

View file

@ -0,0 +1,42 @@
//
// BasePostInfo.cs
//
// Author:
// Paul Schneider <paul@pschneider.fr>
//
// Copyright (c) 2015 GNU GPL
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
using System;
using System.Configuration;
using System.Collections.Generic;
using Yavsc.Model.Blogs;
using System.Linq;
using Yavsc.Model.Circles;
namespace Yavsc.Model.Blogs
{
/// <summary>
/// Base post info.
/// </summary>
public class BasePostInfo: BasePost {
/// <summary>
/// The intro.
/// </summary>
public string Intro;
}
}

View file

@ -18,15 +18,17 @@ namespace Yavsc.Model.Blogs
public BlogEntryCollection ()
{
}
/// <summary>
/// Initializes a new instance of the <see cref="Yavsc.Model.Blogs.BlogEntryCollection"/> class.
/// </summary>
/// <param name="items">Items.</param>
public BlogEntryCollection(IEnumerable<BlogEntry> items)
public BlogEntryCollection (IEnumerable<BlogEntry> items)
{
if (items!=null)
if (items != null)
this.AddRange (items);
}
/// <summary>
/// Returns a <see cref="System.String"/> that represents the current <see cref="Yavsc.Model.Blogs.BlogEntryCollection"/>.
/// </summary>
@ -57,115 +59,81 @@ namespace Yavsc.Model.Blogs
{
return this.Where (x => x.Title == title).ToArray ();
}
/// <summary>
/// Filters the current collection for a given user by its name.
/// Assumes that this user is not an author of any of these posts.
/// </summary>
/// <param name="username">Username.</param>
public BlogEntryCollection FilterFor(string username)
public BlogEntryCollection FilterFor (string username)
{
BlogEntryCollection res = new BlogEntryCollection ();
foreach (BlogEntry be in this) {
if (be.Visible &&
(be.AllowedCircles == null ||
(username!= null && CircleManager.DefaultProvider.Matches
(be.AllowedCircles,username))))
{
res.Add(be);
}
if (be.Visible &&
(be.AllowedCircles == null ||
(username != null && CircleManager.DefaultProvider.Matches
(be.AllowedCircles, username)))) {
res.Add (be);
}
}
return res;
}
/// <summary>
/// Base post info.
/// </summary>
public class BasePostInfo: BasePost {
/// <summary>
/// The intro.
/// </summary>
public string Intro;
}
/// <summary>
/// Post info.
/// </summary>
public class PostInfoByTitle : BasePostInfo {
/// <summary>
/// The name of the user.
/// </summary>
public string Author;
}
/// <summary>
/// Post info by user.
/// </summary>
public class PostInfoByUser : BasePostInfo {
/// <summary>
/// The name of the user.
/// </summary>
public string Title;
}
/// <summary>
/// Groups by title.
/// </summary>
public IEnumerable<IGrouping<string,PostInfoByTitle>> GroupByTitle()
public IEnumerable<IGrouping<string,PostInfoByTitle>> GroupByTitle ()
{
bool truncated;
return from be in this
orderby be.Posted descending
group
new PostInfoByTitle { Author=be.Author, Id=be.Id,
Posted=be.Posted, Modified=be.Modified,
Intro = MarkdownHelper.MarkdownIntro(be.Content, out truncated),
group
new PostInfoByTitle { Author = be.Author, Id = be.Id,
Posted = be.Posted, Modified = be.Modified,
Intro = MarkdownHelper.MarkdownIntro (be.Content, out truncated),
Visible = be.Visible,
Photo = be.Photo
}
by be.Title
into titlegroup
select titlegroup;
select titlegroup;
}
/// <summary>
/// Groups by user.
/// </summary>
/// <returns>The by user.</returns>
public IEnumerable<IGrouping<string,PostInfoByUser>> GroupByUser()
public IEnumerable<IGrouping<string,PostInfoByUser>> GroupByUser ()
{
bool truncated;
return from be in this
orderby be.Posted descending
group
new PostInfoByUser {
Title=be.Title,
Id=be.Id,
Posted=be.Posted,
Modified=be.Modified,
Intro = MarkdownHelper.MarkdownIntro(be.Content, out truncated) ,
group
new PostInfoByUser {
Title = be.Title,
Id = be.Id,
Posted = be.Posted,
Modified = be.Modified,
Intro = MarkdownHelper.MarkdownIntro (be.Content, out truncated),
Photo = be.Photo,
Visible = be.Visible
}
by be.Author
into usergroup
select usergroup;
select usergroup;
}
/// <summary>
/// Gets the titles.
/// </summary>
/// <value>The titles.</value>
public string[] Titles { get {
public string[] Titles {
get {
string[] result = this.Select (x => x.Title).Distinct ().ToArray ();
if (result == null)
return new string[0];
return result;
} }
}
}
}
}

View file

@ -19,6 +19,8 @@ namespace Yavsc.Model.Blogs
/// <param name="postid">Postid.</param>
public abstract BlogEntry GetPost (long postid);
public abstract TagInfo GetTagInfo (string tagname);
/// <summary>
/// Gets the post collection from a given user and at a given title.
/// </summary>

View file

@ -0,0 +1,44 @@
//
// PostInfoByTitle.cs
//
// Author:
// Paul Schneider <paul@pschneider.fr>
//
// Copyright (c) 2015 GNU GPL
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
using System;
using System.Configuration;
using System.Collections.Generic;
using Yavsc.Model.Blogs;
using System.Linq;
using Yavsc.Model.Circles;
namespace Yavsc.Model.Blogs
{
/// <summary>
/// Post info.
/// </summary>
public class PostInfoByTitle : BasePostInfo {
/// <summary>
/// The name of the user.
/// </summary>
public string Author;
}
}

View file

@ -0,0 +1,43 @@
//
// PostInfoByUser.cs
//
// Author:
// Paul Schneider <paul@pschneider.fr>
//
// Copyright (c) 2015 GNU GPL
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
using System;
using System.Configuration;
using System.Collections.Generic;
using Yavsc.Model.Blogs;
using System.Linq;
using Yavsc.Model.Circles;
namespace Yavsc.Model.Blogs
{
/// <summary>
/// Post info by user.
/// </summary>
public class PostInfoByUser : BasePostInfo {
/// <summary>
/// The name of the user.
/// </summary>
public string Title;
}
}

View file

@ -0,0 +1,60 @@
//
// TagInfo.cs
//
// Author:
// Paul Schneider <paul@pschneider.fr>
//
// Copyright (c) 2015 GNU GPL
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
using System;
using System.Collections.Generic;
namespace Yavsc.Model.Blogs
{
/// <summary>
/// Tag info.
/// </summary>
public abstract class TagInfo
{
string name;
/// <summary>
/// Gets or sets the name.
/// </summary>
/// <value>The name.</value>
public string Name {
get {
return name;
}
set {
name = value;
}
}
/// <summary>
/// Initializes a new instance of the <see cref="Yavsc.Model.Blogs.TagInfo"/> class.
/// </summary>
/// <param name="tagname">Tagname.</param>
public TagInfo (string tagname)
{
Name = tagname;
}
/// <summary>
/// Gets the titles.
/// </summary>
/// <value>The titles.</value>
public abstract IEnumerable<BasePostInfo> Titles { get; }
}
}

View file

@ -1,3 +1,18 @@
2015-10-17 Paul Schneider <paul@pschneider.fr>
* TagInfo.cs:
* YavscModel.csproj:
* BasePost.cs:
* LocalizedText.resx:
* LocalizedText.fr.resx:
* BlogProvider.cs:
* BasePostInfo.cs:
* PostInfoByUser.cs:
* PostInfoByTitle.cs:
* LocalizedText.Designer.cs:
* LocalizedText.fr.Designer.cs:
* BlogEntryCollection.cs:
2015-10-17 Paul Schneider <paul@pschneider.fr>
* PostTag.cs:

View file

@ -64,6 +64,12 @@ namespace Yavsc.Model {
}
}
public static string Location {
get {
return ResourceManager.GetString("Location", resourceCulture);
}
}
public static string Circles {
get {
return ResourceManager.GetString("Circles", resourceCulture);
@ -250,9 +256,9 @@ namespace Yavsc.Model {
}
}
public static string Location {
public static string Tag_name {
get {
return ResourceManager.GetString("Location", resourceCulture);
return ResourceManager.GetString("Tag_name", resourceCulture);
}
}
@ -280,9 +286,9 @@ namespace Yavsc.Model {
}
}
public static string Tag_name {
public static string Logout {
get {
return ResourceManager.GetString("Tag_name", resourceCulture);
return ResourceManager.GetString("Logout", resourceCulture);
}
}

View file

@ -46,327 +46,39 @@ namespace Yavsc.Model {
}
}
public static string was_added_to_the_empty_role {
get {
return ResourceManager.GetString("was_added_to_the_empty_role", resourceCulture);
}
}
public static string Bill_edition {
get {
return ResourceManager.GetString("Bill_edition", resourceCulture);
}
}
public static string Tex_version {
get {
return ResourceManager.GetString("Tex_version", resourceCulture);
}
}
public static string Message_sent {
get {
return ResourceManager.GetString("Message_sent", resourceCulture);
}
}
public static string Count {
get {
return ResourceManager.GetString("Count", resourceCulture);
}
}
public static string Create {
get {
return ResourceManager.GetString("Create", resourceCulture);
}
}
public static string Description {
get {
return ResourceManager.GetString("Description", resourceCulture);
}
}
public static string Profile_edition {
get {
return ResourceManager.GetString("Profile_edition", resourceCulture);
}
}
public static string Title {
get {
return ResourceManager.GetString("Title", resourceCulture);
}
}
public static string My_Estimates {
get {
return ResourceManager.GetString("My_Estimates", resourceCulture);
}
}
public static string Google_error {
get {
return ResourceManager.GetString("Google_error", resourceCulture);
}
}
public static string StartDate {
get {
return ResourceManager.GetString("StartDate", resourceCulture);
}
}
public static string no_content {
get {
return ResourceManager.GetString("no_content", resourceCulture);
}
}
public static string View_source {
get {
return ResourceManager.GetString("View_source", resourceCulture);
}
}
public static string Ciffer {
get {
return ResourceManager.GetString("Ciffer", resourceCulture);
}
}
public static string Modify {
get {
return ResourceManager.GetString("Modify", resourceCulture);
}
}
public static string MaxDate {
get {
return ResourceManager.GetString("MaxDate", resourceCulture);
}
}
public static string New_Tag {
get {
return ResourceManager.GetString("New_Tag", resourceCulture);
}
}
public static string ProviderName {
get {
return ResourceManager.GetString("ProviderName", resourceCulture);
}
}
public static string Date_search {
get {
return ResourceManager.GetString("Date_search", resourceCulture);
}
}
public static string Members {
get {
return ResourceManager.GetString("Members", resourceCulture);
}
}
public static string ImportException {
get {
return ResourceManager.GetString("ImportException", resourceCulture);
}
}
public static string Preview {
get {
return ResourceManager.GetString("Preview", resourceCulture);
}
}
public static string Register {
get {
return ResourceManager.GetString("Register", resourceCulture);
}
}
public static string Hide_source {
get {
return ResourceManager.GetString("Hide_source", resourceCulture);
}
}
public static string access_denied {
get {
return ResourceManager.GetString("access_denied", resourceCulture);
}
}
public static string DoTag {
get {
return ResourceManager.GetString("DoTag", resourceCulture);
}
}
public static string Product_reference {
get {
return ResourceManager.GetString("Product_reference", resourceCulture);
}
}
public static string EndDate {
get {
return ResourceManager.GetString("EndDate", resourceCulture);
}
}
public static string Google_calendar {
get {
return ResourceManager.GetString("Google_calendar", resourceCulture);
}
}
public static string Consultant {
get {
return ResourceManager.GetString("Consultant", resourceCulture);
}
}
public static string EventWebPage {
get {
return ResourceManager.GetString("EventWebPage", resourceCulture);
}
}
public static string User_List {
get {
return ResourceManager.GetString("User List", resourceCulture);
}
}
public static string ImgLocator {
get {
return ResourceManager.GetString("ImgLocator", resourceCulture);
}
}
public static string Submit {
get {
return ResourceManager.GetString("Submit", resourceCulture);
}
}
public static string Not_Approuved {
get {
return ResourceManager.GetString("Not Approuved", resourceCulture);
}
}
public static string Remember_me {
get {
return ResourceManager.GetString("Remember_me", resourceCulture);
}
}
public static string DocTemplateException {
get {
return ResourceManager.GetString("DocTemplateException", resourceCulture);
}
}
public static string Unitary_cost {
get {
return ResourceManager.GetString("Unitary_cost", resourceCulture);
}
}
public static string Circles {
get {
return ResourceManager.GetString("Circles", resourceCulture);
}
}
public static string Location {
get {
return ResourceManager.GetString("Location", resourceCulture);
}
}
public static string Tag_name {
get {
return ResourceManager.GetString("Tag_name", resourceCulture);
}
}
public static string Remove {
get {
return ResourceManager.GetString("Remove", resourceCulture);
}
}
public static string none {
get {
return ResourceManager.GetString("none", resourceCulture);
}
}
public static string Hide {
get {
return ResourceManager.GetString("Hide", resourceCulture);
}
}
public static string Estimate_not_found {
get {
return ResourceManager.GetString("Estimate_not_found", resourceCulture);
}
}
public static string ProviderId {
get {
return ResourceManager.GetString("ProviderId", resourceCulture);
}
}
public static string Welcome {
public static string Pdf_version {
get {
return ResourceManager.GetString("Welcome", resourceCulture);
return ResourceManager.GetString("Pdf_version", resourceCulture);
}
}
public static string Online {
public static string Location {
get {
return ResourceManager.GetString("Online", resourceCulture);
return ResourceManager.GetString("Location", resourceCulture);
}
}
public static string Home {
public static string Circles {
get {
return ResourceManager.GetString("Home", resourceCulture);
return ResourceManager.GetString("Circles", resourceCulture);
}
}
public static string Offline {
public static string Preview {
get {
return ResourceManager.GetString("Offline", resourceCulture);
}
}
public static string MinDate {
get {
return ResourceManager.GetString("MinDate", resourceCulture);
}
}
public static string Comment {
get {
return ResourceManager.GetString("Comment", resourceCulture);
}
}
public static string User_name {
get {
return ResourceManager.GetString("User_name", resourceCulture);
return ResourceManager.GetString("Preview", resourceCulture);
}
}
@ -376,15 +88,51 @@ namespace Yavsc.Model {
}
}
public static string Pdf_version {
public static string none {
get {
return ResourceManager.GetString("Pdf_version", resourceCulture);
return ResourceManager.GetString("none", resourceCulture);
}
}
public static string ReadMore {
public static string Count {
get {
return ResourceManager.GetString("ReadMore", resourceCulture);
return ResourceManager.GetString("Count", resourceCulture);
}
}
public static string ProviderName {
get {
return ResourceManager.GetString("ProviderName", resourceCulture);
}
}
public static string Not_Approuved {
get {
return ResourceManager.GetString("Not Approuved", resourceCulture);
}
}
public static string User_name {
get {
return ResourceManager.GetString("User_name", resourceCulture);
}
}
public static string Estimate_not_found {
get {
return ResourceManager.GetString("Estimate_not_found", resourceCulture);
}
}
public static string Members {
get {
return ResourceManager.GetString("Members", resourceCulture);
}
}
public static string Google_calendar {
get {
return ResourceManager.GetString("Google_calendar", resourceCulture);
}
}
@ -394,27 +142,39 @@ namespace Yavsc.Model {
}
}
public static string Item_added_to_basket {
public static string was_added_to_the_empty_role {
get {
return ResourceManager.GetString("Item_added_to_basket", resourceCulture);
return ResourceManager.GetString("was_added_to_the_empty_role", resourceCulture);
}
}
public static string role_created {
public static string access_denied {
get {
return ResourceManager.GetString("role_created", resourceCulture);
return ResourceManager.GetString("access_denied", resourceCulture);
}
}
public static string Edit {
public static string Ciffer {
get {
return ResourceManager.GetString("Edit", resourceCulture);
return ResourceManager.GetString("Ciffer", resourceCulture);
}
}
public static string InternalServerError {
public static string Create {
get {
return ResourceManager.GetString("InternalServerError", resourceCulture);
return ResourceManager.GetString("Create", resourceCulture);
}
}
public static string Submit {
get {
return ResourceManager.GetString("Submit", resourceCulture);
}
}
public static string ImgLocator {
get {
return ResourceManager.GetString("ImgLocator", resourceCulture);
}
}
@ -424,10 +184,256 @@ namespace Yavsc.Model {
}
}
public static string Description {
get {
return ResourceManager.GetString("Description", resourceCulture);
}
}
public static string Google_error {
get {
return ResourceManager.GetString("Google_error", resourceCulture);
}
}
public static string Comment {
get {
return ResourceManager.GetString("Comment", resourceCulture);
}
}
public static string Tex_version {
get {
return ResourceManager.GetString("Tex_version", resourceCulture);
}
}
public static string Item_added_to_basket {
get {
return ResourceManager.GetString("Item_added_to_basket", resourceCulture);
}
}
public static string ImportException {
get {
return ResourceManager.GetString("ImportException", resourceCulture);
}
}
public static string Product_reference {
get {
return ResourceManager.GetString("Product_reference", resourceCulture);
}
}
public static string Hide {
get {
return ResourceManager.GetString("Hide", resourceCulture);
}
}
public static string Register {
get {
return ResourceManager.GetString("Register", resourceCulture);
}
}
public static string Tag_name {
get {
return ResourceManager.GetString("Tag_name", resourceCulture);
}
}
public static string New_Tag {
get {
return ResourceManager.GetString("New_Tag", resourceCulture);
}
}
public static string Modify {
get {
return ResourceManager.GetString("Modify", resourceCulture);
}
}
public static string Remove {
get {
return ResourceManager.GetString("Remove", resourceCulture);
}
}
public static string Title {
get {
return ResourceManager.GetString("Title", resourceCulture);
}
}
public static string Logout {
get {
return ResourceManager.GetString("Logout", resourceCulture);
}
}
public static string Message_sent {
get {
return ResourceManager.GetString("Message_sent", resourceCulture);
}
}
public static string Offline {
get {
return ResourceManager.GetString("Offline", resourceCulture);
}
}
public static string Bill_edition {
get {
return ResourceManager.GetString("Bill_edition", resourceCulture);
}
}
public static string InternalServerError {
get {
return ResourceManager.GetString("InternalServerError", resourceCulture);
}
}
public static string MaxDate {
get {
return ResourceManager.GetString("MaxDate", resourceCulture);
}
}
public static string Welcome {
get {
return ResourceManager.GetString("Welcome", resourceCulture);
}
}
public static string Edit {
get {
return ResourceManager.GetString("Edit", resourceCulture);
}
}
public static string Date_search {
get {
return ResourceManager.GetString("Date_search", resourceCulture);
}
}
public static string View_source {
get {
return ResourceManager.GetString("View_source", resourceCulture);
}
}
public static string role_created {
get {
return ResourceManager.GetString("role_created", resourceCulture);
}
}
public static string ReadMore {
get {
return ResourceManager.GetString("ReadMore", resourceCulture);
}
}
public static string EndDate {
get {
return ResourceManager.GetString("EndDate", resourceCulture);
}
}
public static string MinDate {
get {
return ResourceManager.GetString("MinDate", resourceCulture);
}
}
public static string Remember_me {
get {
return ResourceManager.GetString("Remember_me", resourceCulture);
}
}
public static string Home {
get {
return ResourceManager.GetString("Home", resourceCulture);
}
}
public static string Consultant {
get {
return ResourceManager.GetString("Consultant", resourceCulture);
}
}
public static string was_added_to_the_role {
get {
return ResourceManager.GetString("was_added_to_the_role", resourceCulture);
}
}
public static string DoTag {
get {
return ResourceManager.GetString("DoTag", resourceCulture);
}
}
public static string DocTemplateException {
get {
return ResourceManager.GetString("DocTemplateException", resourceCulture);
}
}
public static string no_content {
get {
return ResourceManager.GetString("no_content", resourceCulture);
}
}
public static string Unitary_cost {
get {
return ResourceManager.GetString("Unitary_cost", resourceCulture);
}
}
public static string Online {
get {
return ResourceManager.GetString("Online", resourceCulture);
}
}
public static string StartDate {
get {
return ResourceManager.GetString("StartDate", resourceCulture);
}
}
public static string Hide_source {
get {
return ResourceManager.GetString("Hide_source", resourceCulture);
}
}
public static string User_List {
get {
return ResourceManager.GetString("User List", resourceCulture);
}
}
public static string Profile_edition {
get {
return ResourceManager.GetString("Profile_edition", resourceCulture);
}
}
public static string My_Estimates {
get {
return ResourceManager.GetString("My_Estimates", resourceCulture);
}
}
}
}

View file

@ -41,6 +41,7 @@
<data name="InternalServerError"><value>Erreur serveur interne</value></data>
<data name="Item_added_to_basket"><value>Article ajouté au panier</value></data>
<data name="Location"><value>Lieu</value></data>
<data name="Logout"><value>Déconnection</value></data>
<data name="MaxDate"><value>Date maximale du rendez-vous</value></data>
<data name="Members"><value>Membres</value></data>
<data name="Message_sent"><value>Votre message a été envoyé</value></data>

View file

@ -43,6 +43,7 @@
<data name="ImportException"><value>Exception at importing</value></data>
<data name="Item_added_to_basket"><value>Item added to basket</value></data>
<data name="Location"><value>Location</value></data>
<data name="Logout"><value>Logout</value></data>
<data name="MaxDate"><value>Maximal date for the rendez-vous</value></data>
<data name="Members"><value>Members</value></data>
<data name="Message_sent"><value>Your message has been sent.</value></data>

View file

@ -174,6 +174,10 @@
<Compile Include="Blogs\UTBlogEntryCollection.cs" />
<Compile Include="Blogs\BasePost.cs" />
<Compile Include="Blogs\PostTag.cs" />
<Compile Include="Blogs\BasePostInfo.cs" />
<Compile Include="Blogs\PostInfoByTitle.cs" />
<Compile Include="Blogs\PostInfoByUser.cs" />
<Compile Include="Blogs\TagInfo.cs" />
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<ItemGroup>