// Méthode de récupération de l'ID d'un technicien private static int SelectIDTechnical(C_Technical tech = null, string usn = null) { Technical tech1 = null; try { if (tech != null) { tech1 = db.Technicals.Single(t => t.User.Usn == tech.Username); } else if (usn != null) { tech1 = db.Technicals.Single(t => t.User.Usn == usn); } else { new Exception("Pas de variables passées"); } return(tech1.ID); } catch (Exception ex) { throw (ex); } }
// Méthode de mise à jour d'un technicien public static void UpdateTechnical(C_Technical tech) { int idUser; try { idUser = SelectIDUser(tech); db.PS_Update_Technical(idUser, tech.HourRate, tech.GSM); db.SubmitChanges(); } catch (Exception ex) { throw (ex); } }
// Constructeur par défaut public MainWindow() { // Initialise les composants InitializeComponent(); // Préparation de la fenêtre de Login XAML.WPF_Login wpf_login = new XAML.WPF_Login(); wpf_login.ShowDialog(); // Vérification si le login s'est bien passé if (wpf_login.LoginState) { // Vérification du type d'utilisateur if (wpf_login.UserType == "Technical") { // Instancie un technicien technical = Class.C_Database.SelectTechnical(wpf_login.Username); // Instancie le UserControl du technicien et l'affiche UserControls.UC_Technical uc_tech = new UserControls.UC_Technical(technical); GRD_uc.Children.Clear(); GRD_uc.Children.Add(uc_tech); } else { // Instancie un administratif administrative = Class.C_Database.SelectAdministrative(wpf_login.Username); // Instancie le UserControl de l'administratif et l'affiche UserControls.UC_Administrative uc_adm = new UserControls.UC_Administrative(administrative); GRD_uc.Children.Clear(); GRD_uc.Children.Add(uc_adm); } } else { // Ferme l'application Application.Current.Shutdown(); } }
// Méthode de récupération d'un ticket public static C_Ticket SelectTicket(int num) { try { db.Refresh(System.Data.Linq.RefreshMode.OverwriteCurrentValues, db.Tickets); var ticket = from t in db.Tickets where t.ID == num select t; if (ticket.Count() > 0) { C_Client tmpClient = SelectClient(ticket.First().IDCustomer); C_Ticket tick = new C_Ticket(ticket.First().DateIN, ticket.First().Subject, (ticket.First().Note == null ? null : ticket.First().Note), tmpClient); var interv = from i in db.Interventions where i.IDTicket == ticket.First().ID select i; foreach (Intervention i in interv) { C_Technical tech = SelectTechnical(i.Technical.User.Usn); C_Intervention inter = new C_Intervention(i.DateBegin, i.DateEnd, i.Subject, i.TechnicalNote, tech); tick.AddIntervInList(inter); } return(tick); } else { return(new C_Ticket()); } } catch (Exception ex) { throw (ex); } }
// Constructeur par paramètres public C_Intervention(DateTime dateBeg, DateTime dateEnd, string label, string note, C_Technical tech) { this.dateBeg = dateBeg; this.dateEnd = dateEnd; this.label = label; this.note = note; this.usnTech = tech.Username; }