Example #1
0
 public static void Move(Guid SourceID, Guid DestID)
 {
     using (LinqMicajahDataContext dc = new LinqMicajahDataContext())
     {
         GuidPair Pair =
             (from mc1 in dc.MetricCategory
              join mc2 in dc.MetricCategory
              on mc1.Name equals mc2.Name
              where
              (mc1.InstanceId == LinqMicajahDataContext.InstanceId)
              &&
              (mc2.InstanceId == LinqMicajahDataContext.InstanceId)
              &&
              (mc1.MetricCategoryID == SourceID)
              &&
              (mc2.ParentId == DestID)
              &&
              mc1.Status == true
              &&
              mc2.Status == true
              select new GuidPair
         {
             SourceGuid = mc1.MetricCategoryID,
             DestGuid = mc2.MetricCategoryID
         }).FirstOrNull();
         if (Pair == null)
         {
             // move
             MetricCategory SourceMC =
                 (from mc in dc.MetricCategory
                  where
                  (mc.InstanceId == LinqMicajahDataContext.InstanceId)
                  &&
                  (mc.MetricCategoryID == SourceID)
                  select mc).FirstOrNull();
             if (SourceMC != null)
             {
                 SourceMC.ParentId = DestID;
             }
             dc.SubmitChanges();
         }
         else
         if (SourceID != Pair.DestGuid)
         {
             MergeMC(dc, SourceID, Pair.DestGuid);    // merge
         }
     }
 }
Example #2
0
 public static void Move(Guid SourceID, Guid DestID)
 {
     using (LinqMicajahDataContext dc = new LinqMicajahDataContext())
     {
         GuidPair Pair =
             (from gca1 in dc.GroupCategoryAspect
              join gca2 in dc.GroupCategoryAspect
              on new { gca1.InstanceId, gca1.Name }
              equals new { gca2.InstanceId, gca2.Name }
              where
              (gca1.InstanceId == LinqMicajahDataContext.InstanceId)
              &&
              (gca2.InstanceId == LinqMicajahDataContext.InstanceId)
              &&
              (gca1.GroupCategoryAspectID == SourceID)
              &&
              (gca2.ParentId == DestID)
              &&
              gca1.Status == true
              &&
              gca2.Status == true
              select new GuidPair
         {
             SourceGuid = gca1.GroupCategoryAspectID,
             DestGuid = gca2.GroupCategoryAspectID
         }).FirstOrNull();
         if (Pair == null)
         {
             GroupCategoryAspect SourceGCA =
                 (from gca in dc.GroupCategoryAspect
                  where
                  (gca.InstanceId == LinqMicajahDataContext.InstanceId)
                  &&
                  (gca.GroupCategoryAspectID == SourceID)
                  select gca).FirstOrNull();
             if (SourceGCA != null)
             {
                 SourceGCA.ParentId = DestID;
             }
             dc.SubmitChanges();
         }
         else
         if (SourceID != Pair.DestGuid)
         {
             MergeGCA(dc, SourceID, Pair.DestGuid);    // merge
         }
     }
 }