src/FingersDance.Control.Screen/UserControlScreen.xaml.cs
author cavaliet
Wed, 28 Oct 2009 17:07:27 +0100
changeset 182 25b49d4f1635
parent 156 e16c8c913c65
child 186 83615722dbab
permissions -rw-r--r--
First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
35
ed77793b767a Control Pivot,
sarias
parents:
diff changeset
     1
using System;
ed77793b767a Control Pivot,
sarias
parents:
diff changeset
     2
using System.IO;
ed77793b767a Control Pivot,
sarias
parents:
diff changeset
     3
using System.Net;
148
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
     4
using System.Collections.Generic;
35
ed77793b767a Control Pivot,
sarias
parents:
diff changeset
     5
using System.Windows;
ed77793b767a Control Pivot,
sarias
parents:
diff changeset
     6
using System.Windows.Controls;
ed77793b767a Control Pivot,
sarias
parents:
diff changeset
     7
using System.Windows.Data;
ed77793b767a Control Pivot,
sarias
parents:
diff changeset
     8
using System.Windows.Media;
ed77793b767a Control Pivot,
sarias
parents:
diff changeset
     9
using System.Windows.Media.Animation;
ed77793b767a Control Pivot,
sarias
parents:
diff changeset
    10
using System.Windows.Navigation;
104
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 95
diff changeset
    11
using FingersDance.Control.ListVideo;
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 95
diff changeset
    12
using FingersDance.Control.SessionInput;
143
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 112
diff changeset
    13
using FingersDance.ViewModels;
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 112
diff changeset
    14
using FingersDance.Data;
35
ed77793b767a Control Pivot,
sarias
parents:
diff changeset
    15
ed77793b767a Control Pivot,
sarias
parents:
diff changeset
    16
