コード例 #1
0
 public static EntityKind CreateEntityKind(string version, long ID, global::System.Guid tid, string name, long createdById, long modifiedById, global::System.DateTimeOffset created, global::System.DateTimeOffset modified)
 {
     EntityKind entityKind = new EntityKind();
     entityKind.Version = version;
     entityKind.Id = ID;
     entityKind.Tid = tid;
     entityKind.Name = name;
     entityKind.CreatedById = createdById;
     entityKind.ModifiedById = modifiedById;
     entityKind.Created = created;
     entityKind.Modified = modified;
     return entityKind;
 }
コード例 #2
0
 /// <summary>
 /// Incluye la entidad en la metadata.
 /// </summary>
 /// <param name="index">Índice de una entidad</param>
 /// <param name="local">Si es local, significa que no tiene su propio key value en la base de dato de persistencia.</param>
 /// <param name="visible">Determina si la clase es visible en el cliente.</param>
 /// <param name="pathname">Ruta usada para la API o el router del cliente</param>
 /// <param name="entityKind">Determina si es una entidad, un proceso u otro.</param>
 public ReferenceSearchHeaderAttribute(EntityRelated index, bool local = false, bool visible = true, string pathname = "", EntityKind entityKind = EntityKind.ENTITY)
 {
     KindIndex = (int)(local ? KindEntityProperty.LOCAL_REFERENCE : KindEntityProperty.REFERENCE);
     Index     = (int)index;
     Visible   = visible;
     PathName  = pathname;
     Kind      = entityKind;
 }
コード例 #3
0
 /// <summary>
 /// Creates an instance of the class
 /// </summary>
 /// <param name="name">entity name</param>
 /// <param name="kind">entity kind</param>
 public DynamicObjectEntity(string name, EntityKind kind)
 {
     Name = name;
     Kind = kind;
 }
コード例 #4
0
ファイル: DbModelClasses.cs プロジェクト: yuanfei05/vita
 public DbTableInfo(DbModel model, string schema, string tableName, EntityInfo entity, DbObjectType objectType = DbObjectType.Table)
     : base(model, schema, objectType, entity)
 {
     TableName = tableName;
       Entity = entity; //might be null
       Kind = EntityKind.Table;
       if (Entity != null)
     Kind = Entity.Kind;
       else if (objectType == DbObjectType.View)
     Kind = EntityKind.View; // when loading from database
       FullName = model.Driver.GetFullName(Schema, tableName);
       base.GlobalName = DbModelHelper.GetGlobalName(Schema, TableName);
       model.AddTable(this);
 }
コード例 #5
0
 public Header(CommandId cid, EntityKind kind, int sn)
 {
     this.cid = cid;
     this.ek = kind;
     this.sn = sn;
 }
コード例 #6
0
 public EntityKindAttribute(EntityKind entityKind, EntityData entityData)
 {
     this.EntityKind = entityKind;
     this.EntityData = entityData;
 }
コード例 #7
0
ファイル: TypeAttributes.cs プロジェクト: nuub666/framework
 public EntityKindAttribute(EntityKind entityKind, EntityData entityData)
 {
     this.EntityKind = entityKind;
     this.EntityData = entityData;
 }
コード例 #8
0
 public OwlName FromDL(CogniPy.CNL.DL.DlName dl, CNL.EN.endict lex, Func <string, string> pfx2ns, EntityKind madeFor)
 {
     Debugger.Break();
     throw new NotImplementedException();
 }
