public async Task Add(EndpointTypeInfo endpointType)
        {
            await this.ExecuteInContextAsync(async dbContext =>
            {
                var entity = new EndpointTypeEntity()
                {
                    Name = endpointType.Name,
                    GUID = endpointType.Identity,
                };

                dbContext.EndpointTypes.Add(entity);

                await dbContext.SaveChangesAsync();
            });
        }
        public async Task <EndpointTypeInfo> GetInfo(EndpointTypeIdentity identity)
        {
            var endpointTypeInfo = await this.ExecuteInContextAsync(async dbContext =>
            {
                var entity = await dbContext.GetEndpointType(identity).SingleOrDefaultAsync();

                var output = new EndpointTypeInfo()
                {
                    Identity = entity.GUID,
                    Name     = entity.Name,
                };

                return(output);
            });

            return(endpointTypeInfo);
        }
        public async Task <IEnumerable <EndpointTypeInfo> > GetAllInfos()
        {
            var endpointTypeInfos = await this.ExecuteInContextAsync(async dbContext =>
            {
                var endpointTypes = await dbContext.EndpointTypes.ToListAsync();

                var outputs = endpointTypes.Select(x =>
                {
                    var endpointTypeInfo = new EndpointTypeInfo()
                    {
                        Identity = x.GUID,
                        Name     = x.Name,
                    };

                    return(endpointTypeInfo);
                });

                return(outputs);
            });

            return(endpointTypeInfos);
        }