PageRenderTime 48ms CodeModel.GetById 18ms RepoModel.GetById 1ms app.codeStats 0ms

/BaliEnterpriseSystems/BaliEnterpriseSystems/BestObjects/BestUser.cs

https://github.com/sirivedula/BEST
C# | 535 lines | 478 code | 55 blank | 2 comment | 13 complexity | 2e04ab2f8f3957dad64998024b40279c MD5 | raw file
  1. using System;
  2. using System.Data;
  3. using System.Collections.Generic;
  4. using System.Configuration;
  5. using System.Linq;
  6. using System.Web;
  7. using System.Web.Security;
  8. using System.Web.UI;
  9. using System.Web.UI.HtmlControls;
  10. using System.Web.UI.WebControls;
  11. using System.Web.UI.WebControls.WebParts;
  12. using System.Xml.Linq;
  13. namespace BaliEnterpriseSystems.BestObjects
  14. {
  15. public class BestUser : BestTable
  16. {
  17. public BestUser()
  18. {
  19. this.TableName = "BestUsers";
  20. this.SecurityPage = "Setup - Users";
  21. this.IsLoggedIn = false;
  22. TableFields.Add(new BestField(){ fieldName="guidfield", displayField=false, fieldHeader="Guid", fieldType="System.Guid", paramOledbType= System.Data.OleDb.OleDbType.Guid, fieldSize = 40 });
  23. TableFields.Add(new BestField(){ fieldName="lastChange", displayField=false, fieldHeader="Last Change", fieldType="System.DateTime", paramOledbType= System.Data.OleDb.OleDbType.DBTime, fieldSize=20 });
  24. TableFields.Add(new BestField(){ fieldName="lastChangeUser", displayField=false, fieldHeader="Last Change User", fieldType="System.String", paramOledbType= System.Data.OleDb.OleDbType.VarChar, fieldSize=128});
  25. TableFields.Add(new BestField(){ fieldName="userName", displayField=true, fieldHeader="User Name", fieldType="System.String", paramOledbType= System.Data.OleDb.OleDbType.VarChar, fieldSize=128});
  26. TableFields.Add(new BestField(){ fieldName="password", displayField=false, fieldHeader="User Name", fieldType="System.String", paramOledbType= System.Data.OleDb.OleDbType.VarChar, fieldSize=128});
  27. TableFields.Add(new BestField(){ fieldName="tempPwd", displayField=false, fieldHeader="Temp Password", fieldType="System.String", paramOledbType= System.Data.OleDb.OleDbType.VarChar, fieldSize=50});
  28. TableFields.Add(new BestField(){ fieldName="passwordExpiration", displayField=false, fieldHeader="Password Expiration", fieldType="System.DateTime", paramOledbType= System.Data.OleDb.OleDbType.DBTimeStamp, fieldSize=50});
  29. TableFields.Add(new BestField(){ fieldName="firstName", displayField=true, fieldHeader="First Name", fieldType="System.String", paramOledbType= System.Data.OleDb.OleDbType.VarChar, fieldSize=50});
  30. TableFields.Add(new BestField(){ fieldName="lastName", displayField=true, fieldHeader="Last Name", fieldType="System.String", paramOledbType= System.Data.OleDb.OleDbType.VarChar, fieldSize=50});
  31. TableFields.Add(new BestField(){ fieldName="middleName", displayField=true, fieldHeader="Middle Name", fieldType="System.String", paramOledbType= System.Data.OleDb.OleDbType.VarChar, fieldSize=50});
  32. TableFields.Add(new BestField(){ fieldName="address1", displayField=true, fieldHeader="Address 1", fieldType="System.String", paramOledbType= System.Data.OleDb.OleDbType.VarChar, fieldSize=50});
  33. TableFields.Add(new BestField() { fieldName = "address2", displayField = true, fieldHeader = "Address 2", fieldType = "System.String", paramOledbType = System.Data.OleDb.OleDbType.VarChar, fieldSize = 50 });
  34. TableFields.Add(new BestField() { fieldName = "city", displayField = true, fieldHeader = "City", fieldType = "System.String", paramOledbType = System.Data.OleDb.OleDbType.VarChar, fieldSize = 50 });
  35. TableFields.Add(new BestField() { fieldName = "state", displayField = true, fieldHeader = "State", fieldType = "System.String", paramOledbType = System.Data.OleDb.OleDbType.VarChar, fieldSize = 2 });
  36. TableFields.Add(new BestField() { fieldName = "zip", displayField = true, fieldHeader = "Zip", fieldType = "System.String", paramOledbType = System.Data.OleDb.OleDbType.VarChar, fieldSize = 15 });
  37. TableFields.Add(new BestField() { fieldName = "cellPhone", displayField = true, fieldHeader = "Cell Phone", fieldType = "System.String", paramOledbType = System.Data.OleDb.OleDbType.VarChar, fieldSize = 15 });
  38. TableFields.Add(new BestField() { fieldName = "workPhone", displayField = true, fieldHeader = "Work Phone", fieldType = "System.String", paramOledbType = System.Data.OleDb.OleDbType.VarChar, fieldSize = 15 });
  39. TableFields.Add(new BestField() { fieldName = "homePhone", displayField = true, fieldHeader = "Home Phone", fieldType = "System.String", paramOledbType = System.Data.OleDb.OleDbType.VarChar, fieldSize = 15 });
  40. TableFields.Add(new BestField() { fieldName = "emailId", displayField = true, fieldHeader = "Contact EMail", fieldType = "System.String", paramOledbType = System.Data.OleDb.OleDbType.VarChar, fieldSize = 80 });
  41. TableFields.Add(new BestField() { fieldName = "securityQuestion1", displayField = false, fieldHeader = "SecurityQ1", fieldType = "System.String", paramOledbType = System.Data.OleDb.OleDbType.VarChar, fieldSize = 300 });
  42. TableFields.Add(new BestField() { fieldName = "answer1", displayField = false, fieldHeader = "Answer1", fieldType = "System.String", paramOledbType = System.Data.OleDb.OleDbType.VarChar, fieldSize = 10 });
  43. TableFields.Add(new BestField() { fieldName = "securityQuestion2", displayField = false, fieldHeader = "SecurityQ2", fieldType = "System.String", paramOledbType = System.Data.OleDb.OleDbType.VarChar, fieldSize = 300 });
  44. TableFields.Add(new BestField() { fieldName = "answer2", displayField = false, fieldHeader = "Answer2", fieldType = "System.String", paramOledbType = System.Data.OleDb.OleDbType.VarChar, fieldSize = 10 });
  45. TableFields.Add(new BestField() { fieldName = "gender", displayField = true, fieldHeader = "Gender", fieldType = "System.String", paramOledbType = System.Data.OleDb.OleDbType.VarChar, fieldSize = 10 });
  46. TableFields.Add(new BestField() { fieldName = "Centers", displayField = true, fieldHeader = "Available to Centers", fieldType = "System.String", paramOledbType = System.Data.OleDb.OleDbType.VarChar, fieldSize = 1000 });
  47. TableFields.Add(new BestField() { fieldName = "userType", displayField = true, fieldHeader = "User Type", fieldType = "System.String", paramOledbType = System.Data.OleDb.OleDbType.VarChar, fieldSize = 50 });
  48. TableFields.Add(new BestField() { fieldName = "logindisabled", displayField = true, fieldHeader = "Disabled?", fieldType = "System.Byte", paramOledbType = System.Data.OleDb.OleDbType.Integer, fieldSize = 2 });
  49. TableFields.Add(new BestField() { fieldName = "initialPassword", displayField = false, fieldHeader = "Initial Pwd?", fieldType = "System.Byte", paramOledbType = System.Data.OleDb.OleDbType.Integer, fieldSize = 1 });
  50. TableFields.Add(new BestField() { fieldName = "studentGuid", displayField = false, fieldHeader = "Student", fieldType = "System.Guid", paramOledbType = System.Data.OleDb.OleDbType.Guid, fieldSize = 40 });
  51. TableFields.Add(new BestField() { fieldName = "TutorGuid", fieldSize = 40, paramOledbType = System.Data.OleDb.OleDbType.Guid, fieldType = "System.Guid", displayField = false });
  52. }
  53. public Guid guidfield
  54. {
  55. get
  56. {
  57. return new Guid(CurrentRow.Fields["guidfield"].fieldValue);
  58. }
  59. set
  60. {
  61. CurrentRow.Fields["guidfield"].fieldValue = value.ToString();
  62. }
  63. }
  64. public DateTime lastChange
  65. {
  66. get
  67. {
  68. return Convert.ToDateTime(CurrentRow.Fields["lastChange"].fieldValue);
  69. }
  70. set
  71. {
  72. CurrentRow.Fields["lastChange"].fieldValue = value.ToString("MM/dd/yyyy HH:mm:ss");
  73. }
  74. }
  75. public string lastChangeUser
  76. {
  77. get
  78. {
  79. return CurrentRow.Fields["lastChangeUser"].fieldValue;
  80. }
  81. set
  82. {
  83. CurrentRow.Fields["lastChangeUser"].fieldValue = value;
  84. }
  85. }
  86. public string userName
  87. {
  88. get
  89. {
  90. return CurrentRow.Fields["userName"].fieldValue;
  91. }
  92. set
  93. {
  94. CurrentRow.Fields["userName"].fieldValue = value;
  95. }
  96. }
  97. public string password
  98. {
  99. get
  100. {
  101. return CurrentRow.Fields["password"].fieldValue;
  102. }
  103. set
  104. {
  105. CurrentRow.Fields["password"].fieldValue = value;
  106. }
  107. }
  108. public string tempPwd
  109. {
  110. get
  111. {
  112. return CurrentRow.Fields["tempPwd"].fieldValue;
  113. }
  114. set
  115. {
  116. CurrentRow.Fields["tempPwd"].fieldValue = value;
  117. }
  118. }
  119. public DateTime passwordExpiration
  120. {
  121. get
  122. {
  123. var fldval = CurrentRow.Fields["passwordExpiration"].fieldValue;
  124. if (!string.IsNullOrEmpty(fldval))
  125. {
  126. return Convert.ToDateTime(fldval);
  127. }
  128. else
  129. {
  130. return DateTime.MinValue;
  131. }
  132. }
  133. set
  134. {
  135. CurrentRow.Fields["passwordExpiration"].fieldValue = value.ToString("MM/dd/yyyy");
  136. }
  137. }
  138. public string firstName
  139. {
  140. get
  141. {
  142. return CurrentRow.Fields["firstName"].fieldValue;
  143. }
  144. set
  145. {
  146. CurrentRow.Fields["firstName"].fieldValue = value;
  147. }
  148. }
  149. public string lastName
  150. {
  151. get
  152. {
  153. return CurrentRow.Fields["lastName"].fieldValue;
  154. }
  155. set
  156. {
  157. CurrentRow.Fields["lastName"].fieldValue = value;
  158. }
  159. }
  160. public string middleName
  161. {
  162. get
  163. {
  164. return CurrentRow.Fields["middleName"].fieldValue;
  165. }
  166. set
  167. {
  168. CurrentRow.Fields["middleName"].fieldValue = value;
  169. }
  170. }
  171. public string address1
  172. {
  173. get
  174. {
  175. return CurrentRow.Fields["address1"].fieldValue;
  176. }
  177. set
  178. {
  179. CurrentRow.Fields["address1"].fieldValue = value;
  180. }
  181. }
  182. public string address2
  183. {
  184. get
  185. {
  186. return CurrentRow.Fields["address2"].fieldValue;
  187. }
  188. set
  189. {
  190. CurrentRow.Fields["address2"].fieldValue = value;
  191. }
  192. }
  193. public string city
  194. {
  195. get
  196. {
  197. return CurrentRow.Fields["city"].fieldValue;
  198. }
  199. set
  200. {
  201. CurrentRow.Fields["city"].fieldValue = value;
  202. }
  203. }
  204. public string state
  205. {
  206. get
  207. {
  208. return CurrentRow.Fields["state"].fieldValue;
  209. }
  210. set
  211. {
  212. CurrentRow.Fields["state"].fieldValue = value;
  213. }
  214. }
  215. public string zip
  216. {
  217. get
  218. {
  219. return CurrentRow.Fields["zip"].fieldValue;
  220. }
  221. set
  222. {
  223. CurrentRow.Fields["zip"].fieldValue = value;
  224. }
  225. }
  226. public string cellPhone
  227. {
  228. get
  229. {
  230. return CurrentRow.Fields["cellPhone"].fieldValue;
  231. }
  232. set
  233. {
  234. CurrentRow.Fields["cellPhone"].fieldValue = value;
  235. }
  236. }
  237. public string emailId
  238. {
  239. get
  240. {
  241. return CurrentRow.Fields["emailId"].fieldValue;
  242. }
  243. set
  244. {
  245. CurrentRow.Fields["emailId"].fieldValue = value;
  246. }
  247. }
  248. public string workPhone
  249. {
  250. get
  251. {
  252. return CurrentRow.Fields["workPhone"].fieldValue;
  253. }
  254. set
  255. {
  256. CurrentRow.Fields["workPhone"].fieldValue = value;
  257. }
  258. }
  259. public string homePhone
  260. {
  261. get
  262. {
  263. return CurrentRow.Fields["homePhone"].fieldValue;
  264. }
  265. set
  266. {
  267. CurrentRow.Fields["homePhone"].fieldValue = value;
  268. }
  269. }
  270. public string securityQuestion1
  271. {
  272. get
  273. {
  274. return CurrentRow.Fields["securityQuestion1"].fieldValue;
  275. }
  276. set
  277. {
  278. CurrentRow.Fields["securityQuestion1"].fieldValue = value;
  279. }
  280. }
  281. public string answer1
  282. {
  283. get
  284. {
  285. return CurrentRow.Fields["answer1"].fieldValue;
  286. }
  287. set
  288. {
  289. CurrentRow.Fields["answer1"].fieldValue = value;
  290. }
  291. }
  292. public string securityQuestion2
  293. {
  294. get
  295. {
  296. return CurrentRow.Fields["securityQuestion2"].fieldValue;
  297. }
  298. set
  299. {
  300. CurrentRow.Fields["securityQuestion2"].fieldValue = value;
  301. }
  302. }
  303. public string answer2
  304. {
  305. get
  306. {
  307. return CurrentRow.Fields["answer2"].fieldValue;
  308. }
  309. set
  310. {
  311. CurrentRow.Fields["answer2"].fieldValue = value;
  312. }
  313. }
  314. public string gender
  315. {
  316. get
  317. {
  318. return CurrentRow.Fields["gender"].fieldValue;
  319. }
  320. set
  321. {
  322. CurrentRow.Fields["gender"].fieldValue = value;
  323. }
  324. }
  325. public string Centers
  326. {
  327. get
  328. {
  329. return CurrentRow.Fields["Centers"].fieldValue;
  330. }
  331. set
  332. {
  333. CurrentRow.Fields["Centers"].fieldValue = value;
  334. }
  335. }
  336. private List<UserRoles> _roles = new List<UserRoles>();
  337. public List<UserRoles> userRoles
  338. {
  339. get
  340. {
  341. return _roles;
  342. }
  343. }
  344. public string userType
  345. {
  346. get
  347. {
  348. return CurrentRow.Fields["userType"].fieldValue;
  349. }
  350. set
  351. {
  352. CurrentRow.Fields["userType"].fieldValue = value;
  353. }
  354. }
  355. public bool logindisabled
  356. {
  357. get
  358. {
  359. return (CurrentRow.Fields["logindisabled"].fieldValue??"").Equals("1");
  360. }
  361. set
  362. {
  363. CurrentRow.Fields["logindisabled"].fieldValue = (value) ? "1" : "0";
  364. }
  365. }
  366. public bool initialPassword
  367. {
  368. get
  369. {
  370. return (CurrentRow.Fields["initialPassword"].fieldValue ?? "").Equals("1");
  371. }
  372. set
  373. {
  374. CurrentRow.Fields["initialPassword"].fieldValue = (value) ? "1" : "0";
  375. }
  376. }
  377. public bool IsLoggedIn
  378. {
  379. get;
  380. set;
  381. }
  382. public Guid? studentGuid
  383. {
  384. get
  385. {
  386. if (string.IsNullOrEmpty(CurrentRow.Fields["studentGuid"].fieldValue))
  387. return null;
  388. return new Guid(CurrentRow.Fields["studentGuid"].fieldValue);
  389. }
  390. set
  391. {
  392. CurrentRow.Fields["studentGuid"].fieldValue = value.ToString();
  393. }
  394. }
  395. public Guid? tutorGuid
  396. {
  397. get
  398. {
  399. if (string.IsNullOrEmpty(CurrentRow.Fields["tutorGuid"].fieldValue))
  400. return null;
  401. return new Guid(CurrentRow.Fields["tutorGuid"].fieldValue);
  402. }
  403. set
  404. {
  405. CurrentRow.Fields["tutorGuid"].fieldValue = value.ToString();
  406. }
  407. }
  408. public string CurrentCenterId
  409. {
  410. get
  411. {
  412. string result = "";
  413. if (IsLoggedIn)
  414. {
  415. /* Is Student or Tutor Login then */
  416. if (userType.Equals("Tutor") || userType.Equals("Student"))
  417. {
  418. result = this.Centers;
  419. }
  420. else
  421. {
  422. /* Get the Last Center User used */
  423. UserPrefs up = new UserPrefs(this.userName);
  424. result = up.getPreference("LastCenter");
  425. if(string.IsNullOrEmpty(result))
  426. {
  427. if (this.Centers.Equals("*"))
  428. {
  429. BestCenters bcenter = new BestCenters();
  430. bcenter.LoadRows("guidfield");
  431. result = bcenter.TableRows[0].Fields["centerId"].fieldValue;
  432. }
  433. else
  434. {
  435. result = this.Centers.Split(',')[0];
  436. }
  437. up.SetPreference("LastCenter", result);
  438. }
  439. }
  440. }
  441. return result;
  442. }
  443. }
  444. public bool IsAllowedCenter(string centerid)
  445. {
  446. bool result = false;
  447. if (IsLoggedIn)
  448. {
  449. if (this.Centers.Equals("*"))
  450. {
  451. result = true;
  452. }
  453. else if (this.userType.Equals("Student") || this.userType.Equals("Tutor"))
  454. {
  455. result = this.Centers.Equals(centerid);
  456. }
  457. else
  458. {
  459. string[] allowcenters = this.Centers.Split(',');
  460. result = allowcenters.Contains(centerid);
  461. }
  462. }
  463. return result;
  464. }
  465. public bool IsStudent
  466. {
  467. get
  468. {
  469. return userType.Equals("Student");
  470. }
  471. }
  472. public bool IsTutor
  473. {
  474. get
  475. {
  476. return userType.Equals("Tutor");
  477. }
  478. }
  479. }
  480. }