UserForm.cs

Description du code

UserForm.cs est un fichier du projet BiblioBrol.
Ce fichier est situé dans /var/www/bin/sniplets/bibliobrol/src/.

Projet BiblioBrol :

Gestion de media en CSharp.

Pour plus d'infos, vous pouvez consulter la brève analyse.

Code source ou contenu du fichier

  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Text;
  7. using System.Windows.Forms;
  8. using be.gaudry.bibliobrol.model.eid;
  9. using be.gaudry.bibliobrol.model;
  10. using be.gaudry.bibliobrol.view.utils;
  11. using be.gaudry.bibliobrol.model.identity;
  12. using be.gaudry.view;
  13. using be.gaudry.model.drawing;
  14.  
  15. namespace be.gaudry.bibliobrol.view.dialogs
  16. {
  17. public partial class UserForm : MDIChildForm, IMDIChild
  18. {
  19. public const string startStr = "&Lire la carte";
  20. public const string stopStr = "Arrêter";
  21. public UserForm()
  22. {
  23. InitializeComponent();
  24. this.SuspendLayout();
  25. addToolStrip(mainTS);
  26. mainTLP.ColumnStyles[1].Width = 0F;
  27. fillSexCB();
  28. persSexCB.DataSource = Enum.GetValues(typeof(SEX));
  29. phoneTypeDGVTextBoxColumn.DataSource = Enum.GetValues(typeof(Phone.TYPE));
  30. //testReader();
  31. this.ResumeLayout(false);
  32. }
  33.  
  34. private void testReader()
  35. {
  36. bool dllExists = EidAdapter.testDllExists();
  37. readCardTsB.Enabled = dllExists;
  38. readCardTsMi.Enabled = dllExists;
  39. readCardBtn.Enabled = dllExists;
  40. }
  41. /// <summary>
  42. /// Used only once into constructor call through the init() method call
  43. /// Sex values are same for all persons
  44. /// Selected value is set by fillPersInfos() method call
  45. /// </summary>
  46. private void fillSexCB()
  47. {
  48. persSexCB.Items.AddRange(Enum.GetNames(typeof(SEX)));
  49. }
  50.  
  51. private void readCardBtn_Click(object sender, EventArgs e)
  52. {
  53. if (EidAdapter.testDllExists())
  54. {
  55. if (!readCardBGW.CancellationPending && readCardBtn.Text.Equals(startStr))
  56. {
  57. readCardBtn.Text = stopStr;
  58. mainTLP.ColumnStyles[1].Width = 200F;
  59. showProgress(true);
  60. User user = userBindingSource.Current as User;
  61. if (user == null)
  62. {
  63. user = new User();
  64. }
  65. try
  66. {
  67. readCardBGW.RunWorkerAsync(user);
  68. }
  69. catch (InvalidOperationException) { }
  70. }
  71. else
  72. {
  73.  
  74. try
  75. {
  76. readCardBGW.CancelAsync();
  77. }
  78. catch (InvalidOperationException) { }
  79. }
  80. }
  81. else
  82. {
  83. MessageBox.Show(
  84. this,
  85. "Impossible de lire la carte d'identité car la dll n'est pas présente dans votre système.",
  86. "Carte d'identité",
  87. MessageBoxButtons.OK,
  88. MessageBoxIcon.Stop,
  89. MessageBoxDefaultButton.Button1
  90. );
  91. }
  92. }
  93.  
  94. private void showProgress(bool show)
  95. {
  96. toolStripStatusLabel1.Visible = show;
  97. toolStripProgressBar1.Visible = show;
  98. if (show)
  99. {
  100. toolStripStatusLabel1.Text = "";
  101. toolStripProgressBar1.Value = 0;
  102. }
  103. }
  104.  
  105. private void readCardBGW_DoWork(object sender, DoWorkEventArgs e)
  106. {
  107. /*
  108.   User user = userBindingSource.Current as User;
  109.   if (user == null)
  110.   {
  111.   user = new User();
  112.   }
  113.   EidAdapter.readCard(readCardBGW, e, user);
  114.   */
  115. EidAdapter.readCard(readCardBGW, e, (User)e.Argument);
  116. }
  117.  
  118. private void readCardBGW_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
  119. {
  120. readCardBtn.Text = startStr;
  121. showProgress(false);
  122. //force update view
  123. userBindingSource.ResetBindings(true);
  124. }
  125.  
  126. private void readCardBGW_ProgressChanged(object sender, ProgressChangedEventArgs e)
  127. {
  128. if (e.ProgressPercentage > 0)
  129. {
  130. toolStripProgressBar1.Value = e.ProgressPercentage;
  131. if (e.UserState != null)
  132. {
  133. if (e.UserState is User)
  134. {
  135. User user = (User)e.UserState;
  136. userBindingSource.DataSource = user;
  137. }
  138. /*
  139.   else if (e.UserState is Address)
  140.   {
  141.   ((User)userBindingSource.DataSource).Address = (Address)e.UserState;
  142.   }
  143.   */
  144. else if (e.UserState is string)
  145. {
  146. toolStripStatusLabel1.Text = (string)e.UserState;
  147. }
  148. else if (e.UserState is EidValidity)
  149. {
  150. cardGB.Visible = true;
  151. displayValidity((EidValidity)e.UserState);
  152. }
  153. else if (e.UserState is Bitmap)
  154. {
  155. photoPB.Image = (Bitmap)e.UserState;
  156. }
  157. }
  158. }
  159. }
  160.  
  161. private void displayValidity(EidValidity eidValidity)
  162. {
  163. beginValidityDateTB.Text = eidValidity.BeginDate.ToLongDateString();
  164. endValidityDateTB.Text = eidValidity.EndDate.ToLongDateString();
  165. issuingMunicipalityTB.Text = eidValidity.Issuer;
  166. chipNumberTB.Text = eidValidity.ChipNumber;
  167. cardNumberTB.Text = eidValidity.CardNumber;
  168. if (eidValidity.EndDate <= DateTime.Today)
  169. {
  170. MessageBox.Show(
  171. this,
  172. "La carte d'identité n'est plus valide!",
  173. "Carte d'identité",
  174. MessageBoxButtons.OK,
  175. MessageBoxIcon.Warning,
  176. MessageBoxDefaultButton.Button1
  177. );
  178. }
  179. }
  180.  
  181. private void onUnlockPerson_Click(object sender, EventArgs e)
  182. {
  183. User user = userBindingSource.Current as User;
  184. if (user != null && user.Id >= 0)
  185. {
  186. if (ModelAdapter.unlockPerson(user.Id))
  187. {
  188. enableUnlockActions(false);
  189. }
  190. }
  191. }
  192.  
  193. private void onSave_Click(object sender, EventArgs e)
  194. {
  195. User user = getUserFromForm();
  196. if (user != null)
  197. {
  198. int testId = ModelAdapter.personExists(user);
  199. if (testId > 0)
  200. {
  201. DialogResult r = MessageBox.Show(
  202. this,
  203. String.Format("Il existe déjà une personne nommée {0} {1} dans l'application.\n\rDésirez-vous utiliser cette personne ?\n\rNon pour sauver une nouvelle personne ?",
  204. user.LastName,
  205. user.FirstName
  206. ),
  207. "Sauvegarde de la personne",
  208. MessageBoxButtons.YesNo,
  209. MessageBoxIcon.Question,
  210. MessageBoxDefaultButton.Button1
  211. );
  212. if (r == DialogResult.Yes)
  213. {
  214. user.Id = testId;
  215. }
  216. }
  217. user.Id = ModelAdapter.saveUser(user);
  218. savePhoto(user);
  219. //this.Close();
  220. }
  221. }
  222.  
  223. private User getUserFromForm()
  224. {
  225. User user = userBindingSource.Current as User;
  226. return user;
  227. }
  228.  
  229. public void setUser(User user)
  230. {
  231. enableUnlockActions(user.Edited);
  232. userBindingSource.DataSource = user;
  233. photoPB.ImageLocation = Img.getPersImgPath(user);
  234. }
  235.  
  236. private void savePhoto(Person person)
  237. {
  238. string newImgPath = Img.getPersImgPath(person);
  239. bool newImage = true;
  240. if (System.IO.File.Exists(newImgPath))
  241. {
  242. DialogResult r = MessageBox.Show(
  243. this,
  244. "Une photo était déjà présente pour cette personne.\r\nDésirez-vous écraser l'ancien fichier par cette nouvelle photo?",
  245. "Sauvegarde de photo",
  246. MessageBoxButtons.YesNo,
  247. MessageBoxIcon.Question,
  248. MessageBoxDefaultButton.Button1
  249. );
  250. newImage = (r == DialogResult.Yes);
  251. }
  252. if (newImage)
  253. {
  254. photoPB.Image.Save(newImgPath, System.Drawing.Imaging.ImageFormat.Jpeg);
  255. }
  256. }
  257.  
  258. private void onModifyPhoto_Click(object sender, EventArgs e)
  259. {
  260. ImageHelper.setImageLocation(this, photoPB);
  261. }
  262.  
  263. private void enableReadCardActions(bool enabled)
  264. {
  265. readCardBtn.Enabled = enabled;
  266. readCardCTsMi.Enabled = enabled;
  267. readCardTsMi.Enabled = enabled;
  268.  
  269. mainTLP.ColumnStyles[1].Width = (enabled) ? 200F : 0F;
  270. }
  271.  
  272. private void enableUnlockActions(bool enabled)
  273. {
  274. unlockLabel.Visible = enabled;
  275. unlockPersonBtn.Enabled = enabled;
  276. unlockPersonCTsMi.Enabled = enabled;
  277. unlockPersonTsMi.Enabled = enabled;
  278. }
  279.  
  280. #region IMDIChild Members
  281.  
  282. public MenuStrip getMainMenuStrip()
  283. {
  284. return mainMenuStrip;
  285. }
  286.  
  287. #endregion
  288. }
  289. }

