[5910] | 1 | using System;
|
---|
| 2 | using System.Collections.Generic;
|
---|
| 3 | using System.Linq;
|
---|
| 4 | using System.Web;
|
---|
| 5 | using System.Web.Mvc;
|
---|
| 6 | //using HLWebOKBAdminPlugin.ViewModels;
|
---|
| 7 | using System.Web.Security;
|
---|
| 8 | using System.ServiceModel.Security;
|
---|
| 9 | //using HLWebPluginHost.OKBService;
|
---|
| 10 | using System.Diagnostics;
|
---|
[6253] | 11 | using System.Reflection;
|
---|
| 12 | using System.Text;
|
---|
[6303] | 13 | using HLWebOKBQueryPlugin.Models;
|
---|
[5910] | 14 | using HLWebOKBQueryPlugin.OKBQueryService;
|
---|
[5919] | 15 | using HLWebOKBQueryPlugin.Helpers;
|
---|
[5910] | 16 |
|
---|
[6076] | 17 | namespace HLWebOKBQueryPlugin.Controllers {
|
---|
| 18 | public class QueryController : Controller {
|
---|
| 19 | public ActionResult Index() {
|
---|
[5910] | 20 | return View();
|
---|
| 21 | }
|
---|
| 22 |
|
---|
[6076] | 23 | public ActionResult Menu() {
|
---|
[5910] | 24 | return View();
|
---|
| 25 | }
|
---|
| 26 |
|
---|
[6076] | 27 | public ActionResult Filter() {
|
---|
[5919] | 28 | QueryServiceClient client = Query.GetClientFactory();
|
---|
| 29 |
|
---|
| 30 |
|
---|
[5910] | 31 | QueryModel qm = new QueryModel();
|
---|
| 32 | Session["SelectedSubMenu"] = "Filter";
|
---|
| 33 | return View(qm);
|
---|
| 34 | }
|
---|
| 35 |
|
---|
[6076] | 36 | public ActionResult Results() {
|
---|
| 37 | QueryServiceClient client = Query.GetClientFactory();
|
---|
| 38 |
|
---|
[5910] | 39 | QueryModel qm = new QueryModel();
|
---|
| 40 | Session["SelectedSubMenu"] = "Results";
|
---|
| 41 | return View(qm);
|
---|
| 42 | }
|
---|
[6076] | 43 |
|
---|
| 44 | public ActionResult RunCollectionTable() {
|
---|
[6303] | 45 |
|
---|
| 46 | // Get runs from filter
|
---|
| 47 |
|
---|
| 48 | QueryServiceClient client = Query.GetClientFactory();
|
---|
| 49 |
|
---|
[6315] | 50 | long[] ids;
|
---|
| 51 | if (Session["Content"] != null)
|
---|
| 52 | ids = client.GetRunIds((CombinedFilter)Session["Content"]);
|
---|
| 53 | else
|
---|
| 54 | ids = new long[0];
|
---|
[6303] | 55 |
|
---|
[6226] | 56 | QueryModel qm = new QueryModel();
|
---|
[6303] | 57 | qm.Runs = ids;
|
---|
| 58 | Session["QueryRuns"] = qm.RunCollection;
|
---|
[6226] | 59 | return View(qm);
|
---|
[6076] | 60 | }
|
---|
[6253] | 61 |
|
---|
| 62 | public ActionResult Details(long id = 0) {
|
---|
| 63 | QueryServiceClient client = Query.GetClientFactory();
|
---|
| 64 |
|
---|
| 65 | QueryModel qm = new QueryModel();
|
---|
| 66 | Session["SelectedSubMenu"] = "Details";
|
---|
| 67 | if (id != 0)
|
---|
| 68 | Session["QueryRunDetailId"] = id;
|
---|
| 69 | return View(qm);
|
---|
| 70 | }
|
---|
| 71 |
|
---|
| 72 | public ActionResult RunCollectionDetail() {
|
---|
| 73 | QueryModel qm = new QueryModel();
|
---|
| 74 | Session["QueryRunDetail"] = qm.getRun((long)Session["QueryRunDetailId"]);
|
---|
| 75 | return View(qm);
|
---|
| 76 | }
|
---|
| 77 |
|
---|
| 78 | public string DetailValue(String id) {
|
---|
| 79 | // get current property and return value
|
---|
| 80 | string retVal = String.Empty;
|
---|
| 81 |
|
---|
| 82 | RunCollectionData rcd = (RunCollectionData)Session["QueryRunDetail"];
|
---|
| 83 |
|
---|
| 84 | PropertyInfo pi = rcd.GetType().GetProperties().First(p => p.Name.Equals(id));
|
---|
| 85 | Object pv = pi.GetValue(rcd, null);
|
---|
| 86 |
|
---|
| 87 | if (pv.GetType() == typeof(bool))
|
---|
| 88 | retVal = GetCheckBox("Value: ", (bool)pv);
|
---|
| 89 | if (pv.GetType() == typeof(int))
|
---|
| 90 | retVal = GetTextBox("Value: ", pv.ToString());
|
---|
| 91 | if (pv.GetType() == typeof(double))
|
---|
| 92 | retVal = GetTextBox("Value: ", ((Double)pv).ToString("#,##0.00"));
|
---|
| 93 | if (pv.GetType() == typeof(string))
|
---|
| 94 | retVal = GetTextBox("Value: ", (string)pv);
|
---|
| 95 |
|
---|
| 96 | if (retVal.Equals(String.Empty))
|
---|
| 97 | retVal = GetTextBox("Value:", "");
|
---|
| 98 |
|
---|
| 99 | return retVal;
|
---|
| 100 | }
|
---|
| 101 |
|
---|
| 102 |
|
---|
| 103 |
|
---|
| 104 |
|
---|
| 105 |
|
---|
| 106 | /***
|
---|
| 107 | * Helper
|
---|
| 108 | */
|
---|
| 109 | private string GetTextBox(string caption, string value) {
|
---|
| 110 | StringBuilder sb = new StringBuilder();
|
---|
| 111 |
|
---|
| 112 | sb.Append("<label>" + caption + "</label> ");
|
---|
| 113 | sb.Append("<input type=\"text\" value=\"" + value + "\" />");
|
---|
| 114 |
|
---|
| 115 | return sb.ToString();
|
---|
| 116 | }
|
---|
| 117 |
|
---|
| 118 | private string GetCheckBox(string caption, bool value) {
|
---|
| 119 | StringBuilder sb = new StringBuilder();
|
---|
| 120 |
|
---|
| 121 | sb.Append("<label>" + caption + "</label> ");
|
---|
| 122 | sb.Append("<input type=\"checkbox\" value=\"" + value + "\"");
|
---|
| 123 | sb.Append(value ? " checked=\"checked\"" : "");
|
---|
| 124 | sb.Append(" />");
|
---|
| 125 |
|
---|
| 126 | return sb.ToString();
|
---|
| 127 | }
|
---|
| 128 |
|
---|
[5910] | 129 | }
|
---|
| 130 | }
|
---|