示例#1
0
        public async Task AddOrUpdate(ImageEntity imageEntity)
        {
            var existingEntity = imageGalleryContext.Image
                                 .Include(image => image.ImageTags)
                                 .FirstOrDefault(image => image.ExternalId.Equals(imageEntity.ExternalId));

            if (existingEntity == null)
            {
                imageGalleryContext.Image.Add(imageEntity);
            }
            else
            {
                existingEntity.Author         = imageEntity.Author;
                existingEntity.Camera         = imageEntity.Camera;
                existingEntity.CroppedPicture = imageEntity.CroppedPicture;
                existingEntity.FullPicture    = imageEntity.FullPicture;
                foreach (var imageTag in imageEntity.ImageTags)
                {
                    imageTag.ImageId = existingEntity.Id;
                }
                existingEntity.ImageTags = imageEntity.ImageTags;
            }

            await imageGalleryContext.SaveChangesAsync();
        }
示例#2
0
        public async Task <TagEntity> AddAsync(TagEntity tagEntity)
        {
            var existingEntity = imageGalleryContext.Tag.FirstOrDefault(tag => tag.Name.Equals(tagEntity.Name));

            if (existingEntity == null)
            {
                imageGalleryContext.Tag.Add(tagEntity);
                await imageGalleryContext.SaveChangesAsync();
            }
            else
            {
                tagEntity.Id = existingEntity.Id;
            }

            return(tagEntity);
        }
示例#3
0
 public async Task CommitAsync()
 {
     await _dbContext.SaveChangesAsync();
 }