private async void CancelFunc()
        {
            if (!_ringContentVisibility)
            {
                using (var db = new PrototypingContext())
                {
                    User   user   = db.Users.Single(u => u.UserId == userId);
                    Record record = db.Records.Last();
                    db.Entry(user).Reference(u => u.Prototype).Load();
                    try
                    {
                        StorageFolder prototypeFolder = await ApplicationData.Current.LocalFolder.GetFolderAsync(user.Prototype.Name + "_" + user.PrototypeId);

                        StorageFolder userFolder = await prototypeFolder.GetFolderAsync(user.Name + "_" + user.UserId);

                        StorageFolder recordFolder = await userFolder.GetFolderAsync("Record_" + recordSettings.RecordId);

                        await recordFolder.DeleteAsync();
                    }
                    catch (System.IO.FileNotFoundException) { }

                    db.Records.Remove(record);
                    db.SaveChanges();
                }
                Windows.UI.Xaml.Controls.Frame frame = (Windows.UI.Xaml.Controls.Frame)Windows.UI.Xaml.Window.Current.Content;
                frame.BackStack.Clear();
                frame.Navigate(typeof(DetailsUserPage), userId);
            }
        }
        public async Task DeleteRecord(Record record)
        {
            using (var db = new PrototypingContext())
            {
                Record findRecord = db.Records.Single(r => r.RecordId == record.RecordId);
                await db.Entry(findRecord).Reference(r => r.User).LoadAsync();

                User userParent = findRecord.User;
                await db.Entry(userParent).Reference(u => u.Prototype).LoadAsync();

                try
                {
                    StorageFolder prototypeFolder = await ApplicationData.Current.LocalFolder.GetFolderAsync(userParent.Prototype.Name + "_" + userParent.PrototypeId);

                    StorageFolder userFolder = await prototypeFolder.GetFolderAsync(userParent.Name + "_" + userParent.UserId);

                    StorageFolder recordFolder = await userFolder.GetFolderAsync("Record_" + findRecord.RecordId);

                    await recordFolder.DeleteAsync();
                }
                catch (System.IO.FileNotFoundException)
                {
                    System.Diagnostics.Debug.WriteLine("Prototype/User folder not found");
                }

                db.Records.Remove(findRecord);
                db.SaveChanges();
            }
            UpdateRecordList(record.UserId);
        }
        public async Task DeleteUser(User user)
        {
            using (var db = new PrototypingContext())
            {
                User findUser = db.Users.Single(u => u.UserId == user.UserId);
                await db.Entry(findUser).Reference(u => u.Prototype).LoadAsync();

                try
                {
                    StorageFolder prototypeFolder = await ApplicationData.Current.LocalFolder.GetFolderAsync(findUser.Prototype.Name + "_" + findUser.PrototypeId);

                    StorageFolder userFolder = await prototypeFolder.GetFolderAsync(findUser.Name + "_" + findUser.UserId);

                    await userFolder.DeleteAsync();
                }
                catch (System.IO.FileNotFoundException)
                {
                    System.Diagnostics.Debug.WriteLine("Prototype/User folder not found");
                }

                db.Users.Remove(findUser);
                db.SaveChanges();
            }
            UpdateUserList(user.PrototypeId);
        }
        private async void RemoveFunc()
        {
            using (var db = new PrototypingContext())
            {
                User user = db.Users.Single(u => u.UserId == UserModel.UserId);
                await db.Entry(user).Reference(u => u.Prototype).LoadAsync();

                try
                {
                    StorageFolder prototypeFolder = await ApplicationData.Current.LocalFolder.GetFolderAsync(user.Prototype.Name + "_" + user.PrototypeId);

                    StorageFolder userFolder = await prototypeFolder.GetFolderAsync(user.Name + "_" + user.UserId);

                    await userFolder.DeleteAsync();
                }
                catch (System.IO.FileNotFoundException)
                {
                    System.Diagnostics.Debug.WriteLine("User folder not found");
                }

                db.Users.Remove(user);
                db.SaveChanges();
            }
            ((Windows.UI.Xaml.Controls.Frame)Windows.UI.Xaml.Window.Current.Content).Navigate(typeof(DetailsPrototypePage), UserModel.PrototypeId);
        }
        private async Task StartStopFunc()
        {
            if (_isOnStart)
            {
                TimerInit();
                IsOnStart           = false;
                IsSplitViewPaneOpen = false;

                currentRecordScreen = new RecordScreenModel(_webview.Source.AbsoluteUri, await DoCaptureWebView());
                _screens.Add(currentRecordScreen);

                using (var db = new PrototypingContext())
                {
                    Record record = db.Records.Single(rp => rp.RecordId == recordSettings.RecordId);
                    createdDate        = DateTime.Now;
                    record.CreatedDate = createdDate;
                    db.Records.Update(record);

                    if (recordSettings.FrontCamera)
                    {
                        string pathtoVideo = await CreateVideoFile(record.RecordId);

                        record.PathToVideo = pathtoVideo;
                        db.Records.Update(record);

                        var encodingProfile = MediaEncodingProfile.CreateMp4(VideoEncodingQuality.Auto);
                        if (AnalyticsInfo.VersionInfo.DeviceFamily.Equals("Windows.Mobile"))
                        {
                            encodingProfile.Video.Properties.Add(RotationKey, 270);
                        }
                        await _mediaCapture.StartRecordToStorageFileAsync(encodingProfile, videoFile);

                        _isRecording = true;
                    }
                    db.SaveChanges();
                }
            }
            else
            {
                //add lastRecordingDate in user and prototype
                using (var db = new PrototypingContext())
                {
                    Record record = db.Records.Single(rp => rp.RecordId == recordSettings.RecordId);
                    User   user   = db.Users.Single(u => u.UserId == record.UserId);
                    user.LastRecordingDate = createdDate;
                    db.Users.Update(user);
                    Prototype prototype = db.Prototypes.Single(p => p.PrototypeId == user.PrototypeId);
                    prototype.LastRecordingDate = createdDate;
                    db.Prototypes.Update(prototype);
                    db.SaveChanges();
                }
                ((Windows.UI.Xaml.Controls.Frame)Windows.UI.Xaml.Window.Current.Content).Navigate(typeof(ResultRecordPage), _screens);
            }
        }
