Пример #1
0
        public async Task SetTextItem(AnomalyIdentity anomalyIdentity, TextItemTypeIdentity textItemTypeIdentity, TextItemIdentity textItemIdentity)
        {
            await this.ExecuteInContextAsync(async dbContext =>
            {
                var anomalyID = await dbContext.GetAnomaly(anomalyIdentity).Select(x => x.ID).SingleAsync();

                var count = await dbContext.AnomalyToTextItemMappings.Where(x => x.Anomaly.GUID == anomalyIdentity.Value && x.TextItemTypeGUID == textItemTypeIdentity.Value).CountAsync();

                var alreadyExists = count > 0;
                if (alreadyExists)
                {
                    var mappingEntity = await dbContext.AnomalyToTextItemMappings.Where(x => x.Anomaly.GUID == anomalyIdentity.Value && x.TextItemTypeGUID == textItemTypeIdentity.Value).SingleAsync();

                    mappingEntity.TextItemGUID = textItemIdentity.Value;
                }
                else
                {
                    var mappingEntity = new Entities.AnomalyToTextItemMapping()
                    {
                        AnomalyID        = anomalyID,
                        TextItemTypeGUID = textItemTypeIdentity.Value,
                        TextItemGUID     = textItemIdentity.Value,
                    };

                    dbContext.AnomalyToTextItemMappings.Add(mappingEntity);
                }

                await dbContext.SaveChangesAsync();
            });
        }
Пример #2
0
        public static async Task <bool> Exists(this ITextItemTypeRepository repository, Guid identity)
        {
            var textItemTypeIdentity = TextItemTypeIdentity.From(identity);

            var exists = await repository.Exists(textItemTypeIdentity);

            return(exists);
        }
Пример #3
0
        public async Task <string> GetName(TextItemTypeIdentity identity)
        {
            var name = await this.ExecuteInContextAsync(async dbContext =>
            {
                var output = await dbContext.TextItemTypes.Where(x => x.GUID == identity.Value).Select(x => x.Name).SingleAsync();
                return(output);
            });

            return(name);
        }
Пример #4
0
        public async Task Delete(TextItemTypeIdentity identity)
        {
            await this.ExecuteInContextAsync(async dbContext =>
            {
                var entity = await dbContext.TextItemTypes.Where(x => x.GUID == identity.Value).SingleAsync();

                dbContext.TextItemTypes.Remove(entity);

                await dbContext.SaveChangesAsync();
            });
        }
Пример #5
0
        public async Task SetName(TextItemTypeIdentity identity, string name)
        {
            await this.ExecuteInContextAsync(async dbContext =>
            {
                var entity = await dbContext.TextItemTypes.Where(x => x.GUID == identity.Value).SingleAsync();

                entity.Name = name;

                dbContext.SaveChanges();
            });
        }
        public async Task <TextItemTypeIdentity> GetItemType(TextItemIdentity identity)
        {
            var textItemTypeIdentity = await this.ExecuteInContextAsync(async dbContext =>
            {
                var textItemTypeGuid = await dbContext.TextItems.Where(x => x.GUID == identity.Value).Select(x => x.TextItemType.GUID).SingleAsync();

                var output = TextItemTypeIdentity.From(textItemTypeGuid);
                return(output);
            });

            return(textItemTypeIdentity);
        }
Пример #7
0
        public async Task <bool> Exists(TextItemTypeIdentity identity)
        {
            var exists = await this.ExecuteInContextAsync(async dbContext =>
            {
                var entity = await dbContext.TextItemTypes.Where(x => x.GUID == identity.Value).SingleOrDefaultAsync();

                var output = entity is object;
                return(output);
            });

            return(exists);
        }
Пример #8
0
        public async Task <TextItemTypeIdentity> GetIdentity(string name)
        {
            var identity = await this.ExecuteInContextAsync(async dbContext =>
            {
                var guid = await dbContext.TextItemTypes.Where(x => x.Name == name).Select(x => x.GUID).SingleAsync();

                var output = TextItemTypeIdentity.From(guid);
                return(output);
            });

            return(identity);
        }
