public async Task <CreatePersonResult> intPersonalItemOnServiceAsync(String personName, List <String> imagePaths)
        {
            PersonalItem personalItem = PersonalItem.CreateNewPersonalItem(personName, imagePaths);

            await createGroupIfNotExists(personalItem.personGroupId);

            Console.WriteLine("Init group completed!");
            var result = await createPersonAsync(personalItem);

            if (result != null)
            {
                personalItem.guid = result.PersonId;
                Console.WriteLine("Create person completed!");
                await addPersonImageToGroup(personalItem);

                Console.WriteLine("Upload person image completed!");
                await trainNetwork(Constant.GROUP_ID);

                Console.WriteLine("Train network completed!");
            }
            else
            {
                return(null);
            }
            return(result);
        }
        private async Task <CreatePersonResult> createPersonAsync(PersonalItem personalItem)
        {
            CreatePersonResult personResult = await faceServiceClient.CreatePersonInPersonGroupAsync(
                personalItem.personGroupId,
                personalItem.name
                );

            return(personResult);
        }
        public static PersonalItem CreateNewPersonalItem(String name, List <String> imagePaths)
        {
            PersonalItem personalItem = new PersonalItem();

            personalItem.personGroupId = Constant.GROUP_ID;
            personalItem.name          = name;
            personalItem.imagePaths    = imagePaths;
//            personalItem.guid = System.Guid.NewGuid();
            return(personalItem);
        }
 private async Task addPersonImageToGroup(PersonalItem personalItem)
 {
     foreach (string imagePath in personalItem.imagePaths)
     {
         using (Stream s = File.OpenRead(imagePath))
         {
             // Detect faces in the image and add to Anna
             await faceServiceClient.AddPersonFaceInPersonGroupAsync(
                 personalItem.personGroupId, personalItem.guid, s);
         }
     }
 }