--- a/src/FingersDance.Control.Screen/UserControlScreen.xaml.cs Wed Oct 14 13:45:55 2009 +0200
+++ b/src/FingersDance.Control.Screen/UserControlScreen.xaml.cs Wed Oct 14 14:02:31 2009 +0200
@@ -1,6 +1,7 @@
using System;
using System.IO;
using System.Net;
+using System.Collections.Generic;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
@@ -20,28 +21,27 @@
public int id = 0;
public event EventHandler UC_Screen_NewSession;
public MainViewModel MainViewModel;
- public User User = new User();
+ public ProjectViewModel Project = new ProjectViewModel();
+ List<Session> sessions = new List<Session>();
+ User User = new User();
public UserControlScreen(int id, MainViewModel mvmodel)
{
this.InitializeComponent();
this.id = id;
MainViewModel = mvmodel;
-
if (MainViewModel.Session.VideoPath.Equals(""))
{
//1-Creation de la ListVideo
UserControlListVideo ListVideo = new UserControlListVideo();
ListVideo.Name = "ListVideo1";
-
//2-Ajout de la ListVideo au ControlScreen
this.AddToGrid(ListVideo);
-
//3-Creation des Events pour chaque item de la video
ListVideo.EH_ItemVideo1_ContactDown += new System.EventHandler(this.ListVideo_EH_ItemVideo_ContactDown);
}
else
- ListVideo_EH_ItemVideo_ContactDown(null, null);
+ OpenProject();
}
//Rajout un UIElement vers la grid du screen.
@@ -56,42 +56,136 @@
private void ListVideo_EH_ItemVideo_ContactDown(object sender, EventArgs e)
{
- //1-Creation d'une nouvelle seance.
- UserControlSessionInput SessionInput = new UserControlSessionInput();
- SessionInput.Name = "SessionInput";
-
try
{
- //2-Recuperer la Grid (Layout root du UC screen)qui contient le UCListVideo et l'ajouter.
-
- LayoutRoot.Children.Add(SessionInput);
-
- //2.5 rensegner la video choisie au screen
- if (sender != null)
- MainViewModel.CreateSession(((UserControlListVideo)sender).VideoName, ((UserControlListVideo)sender).path);
-
- //3-Creation des Events
- SessionInput.EH_SurfaceButtonSubmit_ContactDown += new System.EventHandler(this.SessionInput_EH_SurfaceButtonSubmit_ContactDown);
- //4-Supression du UC List Video
+ //1 rensegner la video choisie au screen
+ MainViewModel.CreateSession(((UserControlListVideo)sender).VideoName, ((UserControlListVideo)sender).path);
+ //2-Supression du UC List Video
LayoutRoot.Children.Remove((UserControlListVideo)sender);
+ OpenSession();
}
catch (Exception ex) { }
}
-
+
+ private void OpenSession()
+ {
+ try
+ {
+ sessions = LoadSessions(MainViewModel.Session.VideoPath);
+ UserControlListSession listSession = new UserControlListSession(sessions);
+ listSession.Name = "ListSession";
+ LayoutRoot.Children.Add(listSession);
+ listSession.EH_List_ContactDown += new EventHandler(listSession_EH_List_ContactDown);
+ }
+ catch (Exception) { }
+ }
+
+ private List<Session> LoadSessions(string name)
+ {
+ try
+ {
+ return new List<Session>();
+ }
+ catch (Exception)
+ {
+ return new List<Session>();
+ }
+ }
+
+ void listSession_EH_List_ContactDown(object sender, EventArgs e)
+ {
+ try
+ {
+ LayoutRoot.Children.Remove((UserControlListSession)sender);
+ if (((UserControlListSession)sender).SelectedItem.Equals("New Session"))
+ {
+ UserControlSessionInput SessionInput = new UserControlSessionInput();
+ SessionInput.Name = "SessionInput";
+ LayoutRoot.Children.Add(SessionInput);
+ SessionInput.EH_SurfaceButtonSubmit_ContactDown += new System.EventHandler(this.SessionInput_EH_SurfaceButtonSubmit_ContactDown);
+ }
+ else
+ {
+ foreach (Session elt in sessions)
+ {
+ if (elt.Name.Equals(((UserControlListSession)sender).SelectedItem))
+ {
+ MainViewModel.Session.Projects = elt.Projects;
+ OpenProject();
+ return;
+ }
+ }
+ }
+ }
+ catch (Exception) { }
+ }
+
private void SessionInput_EH_SurfaceButtonSubmit_ContactDown(object sender, EventArgs e)
{
try
{
- //1-Creation du projet
- User = ((UserControlSessionInput)sender).User;
- MainViewModel.CreateProject(User);
+ MainViewModel.Session.Alias = ((UserControlSessionInput)sender).Alias;
+ MainViewModel.Session.Email = ((UserControlSessionInput)sender).Email;
+ MainViewModel.Session.Description = ((UserControlSessionInput)sender).Description;
+ MainViewModel.Session.Name = ((UserControlSessionInput)sender).Name;
+
//2-Suppression UCSession Input
LayoutRoot.Children.Remove((UserControlSessionInput)sender);
- //3-Suppression du UC Screen
- if(UC_Screen_NewSession!=null)
- UC_Screen_NewSession(this, new EventArgs());
+ OpenProject();
}
catch (Exception ex) { }
}
+
+ private void OpenProject()
+ {
+ try
+ {
+ UserControlListProject listProjects = new UserControlListProject(MainViewModel.Session.Projects);
+ listProjects.Name = "ListProjects";
+ LayoutRoot.Children.Add(listProjects);
+ listProjects.EH_Item_ContactDown += new EventHandler(listProjects_EH_Item_ContactDown);
+ }
+ catch (Exception) { }
+ }
+
+ void listProjects_EH_Item_ContactDown(object sender, EventArgs e)
+ {
+ try
+ {
+ LayoutRoot.Children.Remove((UserControlListProject)sender);
+ if (((UserControlListProject)sender).SelectedItem.Equals("New Project"))
+ {
+ UserControlNewProject newProject = new UserControlNewProject(User);
+ newProject.Name = "newProject";
+ LayoutRoot.Children.Add(newProject);
+ newProject.EH_NewProject_ContactDown += new EventHandler(newProject_EH_NewProject_ContactDown);
+ }
+ else
+ {
+ foreach(KeyValuePair<string, Project> elt in MainViewModel.Session.Projects)
+ if (elt.Key.Equals(((UserControlListProject)sender).SelectedItem))
+ {
+ Project = new ProjectViewModel(elt.Value);
+ if (UC_Screen_NewSession != null)
+ UC_Screen_NewSession(this, new EventArgs());
+ return;
+ }
+ }
+ }
+ catch (Exception) { }
+ }
+
+ void newProject_EH_NewProject_ContactDown(object sender, EventArgs e)
+ {
+ try
+ {
+ LayoutRoot.Children.Remove((UserControlNewProject)sender);
+ Project = new ProjectViewModel(((UserControlNewProject)sender).Project);
+ MainViewModel.Session.Projects.Add(Project.Name, Project.Project);
+ if (UC_Screen_NewSession != null)
+ UC_Screen_NewSession(this, new EventArgs());
+ }
+ catch (Exception) { }
+ }
}
}
\ No newline at end of file