Пример #9
0
        public async Task <bool> ExistsTextItem(AnomalyIdentity anomalyIdentity, TextItemTypeIdentity textItemTypeIdentity)
        {
            var exists = await this.ExecuteInContextAsync(async dbContext =>
            {
                var count = await dbContext.AnomalyToTextItemMappings.Where(x => x.Anomaly.GUID == anomalyIdentity.Value && x.TextItemTypeGUID == textItemTypeIdentity.Value).CountAsync();

                var output = count > 0;
                return(output);
            });

            return(exists);
        }
        public async Task SetItemType(TextItemIdentity identity, TextItemTypeIdentity typeIdentity)
        {
            await this.ExecuteInContextAsync(async dbContext =>
            {
                var entity = await dbContext.TextItems.Where(x => x.GUID == identity.Value).SingleAsync();

                var textItemTypeEntityID = await dbContext.TextItemTypes.Where(x => x.GUID == typeIdentity.Value).Select(x => x.ID).SingleAsync();

                entity.TextItemTypeID = textItemTypeEntityID;

                await dbContext.SaveChangesAsync();
            });
        }
Пример #11
0
        public async Task <TextItemType> Get(TextItemTypeIdentity identity)
        {
            var textItemType = await this.ExecuteInContextAsync(async dbContext =>
            {
                var entity = await dbContext.TextItemTypes.Where(x => x.GUID == identity.Value).SingleAsync();

                var output = new TextItemType()
                {
                    Identity = TextItemTypeIdentity.From(entity.GUID),
                    Name     = entity.Name,
                };
                return(output);
            });

            return(textItemType);
        }
Пример #12
0
        public async Task <TextItemType> Get(string name)
        {
            var textItemType = await this.ExecuteInContextAsync(async dbContext =>
            {
                var entity = await dbContext.TextItemTypes.Where(x => x.Name == name).SingleAsync();

                var output = new TextItemType()
                {
                    Identity = TextItemTypeIdentity.From(entity.GUID),
                    Name     = entity.Name, // Use entity name, not the input name for exactness.
                };
                return(output);
            });

            return(textItemType);
        }
Пример #13
0
        public async Task <TextItemTypeIdentity> New()
        {
            var textItemTypeIdentity = TextItemTypeIdentity.New();

            await this.ExecuteInContextAsync(async dbContext =>
            {
                var entity = new Entities.TextItemType()
                {
                    GUID = textItemTypeIdentity.Value,
                };

                dbContext.Add(entity);

                await dbContext.SaveChangesAsync();
            });

            return(textItemTypeIdentity);
        }
        public async Task <TextItemIdentity> New(TextItemTypeIdentity typeIdentity, string value)
        {
            var textItemIdentity = TextItemIdentity.New();

            await this.ExecuteInContextAsync(async dbContext =>
            {
                var textItemTypeID = await dbContext.TextItemTypes.Where(x => x.GUID == typeIdentity.Value).Select(x => x.ID).SingleAsync();

                var entity = new Entities.TextItem()
                {
                    GUID           = textItemIdentity.Value,
                    TextItemTypeID = textItemTypeID,
                    Value          = value,
                };
                return(entity);
            });

            return(textItemIdentity);
        }
Пример #15
0
        public async Task <TextItemIdentity> GetTextItem(AnomalyIdentity anomalyIdentity, TextItemTypeIdentity textItemTypeIdentity)
        {
            var textItemIdentity = await this.ExecuteInContextAsync(async dbContext =>
            {
                var output = await dbContext.AnomalyToTextItemMappings
                             .Where(x => x.Anomaly.GUID == anomalyIdentity.Value && x.TextItemTypeGUID == textItemTypeIdentity.Value)
                             .Select(x => TextItemIdentity.From(x.TextItemGUID))
                             .SingleAsync();

                return(output);
            });

            return(textItemIdentity);
        }