Skip to content

Commit ba7c2a7

Browse files
public version and only available years selectable done und close #56 #53
1 parent 4897ca9 commit ba7c2a7

5 files changed

Lines changed: 98 additions & 40 deletions

File tree

Controllers/LUICalculationController.cs

Lines changed: 39 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -60,13 +60,15 @@ public ActionResult Index()
6060
model.IsPublicAccess = true;
6161
}
6262

63-
6463
model.NewComponentsSetDatasetId = Models.Settings.get("lui:datasetNewComponentsSet").ToString();
6564
var datasetInfo = DataAccess.GetDatasetInfo(model.NewComponentsSetDatasetId, GetServerInformation());
6665
model.NewComponentsSetDatasetVersion = DataAccess.GetDatasetInfo(model.NewComponentsSetDatasetId, GetServerInformation()).Version;
6766
XmlDocument doc = DataAccess.GetMetadata(model.NewComponentsSetDatasetId, GetServerInformation());
6867
model.NewComponentsSetLastUpdate = DateTime.Parse(doc.GetElementsByTagName("metadataLastModificationDateType")[0].InnerText).ToString("yyyy-MM-dd");
6968

69+
model.AvailableYearsNewComp = GetAvailableYears(model.NewComponentsSetDatasetId, model.IsPublicAccess);
70+
model.AvailableYearsOldComp = GetAvailableYears(Models.Settings.get("lui:datasetOldComponentsSet").ToString(), model.IsPublicAccess);
71+
7072
return View("Index", model);
7173

7274
}
@@ -150,18 +152,7 @@ public ActionResult CalculateLUI(LUIQueryModel model)
150152
break;
151153
}
152154
DataTable dt_sourceData = DataAccess.GetComponentData(dsId, GetServerInformation());
153-
if(model.IsPublicAccess)
154-
{
155-
//remove not complete years data for non public access
156-
var missingData = DataAccess.GetMissingComponentData(GetServerInformation());
157-
if (missingData.Count > 0)
158-
{
159-
List<string> incompleteYears = missingData.Select(x => x.Year).Distinct().ToList();
160-
RemoveNotComplateYears(dt_sourceData, incompleteYears);
161-
}
162-
163-
}
164-
155+
165156
var results = CalculateLui.DoCalc(model, dt_sourceData);
166157

167158
DataModel dataModel = new DataModel();
@@ -391,6 +382,10 @@ public ServerInformation GetServerInformation()
391382

392383
return serverInformation;
393384
}
385+
/// <summary>
386+
/// Get bexis token from logged-in user
387+
/// </summary>
388+
/// <returns></returns>
394389
private string GetUserToken()
395390
{
396391
var identityUserService = new IdentityUserService();
@@ -417,6 +412,10 @@ private string GetUserToken()
417412
}
418413
}
419414

415+
/// <summary>
416+
/// Remove data for not complete uploaded years
417+
/// </summary>
418+
/// <returns></returns>
420419
private void RemoveNotComplateYears(DataTable data, List<string> years)
421420
{
422421
foreach (var year in years)
@@ -425,6 +424,33 @@ private void RemoveNotComplateYears(DataTable data, List<string> years)
425424
data.AcceptChanges();
426425
}
427426
}
427+
428+
/// <summary>
429+
/// Get distinct available years from comp data
430+
/// </summary>
431+
/// <returns>List of years</returns>
432+
private List<CheckboxControlHelper> GetAvailableYears(string datasetId, bool isPublicAccess)
433+
{
434+
DataTable data = DataAccess.GetComponentData(datasetId, GetServerInformation());
435+
if (isPublicAccess)
436+
{
437+
var missingData = DataAccess.GetMissingComponentData(GetServerInformation());
438+
if (missingData.Count > 0)
439+
{
440+
List<string> incompleteYears = missingData.Select(x => x.Year).Distinct().ToList();
441+
RemoveNotComplateYears(data, incompleteYears);
442+
}
443+
}
444+
445+
var years = data.AsEnumerable().Select(r => r.Field<DateTime>("Year").ToString("yyyy")).ToList();
446+
List<CheckboxControlHelper> yearList = new List<CheckboxControlHelper>();
447+
years = years.Distinct().ToList();
448+
foreach(string year in years)
449+
{
450+
yearList.Add(new CheckboxControlHelper { Name = year, Checked = false });
451+
}
452+
return yearList;
453+
}
428454
}
429455