コード例 #9
0
ファイル: InputService.cs プロジェクト: ixmilia/bcad
        public async Task <ValueOrDirective <IEnumerable <Entity> > > GetEntities(string prompt = null, EntityKind entityKinds = EntityKind.All, RubberBandGenerator onCursorMove = null)
        {
            ValueOrDirective <IEnumerable <Entity> >?result = null;
            HashSet <Entity> entities     = new HashSet <Entity>();
            bool             awaitingMore = true;

            while (awaitingMore)
            {
                await WaitFor(InputType.Entities | InputType.Directive, new UserDirective(prompt ?? "Select entities", "all"), onCursorMove);

                switch (lastType)
                {
                case PushedValueType.Cancel:
                    result = ValueOrDirective <IEnumerable <Entity> > .GetCancel();

                    awaitingMore = false;
                    break;

                case PushedValueType.Directive:
                    Debug.Assert(false, "TODO: allow 'all' directive and 'r' to remove objects from selection");
                    break;

                case PushedValueType.None:
                    result = ValueOrDirective <IEnumerable <Entity> > .GetValue(entities);

                    awaitingMore = false;
                    break;

                case PushedValueType.Entity:
                    if ((entityKinds & pushedEntity.Entity.Kind) == pushedEntity.Entity.Kind)
                    {
                        entities.Add(pushedEntity.Entity);
                        _workspace.SelectedEntities.Add(pushedEntity.Entity);
                    }

                    _workspace.OutputService.WriteLine($"Selected 1 entity.  Total {entities.Count} selected.");
                    break;

                case PushedValueType.Entities:
                    foreach (var e in pushedEntities)
                    {
                        if ((entityKinds & e.Kind) == e.Kind)
                        {
                            entities.Add(e);
                            _workspace.SelectedEntities.Add(e);
                        }
                    }

                    _workspace.OutputService.WriteLine($"Selected {pushedEntities.Count()} entities.  Total {entities.Count} selected.");
                    break;

                default:
                    throw new Exception("Unexpected pushed value");
                }
            }

            ResetWaiters();
            Debug.Assert(result != null, "result should never be null");
            return(result.Value);
        }
コード例 #10
0
        /// <summary>
        /// Translate a CNL(DL) name to a OWL name
        /// </summary>
        /// <param name="dl">the CNL name</param>
        /// <param name="lex"></param>
        /// <param name="pfx2ns"></param>
        /// <param name="madeFor">the type of this entity (Concept, Instance, Role,...)</param>
        /// <returns></returns>
        public OwlName FromDL(CogniPy.CNL.DL.DlName dl, CNL.EN.endict lex, Func <string, string> pfx2ns, EntityKind madeFor)
        {
            var owlParts = new OwlName.Parts();
            var dlParts  = dl.Split();

            if (dlParts.term == null)
            {
                owlParts.ns = pfx2ns(null);// OWLOntologyXMLNamespaceManager namespaceManager namespaceManager.getDefaultNamespace();
            }
            else
            {
                owlParts.ns = pfx2ns(dlParts.term);//namespaceManager.getNamespaceForPrefix(dlParts.term);
                if (owlParts.ns == null)
                {
                    owlParts.ns = "http://ontorion.com/unknown.owl/" + dlParts.term + "#";
                }
            }
            if (!dlParts.quoted)
            {
                var    name_part = dlParts.name;
                string sufix     = "";
                if (madeFor == EntityKind.SWRLVariable)
                {
                    var a = name_part.Split('_');
                    if (a.Length == 2)
                    {
                        name_part = a.First();
                        sufix     = a.Last();
                    }
                }

                var           pp         = name_part.Split(new char[] { '-' });
                StringBuilder sb         = new StringBuilder();
                bool          first      = true;
                string        oldpp      = "";
                bool          wereDigits = false;
                foreach (var p in pp)
                {
                    if (first)
                    {
                        first = false;
                        if (madeFor == EntityKind.Role || madeFor == EntityKind.DataRole)
                        {
                            var nn = lex.toN_Simple(p, CNL.EN.endict.WordKind.PastParticiple);
                            sb.Append(nn);
                        }
                        else
                        {
                            sb.Append((madeFor == EntityKind.Instance || (madeFor == EntityKind.SWRLVariable /* && p.Length==1 */)) ?
                                      char.ToUpper(p[0]) : char.ToLower(p[0]));
                            sb.Append(p.Substring(1));
                        }
                    }
                    else
                    {
                        if (oldpp.Length > 1 && char.IsLetter(oldpp[0]) && char.ToUpper(oldpp.Last()) == oldpp.Last() && char.IsLetter(p[0]))
                        {
                            sb.Append(exoticUTFForUnderscore);
                        }
                        if (char.IsDigit(p[0]))
                        {
                            if (wereDigits)
                            {
                                sb.Append("-");
                            }
                            sb.Append(p);
                            wereDigits = true;
                        }
                        else
                        {
                            sb.Append(char.ToUpper(p[0]));
                            sb.Append(p.Substring(1));
                            wereDigits = false;
                        }
                    }
                    oldpp = p;
                }
                owlParts.name = sb.ToString() + (string.IsNullOrEmpty(sufix) ? "" : "_" + sufix);
            }
            else
            {
                owlParts.name = dlParts.name;
            }

            owlParts.global = (madeFor == EntityKind.Instance && !dlParts.local);

            return(owlParts.Combine());
        }
