コード例 #1
0
 public String CreateLabel(String blogGuid, String title)
 {
     using (DataContext db = new DataContext(ServiceConfiguration.ConnectionString))
     {
         //+ ensure blog exists
         BlogLINQ blogLinq;
         Validator.EnsureBlogExists(blogGuid, out blogLinq, db);
         //+
         LabelLINQ labelLinq;
         String    labelGuid;
         labelLinq = db.Labels.SingleOrDefault(p => p.BlogId == blogLinq.BlogId && p.LabelTitle == title);
         if (labelLinq != null)
         {
             labelGuid = labelLinq.LabelGuid;
         }
         else
         {
             labelLinq            = new LabelLINQ();
             labelLinq.LabelTitle = title;
             labelLinq.BlogId     = blogLinq.BlogId;
             labelLinq.LabelGuid  = Themelia.GuidCreator.GetNewGuid();
             db.Labels.InsertOnSubmit(labelLinq);
             //+
             db.SubmitChanges();
             labelGuid = labelLinq.LabelGuid;
         }
         //+
         return(labelGuid);
     }
 }
コード例 #2
0
        internal static void EnsureLabelExists(String labelGuid, out LabelLINQ labelLinq, String message, MinimaServiceLINQDataContext db)
        {
            Func <LabelLINQ, Boolean> labelExists = x => x.LabelGuid == labelGuid;

            labelLinq = db.Labels.SingleOrDefault(labelExists);
            if (labelLinq == null)
            {
                throw new ArgumentException(message);
            }
        }
コード例 #3
0
 //- @GetLabelByNetTitle-//
 public Label GetLabelByNetTitle(String netTitle)
 {
     using (DataContext db = new DataContext(ServiceConfiguration.ConnectionString))
     {
         DataLoadOptions options = new DataLoadOptions();
         options.LoadWith <LabelLINQ>(p => p.Blog);
         LabelLINQ labelLinq = db.Labels.SingleOrDefault(p => p.LabelNetTitle == netTitle);
         if (labelLinq == null)
         {
             return(null);
         }
         //+
         return(new Label
         {
             BlogGuid = labelLinq.Blog.BlogGuid,
             FriendlyTitle = labelLinq.LabelFriendlyTitle,
             Guid = labelLinq.LabelGuid,
             Title = labelLinq.LabelTitle,
             BlogEntryCount = GetEntryCount(labelLinq, db)
         });
     }
 }
コード例 #4
0
 //- ~EnsureLabelExists -//
 internal static void EnsureLabelExists(String labelGuid, out LabelLINQ labelLinq, MinimaServiceLINQDataContext db)
 {
     EnsureLabelExists(labelGuid, out labelLinq, Message.InvalidLabelGuid, db);
 }
コード例 #5
0
 //+
 //- $GetEntryCount -//
 private Int32 GetEntryCount(LabelLINQ labelLinq, DataContext db)
 {
     return(db.LabelBlogEntries.Where(p => p.LabelId == labelLinq.LabelId).Count());
 }