public async Task AddPhoto(IFormFile photo, string criminalId) { var asyncSessionCriminals = _store.OpenAsyncSession("CriminalFinder.Criminals"); var criminal = await asyncSessionCriminals.LoadAsync <Criminal>(criminalId); var timestamp = new DateTimeOffset(DateTime.UtcNow).ToUnixTimeSeconds(); if (await asyncSessionCriminals.Query <Photo>().AnyAsync(x => x.PhotoOwner.Id == criminalId)) { var oldPhoto = await asyncSessionCriminals.LoadAsync <Photo>("Photo_" + criminalId); asyncSessionCriminals.Delete(oldPhoto); await asyncSessionCriminals.SaveChangesAsync(); } var photoDeatils = new Photo { PhotoOwner = criminal, Description = "Zdjęcie " + criminal.FirstName + " " + criminal.LastName, Tags = new[] { "Zdjęcie", "Podejrzany", "Przestępca" }, FaceModel = _faceRecognitionService.GetFaceAttributesFromPhoto(photo) }; await asyncSessionCriminals.StoreAsync(photoDeatils, "Photo_" + criminalId); asyncSessionCriminals.Advanced.Attachments.Store("Photo_" + criminalId, "photo_" + timestamp.ToString() + ".jpg", photo.OpenReadStream(), photo.ContentType); await asyncSessionCriminals.SaveChangesAsync(); }