コード例 #11
0
        public CogniPy.CNL.DL.DlName ToDL(OwlName owlname, CNL.EN.endict lex, Func <string, string> ns2pfx, EntityKind madeFor)
        {
            var    parts     = owlname.Split();
            string defaultNs = ns2pfx(null);

            if (string.IsNullOrWhiteSpace(parts.ns))
            {
                parts.ns = defaultNs;
            }

            string pfx = null;

            if (!IRIParser.AreNamespacesEqual(defaultNs, parts.ns))
            {
                pfx = ns2pfx(parts.ns);
            }

            var mth      = bregexp.Match(parts.name);
            var captures = mth.Groups["g"].Captures;
            var dlp      = new DlName.Parts()
            {
                term = pfx
            };

            if (mth.Success &&
                ((!bigConcept && (
                      ((madeFor == EntityKind.Instance) && char.IsUpper(parts.name.First())) ||
                      ((madeFor == EntityKind.Concept || madeFor == EntityKind.DataRole || madeFor == EntityKind.Role) && char.IsLower(parts.name.First()))
                      )) ||
                 (bigConcept && (
                      ((madeFor == EntityKind.Instance) && char.IsUpper(parts.name.First())) ||
                      ((madeFor == EntityKind.Concept || madeFor == EntityKind.DataRole || madeFor == EntityKind.Role) && char.IsLower(parts.name.First()))
                      ))))
            {
                dlp.quoted = false;
                StringBuilder sb    = new StringBuilder();
                var           first = true;
                foreach (var n in captures)
                {
                    var ss = n.ToString();
                    if (first)
                    {
                        first = false;
                        if (madeFor == EntityKind.Role || madeFor == EntityKind.DataRole)
                        {
                            var nn = lex.toDL_Simple(ss, CNL.EN.endict.WordKind.PastParticiple);
                            sb.Append(nn);
                            continue;
                        }
                    }
                    else
                    {
                        sb.Append("-");
                    }
                    sb.Append(madeFor == EntityKind.Instance ? char.ToUpper(ss[0]) : char.ToLower(ss[0]));
                    sb.Append(ss.Substring(1));
                }
                dlp.name = sb.ToString();
            }
            else
            {
                dlp.quoted = true;
                dlp.name   = parts.name;
            }

            return(dlp.Combine());
        }
