Exemple #1
0
        private async Task <IList <Photo> > TryGetMiniaturesAsync(IList <Photo> photos, GalliumContext ctx)
        {
            photos = await ctx.Photos.Include(faceClient => faceClient.DetectedFaces.Select(df => df.FaceOwner)).Include(m => m.Miniature).Include(f => f.DetectedFaces).ToListAsync();

            foreach (var photo in photos)
            {
                photo.Miniature = GetMiniatureForPhoto(photo);
            }
            await ctx.SaveChangesAsync();

            return(photos);
        }
        private async void PersonCreationWindow_OnPersonCreatedHandler(Person person)
        {
            var FaceClient = new FaceServiceClient(Constants.APIkey, Constants.APIUri);

            var result = await FaceClient.CreatePersonInLargePersonGroupAsync(Constants.MainPersonGroupId, $"{person.Name}_{person.LastName}");

            person.RemoteGuid = result.PersonId;

            Context.Person.Add(person);
            await Context.SaveChangesAsync();

            PopulateView();
        }
        private async Task UpdateLocalDB()
        {
            var peopleInFaceApi = await FaceClient.ListPersonsInLargePersonGroupAsync(Constants.MainPersonGroupId);

            if (peopleInFaceApi.Any())
            {
                foreach (var person in peopleInFaceApi)
                {
                    if (!Context.Person.Where(p => (p.Name + "_" + p.LastName).Equals(person.Name)).Any())
                    {
                        var personEntity = new Models.Person
                        {
                            Name       = person.Name.Substring(0, person.Name.IndexOf('_')),
                            LastName   = person.Name.Substring(person.Name.IndexOf('_') + 1),
                            RemoteGuid = person.PersonId
                        };
                        Context.Person.Add(personEntity);
                        await Context.SaveChangesAsync();
                    }
                }
            }
        }