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(); }
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); }
public async Task CommitAsync() { await _dbContext.SaveChangesAsync(); }