namespace FingersDance.Control.Screen
ed77793b767a Control Pivot,
sarias
parents:
diff changeset
    17
{
ed77793b767a Control Pivot,
sarias
parents:
diff changeset
    18
	public partial class UserControlScreen
ed77793b767a Control Pivot,
sarias
parents:
diff changeset
    19
	{
82
c37122b567fa Work ControlScreen
sarias
parents: 80
diff changeset
    20
        public String contexteGrid;
112
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 104
diff changeset
    21
        public int id = 0;
182
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
    22
        public event EventHandler UC_Screen_NewCutting;
143
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 112
diff changeset
    23
        public MainViewModel MainViewModel;
182
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
    24
        public CuttingViewModel Cutting;
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
    25
        private List<Project> existingProjects = new List<Project>();
148
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
    26
        User User = new User();
95
07972aa3f2e0 ListVideo
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 82
diff changeset
    27
143
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 112
diff changeset
    28
        public UserControlScreen(int id, MainViewModel mvmodel)
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 112
diff changeset
    29
        {
152
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 148
diff changeset
    30
            try
143
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 112
diff changeset
    31
            {
152
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 148
diff changeset
    32
                this.InitializeComponent();
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 148
diff changeset
    33
                this.id = id;
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 148
diff changeset
    34
                MainViewModel = mvmodel;
182
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
    35
                if (MainViewModel.Project.VideoPath.Equals(""))
152
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 148
diff changeset
    36
                {
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 148
diff changeset
    37
                    //1-Creation de la ListVideo
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 148
diff changeset
    38
                    UserControlListVideo ListVideo = new UserControlListVideo();
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 148
diff changeset
    39
                    ListVideo.Name = "ListVideo1";
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 148
diff changeset
    40
                    //2-Ajout de la ListVideo au ControlScreen
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 148
diff changeset
    41
                    this.AddToGrid(ListVideo);
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 148
diff changeset
    42
                    //3-Creation des Events pour chaque item de la video
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 148
diff changeset
    43
                    ListVideo.EH_ItemVideo1_ContactDown += new System.EventHandler(this.ListVideo_EH_ItemVideo_ContactDown);
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 148
diff changeset
    44
                }
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 148
diff changeset
    45
                else
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 148
diff changeset
    46
                    OpenProject();
143
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 112
diff changeset
    47
            }
152
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 148
diff changeset
    48
            catch (Exception)
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 148
diff changeset
    49
            {
182
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
    50
                Cutting = null;
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
    51
                if (UC_Screen_NewCutting != null)
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
    52
                    UC_Screen_NewCutting(this, new EventArgs());
152
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 148
diff changeset
    53
            }
143
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 112
diff changeset
    54
        }
35
ed77793b767a Control Pivot,
sarias
parents:
diff changeset
    55
82
c37122b567fa Work ControlScreen
sarias
parents: 80
diff changeset
    56
        //Rajout un UIElement vers la grid du screen.
c37122b567fa Work ControlScreen
sarias
parents: 80
diff changeset
    57
        public void AddToGrid(UIElement uie)
c37122b567fa Work ControlScreen
sarias
parents: 80
diff changeset
    58
        {
c37122b567fa Work ControlScreen
sarias
parents: 80
diff changeset
    59
            if (uie != null)
c37122b567fa Work ControlScreen
sarias
parents: 80
diff changeset
    60
            {
c37122b567fa Work ControlScreen
sarias
parents: 80
diff changeset
    61
                try { LayoutRoot.Children.Add(uie); }
c37122b567fa Work ControlScreen
sarias
parents: 80
diff changeset
    62
                catch(Exception){}
c37122b567fa Work ControlScreen
sarias
parents: 80
diff changeset
    63
            }          
c37122b567fa Work ControlScreen
sarias
parents: 80
diff changeset
    64
        }
c37122b567fa Work ControlScreen
sarias
parents: 80
diff changeset
    65
104
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 95
diff changeset
    66
        private void ListVideo_EH_ItemVideo_ContactDown(object sender, EventArgs e)
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 95
diff changeset
    67
        {
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 95
diff changeset
    68
            try
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 95
diff changeset
    69
            {
182
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
    70
                //1 renseigner la video choisie au screen et créer un nouveau projet à partir de ce chemin vidéo
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
    71
                MainViewModel.CreateProject(((UserControlListVideo)sender).VideoName, ((UserControlListVideo)sender).path);
148
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
    72
                //2-Supression du UC List Video
104
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 95
diff changeset
    73
                LayoutRoot.Children.Remove((UserControlListVideo)sender);
182
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
    74
                OpenProjectList();
104
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 95
diff changeset
    75
            }
152
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 148
diff changeset
    76
            catch (Exception ex)
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 148
diff changeset
    77
            {
182
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
    78
                Cutting = null;
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
    79
                if (UC_Screen_NewCutting != null)
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
    80
                    UC_Screen_NewCutting(this, new EventArgs());
152
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 148
diff changeset
    81
            }
104
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 95
diff changeset
    82
        }
148
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
    83
182
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
    84
        private void OpenProjectList()
148
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
    85
        {
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
    86
            try
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
    87
            {
182
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
    88
                existingProjects = LoadProjects(MainViewModel.Project.VideoPath);
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
    89
                UserControlListSession listProject = new UserControlListSession(existingProjects);
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
    90
                listProject.Name = "ListProject";
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
    91
                LayoutRoot.Children.Add(listProject);
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
    92
                listProject.EH_List_ContactDown += new EventHandler(listProject_EH_List_ContactDown);
148
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
    93
            }
152
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 148
diff changeset
    94
            catch (Exception)
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 148
diff changeset
    95
            {
182
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
    96
                Cutting = null;
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
    97
                if (UC_Screen_NewCutting != null)
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
    98
                    UC_Screen_NewCutting(this, new EventArgs());
152
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 148
diff changeset
    99
            }
148
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   100
        }
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   101
182
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   102
        private List<Project> LoadProjects(string name)
148
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   103
        {
182
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   104
            // Does nothing because for the moment we do not load sessions when we know the video path, we just create a new session
148
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   105
            try
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   106
            {
182
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   107
                return new List<Project>();
148
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   108
            }
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   109
            catch (Exception) 
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   110
            {
182
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   111
                return new List<Project>();
148
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   112
            }
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   113
        }
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   114
182
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   115
        void listProject_EH_List_ContactDown(object sender, EventArgs e)
148
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   116
        {
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   117
            try
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   118
            {
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   119
                LayoutRoot.Children.Remove((UserControlListSession)sender);
182
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   120
                if (((UserControlListSession)sender).SelectedItem.Equals("New Project"))
148
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   121
                {
182
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   122
                    UserControlSessionInput ProjectInput = new UserControlSessionInput();
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   123
                    ProjectInput.Name = "ProjectInput";
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   124
                    LayoutRoot.Children.Add(ProjectInput);
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   125
                    ProjectInput.EH_SurfaceButtonSubmit_ContactDown += new System.EventHandler(this.ProjectInput_EH_SurfaceButtonSubmit_ContactDown);
148
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   126
                }
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   127
                else
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   128
                {
182
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   129
                    foreach (Project elt in existingProjects)
148
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   130
                    {
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   131
                        if (elt.Name.Equals(((UserControlListSession)sender).SelectedItem))
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   132
                        {
182
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   133
                            MainViewModel.Project.Project = elt;
148
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   134
                            OpenProject();
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   135
                            return;
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   136
                        }
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   137
                    }
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   138
                }
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   139
            }
152
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 148
diff changeset
   140
            catch (Exception)
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 148
diff changeset
   141
            {
182
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   142
                Cutting = null;
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   143
                if (UC_Screen_NewCutting != null)
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   144
                    UC_Screen_NewCutting(this, new EventArgs());
152
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 148
diff changeset
   145
            }
148
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   146
        }
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   147
182
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   148
        private void ProjectInput_EH_SurfaceButtonSubmit_ContactDown(object sender, EventArgs e)
104
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 95
diff changeset
   149
        {
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 95
diff changeset
   150
            try
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 95
diff changeset
   151
            {
182
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   152
                //MainViewModel.Project.Alias = ((UserControlSessionInput)sender).Alias;
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   153
                //MainViewModel.Project.Email = ((UserControlSessionInput)sender).Email;
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   154
                MainViewModel.Project.Description = ((UserControlSessionInput)sender).Description;
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   155
                MainViewModel.Project.Name = ((UserControlSessionInput)sender).SessionName;
148
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   156
                
104
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 95
diff changeset
   157
                //2-Suppression UCSession Input
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 95
diff changeset
   158
                LayoutRoot.Children.Remove((UserControlSessionInput)sender);
148
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   159
                OpenProject();
104
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 95
diff changeset
   160
            }
152
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 148
diff changeset
   161
            catch (Exception ex) 
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 148
diff changeset
   162
            {
182
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   163
                Cutting = null;
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   164
                if (UC_Screen_NewCutting != null)
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   165
                    UC_Screen_NewCutting(this, new EventArgs());
152
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 148
diff changeset
   166
            }
104
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 95
diff changeset
   167
        }
148
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   168
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   169
        private void OpenProject()
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   170
        {
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   171
            try
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   172
            {
182
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   173
                UserControlListProject listCuttings = new UserControlListProject(MainViewModel.Project.CuttingsDict);
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   174
                listCuttings.Name = "listCuttings";
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   175
                LayoutRoot.Children.Add(listCuttings);
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   176
                listCuttings.EH_Item_ContactDown += new EventHandler(listCuttings_EH_Item_ContactDown);
148
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   177
            }
152
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 148
diff changeset
   178
            catch (Exception) 
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 148
diff changeset
   179
            {
182
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   180
                Cutting = null;
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   181
                if (UC_Screen_NewCutting != null)
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   182
                    UC_Screen_NewCutting(this, new EventArgs());
152
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 148
diff changeset
   183
            }
148
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   184
        }
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   185
182
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   186
        void listCuttings_EH_Item_ContactDown(object sender, EventArgs e)
148
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   187
        {
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   188
            try
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   189
            {
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   190
                LayoutRoot.Children.Remove((UserControlListProject)sender);
182
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   191
                if (((UserControlListProject)sender).SelectedItem.Equals("New Cutting"))
148
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   192
                {
182
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   193
                    UserControlNewProject newCutting = new UserControlNewProject(User);
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   194
                    newCutting.Name = "newCutting";
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   195
                    LayoutRoot.Children.Add(newCutting);
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   196
                    newCutting.EH_NewCutting_ContactDown += new EventHandler(newCutting_EH_NewProject_ContactDown);
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   197
                }
148
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   198
                else
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   199
                {
182
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   200
                    foreach(KeyValuePair<string, Cutting> elt in MainViewModel.Project.CuttingsDict)
148
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   201
                        if (elt.Key.Equals(((UserControlListProject)sender).SelectedItem))
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   202
                        {
182
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   203
                            Cutting = new CuttingViewModel(elt.Value, 815);
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   204
                            if (UC_Screen_NewCutting != null)
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   205
                                UC_Screen_NewCutting(this, new EventArgs());
148
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   206
                            return;
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   207
                        }
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   208
                }
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   209
            }
152
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 148
diff changeset
   210
            catch (Exception)
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 148
diff changeset
   211
            {
182
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   212
                Cutting = null;
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   213
                if (UC_Screen_NewCutting != null)
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   214
                    UC_Screen_NewCutting(this, new EventArgs());
152
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 148
diff changeset
   215
            }
148
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   216
        }
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   217
182
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   218
        void newCutting_EH_NewProject_ContactDown(object sender, EventArgs e)
148
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   219
        {
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   220
            try
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   221
            {
182
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   222
                Console.WriteLine("newCutting_EH_NewProject_ContactDown");
148
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   223
                LayoutRoot.Children.Remove((UserControlNewProject)sender);
182
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   224
                Cutting = new CuttingViewModel(((UserControlNewProject)sender).Cutting, 850);
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   225
                MainViewModel.Project.CuttingsDict.Add(Cutting.Title, ((UserControlNewProject)sender).Cutting);
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   226
                if (UC_Screen_NewCutting != null)
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   227
                    UC_Screen_NewCutting(this, new EventArgs());
148
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   228
            }
182
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   229
            catch (Exception)
152
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 148
diff changeset
   230
            {
182
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   231
                Cutting = null;
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   232
                if (UC_Screen_NewCutting != null)
25b49d4f1635 First step of data reorganisation : session is meant to disappear : a "session" is in fact a project and one project owns several cuttings, one per user. WARNING : this commit builds without problems but we can not open more than one UserPanel.
cavaliet
parents: 156
diff changeset
   233
                    UC_Screen_NewCutting(this, new EventArgs());
152
46577fd0a294 PlayerPause en resize
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 148
diff changeset
   234
            }
148
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 143
diff changeset
   235
        }
35
ed77793b767a Control Pivot,
sarias
parents:
diff changeset
   236
	}
ed77793b767a Control Pivot,
sarias
parents:
diff changeset
   237
}