Пример #1
0
 private bool CheckIgnoreForExport(ExportRecordType exportType, Entity entity)
 {
     if (XrmService.FieldExists("statecode", entity.LogicalName))
     {
         if (!exportType.IncludeInactive)
         {
             var activeStates = new List <int>(new[] { XrmPicklists.State.Active });
             if (entity.LogicalName == "product")
             {
                 activeStates.AddRange(new[] { 2, 3 });//draft and under revision for latest crm releases
             }
             if (entity.LogicalName == "knowledgearticle")
             {
                 activeStates.Clear();
                 activeStates.AddRange(new[] { 0, 1, 2, 3 });//draft and under revision for latest crm releases
             }
             if (!activeStates.Contains(entity.GetOptionSetValue("statecode")))
             {
                 return(true);
             }
         }
     }
     //include 1 = public
     if (entity.LogicalName == "queue" && entity.GetOptionSetValue("queueviewtype") == 1)
     {
         return(true);
     }
     //exclude 1 = customer service 2 = holiday schedule
     if (entity.LogicalName == "calendar" && !new[] { 1, 2, }.Contains(entity.GetOptionSetValue("type")))
     {
         return(true);
     }
     return(false);
 }
 private bool CheckIgnoreForExport(ExportRecordType exportType, Entity entity)
 {
     if (XrmService.FieldExists("statecode", entity.LogicalName))
     {
         if (!exportType.IncludeInactive)
         {
             var activeStates = new List <int>(new[] { XrmPicklists.State.Active });
             if (entity.LogicalName == Entities.product)
             {
                 activeStates.AddRange(new[] {
                     OptionSets.Product.Status.Draft,
                     OptionSets.Product.Status.UnderRevision
                 });
             }
             if (entity.LogicalName == Entities.knowledgearticle)
             {
                 activeStates.Clear();
                 activeStates.AddRange(new[] {
                     OptionSets.KnowledgeArticle.Status.Draft,
                     OptionSets.KnowledgeArticle.Status.Approved,
                     OptionSets.KnowledgeArticle.Status.Scheduled,
                     OptionSets.KnowledgeArticle.Status.Published
                 });
             }
             if (entity.LogicalName == Entities.email ||
                 entity.LogicalName == Entities.appointment ||
                 entity.LogicalName == Entities.task ||
                 entity.LogicalName == Entities.phonecall ||
                 entity.LogicalName == Entities.letter)
             {
                 activeStates.Clear();
                 activeStates.AddRange(new[] {
                     OptionSets.Activity.ActivityStatus.Open,
                     OptionSets.Activity.ActivityStatus.Completed,
                     OptionSets.Activity.ActivityStatus.Scheduled
                 });
             }
             if (!activeStates.Contains(entity.GetOptionSetValue("statecode")))
             {
                 return(true);
             }
         }
     }
     //include 1 = public
     if (entity.LogicalName == "queue" && entity.GetOptionSetValue("queueviewtype") == 1)
     {
         return(true);
     }
     //exclude 1 = customer service 2 = holiday schedule
     if (entity.LogicalName == "calendar" && !new[] { 1, 2, }.Contains(entity.GetOptionSetValue("type")))
     {
         return(true);
     }
     return(false);
 }