コード例 #12
0
        /// <summary>
        /// Translate an OWLname to a CNL (DL) name
        /// </summary>
        /// <param name="owlname">the OWL name</param>
        /// <param name="lex"></param>
        /// <param name="ns2pfx"></param>
        /// <param name="madeFor">the type of this entity (Concept, Instance, Role,...)</param>
        /// <returns></returns>
        public CogniPy.CNL.DL.DlName ToDL(OwlName owlname, CNL.EN.endict lex, Func <string, string> ns2pfx, EntityKind madeFor)
        {
            var    parts     = owlname.Split();
            string defaultNs = ns2pfx(null);

            if (string.IsNullOrWhiteSpace(parts.ns))
            {
                parts.ns = defaultNs;
            }

            string pfx = null;

            if (!IRIParser.AreNamespacesEqual(defaultNs, parts.ns))
            {
                pfx = ns2pfx(parts.ns);
            }

            var dlp = new DlName.Parts()
            {
                term = pfx
            };

            if (parts.name.StartsWith("⊤"))
            {
                dlp.name = "⊤";
                if (parts.name.Contains("."))
                {
                    dlp.name = "[" + dlp.name + "]";
                }
                dlp.quoted = false;
            }
            else
            {
                var  name_part  = parts.name;
                bool isVBigName = parts.global;
                var  sufix      = "";
                if (madeFor == EntityKind.SWRLVariable)
                {
                    var a = name_part.Split('_');
                    if (a.Length == 2)
                    {
                        name_part = a.First();
                        sufix     = a.Last();
                    }
                }
                Match mth = null;
                if (!isVBigName)
                {
                    mth = regexp.Match(name_part);
                }
                Match mth2 = null;
                if (isVBigName || !mth.Success)
                {
                    mth2 = vbregexp.Match(name_part);
                }
                if (name_part != "" &&
                    (
                        (mth != null && mth.Success &&
                         (
                             ((madeFor == EntityKind.SWRLVariable || madeFor == EntityKind.Instance) && char.IsUpper(name_part.First())) ||
                             ((madeFor == EntityKind.Concept || madeFor == EntityKind.DataRole || madeFor == EntityKind.SWRLVariable || madeFor == EntityKind.Role) && char.IsLower(name_part.First()))
                         )) ||
                        (mth2 != null && mth2.Success && madeFor == EntityKind.Instance)
                    ))
                {
                    var grps = (mth != null && mth.Success) ? mth.Groups["g"].Captures : mth2.Groups["g"].Captures;
                    var urps = (mth != null && mth.Success) ? mth.Groups["u"].Captures : mth2.Groups["u"].Captures;
                    dlp.quoted = false;
                    StringBuilder sb      = new StringBuilder();
                    var           first   = true;
                    bool          success = true;
                    foreach (var n in grps)
                    {
                        var ss = n.ToString();
                        if (first)
                        {
                            first = false;
                            if (madeFor == EntityKind.Role || madeFor == EntityKind.DataRole)
                            {
                                var nn = lex.toDL_Simple(ss, CNL.EN.endict.WordKind.PastParticiple);
                                if (lex.toN_Simple(nn, CNL.EN.endict.WordKind.PastParticiple) != ss)
                                {
                                    success    = false;
                                    dlp.quoted = true;
                                    dlp.name   = parts.name + (string.IsNullOrEmpty(sufix) ? "" : "_" + sufix);
                                    break;
                                }
                                sb.Append(nn);
                                continue;
                            }
                        }
                        else
                        {
                            sb.Append("-");
                        }
                        sb.Append(madeFor == EntityKind.Instance && !(urps.Count > 0) ? char.ToUpper(ss[0]) : char.ToLower(ss[0]));
                        sb.Append(ss.Substring(1));
                    }
                    if (success)
                    {
                        dlp.name = sb.ToString() + (string.IsNullOrEmpty(sufix) ? "" : "_" + sufix);
                        if (urps.Count > 0)
                        {
                            dlp.name = "[" + dlp.name + "]";
                        }
                    }
                }
                else
                {
                    dlp.quoted = true;
                    dlp.name   = parts.name + (string.IsNullOrEmpty(sufix) ? "" : "_" + sufix);
                }
            }

            if (madeFor == EntityKind.Instance)
            {
                dlp.name = IRIParser.decodeIRI(dlp.name);
            }

            dlp.local = ((madeFor == EntityKind.Instance) && !parts.global);

            return(dlp.Combine());
        }