Structure et Fichiers du projet

Afficher/masquer...


Répertoires contenus dans /var/www/bin/sniplets/bibliobrol/src/view/dialogs/ 
IcôneNomTailleModification
Pas de sous-répertoires.
IcôneNomTailleModification
| _ Répertoire parent0 octets1715992534 18/05/2024 02:35:34
Fichiers contenus dans /var/www/bin/sniplets/bibliobrol/src/view/dialogs/ 
IcôneNomTailleModificationAction
IcôneNomTailleModificationAction
Afficher le fichier .resx|.resxAboutBibliobrolDialog.resx5.68 Ko31/10/2018 18:32:58-refusé-
Afficher le fichier .cs|.csSelectSerieItemDialog.Designer.cs6.84 Ko31/10/2018 18:33:02-refusé-
Afficher le fichier .cs|.csEditBrolForm.Designer.cs9.93 Ko31/10/2018 18:33:00-refusé-
Afficher le fichier .cs|.csEditBorrowForm.Designer.cs13.58 Ko31/10/2018 18:32:59-refusé-
Afficher le fichier .resx|.resxEditRoleForm.resx5.68 Ko31/10/2018 18:33:00-refusé-
Afficher le fichier .cs|.csBrolPropertiesForm.Designer.cs3.5 Ko31/10/2018 18:32:58-refusé-
Afficher le fichier .cs|.csVersionForm.cs729 octets31/10/2018 18:33:02-refusé-
Afficher le fichier .cs|.csAboutBibliobrolDialog.Designer.cs2.29 Ko31/10/2018 18:32:58-refusé-
Afficher le fichier .cs|.csSelectConsoleVerboseDialog.cs581 octets31/10/2018 18:33:02-refusé-
Afficher le fichier .resx|.resxImportedImagesForm.resx188.76 Ko31/10/2018 18:33:00-refusé-
Afficher le fichier .cs|.csEditSeriesForm.Designer.cs8.55 Ko31/10/2018 18:33:00-refusé-
Afficher le fichier .cs|.csEditBrolForm.cs3.37 Ko31/10/2018 18:32:59-refusé-
Afficher le fichier .cs|.csCommentForm.cs1.47 Ko31/10/2018 18:32:58-refusé-
Afficher le fichier .cs|.csEditRoleForm.Designer.cs7.86 Ko31/10/2018 18:33:00-refusé-
Afficher le fichier .cs|.csMediabrolPropertiesForm.Designer.cs3.57 Ko31/10/2018 18:33:01-refusé-
Afficher le fichier .resx|.resxVersionForm.resx43.11 Ko31/10/2018 18:33:03-refusé-
Afficher le fichier .cs|.csPersonInfoForm.cs1.13 Ko31/10/2018 18:33:01-refusé-
Afficher le fichier .cs|.csImportedImagesForm.Designer.cs5.86 Ko31/10/2018 18:33:00-refusé-
Afficher le fichier .cs|.csSelectCategoryDialog.Designer.cs5.71 Ko31/10/2018 18:33:01-refusé-
Afficher le fichier .resx|.resxBrolPropertiesForm.resx5.87 Ko31/10/2018 18:32:58-refusé-
Afficher le fichier .cs|.csSelectConsoleVerboseDialog.Designer.cs3.77 Ko31/10/2018 18:33:02-refusé-
Afficher le fichier .resx|.resxMediaBrolsByBrolForm.resx6.39 Ko31/10/2018 18:33:01-refusé-
Afficher le fichier .resx|.resxMediabrolPropertiesForm.resx5.87 Ko31/10/2018 18:33:01-refusé-
Afficher le fichier .resx|.resxSelectCategoryDialog.resx5.68 Ko31/10/2018 18:33:02-refusé-
Afficher le fichier .cs|.csOptionsForm.cs7.57 Ko31/10/2018 18:33:01-refusé-
Afficher le fichier .resx|.resxSelectSerieItemDialog.resx5.68 Ko31/10/2018 18:33:02-refusé-
Afficher le fichier .resx|.resxCommentForm.resx187.31 Ko31/10/2018 18:32:59-refusé-
Afficher le fichier .resx|.resxPersonInfoForm.resx40.67 Ko31/10/2018 18:33:01-refusé-
Afficher le fichier .cs|.csImportedImagesForm.cs914 octets31/10/2018 18:33:00-refusé-
Afficher le fichier .cs|.csEditBorrowForm.cs4.83 Ko31/10/2018 18:32:59-refusé-
Afficher le fichier .cs|.csPersonInfoForm.Designer.cs3.03 Ko31/10/2018 18:33:01-refusé-
Afficher le fichier .cs|.csAboutBibliobrolDialog.cs416 octets31/10/2018 18:32:58-refusé-
Afficher le fichier .cs|.csMediaBrolsByBrolForm.cs1.47 Ko31/10/2018 18:33:01-refusé-
Afficher le fichier .cs|.csEditSeriesForm.cs2.2 Ko31/10/2018 18:33:00-refusé-
Afficher le fichier .cs|.csSelectRoleForm.Designer.cs6.57 Ko31/10/2018 18:33:02-refusé-
Afficher le fichier .resx|.resxSelectConsoleVerboseDialog.resx5.68 Ko31/10/2018 18:33:02-refusé-
Afficher le fichier .cs|.csSelectRoleForm.cs996 octets31/10/2018 18:33:02-refusé-
Afficher le fichier .cs|.csInfobrolForm.cs404 octets31/10/2018 18:33:00-refusé-
Afficher le fichier .cs|.csMediaBrolsByBrolForm.Designer.cs6.86 Ko31/10/2018 18:33:01-refusé-
Afficher le fichier .resx|.resxDiaSetActorRole.resx5.68 Ko31/10/2018 18:32:59-refusé-
Afficher le fichier .cs|.csSelectCategoryDialog.cs2.68 Ko31/10/2018 18:33:01-refusé-
Afficher le fichier .cs|.csDiaSetActorRole.cs6.51 Ko31/10/2018 18:32:59-refusé-
Afficher le fichier .resx|.resxSelectRoleForm.resx5.68 Ko31/10/2018 18:33:02-refusé-
Afficher le fichier .cs|.csVersionForm.Designer.cs7.25 Ko31/10/2018 18:33:02-refusé-
Afficher le fichier .cs|.csSelectSerieItemDialog.cs1.92 Ko31/10/2018 18:33:02-refusé-
Afficher le fichier .resx|.resxOptionsForm.resx38.91 Ko31/10/2018 18:33:01-refusé-
Afficher le fichier .cs|.csEditRoleForm.cs1.35 Ko31/10/2018 18:33:00-refusé-
Afficher le fichier .cs|.csCommentForm.Designer.cs3.09 Ko31/10/2018 18:32:58-refusé-
Afficher le fichier .cs|.csUserForm.Designer.cs65.04 Ko31/10/2018 18:33:02-refusé-
Afficher le fichier .resx|.resxEditBorrowForm.resx187.31 Ko31/10/2018 18:32:59-refusé-
Afficher le fichier .cs|.csDiaSetActorRole.Designer.cs7.98 Ko31/10/2018 18:32:59-refusé-
Afficher le fichier .resx|.resxEditBrolForm.resx11.3 Ko31/10/2018 18:33:00-refusé-
Afficher le fichier .resx|.resxUserForm.resx42.02 Ko31/10/2018 18:33:02-refusé-
Afficher le fichier .cs|.csBrolPropertiesForm.cs652 octets31/10/2018 18:32:58-refusé-
Afficher le fichier .resx|.resxInfobrolForm.resx40.95 Ko31/10/2018 18:33:01-refusé-
Afficher le fichier .cs|.csUserForm.cs9.99 Ko31/10/2018 18:33:02-refusé-
Afficher le fichier .resx|.resxDiaSelectActor.resx5.68 Ko31/10/2018 18:32:59-refusé-
Afficher le fichier .cs|.csDiaSelectActor.cs1.87 Ko31/10/2018 18:32:58-refusé-
Afficher le fichier .cs|.csDiaSelectActor.Designer.cs4.15 Ko31/10/2018 18:32:59-refusé-
Afficher le fichier .cs|.csOptionsForm.Designer.cs18.22 Ko31/10/2018 18:33:01-refusé-
Afficher le fichier .cs|.csMediabrolPropertiesForm.cs690 octets31/10/2018 18:33:01-refusé-
Afficher le fichier .cs|.csInfobrolForm.Designer.cs2.46 Ko31/10/2018 18:33:01-refusé-
Afficher le fichier .resx|.resxEditSeriesForm.resx38.91 Ko31/10/2018 18:33:00-refusé-

Utilisation de l'explorateur de code

  • Navigation :
    • Un clic sur une icône de répertoire ouvre ce répertoire pour en afficher les fichiers.
    • Lorsque le répertoire en cours ne contient pas de sous-répertoires il est possible de remonter vers le répertoire parent.
    • La structure de répertoires en treetable (tableau en forme d'arborescence) n'est plus possibledans cette version.
    • Un clic sur une icône de fichier ouvre ce fichier pour en afficher le code avec la coloration syntaxique adaptée en fonction du langage principal utilisé dans le fichier.
  • Affichage :
    • Il est possible de trier les répertoires ou les fichiers selon certains critères (nom, taille, date).
  • Actions :
    • Les actions possible sur les fichiers dépendent de vos droits d'utilisateur sur le site. Veuillez activer le mode utilisateur pour activer les actions.

Document créé le 16/10/2009, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/cs-bibliobrol-source-rf-view/dialogs/UserForm.cs.html

L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.