1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116
|
public partial class frm_Chargement : Form
{
public frm_Chargement()
{
InitializeComponent();
this.Text = "Chargement de l'application - " + cl_Configuration.numeroVersion;
}
/// <summary>
/// Lorsque la fenêtre s'affiche.
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void frm_Chargement_Shown(object sender, EventArgs e)
{
//La fenêtre de chargement ne charge que les données nécessaire à l'ouverture de l'application,
//le reste des données est chargé de façon asynchrone
Thread t = new Thread(Initialisation);
t.Start();
while (t.IsAlive)
{
Application.DoEvents();
}
this.Close();
}
/// <summary>
/// Méthode permettant de récupérer les informations nécessaire à l'ouverture de l'application
/// </summary>
public void Initialisation()
{
//Récupérer l'indentifiant session
String strNameWindows = WindowsIdentity.GetCurrent().Name;
//Récupérer le nombre de caractère qu'il y a jusqu'au nom de l'utilisateur
int nCaractere = strNameWindows.IndexOf(@"\");
// Test : Ouverture de la connexion à la base de données
if (!cl_DbConnection.bOpenConnection())
{
MessageBox.Show("Connexion au serveur impossible");
// Fermeture de l'application
Environment.Exit(0);
} // Test : Ouverture de la connexion à la base de données
//Déclaration des objets
cl_CollaborateurBUS userbus = new cl_CollaborateurBUS();
cl_PrevisionBUS PreviBUS = new cl_PrevisionBUS();
//Variable qui va contenir le login
string strName = null;
//exemple : kevinpl
strName = strNameWindows.Substring(nCaractere + 1, strNameWindows.Length - nCaractere - 1);
//strName = "alaeddine";
// Test : Mode débug actif ?
if (System.Diagnostics.Debugger.IsAttached)
{
//strName = "pierrot";
//strName = "Aurelienb";
//strName = "fabienne";
//strName = "alaeddine";
} // Test : Mode débug actif ?
// si le nom de domaine est ISILAND
if (strNameWindows.Substring(0, nCaractere) == "ISILAND" )
{
//si il n'y a pas d'utilisateur dont le login commence par le nom passé en parametre
if (userbus.checkDoublon(strName))
{
//Récupérer l'objet utilisateur
cl_Collaborateur.CurrentUser = userbus.getUserByLogin(strName);
}
}
else
{
MessageBox.Show("Le nom de domaine est incorrecte");
// Fermeture de l'application
Environment.Exit(0);
}
}
/// <summary>
/// Récupère les informations supplémentaires (par ex. les droits de l'utilisateur) à partir des webservices
/// </summary>
public void Rafraichir()
{
cl_CollaborateurBUS UserBUS = new cl_CollaborateurBUS();
cl_PrevisionBUS PreviBUS = new cl_PrevisionBUS();
List<cl_Collaborateur> liste = new List<cl_Collaborateur>();
//Vérifie si l'utilisateur est RPA ou non
cl_Collaborateur.RPA = UserBUS.checkRPA(UserBUS.getUserCodeCollab(cl_Collaborateur.CurrentUser.idcollaborateur).CodeCollab);
//Récupère la liste des collaborateurs que l'utilisateur courant peut affecter
string[] strListe = UserBUS.getListeCollaborateurAutorise(UserBUS.getUserCodeCollab(cl_Collaborateur.CurrentUser.idcollaborateur).CodeCollab);
//Insère dans une liste static des objets utilisateur pouvant être affecter par l'utilisateur courant
foreach (string strCodeCollab in strListe)
{
liste.Add(UserBUS.getUserAutorise(strCodeCollab));
}
//liste des utilisateurs dont l'utilisateur courant à la responsabilité
cl_Collaborateur.LstUsers = liste;
//Actualiser la liste des jours non-travaillés de la période allant de trois mois auparavavant jusqu' a trois mois après la date actuelle
PreviBUS.setListJourNonTravaille();
//Actualiser la liste des prévisions de temps partiel de la période allant de trois mois auparavant jusqu'a trois mois apres la date actuelle.
PreviBUS.setLstPrevisionTpsPartiel();
} |
Partager