430456
}

Helper/CalculateLui.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,12 @@ public static DataTable DoCalc(LUIQueryModel model, DataTable dt_sourceData)
4040
// -------------------------------------------
4141
// Explos and Years
4242
// gets selected Years
43-
List<string> selectedYearList = model.Years.Where(li => li.Checked).Select(li => li.Name).ToList();
43+
List<string> selectedYearList = new List<string>();
44+
if(model.AvailableYearsNewComp.Where(li => li.Checked).Select(li => li.Name).ToList().Count() >0)
45+
selectedYearList = model.AvailableYearsNewComp.Where(li => li.Checked).Select(li => li.Name).ToList();
46+
else
47+
selectedYearList = model.AvailableYearsOldComp.Where(li => li.Checked).Select(li => li.Name).ToList();
48+
4449
// gets selected Exploratories
4550
List<string> selectedExploList = model.Explos.Where(li => li.Checked).Select(li => li.Name).ToList();
4651

Models/LUIQueryModel.cs

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,21 @@ public class LUIQueryModel
1111
public RadioButtonControlHelper RawVsCalc { get; set; }
1212
public RadioButtonControlHelper Scales { get; set; }
1313
public List<CheckboxControlHelper> Explos { get; set; }
14-
public List<CheckboxControlHelper> Years { get; set; }
14+
//public List<CheckboxControlHelper> Years { get; set; }
1515
public RadioButtonControlHelper TypeOfMean { get; set; }
1616
public RadioButtonControlHelper Plotlevel { get; set; }
17+
1718
//public CalculateLui.ComponentsSet ComponentsSet { get; set; }
1819

1920
public RadioButtonControlHelper ComponentsSet { get; set; }
2021

2122
public List<MissingComponentData> MissingComponentData { get; set; }
2223

24+
public List<CheckboxControlHelper> AvailableYearsNewComp { get; set; }
25+
26+
public List<CheckboxControlHelper> AvailableYearsOldComp { get; set; }
27+
28+
2329
public string NewComponentsSetDatasetId { get; set; }
2430

2531
public string NewComponentsSetDatasetVersion { get; set; }
@@ -37,10 +43,12 @@ public LUIQueryModel()
3743
RawVsCalc = new RadioButtonControlHelper();
3844
Scales = new RadioButtonControlHelper();
3945
Explos = new List<CheckboxControlHelper>();
40-
Years = new List<CheckboxControlHelper>();
4146
TypeOfMean = new RadioButtonControlHelper();
4247
Plotlevel = new RadioButtonControlHelper();
4348
ComponentsSet = new RadioButtonControlHelper();
49+
AvailableYearsNewComp = new List<CheckboxControlHelper>();
50+
AvailableYearsOldComp = new List<CheckboxControlHelper>();
51+
4452

4553
IsPublicAccess = false;
4654

@@ -65,13 +73,13 @@ public LUIQueryModel()
6573
Explos.Add(new CheckboxControlHelper { Name = "SCH", Checked = false });
6674

6775
// fill Years
68-
int fromYear = (int)Settings.get("lui:years:min");
69-
int toYear = (int)Settings.get("lui:years:max");
70-
for (int i = fromYear; i <= toYear; i++)
71-
{
72-
Years.Add(new CheckboxControlHelper { Name = i.ToString(), Checked = false });
76+
//int fromYear = (int)Settings.get("lui:years:min");
77+
//int toYear = (int)Settings.get("lui:years:max");
78+
//for (int i = fromYear; i <= toYear; i++)
79+
//{
80+
// Years.Add(new CheckboxControlHelper { Name = i.ToString(), Checked = false });
7381

74-
}
82+
//}
7583

7684
// fill TypeOfMeans
7785
TypeOfMean.SelectedValue = "empty";

Scripts/lui.js

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,13 @@
1313
isPublic = $dataEl.data('ispublic');
1414

