PageRenderTime 49ms CodeModel.GetById 21ms RepoModel.GetById 1ms app.codeStats 0ms

/workspace/WorkspaceUserFile.cs

https://github.com/moscrif/ide
C# | 76 lines | 57 code | 15 blank | 4 comment | 1 complexity | 7339d66e0028bac6da1a76089d56b6b3 MD5 | raw file
  1. using System;
  2. using System.Linq;
  3. using System.Xml;
  4. using System.Xml.Serialization;
  5. using System.Collections.Generic;
  6. using System.IO;
  7. using Moscrif.IDE.Devices;
  8. using MessageDialogs = Moscrif.IDE.Controls.MessageDialog;
  9. using Moscrif.IDE.Iface.Entities;
  10. using System.Security.Principal;
  11. namespace Moscrif.IDE.Workspace
  12. {
  13. public class WorkspaceUserFile
  14. {
  15. // workspace.nazovPc-Username.user
  16. public WorkspaceUserFile(string filePath)
  17. {
  18. FilePath = filePath;
  19. FilesSetting = new List<FileSetting>();
  20. }
  21. public WorkspaceUserFile()
  22. {
  23. FilesSetting = new List<FileSetting>();
  24. }
  25. static internal WorkspaceUserFile OpenWorkspaceUserFile(string filePath)
  26. {
  27. if (System.IO.File.Exists(filePath)){
  28. try{
  29. using (FileStream fs = File.OpenRead(filePath)) {
  30. XmlSerializer serializer = new XmlSerializer(typeof(WorkspaceUserFile));
  31. WorkspaceUserFile p = (WorkspaceUserFile)serializer.Deserialize(fs);
  32. p.FilePath = filePath;
  33. return p;
  34. }
  35. }catch{//(Exception ex){
  36. WorkspaceUserFile p =new WorkspaceUserFile(filePath);
  37. return p;
  38. /*MessageDialogs md = new MessageDialogs(MessageDialogs.DialogButtonType.OkCancel, MainClass.Languages.Translate("project_is_corrupted", filePath), MainClass.Languages.Translate("delete_corupted_project"), Gtk.MessageType.Question,null);
  39. int res = md.ShowDialog();
  40. return null;*/
  41. }
  42. }else {
  43. MessageDialogs md = new MessageDialogs(MessageDialogs.DialogButtonType.Ok, MainClass.Languages.Translate("project_not_exit_f1", filePath), "", Gtk.MessageType.Error,null);
  44. md.ShowDialog();
  45. return null;
  46. }
  47. }
  48. [XmlIgnore]
  49. public string FilePath
  50. {
  51. get;
  52. set;
  53. }
  54. [XmlArray("filesSetting")]
  55. [XmlArrayItem("file")]
  56. public List<FileSetting> FilesSetting {
  57. get;
  58. set;
  59. }
  60. }
  61. }