Refactor Charter code
This commit is contained in:
+140
-495
@@ -1,243 +1,20 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Configuration;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Data.SqlClient;
|
||||
using System.Drawing;
|
||||
using System.IO;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.DataVisualization.Charting;
|
||||
|
||||
namespace LeafWeb.Web.Charter
|
||||
{
|
||||
|
||||
public partial class LeafWebCharter : UserControl
|
||||
{
|
||||
private static String hostname = "http://leafweb.ornl.gov";
|
||||
//static String hostname = "http://bjerkevpc/leaf";
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
//WriteTrace("Got to Page_Load");
|
||||
SPFolderCollection subFolders = null;
|
||||
|
||||
if (! IsPostBack)
|
||||
{
|
||||
try
|
||||
{
|
||||
var siteCollection = new SPSite(hostname);
|
||||
// WriteTrace("Got siteCollection");
|
||||
if (siteCollection == null)
|
||||
{
|
||||
WriteTrace("siteCollection is null");
|
||||
ErrorLBL.Text = "siteCollection is null";
|
||||
ErrorLBL.Visible = true;
|
||||
return;
|
||||
}
|
||||
SPWeb webSite = siteCollection.OpenWeb();
|
||||
//WriteTrace("Got webSite");
|
||||
if (webSite == null)
|
||||
{
|
||||
WriteTrace("webSite is null");
|
||||
ErrorLBL.Text = "webSite is null";
|
||||
ErrorLBL.Visible = true;
|
||||
return;
|
||||
}
|
||||
SPFolder lofFolder = webSite.GetFolder("LeafOutputFiles");
|
||||
//WriteTrace("Got lofFolder");
|
||||
if (lofFolder == null)
|
||||
{
|
||||
WriteTrace("lofFolder is null");
|
||||
ErrorLBL.Text = "lofFolder is null";
|
||||
ErrorLBL.Visible = true;
|
||||
return;
|
||||
}
|
||||
subFolders = lofFolder.SubFolders;
|
||||
//WriteTrace("Got subFolders");
|
||||
if (subFolders == null)
|
||||
{
|
||||
WriteTrace("subFolders is null");
|
||||
ErrorLBL.Text = "subFolders is null";
|
||||
ErrorLBL.Visible = true;
|
||||
return;
|
||||
}
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
ErrorLBL.Text = "Error locating folder: " + exc.Message;
|
||||
ErrorLBL.Visible = true;
|
||||
return;
|
||||
}
|
||||
//WriteTrace("# subfoldrs = " + subFolders.Count);
|
||||
|
||||
String folderName, identifier, submittedBy;
|
||||
DateTime dateSubmitted;
|
||||
int intName;
|
||||
String propertyKey;
|
||||
Object propertyValue;
|
||||
String dateTimeCreated;
|
||||
|
||||
var dt = new DataTable();
|
||||
dt.Columns.Add(new DataColumn("name"));
|
||||
dt.Columns.Add(new DataColumn("submittedBy"));
|
||||
dt.Columns.Add(new DataColumn("identifier"));
|
||||
dt.Columns.Add(new DataColumn("dateSubmitted"));
|
||||
var dcIntName = new DataColumn("intName");
|
||||
dcIntName.DataType = Type.GetType("System.Int32");
|
||||
dt.Columns.Add(dcIntName);
|
||||
//WriteTrace("DataTable initialized");
|
||||
DataRow dr;
|
||||
object obj;
|
||||
|
||||
try
|
||||
{
|
||||
foreach (SPFolder f in subFolders)
|
||||
{
|
||||
folderName = f.Name;
|
||||
//WriteTrace("folder name = " + folderName);
|
||||
try
|
||||
{
|
||||
intName = Int32.Parse(folderName);
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
//WriteTrace("That is not a job folder");
|
||||
continue;
|
||||
}
|
||||
|
||||
dr = dt.NewRow();
|
||||
dr["name"] = folderName;
|
||||
dr["intName"] = intName;
|
||||
|
||||
/*System.Collections.Hashtable pc = f.Properties;
|
||||
IDictionaryEnumerator myEnumerator = pc.GetEnumerator();
|
||||
while (myEnumerator.MoveNext())
|
||||
{
|
||||
propertyKey = (String) myEnumerator.Key;
|
||||
propertyValue = myEnumerator.Value;
|
||||
}*/
|
||||
|
||||
identifier = (String) f.Properties["Identifier"];
|
||||
submittedBy = (String) f.Properties["Submitted by"];
|
||||
//WriteTrace("identifier=" + identifier + ", submitted by=" + submittedBy);
|
||||
dateTimeCreated = "";
|
||||
obj = f.Properties["vti_timecreated"];
|
||||
if (obj != null)
|
||||
{
|
||||
dateSubmitted = (DateTime) obj;
|
||||
dateSubmitted = dateSubmitted.AddHours(-5);
|
||||
dateTimeCreated = dateSubmitted.ToShortDateString() +
|
||||
" " + dateSubmitted.ToShortTimeString();
|
||||
}
|
||||
//WriteTrace("date=" + dateTimeCreated);
|
||||
|
||||
dr["submittedBy"] = submittedBy;
|
||||
dr["identifier"] = identifier;
|
||||
dr["dateSubmitted"] = dateTimeCreated;
|
||||
dt.Rows.Add(dr);
|
||||
}
|
||||
}
|
||||
catch (Exception exc1)
|
||||
{
|
||||
WriteTrace("error browsing folder: " + exc1.Message);
|
||||
ErrorLBL.Text = "Error browsing folder: " + encodeSqlQuotes(exc1.Message);
|
||||
ErrorLBL.Visible = true;
|
||||
return;
|
||||
}
|
||||
|
||||
// The table just created is not sorted. It can be sorted on the intName
|
||||
// column by referencing its DefaultView.
|
||||
|
||||
try
|
||||
{
|
||||
var dsSorted = new DataSet();
|
||||
dt.DefaultView.Sort = "intName ASC";
|
||||
|
||||
// Add sorted table to dataset, then bind to control.
|
||||
// NOTE the use of ToTable to produce a datatable from our sorted view.
|
||||
dsSorted.Tables.Add(dt.DefaultView.ToTable());
|
||||
//WriteTrace("dsSorted is ready");
|
||||
JobGV.DataSource = dsSorted;
|
||||
JobGV.DataBind();
|
||||
//WriteTrace("GridView is Bound");
|
||||
|
||||
ChooseJobErrrorLBL.Visible = false;
|
||||
//WriteTrace("ChooseJobErrrorLBL control made visible");
|
||||
CurveChoosePNL.Visible = false;
|
||||
//WriteTrace("CurveChoosePNL control made visible");
|
||||
ChartPNL.Visible = false;
|
||||
//WriteTrace("ChartPNL control made visible");
|
||||
}
|
||||
catch (Exception exc2)
|
||||
{
|
||||
WriteTrace("Error: " + exc2.Message);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected void ChooseJob(object sender, EventArgs e)
|
||||
{
|
||||
Session["LeafChartData"] = null;
|
||||
var lb = (LinkButton) sender;
|
||||
var jobID = lb.CommandArgument;
|
||||
|
||||
var siteCollection = new SPSite(hostname);
|
||||
SPWeb webSite = siteCollection.OpenWeb();
|
||||
SPFolder lofFolder = webSite.GetFolder("LeafOutputFiles");
|
||||
SPFolder jobFolder = lofFolder.SubFolders[jobID];
|
||||
|
||||
SPFileCollection fileSet = jobFolder.Files;
|
||||
var jobName = "";
|
||||
var submittedBy = "";
|
||||
jobName = (String) jobFolder.Properties["Identifier"];
|
||||
submittedBy = (String) jobFolder.Properties["Submitted by"];
|
||||
var dateTimeCreated = "";
|
||||
object obj = jobFolder.Properties["vti_timecreated"];
|
||||
if (obj != null)
|
||||
{
|
||||
var dateSubmitted = (DateTime) obj;
|
||||
dateSubmitted = dateSubmitted.AddHours(-5);
|
||||
dateTimeCreated = dateSubmitted.ToShortDateString() +
|
||||
" " + dateSubmitted.ToShortTimeString();
|
||||
}
|
||||
|
||||
var foundFile = false;
|
||||
if (fileSet != null)
|
||||
{
|
||||
foreach (SPFile aFile in fileSet)
|
||||
{
|
||||
if (aFile.Name.Contains("cntrlcomparison"))
|
||||
{
|
||||
var sr = new StreamReader(aFile.OpenBinaryStream());
|
||||
var errorMessage = "";
|
||||
ReadFile(sr, ref errorMessage);
|
||||
sr.Close();
|
||||
foundFile = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!foundFile)
|
||||
{
|
||||
ChooseJobErrrorLBL.Text = "That folder does not contain a file called cntrlcomparison.";
|
||||
ChooseJobErrrorLBL.Visible = true;
|
||||
return;
|
||||
}
|
||||
|
||||
CurveChoosePNL.Visible = true;
|
||||
JobChoosePNL.Visible = false;
|
||||
|
||||
JobNumberLBL.Text = jobID;
|
||||
SubmittedByLBL.Text = submittedBy;
|
||||
JobNameLBL.Text = jobName;
|
||||
JobDoneDateLBL.Text = dateTimeCreated;
|
||||
}
|
||||
|
||||
|
||||
protected void ReadFile(StreamReader sr, ref String errMsg)
|
||||
{
|
||||
var pisOut = new PiscalOutput();
|
||||
if (!pisOut.readFromStream(sr, ref errMsg))
|
||||
if (!pisOut.ReadFromStream(sr, ref errMsg))
|
||||
{
|
||||
ErrorLBL.Text = errMsg;
|
||||
ErrorLBL.Visible = true;
|
||||
@@ -252,256 +29,205 @@ namespace LeafWeb.Web.Charter
|
||||
|
||||
var curveDT = new DataTable();
|
||||
curveDT.Columns.Add(new DataColumn("curveID"));
|
||||
DataRow dr;
|
||||
|
||||
CurveData aCurve;
|
||||
var curveData = pisOut.getCurveData();
|
||||
var curveData = pisOut.GetCurveData();
|
||||
for (var i = 0; i < curveData.Count; i++)
|
||||
{
|
||||
aCurve = (CurveData) curveData[i];
|
||||
dr = curveDT.NewRow();
|
||||
dr["curveID"] = aCurve.getCurveID();
|
||||
var aCurve = curveData[i];
|
||||
var dr = curveDT.NewRow();
|
||||
dr["curveID"] = aCurve.GetCurveId();
|
||||
curveDT.Rows.Add(dr);
|
||||
}
|
||||
|
||||
CurveDDL.DataSource = curveDT;
|
||||
CurveDDL.DataTextField = "curveID";
|
||||
CurveDDL.DataValueField = "curveID";
|
||||
CurveDDL.DataBind();
|
||||
//CurveDDL.DataSource = curveDT;
|
||||
//CurveDDL.DataTextField = "curveID";
|
||||
//CurveDDL.DataValueField = "curveID";
|
||||
//CurveDDL.DataBind();
|
||||
}
|
||||
|
||||
protected void ProduceChartBTN_Click(object sender, EventArgs e)
|
||||
public void ProduceChartBTN_Click(PiscalOutput pisOut)
|
||||
{
|
||||
ChartPNL.Visible = true;
|
||||
|
||||
var pisOut = (PiscalOutput) Session["LeafChartData"];
|
||||
|
||||
// If the session has timed out, use the selected index from the GridView
|
||||
// to determine which job to chart.
|
||||
|
||||
if (pisOut == null)
|
||||
{
|
||||
var selectedIndex = JobGV.SelectedIndex;
|
||||
var gvr = JobGV.Rows[selectedIndex];
|
||||
var nameLB = (LinkButton) gvr.FindControl("NameLB");
|
||||
var jobID = nameLB.Text;
|
||||
// if (aFile.Name.Contains("cntrlcomparison"))
|
||||
// {
|
||||
// var sr = new StreamReader(aFile.OpenBinaryStream());
|
||||
// var errorMessage = "";
|
||||
// ReadFile(sr, ref errorMessage);
|
||||
// sr.Close();
|
||||
// break;
|
||||
// }
|
||||
|
||||
var siteCollection = new SPSite(hostname);
|
||||
SPWeb webSite = siteCollection.OpenWeb();
|
||||
SPFolder lofFolder = webSite.GetFolder("LeafOutputFiles");
|
||||
SPFolder jobFolder = lofFolder.SubFolders[jobID];
|
||||
var curveData = pisOut.GetCurveData();
|
||||
var curve = curveData[1];
|
||||
var curveId = curve.GetCurveId();
|
||||
|
||||
SPFileCollection fileSet = jobFolder.Files;
|
||||
var paramSet1 = curve.GetParamSet1();
|
||||
var paramSet2 = curve.GetParamSet2();
|
||||
var paramSet3 = curve.GetParamSet3();
|
||||
var paramSet4 = curve.GetParamSet4();
|
||||
|
||||
if (fileSet != null)
|
||||
{
|
||||
foreach (SPFile aFile in fileSet)
|
||||
{
|
||||
if (aFile.Name.Contains("cntrlcomparison"))
|
||||
{
|
||||
var sr = new StreamReader(aFile.OpenBinaryStream());
|
||||
var errorMessage = "";
|
||||
ReadFile(sr, ref errorMessage);
|
||||
sr.Close();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
pisOut = (PiscalOutput) Session["LeafChartData"];
|
||||
}
|
||||
var paramSet1Anet = paramSet1.GetAnetMeasData();
|
||||
var paramSet2Anet = paramSet2.GetAnetMeasData();
|
||||
var paramSet3Anet = paramSet3.GetAnetMeasData();
|
||||
var paramSet4Anet = paramSet4.GetAnetMeasData();
|
||||
|
||||
var curveData = pisOut.getCurveData();
|
||||
var curve = (CurveData) curveData[CurveDDL.SelectedIndex];
|
||||
var curveID = curve.getCurveID();
|
||||
var anetMeasChloro1PS1Data = paramSet1Anet[0];
|
||||
var anetMeasChloro2PS1Data = paramSet1Anet[1];
|
||||
var anetMeasChloro3PS1Data = paramSet1Anet[2];
|
||||
var anetMeasChloro1PS2Data = paramSet2Anet[0];
|
||||
var anetMeasChloro2PS2Data = paramSet2Anet[1];
|
||||
var anetMeasChloro3PS2Data = paramSet2Anet[2];
|
||||
var anetMeasChloro1PS3Data = paramSet3Anet[0];
|
||||
var anetMeasChloro2PS3Data = paramSet3Anet[1];
|
||||
var anetMeasChloro3PS3Data = paramSet3Anet[2];
|
||||
var anetMeasChloro1PS4Data = paramSet4Anet[0];
|
||||
var anetMeasChloro2PS4Data = paramSet4Anet[1];
|
||||
var anetMeasChloro3PS4Data = paramSet4Anet[2];
|
||||
|
||||
CurveParamSet paramSet1 = null;
|
||||
CurveParamSet paramSet2 = null;
|
||||
CurveParamSet paramSet3 = null;
|
||||
CurveParamSet paramSet4 = null;
|
||||
paramSet1 = curve.getParamSet1();
|
||||
paramSet2 = curve.getParamSet2();
|
||||
paramSet3 = curve.getParamSet3();
|
||||
paramSet4 = curve.getParamSet4();
|
||||
|
||||
var paramSet1Anet = paramSet1.getAnetMeasData();
|
||||
var paramSet2Anet = paramSet2.getAnetMeasData();
|
||||
var paramSet3Anet = paramSet3.getAnetMeasData();
|
||||
var paramSet4Anet = paramSet4.getAnetMeasData();
|
||||
|
||||
var anetMeasChloro1PS1Data = (ArrayList) paramSet1Anet[0];
|
||||
//.getAnetMeasData(1); // These are arrays of XYPoint objects
|
||||
var anetMeasChloro2PS1Data = (ArrayList) paramSet1Anet[1]; //.getAnetMeasData(2);
|
||||
var anetMeasChloro3PS1Data = (ArrayList) paramSet1Anet[2]; //.getAnetMeasData(3);
|
||||
var anetMeasChloro1PS2Data = (ArrayList) paramSet2Anet[0];
|
||||
//.getAnetMeasData(1); // These are arrays of XYPoint objects
|
||||
var anetMeasChloro2PS2Data = (ArrayList) paramSet2Anet[1]; //.getAnetMeasData(2);
|
||||
var anetMeasChloro3PS2Data = (ArrayList) paramSet2Anet[2]; //.getAnetMeasData(3);
|
||||
var anetMeasChloro1PS3Data = (ArrayList) paramSet3Anet[0];
|
||||
//.getAnetMeasData(1); // These are arrays of XYPoint objects
|
||||
var anetMeasChloro2PS3Data = (ArrayList) paramSet3Anet[1]; //.getAnetMeasData(2);
|
||||
var anetMeasChloro3PS3Data = (ArrayList) paramSet3Anet[2]; //.getAnetMeasData(3);
|
||||
var anetMeasChloro1PS4Data = (ArrayList) paramSet4Anet[0];
|
||||
//.getAnetMeasData(1); // These are arrays of XYPoint objects
|
||||
var anetMeasChloro2PS4Data = (ArrayList) paramSet4Anet[1]; //.getAnetMeasData(2);
|
||||
var anetMeasChloro3PS4Data = (ArrayList) paramSet4Anet[2]; //.getAnetMeasData(3);
|
||||
|
||||
var anetMeasInter1PS1Data = (ArrayList) paramSet1Anet[3];
|
||||
//.getAnetMeasData(1); // These are arrays of XYPoint objects
|
||||
var anetMeasInter2PS1Data = (ArrayList) paramSet1Anet[4]; //.getAnetMeasData(2);
|
||||
var anetMeasInter3PS1Data = (ArrayList) paramSet1Anet[5]; //.getAnetMeasData(3);
|
||||
var anetMeasInter1PS2Data = (ArrayList) paramSet2Anet[3];
|
||||
//.getAnetMeasData(1); // These are arrays of XYPoint objects
|
||||
var anetMeasInter2PS2Data = (ArrayList) paramSet2Anet[4]; //.getAnetMeasData(2);
|
||||
var anetMeasInter3PS2Data = (ArrayList) paramSet2Anet[5]; //.getAnetMeasData(3);
|
||||
var anetMeasInter1PS3Data = (ArrayList) paramSet3Anet[3];
|
||||
//.getAnetMeasData(1); // These are arrays of XYPoint objects
|
||||
var anetMeasInter2PS3Data = (ArrayList) paramSet3Anet[4]; //.getAnetMeasData(2);
|
||||
var anetMeasInter3PS3Data = (ArrayList) paramSet3Anet[5]; //.getAnetMeasData(3);
|
||||
var anetMeasInter1PS4Data = (ArrayList) paramSet4Anet[3];
|
||||
//.getAnetMeasData(1); // These are arrays of XYPoint objects
|
||||
var anetMeasInter2PS4Data = (ArrayList) paramSet4Anet[4]; //.getAnetMeasData(2);
|
||||
var anetMeasInter3PS4Data = (ArrayList) paramSet4Anet[5]; //.getAnetMeasData(3);
|
||||
|
||||
XYPoint xy;
|
||||
int i;
|
||||
double maxX1 = 0.0,
|
||||
maxX2 = 0.0,
|
||||
maxX3 = 0.0,
|
||||
maxX4 = 0.0,
|
||||
maxX5 = 0.0,
|
||||
maxX6 = 0.0,
|
||||
maxX7 = 0.0,
|
||||
maxX8 = 0.0;
|
||||
var anetMeasInter1PS1Data = paramSet1Anet[3];
|
||||
var anetMeasInter2PS1Data = paramSet1Anet[4];
|
||||
var anetMeasInter3PS1Data = paramSet1Anet[5];
|
||||
var anetMeasInter1PS2Data = paramSet2Anet[3];
|
||||
var anetMeasInter2PS2Data = paramSet2Anet[4];
|
||||
var anetMeasInter3PS2Data = paramSet2Anet[5];
|
||||
var anetMeasInter1PS3Data = paramSet3Anet[3];
|
||||
var anetMeasInter2PS3Data = paramSet3Anet[4];
|
||||
var anetMeasInter3PS3Data = paramSet3Anet[5];
|
||||
var anetMeasInter1PS4Data = paramSet4Anet[3];
|
||||
var anetMeasInter2PS4Data = paramSet4Anet[4];
|
||||
var anetMeasInter3PS4Data = paramSet4Anet[5];
|
||||
|
||||
// Set the points for the symbol series for paramater set 1, chloroplastic
|
||||
setAnetMeasPoints(anetMeasChloro1PS1Data, ChartChloro1.Series["Rubisco-limited"], ref maxX1);
|
||||
setAnetMeasPoints(anetMeasChloro2PS1Data, ChartChloro1.Series["RuBP regeneration-limited"], ref maxX1);
|
||||
setAnetMeasPoints(anetMeasChloro1PS1Data, ChartChloro1.Series["Rubisco-limited"]);
|
||||
setAnetMeasPoints(anetMeasChloro2PS1Data, ChartChloro1.Series["RuBP regeneration-limited"]);
|
||||
|
||||
var tpuSeries = newTPUSeries(anetMeasChloro3PS1Data);
|
||||
setAnetMeasPoints(anetMeasChloro3PS1Data, tpuSeries, ref maxX1);
|
||||
setAnetMeasPoints(anetMeasChloro3PS1Data, tpuSeries);
|
||||
ChartChloro1.Series.Add(tpuSeries);
|
||||
|
||||
// Set the points for the symbol series for paramater set 2, chloroplastic
|
||||
setAnetMeasPoints(anetMeasChloro1PS2Data, ChartChloro2.Series["Rubisco-limited"], ref maxX2);
|
||||
setAnetMeasPoints(anetMeasChloro2PS2Data, ChartChloro2.Series["RuBP regeneration-limited"], ref maxX2);
|
||||
setAnetMeasPoints(anetMeasChloro1PS2Data, ChartChloro2.Series["Rubisco-limited"]);
|
||||
setAnetMeasPoints(anetMeasChloro2PS2Data, ChartChloro2.Series["RuBP regeneration-limited"]);
|
||||
|
||||
tpuSeries = newTPUSeries(anetMeasChloro3PS2Data);
|
||||
setAnetMeasPoints(anetMeasChloro3PS2Data, tpuSeries, ref maxX2);
|
||||
setAnetMeasPoints(anetMeasChloro3PS2Data, tpuSeries);
|
||||
ChartChloro2.Series.Add(tpuSeries);
|
||||
|
||||
// Set the points for the symbol series for paramater set 3, chloroplastic
|
||||
setAnetMeasPoints(anetMeasChloro1PS3Data, ChartChloro3.Series["Rubisco-limited"], ref maxX3);
|
||||
setAnetMeasPoints(anetMeasChloro2PS3Data, ChartChloro3.Series["RuBP regeneration-limited"], ref maxX3);
|
||||
setAnetMeasPoints(anetMeasChloro1PS3Data, ChartChloro3.Series["Rubisco-limited"]);
|
||||
setAnetMeasPoints(anetMeasChloro2PS3Data, ChartChloro3.Series["RuBP regeneration-limited"]);
|
||||
|
||||
tpuSeries = newTPUSeries(anetMeasChloro3PS3Data);
|
||||
setAnetMeasPoints(anetMeasChloro3PS3Data, tpuSeries, ref maxX3);
|
||||
setAnetMeasPoints(anetMeasChloro3PS3Data, tpuSeries);
|
||||
ChartChloro3.Series.Add(tpuSeries);
|
||||
|
||||
// Set the points for the symbol series for paramater set 4, chloroplastic
|
||||
setAnetMeasPoints(anetMeasChloro1PS4Data, ChartChloro4.Series["Rubisco-limited"], ref maxX4);
|
||||
setAnetMeasPoints(anetMeasChloro2PS4Data, ChartChloro4.Series["RuBP regeneration-limited"], ref maxX4);
|
||||
setAnetMeasPoints(anetMeasChloro1PS4Data, ChartChloro4.Series["Rubisco-limited"]);
|
||||
setAnetMeasPoints(anetMeasChloro2PS4Data, ChartChloro4.Series["RuBP regeneration-limited"]);
|
||||
|
||||
tpuSeries = newTPUSeries(anetMeasChloro3PS4Data);
|
||||
setAnetMeasPoints(anetMeasChloro3PS4Data, tpuSeries, ref maxX4);
|
||||
setAnetMeasPoints(anetMeasChloro3PS4Data, tpuSeries);
|
||||
ChartChloro4.Series.Add(tpuSeries);
|
||||
|
||||
// Set the points for the symbol series for paramater set 1, intercellular
|
||||
setAnetMeasPoints(anetMeasInter1PS1Data, ChartInter1.Series["Rubisco-limited"], ref maxX5);
|
||||
setAnetMeasPoints(anetMeasInter2PS1Data, ChartInter1.Series["RuBP regeneration-limited"], ref maxX5);
|
||||
setAnetMeasPoints(anetMeasInter1PS1Data, ChartInter1.Series["Rubisco-limited"]);
|
||||
setAnetMeasPoints(anetMeasInter2PS1Data, ChartInter1.Series["RuBP regeneration-limited"]);
|
||||
|
||||
tpuSeries = newTPUSeries(anetMeasInter3PS1Data);
|
||||
setAnetMeasPoints(anetMeasInter3PS1Data, tpuSeries, ref maxX5);
|
||||
setAnetMeasPoints(anetMeasInter3PS1Data, tpuSeries);
|
||||
ChartInter1.Series.Add(tpuSeries);
|
||||
|
||||
// Set the points for the symbol series for paramater set 2, intercellular
|
||||
setAnetMeasPoints(anetMeasInter1PS2Data, ChartInter2.Series["Rubisco-limited"], ref maxX6);
|
||||
setAnetMeasPoints(anetMeasInter2PS2Data, ChartInter2.Series["RuBP regeneration-limited"], ref maxX6);
|
||||
setAnetMeasPoints(anetMeasInter1PS2Data, ChartInter2.Series["Rubisco-limited"]);
|
||||
setAnetMeasPoints(anetMeasInter2PS2Data, ChartInter2.Series["RuBP regeneration-limited"]);
|
||||
|
||||
tpuSeries = newTPUSeries(anetMeasInter3PS2Data);
|
||||
setAnetMeasPoints(anetMeasInter3PS2Data, tpuSeries, ref maxX6);
|
||||
setAnetMeasPoints(anetMeasInter3PS2Data, tpuSeries);
|
||||
ChartInter2.Series.Add(tpuSeries);
|
||||
|
||||
// Set the points for the symbol series for paramater set 3, intercellular
|
||||
setAnetMeasPoints(anetMeasInter1PS3Data, ChartInter3.Series["Rubisco-limited"], ref maxX7);
|
||||
setAnetMeasPoints(anetMeasInter2PS3Data, ChartInter3.Series["RuBP regeneration-limited"], ref maxX7);
|
||||
setAnetMeasPoints(anetMeasInter1PS3Data, ChartInter3.Series["Rubisco-limited"]);
|
||||
setAnetMeasPoints(anetMeasInter2PS3Data, ChartInter3.Series["RuBP regeneration-limited"]);
|
||||
|
||||
tpuSeries = newTPUSeries(anetMeasInter3PS3Data);
|
||||
setAnetMeasPoints(anetMeasInter3PS3Data, tpuSeries, ref maxX7);
|
||||
setAnetMeasPoints(anetMeasInter3PS3Data, tpuSeries);
|
||||
ChartInter3.Series.Add(tpuSeries);
|
||||
|
||||
// Set the points for the symbol series for paramater set 4, intercellular
|
||||
setAnetMeasPoints(anetMeasInter1PS4Data, ChartInter4.Series["Rubisco-limited"], ref maxX8);
|
||||
setAnetMeasPoints(anetMeasInter2PS4Data, ChartInter4.Series["RuBP regeneration-limited"], ref maxX8);
|
||||
setAnetMeasPoints(anetMeasInter1PS4Data, ChartInter4.Series["Rubisco-limited"]);
|
||||
setAnetMeasPoints(anetMeasInter2PS4Data, ChartInter4.Series["RuBP regeneration-limited"]);
|
||||
|
||||
tpuSeries = newTPUSeries(anetMeasInter3PS4Data);
|
||||
setAnetMeasPoints(anetMeasInter3PS4Data, tpuSeries, ref maxX8);
|
||||
setAnetMeasPoints(anetMeasInter3PS4Data, tpuSeries);
|
||||
ChartInter4.Series.Add(tpuSeries);
|
||||
|
||||
var acChloroListPS1 = paramSet1.getAcChloroData();
|
||||
var ajChloroListPS1 = paramSet1.getAjChloroData();
|
||||
var atChloroListPS1 = paramSet1.getAtChloroData();
|
||||
var acChloroListPS2 = paramSet2.getAcChloroData();
|
||||
var ajChloroListPS2 = paramSet2.getAjChloroData();
|
||||
var atChloroListPS2 = paramSet2.getAtChloroData();
|
||||
var acChloroListPS3 = paramSet3.getAcChloroData();
|
||||
var ajChloroListPS3 = paramSet3.getAjChloroData();
|
||||
var atChloroListPS3 = paramSet3.getAtChloroData();
|
||||
var acChloroListPS4 = paramSet4.getAcChloroData();
|
||||
var ajChloroListPS4 = paramSet4.getAjChloroData();
|
||||
var atChloroListPS4 = paramSet4.getAtChloroData();
|
||||
var acChloroListPS1 = paramSet1.GetAcChloroData();
|
||||
var ajChloroListPS1 = paramSet1.GetAjChloroData();
|
||||
var atChloroListPS1 = paramSet1.GetAtChloroData();
|
||||
var acChloroListPS2 = paramSet2.GetAcChloroData();
|
||||
var ajChloroListPS2 = paramSet2.GetAjChloroData();
|
||||
var atChloroListPS2 = paramSet2.GetAtChloroData();
|
||||
var acChloroListPS3 = paramSet3.GetAcChloroData();
|
||||
var ajChloroListPS3 = paramSet3.GetAjChloroData();
|
||||
var atChloroListPS3 = paramSet3.GetAtChloroData();
|
||||
var acChloroListPS4 = paramSet4.GetAcChloroData();
|
||||
var ajChloroListPS4 = paramSet4.GetAjChloroData();
|
||||
var atChloroListPS4 = paramSet4.GetAtChloroData();
|
||||
|
||||
var acInterListPS1 = paramSet1.getAcInterData();
|
||||
var ajInterListPS1 = paramSet1.getAjInterData();
|
||||
var atInterListPS1 = paramSet1.getAtInterData();
|
||||
var acInterListPS2 = paramSet2.getAcInterData();
|
||||
var ajInterListPS2 = paramSet2.getAjInterData();
|
||||
var atInterListPS2 = paramSet2.getAtInterData();
|
||||
var acInterListPS3 = paramSet3.getAcInterData();
|
||||
var ajInterListPS3 = paramSet3.getAjInterData();
|
||||
var atInterListPS3 = paramSet3.getAtInterData();
|
||||
var acInterListPS4 = paramSet4.getAcInterData();
|
||||
var ajInterListPS4 = paramSet4.getAjInterData();
|
||||
var atInterListPS4 = paramSet4.getAtInterData();
|
||||
var acInterListPS1 = paramSet1.GetAcInterData();
|
||||
var ajInterListPS1 = paramSet1.GetAjInterData();
|
||||
var atInterListPS1 = paramSet1.GetAtInterData();
|
||||
var acInterListPS2 = paramSet2.GetAcInterData();
|
||||
var ajInterListPS2 = paramSet2.GetAjInterData();
|
||||
var atInterListPS2 = paramSet2.GetAtInterData();
|
||||
var acInterListPS3 = paramSet3.GetAcInterData();
|
||||
var ajInterListPS3 = paramSet3.GetAjInterData();
|
||||
var atInterListPS3 = paramSet3.GetAtInterData();
|
||||
var acInterListPS4 = paramSet4.GetAcInterData();
|
||||
var ajInterListPS4 = paramSet4.GetAjInterData();
|
||||
var atInterListPS4 = paramSet4.GetAtInterData();
|
||||
|
||||
// Set the points on the asymptote curve for parameter set 1, chloroplast
|
||||
setAsymptotePoints(acChloroListPS1, ChartChloro1.Series["acCurve"], ref maxX1);
|
||||
setAsymptotePoints(ajChloroListPS1, ChartChloro1.Series["ajCurve"], ref maxX1);
|
||||
setAsymptotePoints(atChloroListPS1, ChartChloro1.Series["atCurve"], ref maxX1);
|
||||
setAsymptotePoints(acChloroListPS1, ChartChloro1.Series["acCurve"]);
|
||||
setAsymptotePoints(ajChloroListPS1, ChartChloro1.Series["ajCurve"]);
|
||||
setAsymptotePoints(atChloroListPS1, ChartChloro1.Series["atCurve"]);
|
||||
|
||||
// Set the points on the asymptote curve for parameter set 2, chloroplast
|
||||
setAsymptotePoints(acChloroListPS2, ChartChloro2.Series["acCurve"], ref maxX2);
|
||||
setAsymptotePoints(ajChloroListPS2, ChartChloro2.Series["ajCurve"], ref maxX2);
|
||||
setAsymptotePoints(atChloroListPS2, ChartChloro2.Series["atCurve"], ref maxX2);
|
||||
setAsymptotePoints(acChloroListPS2, ChartChloro2.Series["acCurve"]);
|
||||
setAsymptotePoints(ajChloroListPS2, ChartChloro2.Series["ajCurve"]);
|
||||
setAsymptotePoints(atChloroListPS2, ChartChloro2.Series["atCurve"]);
|
||||
|
||||
// Set the points on the asymptote curve for parameter set 3, chloroplast
|
||||
setAsymptotePoints(acChloroListPS3, ChartChloro3.Series["acCurve"], ref maxX3);
|
||||
setAsymptotePoints(ajChloroListPS3, ChartChloro3.Series["ajCurve"], ref maxX3);
|
||||
setAsymptotePoints(atChloroListPS3, ChartChloro3.Series["atCurve"], ref maxX3);
|
||||
setAsymptotePoints(acChloroListPS3, ChartChloro3.Series["acCurve"]);
|
||||
setAsymptotePoints(ajChloroListPS3, ChartChloro3.Series["ajCurve"]);
|
||||
setAsymptotePoints(atChloroListPS3, ChartChloro3.Series["atCurve"]);
|
||||
|
||||
// Set the points on the asymptote curve for parameter set 4, chloroplast
|
||||
setAsymptotePoints(acChloroListPS4, ChartChloro4.Series["acCurve"], ref maxX4);
|
||||
setAsymptotePoints(ajChloroListPS4, ChartChloro4.Series["ajCurve"], ref maxX4);
|
||||
setAsymptotePoints(atChloroListPS4, ChartChloro4.Series["atCurve"], ref maxX4);
|
||||
setAsymptotePoints(acChloroListPS4, ChartChloro4.Series["acCurve"]);
|
||||
setAsymptotePoints(ajChloroListPS4, ChartChloro4.Series["ajCurve"]);
|
||||
setAsymptotePoints(atChloroListPS4, ChartChloro4.Series["atCurve"]);
|
||||
|
||||
// Set the points on the asymptote curve for parameter set 1, intercellular
|
||||
setAsymptotePoints(acInterListPS1, ChartInter1.Series["acCurve"], ref maxX5);
|
||||
setAsymptotePoints(ajInterListPS1, ChartInter1.Series["ajCurve"], ref maxX5);
|
||||
setAsymptotePoints(atInterListPS1, ChartInter1.Series["atCurve"], ref maxX5);
|
||||
setAsymptotePoints(acInterListPS1, ChartInter1.Series["acCurve"]);
|
||||
setAsymptotePoints(ajInterListPS1, ChartInter1.Series["ajCurve"]);
|
||||
setAsymptotePoints(atInterListPS1, ChartInter1.Series["atCurve"]);
|
||||
|
||||
// Set the points on the asymptote curve for parameter set 2, intercellular
|
||||
setAsymptotePoints(acInterListPS2, ChartInter2.Series["acCurve"], ref maxX6);
|
||||
setAsymptotePoints(ajInterListPS2, ChartInter2.Series["ajCurve"], ref maxX6);
|
||||
setAsymptotePoints(atInterListPS2, ChartInter2.Series["atCurve"], ref maxX6);
|
||||
setAsymptotePoints(acInterListPS2, ChartInter2.Series["acCurve"]);
|
||||
setAsymptotePoints(ajInterListPS2, ChartInter2.Series["ajCurve"]);
|
||||
setAsymptotePoints(atInterListPS2, ChartInter2.Series["atCurve"]);
|
||||
|
||||
// Set the points on the asymptote curve for parameter set 3, intercellular
|
||||
setAsymptotePoints(acInterListPS3, ChartInter3.Series["acCurve"], ref maxX7);
|
||||
setAsymptotePoints(ajInterListPS3, ChartInter3.Series["ajCurve"], ref maxX7);
|
||||
setAsymptotePoints(atInterListPS3, ChartInter3.Series["atCurve"], ref maxX7);
|
||||
setAsymptotePoints(acInterListPS3, ChartInter3.Series["acCurve"]);
|
||||
setAsymptotePoints(ajInterListPS3, ChartInter3.Series["ajCurve"]);
|
||||
setAsymptotePoints(atInterListPS3, ChartInter3.Series["atCurve"]);
|
||||
|
||||
// Set the points on the asymptote curve for parameter set 4, intercellular
|
||||
setAsymptotePoints(acInterListPS4, ChartInter4.Series["acCurve"], ref maxX8);
|
||||
setAsymptotePoints(ajInterListPS4, ChartInter4.Series["ajCurve"], ref maxX8);
|
||||
setAsymptotePoints(atInterListPS4, ChartInter4.Series["atCurve"], ref maxX8);
|
||||
setAsymptotePoints(acInterListPS4, ChartInter4.Series["acCurve"]);
|
||||
setAsymptotePoints(ajInterListPS4, ChartInter4.Series["ajCurve"]);
|
||||
setAsymptotePoints(atInterListPS4, ChartInter4.Series["atCurve"]);
|
||||
|
||||
// Now, set the minimum and maximum values for the X-axis. The
|
||||
// Y-axis seems to be doing OK in auto mode.
|
||||
@@ -514,25 +240,25 @@ namespace LeafWeb.Web.Charter
|
||||
var axisFont = new Font("Times New Roman", 12, FontStyle.Bold);
|
||||
var titleFont = new Font("Times New Roman", 12, FontStyle.Bold);
|
||||
|
||||
var titlePS1 = new Title("LeafWeb curveID = " + curveID +
|
||||
var titlePS1 = new Title("LeafWeb curveID = " + curveId +
|
||||
"\nInternal conductance fixed, compensation point and M-M constants fixed");
|
||||
titlePS1.Font = titleFont;
|
||||
ChartChloro1.Titles.Add(titlePS1);
|
||||
ChartInter1.Titles.Add(titlePS1);
|
||||
|
||||
var titlePS2 = new Title("LeafWeb curveID = " + curveID +
|
||||
var titlePS2 = new Title("LeafWeb curveID = " + curveId +
|
||||
"\nInternal conductance fixed, compensation point and M-M constants estimated");
|
||||
titlePS2.Font = titleFont;
|
||||
ChartChloro2.Titles.Add(titlePS2);
|
||||
ChartInter2.Titles.Add(titlePS2);
|
||||
|
||||
var titlePS3 = new Title("LeafWeb curveID = " + curveID +
|
||||
var titlePS3 = new Title("LeafWeb curveID = " + curveId +
|
||||
"\nInternal conductance estimated, compensation point and M-M constants fixed");
|
||||
titlePS3.Font = titleFont;
|
||||
ChartChloro3.Titles.Add(titlePS3);
|
||||
ChartInter3.Titles.Add(titlePS3);
|
||||
|
||||
var titlePS4 = new Title("LeafWeb curveID = " + curveID +
|
||||
var titlePS4 = new Title("LeafWeb curveID = " + curveId +
|
||||
"\nInternal conductance estimated, compensation point and M-M constants estimated");
|
||||
titlePS4.Font = titleFont;
|
||||
ChartChloro4.Titles.Add(titlePS4);
|
||||
@@ -557,7 +283,7 @@ namespace LeafWeb.Web.Charter
|
||||
ChartInter4.ChartAreas["ChartArea1"].AxisY.TitleFont = axisFont;
|
||||
}
|
||||
|
||||
private Series newTPUSeries(ArrayList data)
|
||||
private Series newTPUSeries(IReadOnlyCollection<XyPoint> data)
|
||||
{
|
||||
var seriesName = "TPU-limited";
|
||||
if (data.Count == 0)
|
||||
@@ -577,106 +303,25 @@ namespace LeafWeb.Web.Charter
|
||||
return series3;
|
||||
}
|
||||
|
||||
private void setAnetMeasPoints(ArrayList data, Series series, ref double xMax)
|
||||
private void setAnetMeasPoints(List<XyPoint> data, Series series)
|
||||
{
|
||||
// Set the points for the series from the ArrayList
|
||||
|
||||
XYPoint xy;
|
||||
int i;
|
||||
|
||||
for (i = 0; i < data.Count; i++)
|
||||
foreach (var xy in data)
|
||||
{
|
||||
xy = (XYPoint) data[i];
|
||||
series.Points.AddXY(xy.getX(), xy.getY());
|
||||
if (xy.getX() > xMax)
|
||||
xMax = xy.getX();
|
||||
series.Points.AddXY(xy.X, xy.Y);
|
||||
}
|
||||
}
|
||||
|
||||
private void setAsymptotePoints(ArrayList data, Series series, ref double xMax)
|
||||
private void setAsymptotePoints(List<XyPoint> data, Series series)
|
||||
{
|
||||
// Set the points for the series from the ArrayList
|
||||
|
||||
XYPoint xy;
|
||||
int i;
|
||||
|
||||
for (i = 0; i < data.Count; i++)
|
||||
foreach (var xy in data)
|
||||
{
|
||||
xy = (XYPoint) data[i];
|
||||
if ((xy.getX() != -9999) && (xy.getY() != -9999))
|
||||
if ((xy.X != -9999) && (xy.Y != -9999))
|
||||
{
|
||||
series.Points.AddXY(xy.getX(), xy.getY());
|
||||
if (xy.getX() > xMax)
|
||||
xMax = xy.getX();
|
||||
series.Points.AddXY(xy.X, xy.Y);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected void BackToJobList(object sender, EventArgs e)
|
||||
{
|
||||
JobChoosePNL.Visible = true;
|
||||
ChooseJobErrrorLBL.Visible = false;
|
||||
CurveChoosePNL.Visible = false;
|
||||
ChartPNL.Visible = false;
|
||||
}
|
||||
|
||||
private void WriteTrace(String str)
|
||||
{
|
||||
var conn = getDbConn();
|
||||
if (conn != null)
|
||||
{
|
||||
var sqlString = "insert into LogEntry (text,logdate) values('" + str + "',getdate())";
|
||||
var cmd = new SqlCommand(sqlString, conn);
|
||||
|
||||
try
|
||||
{
|
||||
cmd.ExecuteNonQuery();
|
||||
}
|
||||
catch (Exception ex2)
|
||||
{
|
||||
conn.Close();
|
||||
return;
|
||||
}
|
||||
|
||||
conn.Close();
|
||||
}
|
||||
}
|
||||
|
||||
public static SqlConnection getDbConn()
|
||||
{
|
||||
// Determine what environment we are in
|
||||
var reader = new AppSettingsReader();
|
||||
var environment = reader.GetValue("UserRealm", Type.GetType("System.String")).ToString();
|
||||
|
||||
// Set the datasource based on the environment
|
||||
string dataSource;
|
||||
if (environment == "PROD")
|
||||
dataSource = "mssql.ornl.gov";
|
||||
else if (environment == "QA")
|
||||
dataSource = "qamssql.ornl.gov";
|
||||
else
|
||||
dataSource = "devmssql.ornl.gov";
|
||||
|
||||
// Build the connection string
|
||||
var connString = "Data Source=" + dataSource + ";Initial Catalog=aci;User ID=xpl;Password=xxxxxxxx;";
|
||||
|
||||
SqlConnection conn = null;
|
||||
try
|
||||
{
|
||||
conn = new SqlConnection(connString);
|
||||
conn.Open();
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
var error = e.Message;
|
||||
return null;
|
||||
}
|
||||
return conn;
|
||||
}
|
||||
|
||||
public String encodeSqlQuotes(String str)
|
||||
{
|
||||
return str.Replace("'", "''");
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user