1515

16+
$("#yearsOld").hide();
17+
$("#yearsNew").show();
18+
19+
1620
/* XXXXXXXXXXXXXXXXXXXXXXXXXX Event Handlers XXXXXXXXXXXXXXXXXXXXXXXXXXX */
1721

1822
var datasetId = datasetIdNew;
19-
console.log(isPublic);
2023
var isPublicAccess = isPublic.toLowerCase();
2124

2225
/* ------------------------------ Query 00 ------------------------------ */
@@ -39,16 +42,18 @@
3942
console.log(selecteddataset);
4043

4144
if (selecteddataset == "old components set") {
42-
43-
datasetId = datasetIdOld ;
44-
versionId = versionIdOld;
45+
46+
datasetId = datasetIdOld;
47+
console.log("old");
48+
$("#yearsOld").show();
49+
$("#yearsNew").hide();
4550
}
4651
else {
4752
datasetId = datasetIdNew;
48-
versionId = versionIdNew;
53+
$("#yearsNew").show();
54+
$("#yearsOld").hide();
4955
}
5056

51-
5257
});
5358

5459
/* ------------------------------ Query 0 ------------------------------ */
@@ -69,12 +74,12 @@
6974
resetQuery1();
7075
$('#divQuery1').show();
7176
$('#divResultGrid').empty();
77+
7278
}
7379
else {
7480
// show complete dataset and leave wizzard steps hidden
7581
$('#divResultGrid').empty();
7682
$('#dtmLuiSpinner').show();
77-
console.log(isPublicAccess);
7883
$.ajax({
7984
method: 'get',
8085
url: showdataUrl,
@@ -188,7 +193,7 @@
188193
return;
189194
}
190195
}
191-
if ($("input[id^='Years']:checked").length < 1) {
196+
if ($("input[id^='AvailableYearsOldComp']:checked").length < 1 && $("input[id^='AvailableYearsNewComp']:checked").length < 1) {
192197
$('#errYears').show();
193198
return;
194199
}

Views/LUICalculation/Index.cshtml

Lines changed: 24 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -150,16 +150,30 @@
150150
<br />
151151

152152
<div id="divQuery2_2" class="dtm-controls">
153-
@for (int i = 0; i < Model.Years.Count(); i++)
154-
{
155-
<span style="flex-grow: 0">
156-
<label>
157-
@Html.CheckBoxFor(m => m.Years[i].Checked, new { @class = "cb_years" })
158-
@Html.DisplayFor(m => m.Years[i].Name)
159-
@Html.HiddenFor(m => m.Years[i].Name)
160-
</label>
161-
</span>
162-
}
153+
<div id="yearsOld">
154+
@for (int i = 0; i < Model.AvailableYearsOldComp.Count(); i++)
155+
{
156+
<span style="flex-grow: 0">
157+
<label>
158+
@Html.CheckBoxFor(m => m.AvailableYearsOldComp[i].Checked, new { @class = "cb_years" })
159+
@Html.DisplayFor(m => m.AvailableYearsOldComp[i].Name)
160+
@Html.HiddenFor(m => m.AvailableYearsOldComp[i].Name)
161+
</label>
162+
</span>
163+
}
164+
</div>
165+
<div id="yearsNew" v>
166+
@for (int i = 0; i < Model.AvailableYearsNewComp.Count(); i++)
167+
{
168+
<span style="flex-grow: 0">
169+
<label>
170+
@Html.CheckBoxFor(m => m.AvailableYearsNewComp[i].Checked, new { @class = "cb_years" })
171+
@Html.DisplayFor(m => m.AvailableYearsNewComp[i].Name)
172+
@Html.HiddenFor(m => m.AvailableYearsNewComp[i].Name)
173+
</label>
174+
</span>
175+
}
176+
</div>
163177
</div>
164178

165179
<div class="dtm-message dtm-para_green" id="dtmLocationMessages"><div data-location="ALB">@Settings.get("lui:msg:alb")</div><div data-location="HAI">@Settings.get("lui:msg:hai")</div><div data-location="SCH">@Settings.get("lui:msg:sch")</div></div>

0 commit comments

Comments
 (0)