コード例 #13
0
ファイル: CilEntity.cs プロジェクト: GrimDerp/corefxlab
 internal CilEntity(object entity, EntityKind kind)
 {
     _entity = entity;
     _kind = kind;
 }
コード例 #14
0
        public WrapperPhysic Generate(Entity e)
        {
            EntityKind ek = (EntityKind)e;

            return(new BoundingSphereWP(e, _loader.Get <Model>(ek.Kind)));
        }
コード例 #15
0
 public PersistentTypeItem(string name, EntityKind kind, string[] properties)
 {
     Name            = name;
     Kind            = kind;
     this.Properties = properties;
 }
コード例 #16
0
ファイル: World.cs プロジェクト: yvanoff/nitrosharp
 public EntitySaveDataLocation(EntityKind entityKind, int index, EntityId parentId)
 {
     EntityKind = entityKind;
     Index      = index;
     ParentId   = parentId;
 }
コード例 #17
0
 public static bool CalculateRequiresSaveOperation(EntityKind entityKind)
 {
     switch (entityKind)
     {
         case EntityKind.SystemString: return false;
         case EntityKind.System: return false;
         case EntityKind.Relational: return false;
         case EntityKind.String: return true;
         case EntityKind.Shared: return true;
         case EntityKind.Main: return true;
         case EntityKind.Part: return false;
         case EntityKind.SharedPart: return false;
         default: throw new InvalidOperationException("Unexpeced entityKind");
     }
 }
コード例 #18
0
 public void AddToEntityKinds(EntityKind entityKind)
 {
     base.AddObject("EntityKinds", entityKind);
 }
コード例 #19
0
 /// <summary>
 /// Determines if the EntityKind is plural.
 /// </summary>
 /// <param name="kind">The EntityKind to test.</param>
 /// <returns><c>true</c> if the EntityKind is plural; otherwise, <c>false</c>.</returns>
 public static bool IsMultiple(this EntityKind kind) =>
 kind == EntityKind.ThingMultiple ||
 kind == EntityKind.PersonMultiple ||
 kind == EntityKind.ActivityMultiple;
コード例 #20
0
ファイル: CilEntity.cs プロジェクト: zsybupt/corefxlab
 internal CilEntity(object entity, EntityKind kind)
 {
     _entity = entity;
     _kind   = kind;
 }
コード例 #21
0
 /// <summary>
 /// Converts an entity kind to a string.
 /// </summary>
 /// <param name="kind">The entity kind.</param>
 /// <returns>
 /// The entity kind string.
 /// </returns>
 public static string GetString(EntityKind kind)
 {
     return(Enum.GetName(typeof(EntityKind), kind));
 }
コード例 #22
0
ファイル: Enemy.cs プロジェクト: condmaker/lp1_proj3
 /// <summary>
 /// Constructor method.
 /// </summary>
 /// <param name="pos">The position in which the entity is located on
 /// the level.</param>
 /// <param name="kind">The kind of entity this is.</param>
 public Enemy(Coord pos, EntityKind kind)
     : base(pos, kind)
 {
 }
コード例 #23
0
        private static string GetEntityKindMessage(EntityKind entityKind, EntityData entityData, char? gender)
        {
            var data = 
                entityData == EntityData.Master ? HelpKindMessage.AndIsRarelyCreatedOrModified.NiceToString().ForGenderAndNumber(gender) :
                HelpKindMessage.AndAreFrequentlyCreatedOrModified.NiceToString().ForGenderAndNumber(gender);

            switch (entityKind)
            {
                case EntityKind.SystemString: return HelpKindMessage.ClassifyOtherEntities.NiceToString() + data + HelpKindMessage.AutomaticallyByTheSystem.NiceToString();
                case EntityKind.System: return HelpKindMessage.StoreInformationOnItsOwn.NiceToString() + data + HelpKindMessage.AutomaticallyByTheSystem.NiceToString();
                case EntityKind.Relational: return HelpKindMessage.RelateOtherEntities.NiceToString() + data;
                case EntityKind.String: return HelpKindMessage.ClassifyOtherEntities.NiceToString() + data;
                case EntityKind.Shared: return HelpKindMessage.StoreInformationSharedByOtherEntities.NiceToString() + data;
                case EntityKind.Main: return HelpKindMessage.StoreInformationOnItsOwn.NiceToString() + data;
                case EntityKind.Part: return HelpKindMessage.StorePartOfTheInformationOfAnotherEntity.NiceToString() + data;
                case EntityKind.SharedPart: return HelpKindMessage.StorePartsOfInformationSharedByDifferentEntities.NiceToString() + data;
                default: throw new InvalidOperationException("Unexpected {0}".FormatWith(entityKind));
            }
        }