Esempio n. 6
0
        private void DoneFunc()
        {
            using (var db = new PrototypingContext())
            {
                Record recod = db.Records.Add(new Record()
                {
                    UserId = userId
                }).Entity;
                db.RecordSettings.Add(new RecordSettings()
                {
                    RecordId    = recod.RecordId,
                    FrontCamera = _fronCameraIsOn,
                    Touches     = _touchesIsOn
                });
                db.SaveChanges();
            }

            ((Windows.UI.Xaml.Controls.Frame)Windows.UI.Xaml.Window.Current.Content).Navigate(typeof(ReviewPrototypePage), userId);
        }
        private async Task <ObservableCollection <RecordScreenModel> > HeatingScreens(List <RecordScreenModel> screens)
        {
            ObservableCollection <RecordScreenModel> result = new ObservableCollection <RecordScreenModel>();

            using (var db = new PrototypingContext())
            {
                User user = db.Users.Single(u => u.UserId == RecordModel.UserId);
                await db.Entry(user)
                .Reference(u => u.Prototype)
                .LoadAsync();

                string prototypeName = user.Prototype.Name + "_" + user.PrototypeId;
                string userName      = user.Name + "_" + user.UserId;
                string recordName    = "Record_" + RecordModel.RecordId;

                StorageFolder prototypeFolder = await ApplicationData.Current.LocalFolder.CreateFolderAsync(prototypeName, CreationCollisionOption.OpenIfExists); //PrototypeName + Id

                StorageFolder userFolder = await prototypeFolder.CreateFolderAsync(userName, CreationCollisionOption.OpenIfExists);                               //UserName + Id

                StorageFolder recordFolder = await userFolder.CreateFolderAsync(recordName, CreationCollisionOption.OpenIfExists);

                foreach (RecordScreenModel screen in screens)
                {
                    screen.HeatMapScreen = await HeatMapFunctions.CreateProcessHeatMap(screen.OriginalScreen, screen.ListPoints);

                    result.Add(screen);

                    string[] screenPaths = await SaveImagesInStorage(screen.OriginalScreen, screen.HeatMapScreen, recordFolder); //saving images in prototype -> user -> record path

                    RecordScreen rScreen = new RecordScreen()
                    {
                        RecordId             = RecordModel.RecordId,
                        Points               = screen.ListPoints,
                        UriPage              = screen.UriPage,
                        PathToOriginalScreen = screenPaths[0],
                        PathToHeatMapScreen  = screenPaths[1]
                    };
                    db.RecordScreens.Add(rScreen);
                    db.SaveChanges();
                }
            }
            return(result);
        }
