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

/BaliEnterpriseSystems/BaliEnterpriseSystems/Dashboard.aspx.cs

https://github.com/sirivedula/BEST
C# | 199 lines | 157 code | 18 blank | 24 comment | 15 complexity | 253d74e1f0ac9038ed7601faba3c9655 MD5 | raw file
  1. using System;
  2. using System.Collections;
  3. using System.Configuration;
  4. using System.Data;
  5. using System.Linq;
  6. using System.Web;
  7. using System.Web.Security;
  8. using System.Web.UI;
  9. using System.Web.UI.WebControls;
  10. using System.Web.UI.WebControls.WebParts;
  11. using System.Web.UI.HtmlControls;
  12. using System.Xml.Linq;
  13. using System.Text;
  14. using BaliEnterpriseSystems.BestObjects;
  15. using System.Collections.Generic;
  16. using System.Data.OleDb;
  17. namespace BaliEnterpriseSystems
  18. {
  19. public partial class Dashboard : System.Web.UI.Page
  20. {
  21. protected void Page_LoadComplete(object sender, EventArgs e)
  22. {
  23. if (HttpContext.Current.Session["CurrentUser"] == null)
  24. {
  25. Response.Redirect("Logout.aspx");
  26. }
  27. string ms = Request.QueryString["ms"];
  28. ltrMScript.Text = Utils.MenuSelectScript(ms);
  29. StringBuilder sbPersonal = new StringBuilder();
  30. sbPersonal.Append("<table class=\"tblpersonal\"><tr><td>Name</td><td>" + Utils.User.BestUser.firstName + " " + Utils.User.BestUser.lastName + "</td></tr>");
  31. sbPersonal.Append("<tr><td>Address</td><td>" + Utils.User.BestUser.address1 + " " + Utils.User.BestUser.address2 + "</td></tr>");
  32. sbPersonal.Append("<tr><td>&nbsp;</td><td>" + Utils.User.BestUser.city + " " + Utils.User.BestUser.state + " " + Utils.User.BestUser.zip + "</td></tr>");
  33. sbPersonal.Append("</table>");
  34. ltrPersonal.Text = sbPersonal.ToString();
  35. /*
  36. StringBuilder sbLogins = new StringBuilder();
  37. BestLogins bsLogin = new BestLogins();
  38. BestField fld = new BestField() { fieldName = "username", fieldType = "System.String", fieldSize = 128, paramOledbType = System.Data.OleDb.OleDbType.VarChar };
  39. fld.fieldValue = Utils.User.UserName;
  40. List<BestField> bparam = new List<BestField>();
  41. bparam.Add(fld);
  42. bsLogin.LoadRows("username=?", bparam , "logindate desc");
  43. int maxRows = bsLogin.TableRows.Count > 10 ? 10 : bsLogin.TableRows.Count;
  44. sbLogins.Append("<table class=\"tbllogins\"><tr><th>User Name</th><th>Login Date</th><th>Source IP</th><th>Login Valid</th><th>Server IP</th><tr>");
  45. for (int i = 0; i < maxRows; i++)
  46. {
  47. string logvalid = bsLogin.TableRows[i].Fields["loginvalid"].fieldValue.Equals("1") ? "True" : "False";
  48. string trclass = (i % 2 == 0) ? "" : "trordd";
  49. sbLogins.Append("<tr class=\"" + trclass + "\"><td>" + HttpUtility.HtmlEncode(bsLogin.TableRows[i].Fields["username"].fieldValue) + "</td>");
  50. sbLogins.Append("<td>" + HttpUtility.HtmlEncode(bsLogin.TableRows[i].Fields["logindate"].fieldValue) + "</td>");
  51. sbLogins.Append("<td>" + HttpUtility.HtmlEncode(bsLogin.TableRows[i].Fields["sourceip"].fieldValue) + "</td>");
  52. sbLogins.Append("<td>" + HttpUtility.HtmlEncode(logvalid) + "</td>");
  53. sbLogins.Append("<td>" + HttpUtility.HtmlEncode(bsLogin.TableRows[i].Fields["serverip"].fieldValue) + "</td></tr>"); }
  54. sbLogins.Append("</table>");
  55. ltrLogins.Text = sbLogins.ToString();
  56. */
  57. string tsql;
  58. bool showSchedules = true;
  59. if (Utils.User.BestUser.userType.Equals("Student"))
  60. {
  61. showSchedules = (Utils.User.BestUser.studentGuid != null);
  62. tsql = @"select Date, [Sunday], [Monday], [Tuesday], [Wednesday], [Thursday], [Friday], [Saturday] from
  63. VBestSchedules where (stuGuid1='" + Utils.User.BestUser.studentGuid.ToString() + "' or stuGuid2='" + Utils.User.BestUser.studentGuid.ToString() + "' or stuGuid3='" + Utils.User.BestUser.studentGuid.ToString() + "' or stuGuid4='" + Utils.User.BestUser.studentGuid.ToString() + "' or stuGuid5='" + Utils.User.BestUser.studentGuid.ToString() + @" and convert(datetime,Date) >= cast(floor(cast(getdate() as float)) as datetime)
  64. order by Date, convert(numeric,schfrom)";
  65. }
  66. else
  67. {
  68. showSchedules = (Utils.User.BestUser.tutorGuid != null);
  69. tsql = @"select Date, [Sunday], [Monday], [Tuesday], [Wednesday], [Thursday], [Friday], [Saturday] from
  70. VBestSchedules where tutGuid='" + Utils.User.BestUser.tutorGuid.ToString() + @"' and convert(datetime,Date) >= cast(floor(cast(getdate() as float)) as datetime) order by convert(numeric,schfrom)";
  71. }
  72. StringBuilder sbSchd = new StringBuilder();
  73. if (showSchedules)
  74. {
  75. BestDatabase db = new BestDatabase();
  76. OleDbCommand myCmd = db.dbCmd;
  77. myCmd.CommandText = tsql;
  78. OleDbDataReader tblReader = myCmd.ExecuteReader(CommandBehavior.KeyInfo);
  79. //Retrieve column schema into a DataTable.
  80. DataTable schemaTable = tblReader.GetSchemaTable();
  81. sbSchd.Append("<table class=\"tbllogins\"><tr>");
  82. //For each field in the table...
  83. int fieldCnt = 0;
  84. foreach (DataRow myField in schemaTable.Rows)
  85. {
  86. fieldCnt++; if (fieldCnt > 8) break;
  87. sbSchd.Append("<th>" + myField[0] + "</th>");
  88. }
  89. sbSchd.Append("</tr>");
  90. int cnt = 0;
  91. while (tblReader.Read())
  92. {
  93. string trclass = (cnt % 2 == 0) ? "" : "trordd";
  94. sbSchd.Append("<tr class=\"" + trclass + "\"><td>" + (tblReader[0].ToString()) + "</td>");
  95. sbSchd.Append("<td>" + ToTimeFormat(tblReader[1].ToString()) + "</td>");
  96. sbSchd.Append("<td>" + ToTimeFormat(tblReader[2].ToString()) + "</td>");
  97. sbSchd.Append("<td>" + ToTimeFormat(tblReader[3].ToString()) + "</td>");
  98. sbSchd.Append("<td>" + ToTimeFormat(tblReader[4].ToString()) + "</td>");
  99. sbSchd.Append("<td>" + ToTimeFormat(tblReader[5].ToString()) + "</td>");
  100. sbSchd.Append("<td>" + ToTimeFormat(tblReader[6].ToString()) + "</td>");
  101. sbSchd.Append("<td>" + ToTimeFormat(tblReader[7].ToString()) + "</td></tr>");
  102. cnt++;
  103. }
  104. tblReader.Close();
  105. sbSchd.Append("</table>");
  106. }
  107. else
  108. {
  109. sbSchd.Append("<table class=\"tblpersonal\"><tr><td>Schedules</td></tr></table>");
  110. }
  111. ltrSchedule.Text = sbSchd.ToString();
  112. ltrMessage.Text = "<table class=\"tblpersonal\"><tr><td><div id=\"divRecMessage\">" + MessagesHTML(false) + "</div></td></tr></table>";
  113. ltrCommunication.Text = ComminicationHTML();
  114. }
  115. private string ToTimeFormat(string num)
  116. {
  117. string result = num;
  118. if (! string.IsNullOrEmpty(num))
  119. {
  120. int temp = int.Parse(num);
  121. if (temp > 1200)
  122. {
  123. temp = temp - 1200;
  124. }
  125. result = (temp > 930) ? temp.ToString().Substring(0, 2) + ":" + temp.ToString().Substring(2, 2) : temp.ToString().Substring(0, 1) + ":" + temp.ToString().Substring(1, 2);
  126. }
  127. return result;
  128. }
  129. private string MessagesHTML(bool IsSentMsg)
  130. {
  131. StringBuilder sbhtml = new StringBuilder();
  132. BestMessages bstMsgs = new BestMessages();
  133. if (IsSentMsg)
  134. {
  135. bstMsgs.LoadRows("messageFrom=?", "messageFrom", Utils.User.UserName, "messagedate desc");
  136. }
  137. else
  138. {
  139. bstMsgs.LoadRows("messageTo=?", "messageTo", Utils.User.UserName, "messagedate desc");
  140. }
  141. if (bstMsgs.TableRows.Count > 0)
  142. {
  143. sbhtml.Append("<table cellspacing=\"0\" cellpadding=\"0\" style=\"width:100%;\"><tr><th>" + (IsSentMsg?"Send Date":"Receive Date") + "</th><th>" + (IsSentMsg?"To":"From") + "</th><th>Message</th></tr>");
  144. for (int i = 0; i < bstMsgs.TableRows.Count; i++)
  145. {
  146. bstMsgs.currentRowId = i;
  147. sbhtml.Append("<td>" + HttpUtility.HtmlEncode(bstMsgs.messageDate.ToString("MM/dd/yyyy")) + "</td><td>");
  148. if(IsSentMsg)
  149. { sbhtml.Append(HttpUtility.HtmlEncode(bstMsgs.TableRows[i].Fields["messageTo"].displayFormatFunc.Invoke(bstMsgs.TableRows[i]).ToString()));
  150. }
  151. else
  152. {
  153. sbhtml.Append( bstMsgs.TableRows[i].Fields["messageFrom"].displayFormatFunc.Invoke(bstMsgs.TableRows[i]).ToString());
  154. }
  155. sbhtml.Append("</td><td>" + HttpUtility.HtmlEncode(bstMsgs.messageText) + "</td></tr>");
  156. }
  157. sbhtml.Append("</table>");
  158. }
  159. else
  160. {
  161. sbhtml.Append("You have No New Messages");
  162. }
  163. return sbhtml.ToString();
  164. }
  165. private string ComminicationHTML()
  166. {
  167. StringBuilder sb = new StringBuilder();
  168. sb.Append("<table class=\"tblpersonal\">");
  169. BestUser buser = new BestUser();
  170. bool isStudent = (Utils.User.BestUser.userType.Equals("Student"));
  171. buser.LoadRows((isStudent ? "usertype != 'Student' and (centers='*' or ','+centers+',' like ','+?+',')" : "(centers='*' or ','+centers+',' like ','+?+',')"), "centerid", Utils.User.CenterId, "firstname");
  172. string optStr = string.Join("", buser.TableRows.Rows.Select( x => "<option value=\"" + HttpUtility.HtmlEncode(x.Fields["username"].fieldValue) + "\">" + HttpUtility.HtmlEncode(x.Fields["firstname"].fieldValue + " " + x.Fields["lastname"].fieldValue) + "</option>").ToArray());
  173. sb.Append("<tr><td style=\"text-align:right;\">Message To</td><td><select id=\"messageTo\"><option value=\"\"></option>" + optStr + "</select></td></tr>");
  174. sb.Append("<tr><td style=\"vertical-align:top;text-align:right;\">Message</td><td><textarea rows=\"5\" cols=\"40\" id=\"message\"></textarea></td></tr>");
  175. sb.Append("<tr><td>&nbsp;</td><td><input type=\"button\" onclick=\"sendMessage()\" value=\"Send\" /></td></tr>");
  176. sb.Append("<tr><td colspan=\"2\"><div id=\"divMessage\">" + MessagesHTML(true) + "</div></td></tr>");
  177. sb.Append("</table>");
  178. return sb.ToString();
  179. }
  180. }
  181. }