コード例 #24
0
 public Header(CommandId cid, EntityKind kind, int sn)
 {
     this.cid = cid;
     this.ek  = kind;
     this.sn  = sn;
 }
コード例 #25
0
 /// <summary>
 /// Converts an entity kind to a string.
 /// </summary>
 /// <param name="kind">The entity kind.</param>
 /// <returns>
 /// The entity kind string.
 /// </returns>
 public static string GetString(EntityKind kind)
 {
     return Enum.GetName(typeof(EntityKind), kind);
 }
コード例 #26
0
        /// <summary>
        /// Get all incident relations and entities under an incident
        /// </summary>
        /// <param name="incidentId"></param>
        /// <param name="entityKind"></param>
        /// <param name="allKind"></param>
        /// <returns></returns>
        public async Task GetIncidentRelationsAndEntities(string incidentId, EntityKind entityKind, bool allKind, int insId)
        {
            try
            {
                var url     = $"{azureConfigs[insId].BaseUrl}/incidents/{incidentId}/relations?api-version={azureConfigs[insId].PreviewApiVersion}";
                var request = new HttpRequestMessage(HttpMethod.Get, url);
                await authenticationService.AuthenticateRequest(request, insId);

                var http     = new HttpClient();
                var response = await http.SendAsync(request);

                if (response.IsSuccessStatusCode)
                {
                    string res = await response.Content.ReadAsStringAsync();

                    JObject result = JsonConvert.DeserializeObject <JObject>(res);
                    var     values = result["value"] as JArray;

                    if (values == null)
                    {
                        values = new JArray();
                    }

                    int callTimes = 1;

                    while (result.ContainsKey("nextLink") && callTimes < 100)
                    {
                        try
                        {
                            var nextLink = result["nextLink"].ToString();
                            request = new HttpRequestMessage(HttpMethod.Get, nextLink);
                            await authenticationService.AuthenticateRequest(request, insId);

                            var nextResponse = await http.SendAsync(request);

                            if (nextResponse.IsSuccessStatusCode)
                            {
                                var newRes = await nextResponse.Content.ReadAsStringAsync();

                                JObject newResult = JsonConvert.DeserializeObject <JObject>(newRes);
                                result = newResult;
                                var newValues = result["value"] as JArray;

                                if (newValues == null)
                                {
                                    newValues = new JArray();
                                }

                                foreach (var v in newValues)
                                {
                                    values.Add(v);
                                }

                                callTimes++;
                            }
                            else
                            {
                                var err = await response.Content.ReadAsStringAsync();

                                Console.WriteLine("Error calling the nextLink: \n" + err);
                                break;
                            }
                        }
                        catch (Exception ex)
                        {
                            Console.WriteLine("Error in parsing nextLink: \n" + ex.Message);
                            break;
                        }
                    }

                    var resources = new JArray();
                    foreach (JToken value in values)
                    {
                        var properties        = value["properties"];
                        var relatedResourceId = properties != null ? properties["relatedResourceId"] : null;
                        var resourceDataStr   = string.Empty;

                        if (relatedResourceId != null)
                        {
                            var resourceType = properties["relatedResourceType"].ToString();

                            if (resourceType == "Microsoft.SecurityInsights/bookmarks" && (allKind || entityKind == EntityKind.Bookmark))
                            {
                                var resourceUrl     = $"{Domain}{relatedResourceId}?api-version={azureConfigs[insId].ApiVersion}";
                                var resourcerequest = new HttpRequestMessage(HttpMethod.Get, resourceUrl);
                                await authenticationService.AuthenticateRequest(resourcerequest, insId);

                                var resourceHttp = new HttpClient();
                                var resourceRes  = await resourceHttp.SendAsync(resourcerequest);

                                if (resourceRes.IsSuccessStatusCode)
                                {
                                    resourceDataStr = await resourceRes.Content.ReadAsStringAsync();
                                }
                            }
                            else if (resourceType == "Microsoft.SecurityInsights/entities")
                            {
                                var resourceUrl  = $"{Domain}{relatedResourceId}/expand?api-version={azureConfigs[insId].PreviewApiVersion}";
                                var resourceKind = properties["relatedResourceKind"].ToString();

                                var expansionId = GetExpansionId(resourceKind);
                                var payload     = new RelationEntityPayload
                                {
                                    ExpansionId = expansionId
                                };

                                var serialized = JsonConvert.SerializeObject(payload, new JsonSerializerSettings
                                {
                                    NullValueHandling = NullValueHandling.Ignore,
                                    ContractResolver  = new DefaultContractResolver
                                    {
                                        NamingStrategy = new CamelCaseNamingStrategy()
                                    }
                                });

                                var resourcerequest = new HttpRequestMessage(HttpMethod.Post, resourceUrl)
                                {
                                    Content = new StringContent(serialized, Encoding.UTF8, "application/json")
                                };
                                await authenticationService.AuthenticateRequest(resourcerequest, insId);

                                var resourceHttp = new HttpClient();
                                var resourceRes  = await resourceHttp.SendAsync(resourcerequest);

                                if (resourceRes.IsSuccessStatusCode)
                                {
                                    resourceDataStr = await resourceRes.Content.ReadAsStringAsync();
                                }
                            }

                            if (resourceDataStr != string.Empty)
                            {
                                JObject resourceData = JsonConvert.DeserializeObject <JObject>(resourceDataStr);
                                if (resourceType == "Microsoft.SecurityInsights/bookmarks" && allKind)
                                {
                                    resources.Add(resourceData);
                                }
                                else
                                {
                                    var resourceValue = resourceData["value"];
                                    var entities      = resourceValue != null ? resourceValue["entities"] : null;
                                    if (entities != null)
                                    {
                                        foreach (var entity in entities)
                                        {
                                            if (allKind || entity["kind"].ToString() == entityKind.ToString())
                                            {
                                                resources.Add(entity);
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }

                    Utils.WriteJsonStringToFile($"GetIncidentRelations_{azureConfigs[insId].InstanceName}.json",
                                                cliMode, JsonConvert.SerializeObject(values, Formatting.Indented), false);

                    Console.WriteLine(JsonConvert.SerializeObject(values, Formatting.Indented));
                    Console.WriteLine(Utils.GetString("Related_Entities"));
                    var serializedResources = JsonConvert.SerializeObject(resources, Formatting.Indented);
                    Console.WriteLine(serializedResources);
                    var fileNamePrefix = allKind ? "GetEntitiesforIncident" : $"GetIncidentEntitiesbyEntityType_{entityKind.ToString()}";
                    Utils.WriteJsonStringToFile($"{fileNamePrefix}_{azureConfigs[insId].InstanceName}.json", cliMode,
                                                serializedResources, false);
                    return;
                }

                var error = await response.Content.ReadAsStringAsync();

                var formatted = JsonConvert.DeserializeObject(error);
                throw new WebException("Error calling the API: \n" +
                                       JsonConvert.SerializeObject(formatted, Formatting.Indented));
            }
            catch (Exception ex)
            {
                throw new Exception("Something went wrong: \n" + ex.Message);
            }
        }