Esempio n. 8
0
        private async Task <VideoAggregateRecognitionResult> UploadAndDetectEmotions(StorageFile videoFile)
        {
            VideoAggregateRecognitionResult aggResult            = null;
            EmotionServiceClient            emotionServiceClient = new EmotionServiceClient(_subscriptionKey);

            try
            {
                using (Stream videoFileStream = await videoFile.OpenStreamForReadAsync()) //File.OpenRead(videoFilePath)
                {
                    RingText = "Uploading video...";
                    byte[] bytesVideo;
                    using (var memoryStream = new MemoryStream())
                    {
                        await videoFileStream.CopyToAsync(memoryStream);

                        bytesVideo = memoryStream.ToArray();
                    }
                    //get operation id on service
                    operationLocation = await UploadEmotion(bytesVideo);

                    //save operation-location
                    using (var db = new PrototypingContext())
                    {
                        Record record = db.Records.Single(r => r.RecordId == recordModel.RecordId);
                        record.OperationLocation = operationLocation;
                        db.SaveChanges();
                        recordModel.OperationLocation = operationLocation;
                    }
                    //get result emotions from id operation
                    aggResult = await DetectEmotion(operationLocation);
                }
            }
            catch (Exception)
            {
                await ErrorMessageDialog("Oops, error. Check your internet connection.");

                GoBackFunc();
            }


            return(aggResult);
        }
        private async void RemoveFunc()
        {
            using (var db = new PrototypingContext())
            {
                try
                {
                    StorageFolder prototypeFolder = await ApplicationData.Current.LocalFolder.GetFolderAsync(PrototypeModel.Name + "_" + PrototypeModel.PrototypeId);

                    await prototypeFolder.DeleteAsync();
                }
                catch (System.IO.FileNotFoundException)
                {
                    System.Diagnostics.Debug.WriteLine("Prototype folder not found");
                }

                db.Prototypes.Remove(PrototypeModel);
                db.SaveChanges();
            }
            ((Windows.UI.Xaml.Controls.Frame)Windows.UI.Xaml.Window.Current.Content).Navigate(typeof(PrototypesPage));
        }
Esempio n. 10
0
 private async void SaveFunc()
 {
     if (!NameText.Equals("") && !BiographyText.Equals(""))
     {
         using (var db = new PrototypingContext())
         {
             User findUser = db.Users.Single(u => u.UserId == user.UserId);
             findUser.Name      = NameText;
             findUser.Biography = BiographyText;
             db.Users.Update(findUser);
             db.SaveChanges();
         }
         GoBackFunc();
     }
     else
     {
         var message = new MessageDialog("Please fill in all the fields.");
         await message.ShowAsync();
     }
 }
Esempio n. 11
0
 private async void SaveFunc()
 {
     if (!UrlText.Equals("") && !NameText.Equals("") && !DescriptionText.Equals(""))
     {
         using (var db = new PrototypingContext())
         {
             Prototype findPrototype = db.Prototypes.Single(p => p.PrototypeId == prototype.PrototypeId);
             findPrototype.Url         = UrlText;
             findPrototype.Name        = NameText;
             findPrototype.Description = DescriptionText;
             db.Prototypes.Update(findPrototype);
             db.SaveChanges();
         }
         GoBackFunc();
     }
     else
     {
         var message = new MessageDialog("Please fill in all the fields.");
         await message.ShowAsync();
     }
 }
Esempio n. 12
0
        public async Task DeletePrototype(Prototype prototype)
        {
            using (var db = new PrototypingContext())
            {
                Prototype findPrototype = db.Prototypes.Single(p => p.PrototypeId == prototype.PrototypeId);
                try
                {
                    StorageFolder prototypeFolder = await ApplicationData.Current.LocalFolder.GetFolderAsync(findPrototype.Name + "_" + findPrototype.PrototypeId);

                    await prototypeFolder.DeleteAsync();
                }
                catch (System.IO.FileNotFoundException)
                {
                    System.Diagnostics.Debug.WriteLine("Prototype folder not found");
                }

                db.Prototypes.Remove(findPrototype);
                db.SaveChanges();
            }
            UpdateGroups();
        }
Esempio n. 13
0
 private async void CreateFunc()
 {
     if (!UrlText.Equals("") && !NameText.Equals("") && !DescriptionText.Equals(""))
     {
         using (var db = new PrototypingContext())
         {
             db.Prototypes.Add(new Prototype()
             {
                 Name        = NameText,
                 Url         = UrlText,
                 Description = DescriptionText,
                 CreatedDate = DateTime.Now
             });
             db.SaveChanges();
         }
         GoBackFunc();
     }
     else
     {
         var message = new MessageDialog("Please fill in all the fields.");
         await message.ShowAsync();
     }
 }
Esempio n. 14
0
 private async void CreateFunc()
 {
     if (!NameText.Equals("") && !BiographyText.Equals(""))
     {
         using (var db = new PrototypingContext())
         {
             db.Users.Add(new User()
             {
                 Name        = NameText,
                 Biography   = BiographyText,
                 AddedDate   = DateTime.Now,
                 PrototypeId = prototypeId
             });
             db.SaveChanges();
         }
         GoBackFunc();
     }
     else
     {
         var message = new MessageDialog("Please fill in all the fields.");
         await message.ShowAsync();
     }
 }