OTSGeneralParameters.cs 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332
  1. using OTSDataType;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. using System.Xml;
  8. using static OTSDataType.otsdataconst;
  9. namespace OTSModelSharp
  10. {
  11. public class COTSGeneralParameters : ISlo
  12. {
  13. //--------------------definition-------------
  14. int m_StdLibTypeIndex;
  15. double m_dDefaultArea;
  16. int m_Model;
  17. bool m_bMeasSwitch;
  18. string m_strDefaultSampleName;
  19. string m_strMeasParamFileFolderName;
  20. string m_strPartSTDLibFolderName;
  21. string m_strLaboratoty;
  22. string m_strAnalysisReferenceNumber;
  23. string m_strCustomerName;
  24. string m_strSampleDescription;
  25. string m_strOperatorName;
  26. string m_strComment;
  27. DOMAIN_SHAPE m_nDefaultShape;
  28. CMsrParams m_DefaultMsrParam;
  29. otsdataconst.MEMBRANE_TYPE m_DefaultmembraneType;
  30. //--------------------public-----------------
  31. public COTSGeneralParameters()
  32. {
  33. Init();
  34. }
  35. public COTSGeneralParameters(COTSGeneralParameters a_oSource)
  36. {
  37. // can't copy itself
  38. if (a_oSource == this)
  39. {
  40. return;
  41. }
  42. // copy data over
  43. Duplicate(a_oSource);
  44. }
  45. public bool Equals(COTSGeneralParameters a_oSource)
  46. {
  47. // return test result
  48. //return m_strDefaultSampleName.ToLower().IndexOf(a_oSource.m_strDefaultSampleName.ToLower)
  49. return ((m_strDefaultSampleName.ToLower().IndexOf(a_oSource.m_strDefaultSampleName) == 0) &&
  50. (m_bMeasSwitch == a_oSource.m_bMeasSwitch) &&
  51. (m_strMeasParamFileFolderName.ToLower().IndexOf(a_oSource.m_strMeasParamFileFolderName) == 0) &&
  52. (m_strPartSTDLibFolderName.ToLower().IndexOf(a_oSource.m_strPartSTDLibFolderName) == 0)) &&
  53. (m_StdLibTypeIndex == a_oSource.m_StdLibTypeIndex) && (m_DefaultmembraneType == a_oSource.m_DefaultmembraneType) &&
  54. (m_nDefaultShape == a_oSource.m_nDefaultShape) &&
  55. (m_dDefaultArea == a_oSource.m_dDefaultArea);
  56. }
  57. public string GetSampleName()
  58. {
  59. return m_strDefaultSampleName;
  60. }
  61. public void SetSampleName(string a_strDefaultSampleName)
  62. {
  63. m_strDefaultSampleName = a_strDefaultSampleName;
  64. }
  65. public bool GetMeasurementSwitch()
  66. {
  67. return m_bMeasSwitch;
  68. }
  69. public void SetMeasurementSwitch(bool a_bSwitch)
  70. {
  71. m_bMeasSwitch = a_bSwitch;
  72. }
  73. public string GetMsrParamFileFolderName()
  74. {
  75. return m_strMeasParamFileFolderName;
  76. }
  77. public void SetMsrParamFileFolderName(string a_sMeasParamFileFolderName)
  78. {
  79. m_strMeasParamFileFolderName = a_sMeasParamFileFolderName;
  80. }
  81. public string GetPartSTDLibFolderName()
  82. {
  83. return m_strPartSTDLibFolderName;
  84. }
  85. public void SetPartSTDLibFolderName(string a_strPartSTDLibFolderName)
  86. {
  87. m_strPartSTDLibFolderName = a_strPartSTDLibFolderName;
  88. }
  89. public string GetPartSTDLibFileName()
  90. {
  91. return m_DefaultMsrParam.GetSTDName();
  92. }
  93. public void SetPartSTDLibFileName(string a_strPartSTDLibFileName)
  94. {
  95. m_DefaultMsrParam.SetSTDName(a_strPartSTDLibFileName);
  96. }
  97. public int GetPartStdLibTypeIndex()
  98. {
  99. return m_StdLibTypeIndex;
  100. }
  101. public void SetPartStdLibTypeIndex(int a_index)
  102. {
  103. m_StdLibTypeIndex = a_index;
  104. }
  105. public int GetModel()
  106. {
  107. return m_Model;
  108. }
  109. public void SetModel(int a_Model)
  110. {
  111. m_Model = a_Model;
  112. }
  113. public string GetLaboratoty()
  114. {
  115. return m_strLaboratoty;
  116. }
  117. public void SetLaboratoty(string a_Laboratoty)
  118. {
  119. m_strLaboratoty = a_Laboratoty;
  120. }
  121. public string GetAnalysisReferenceNumber()
  122. {
  123. return m_strAnalysisReferenceNumber;
  124. }
  125. public void SetAnalysisReferenceNumber(string a_AnalysisReferenceNumber)
  126. {
  127. m_strAnalysisReferenceNumber = a_AnalysisReferenceNumber;
  128. }
  129. public string GetCustomerName()
  130. {
  131. return m_strCustomerName;
  132. }
  133. public void SetCustomerName(string a_CustomerName)
  134. {
  135. m_strCustomerName = a_CustomerName;
  136. }
  137. public string GetSampleDescription()
  138. {
  139. return m_strSampleDescription;
  140. }
  141. public void SetSampleDescription(string a_SampleDescription)
  142. {
  143. m_strSampleDescription = a_SampleDescription;
  144. }
  145. public string GetOperatorName()
  146. {
  147. return m_strOperatorName;
  148. }
  149. public void SetOperatorName(string a_OperatorName)
  150. {
  151. m_strOperatorName = a_OperatorName;
  152. }
  153. public string GetComment()
  154. {
  155. return m_strComment;
  156. }
  157. public void SetComment(string a_Comment)
  158. {
  159. m_strComment = a_Comment;
  160. }
  161. // measure area shape
  162. public DOMAIN_SHAPE GetShape()
  163. {
  164. return m_nDefaultShape;
  165. }
  166. public void SetShape(DOMAIN_SHAPE a_nShape)
  167. {
  168. m_nDefaultShape = a_nShape;
  169. }
  170. // measure default value
  171. public double GetArea()
  172. {
  173. return m_dDefaultArea;
  174. }
  175. public void SetArea(double a_dArea)
  176. {
  177. m_dDefaultArea = a_dArea;
  178. }
  179. public CMsrParams GetMsrParam()
  180. {
  181. return m_DefaultMsrParam;
  182. }
  183. public void SetMsrParam(CMsrParams val)
  184. {
  185. m_DefaultMsrParam = val;
  186. }
  187. public otsdataconst.MEMBRANE_TYPE GetMembraneType()
  188. {
  189. return m_DefaultmembraneType;
  190. }
  191. public void GetMembraneType(otsdataconst.MEMBRANE_TYPE val)
  192. {
  193. m_DefaultmembraneType = val;
  194. }
  195. //--------------------protected--------------
  196. // initialization
  197. protected void Init()
  198. {
  199. m_strDefaultSampleName = ("");
  200. m_bMeasSwitch = true;
  201. m_strMeasParamFileFolderName = ("");
  202. m_strPartSTDLibFolderName = ("");
  203. m_StdLibTypeIndex = 0;
  204. m_DefaultmembraneType = otsdataconst.MEMBRANE_TYPE.Abrasive;
  205. m_nDefaultShape = DOMAIN_SHAPE.INVALID;
  206. m_dDefaultArea = 0;
  207. m_DefaultMsrParam = new CMsrParams();
  208. m_Model = 0;
  209. m_strLaboratoty = ("");
  210. m_strAnalysisReferenceNumber = ("");
  211. m_strCustomerName = ("");
  212. m_strSampleDescription = ("");
  213. m_strOperatorName = ("");
  214. m_strComment = ("");
  215. }
  216. protected void Duplicate(COTSGeneralParameters a_oSource)
  217. {
  218. // initialization
  219. Init();
  220. // copy data over
  221. m_strDefaultSampleName = a_oSource.m_strDefaultSampleName;
  222. m_bMeasSwitch = a_oSource.m_bMeasSwitch;
  223. m_strMeasParamFileFolderName = a_oSource.m_strMeasParamFileFolderName;
  224. m_strPartSTDLibFolderName = a_oSource.m_strPartSTDLibFolderName;
  225. m_StdLibTypeIndex = a_oSource.m_StdLibTypeIndex;
  226. m_DefaultmembraneType = a_oSource.m_DefaultmembraneType;
  227. m_nDefaultShape = a_oSource.m_nDefaultShape;
  228. m_dDefaultArea = a_oSource.m_dDefaultArea;
  229. m_Model = a_oSource.m_Model;
  230. m_strLaboratoty = a_oSource.m_strLaboratoty;
  231. m_strAnalysisReferenceNumber = a_oSource.m_strAnalysisReferenceNumber;
  232. m_strCustomerName = a_oSource.m_strCustomerName;
  233. m_strSampleDescription = a_oSource.m_strSampleDescription;
  234. m_strOperatorName = a_oSource.m_strOperatorName;
  235. m_strComment = a_oSource.m_strComment;
  236. }
  237. public bool SetGenParam(COTSGeneralParameters GenParam) { return false; }
  238. public override void Serialize(bool isStoring, XmlDocument classDoc, XmlNode rootNode)
  239. {
  240. xString xstrDefaultSampleName =new xString();
  241. xBool xbMeasSwitch=new xBool();
  242. xString xstrMeasParamFileFolderName=new xString();
  243. xString xstrPartSTDLibFolderName=new xString();
  244. xString xstrPartSTDLibFileName=new xString();
  245. xInt xnStdLibTypeIndex=new xInt();
  246. xInt xnMembraneType= new xInt();
  247. xInt xnShape=new xInt();
  248. xDouble xdArea=new xDouble();
  249. xInt xnModel=new xInt();
  250. xString xstrLaboratoty=new xString();
  251. xString xstrAnalysisReferenceNumber=new xString();
  252. xString xstrCustomerName=new xString();
  253. xString xstrSampleName=new xString();
  254. xString xstrSampleDescription=new xString();
  255. xString xstrOperatorName=new xString();
  256. xString xstrComment=new xString();
  257. Slo slo = new Slo();
  258. slo.Register("DefaultSampleName", xstrDefaultSampleName);
  259. slo.Register("MeasSwitch", xbMeasSwitch);
  260. slo.Register("MeasParamFileFolderName", xstrMeasParamFileFolderName);
  261. slo.Register("PartSTDLibFolderName",xstrPartSTDLibFolderName);
  262. slo.Register("STDLibTypeIndex",xnStdLibTypeIndex);
  263. slo.Register("MembraneType",xnMembraneType);
  264. slo.Register("DefaultShape",xnShape);
  265. slo.Register("DefaultArea",xdArea);
  266. slo.Register("MsrParam", m_DefaultMsrParam);
  267. slo.Register("Model", xnModel);
  268. slo.Register("Laboratoty",xstrLaboratoty);
  269. slo.Register("AnalysisReferenceNumber",xstrAnalysisReferenceNumber);
  270. slo.Register("CustomerName",xstrCustomerName);
  271. slo.Register("SampleDescription",xstrSampleDescription);
  272. slo.Register("OperatorName",xstrOperatorName);
  273. slo.Register("Comment",xstrComment);
  274. if (isStoring)
  275. {
  276. xstrDefaultSampleName.AssignValue(m_strDefaultSampleName);
  277. xbMeasSwitch.AssignValue(m_bMeasSwitch);
  278. xstrMeasParamFileFolderName.AssignValue(m_strMeasParamFileFolderName);
  279. xstrPartSTDLibFolderName.AssignValue(m_strPartSTDLibFolderName);
  280. xnStdLibTypeIndex.AssignValue(m_StdLibTypeIndex);
  281. xnMembraneType.AssignValue((int)m_DefaultmembraneType);
  282. xnShape.AssignValue((int)m_nDefaultShape);
  283. xdArea.AssignValue(m_dDefaultArea);
  284. xnModel.AssignValue(m_Model);
  285. xstrLaboratoty.AssignValue(m_strLaboratoty);
  286. xstrAnalysisReferenceNumber.AssignValue(m_strAnalysisReferenceNumber);
  287. xstrCustomerName.AssignValue(m_strCustomerName);
  288. xstrSampleDescription.AssignValue(m_strSampleDescription);
  289. xstrOperatorName.AssignValue(m_strOperatorName);
  290. xstrComment.AssignValue(m_strComment);
  291. slo.Serialize(true, classDoc, rootNode);
  292. }
  293. else
  294. {
  295. slo.Serialize(false, classDoc, rootNode);
  296. m_strDefaultSampleName = xstrDefaultSampleName.value();
  297. m_bMeasSwitch = xbMeasSwitch.value();
  298. m_strMeasParamFileFolderName = xstrMeasParamFileFolderName.value();
  299. m_strPartSTDLibFolderName = xstrPartSTDLibFolderName.value();
  300. m_StdLibTypeIndex = xnStdLibTypeIndex.value();
  301. m_DefaultmembraneType = (MEMBRANE_TYPE)xnMembraneType.value();
  302. m_nDefaultShape = (DOMAIN_SHAPE)xnShape.value();
  303. m_dDefaultArea = xdArea.value();
  304. m_Model = xnModel.value();
  305. m_strLaboratoty = xstrLaboratoty.value();
  306. m_strAnalysisReferenceNumber = xstrAnalysisReferenceNumber.value();
  307. m_strCustomerName = xstrCustomerName.value();
  308. m_strSampleDescription = xstrSampleDescription.value();
  309. m_strOperatorName = xstrOperatorName.value();
  310. m_strComment = xstrComment.value();
  311. }
  312. }
  313. }
  314. }