Inst2Page.aspx Imports System.Xml
Partial Class Inst2Form
Inherits System.Web.UI.Page
Protected Sub InitVent(ByRef XMLDoc As XmlDocument) For Each elem As String In Std.ventType
Type1.Items.Add(elem) Next
Dim n0 As XmlNode
Dim Elements As XmlNodeList = XMLDoc.GetElementsByTagName("VENTILATION") For Each n0 In Elements
Dim part As Integer = n0.Item("part").InnerText Dim typ As Integer = Std.GetTyp(part)
Dim im As Integer = Std.GetImp(part) Type1.SelectedIndex = typ
Return Next
End Sub
Protected Sub UpdateVent(ByRef XMLDoc As XmlDocument) Dim i0 As Integer = Type1.SelectedIndex
Be06.UpdateVent(XMLDoc, i0) End Sub
Protected Sub ShowDistHt()
For Each elem As String In Std.DistHt Type2.Items.Add(elem)
Next End Sub
Protected Sub ShowBoiler(ByVal type As Integer) If type > 11 Then
Loss.Text = "0" Else
Loss.Text = CType(Session("boiler_loss"), String) End If
Dim elem As String Type2.Items.Clear() Select Case type Case 0, 2
For Each elem In Std.BoilerGroup_02 Type2.Items.Add(elem)
Next Return Case 1, 3
For Each elem In Std.BoilerGroup_13 Type2.Items.Add(elem)
Next Return Case 4
For Each elem In Std.BoilerGroup_4 Type2.Items.Add(elem)
Next Return Case 5
For Each elem In Std.BoilerGroup_5 Type2.Items.Add(elem)
Next Return Case 6
For Each elem In Std.BoilerGroup_6 Type2.Items.Add(elem)
Next Return Case Else
For Each elem In Std.BoilerGroup_7 Type2.Items.Add(elem)
Inst2Page.aspx Return
End Select End Sub
Protected Sub InitHeating(ByRef xml As XmlDocument) For Each elem As String In Std.VpType
VpType.Items.Add(elem) Next
Dim item As String = Be06.GetElement(xml, "BOILER", "id") Dim heat As Integer = Be06.GetHeatType(xml)
If heat = 1 Then HeatType.Text = "Fjernvarme" ShowDistHt() VpType.Enabled = True Type2.SelectedValue = item Boiler.Items.Add("Intet valg") Boiler.Visible = False
ElseIf heat = 0 Then VpType.Enabled = True
Dim fuel_oil As Boolean = Be06.FuelOil(xml) If fuel_oil Then
HeatType.Text = "Oliekedel"
For Each elem As String In Std.BoilerType Boiler.Items.Add(elem)
Next
Dim group As Integer = Be06.GetElement(xml, "DESCRIPT", "id") If group < 0 Then
Dim year As Integer = CType(Session("year"), Integer) group = Std.BoilerGroup(year) End If Boiler.SelectedIndex = group ShowBoiler(group) Type2.SelectedValue = item SelBoiler.Visible = True LabelLoss.Visible = True Loss.Visible = True Else HeatType.Text = "Gaskedel"
For Each elem As String In Std.GasBoilerType Type2.Items.Add(elem) Next Type2.SelectedValue = item Boiler.Visible = False End If Else HeatType.Text = "El" Type2.Items.Add("Intet valg") Type2.Enabled = False VpType.Enabled = True Boiler.Items.Add("Intet valg") Boiler.Visible = False End If
Dim ht_sup As Integer = CType(Session("heat_sup"), Integer) Dim fu_sup As Integer = CType(Session("fuel_sup"), Integer) Dim cons_sup As String = CType(Session("cons_sup"), String) If cons_sup.Length < 1 Then ConsSup.Text = "0" End If If ht_sup > 0 Then HeatSup.Text = Std.NameSupFuel(fu_sup) ConsSup.Enabled = True ConsSup.Text = cons_sup Else
HeatSup.Text = "Ingen supplerende opvarmning" ConsSup.Enabled = False
ConsSup.BackColor = Drawing.Color.LightGray End If
Inst2Page.aspx
Protected Sub UpdateHeating(ByRef xml As XmlDocument) Dim i0 As Integer = Type2.SelectedIndex
Dim id0 As String = Type2.SelectedItem.Text Dim ht_type = Be06.GetHeatType(xml)
Select Case ht_type Case 0 ' kedel
If Be06.FuelOil(xml) Then
Dim i2 As Integer = Boiler.SelectedIndex
Be06.UpdateBoiler(xml, Std.oil2_table, i2, id0)
Be06.EditModel(xml, "DESCRIPT", "id", i2) ' boiler group Session.Item("boiler_loss") = Loss.Text
Else
Be06.UpdateBoiler(xml, Std.gas_table, i0, id0) End If
Case 1 ' fjernvarme
Be06.UpdateDistHt(xml, i0) Case 2 ' el
End Select
Be06.EditModel(xml, "COOLING", "id", Loss.Text)
Be06.EditModel(xml, "BOILER", "id", Type2.SelectedItem.Text)
Be06.EditModel(xml, "DESCRIPT", "bbr", ConsSup.Text) ' Consumption sup Session.Item("cons_sup") = ConsSup.Text
End Sub
Protected Sub ShowSolarPanel(ByRef xml As XmlDocument) Svtype.Items.Clear()
For Each elem As String In Std.SunColType Svtype.Items.Add(elem)
Next
Dim active As Boolean = Be06.IsTrue(Be06.GetElement(xml, "BUILDING", "solarpanel"))
Area.Text = Be06.GetElement(xml, "SOLAR_COLLECTOR", "area").Replace(".", ",")
Orient.Text = Be06.GetElement(xml, "SOLAR_COLLECTOR", "orient").Replace(".", ",")
Slope.Text = Be06.GetElement(xml, "SOLAR_COLLECTOR", "slope").Replace(".", ",")
Dim type As String = Be06.GetElement(xml, "SOLAR_COLLECTOR", "has_type") If Not active Then
Svtype.SelectedIndex = 0 ElseIf type = ".K_TYPE." Then Svtype.SelectedIndex = 2 Else Svtype.SelectedIndex = 1 End If VpType.SelectedIndex = Session.Item("heatpump") Session.Item("hp_ex") = VpType.SelectedIndex End Sub
Protected Sub UpdateSolarPanel(ByRef xml As XmlDocument) Dim hpump As Integer = VpType.SelectedIndex
Session.Item("heatpump") = hpump Be06.UpdateHeatPump(xml, hpump)
Dim a0 As Double = Area.Text.Replace(".", ",") Dim col As Integer = Svtype.SelectedIndex
Be06.EditModel(xml, "BUILDING", "solarpanel", Be06.GetBool(col > 0 And a0 > 0.0))
Dim n0 As XmlNode
Dim Elements As XmlNodeList = xml.GetElementsByTagName("SOLAR_COLLECTOR") For Each n0 In Elements
n0.Item("area").InnerText = Area.Text.Replace(",", ".") n0.Item("orient").InnerText = Orient.Text.Replace(",", ".") n0.Item("slope").InnerText = Slope.Text.Replace(",", ".") If col > 1 Then n0.Item("has_type").InnerText = ".K_TYPE." Else n0.Item("has_type").InnerText = ".B_TYPE." End If
Inst2Page.aspx If Area.Text > 0.0 Then
If hpump < 1 Then
If col = 1 Then ' brugsvand
Be06.EditModel(xml, "DHW_TANK", "vol", "192")
Be06.EditModel(xml, "DHW_TANK", "heat_loss", "2.7") Else
Be06.EditModel(xml, "DHW_TANK", "vol", "400")
Be06.EditModel(xml, "DHW_TANK", "heat_loss", "3.2") End If
End If
Be06.EditModel(xml, "DHW_TANK", "has_el_heat", ".DHW_S.") Be06.EditModel(xml, "DHW_TANK", "solar_heat", ".T.") ElseIf hpump < 1 Then
Be06.EditModel(xml, "DHW_TANK", "vol", "60")
Be06.EditModel(xml, "DHW_TANK", "heat_loss", "0.9")
Be06.EditModel(xml, "DHW_TANK", "has_el_heat", ".DHW_N.") Be06.EditModel(xml, "DHW_TANK", "solar_heat", ".F.") End If
Return Next
End Sub
Protected Function GetData(ByRef data As String) As String Dim m0 As Integer = data.IndexOf(";")
Dim str As String = data.Substring(0, m0) data = data.Substring(m0 + 1)
Return str End Function
Protected Function UpdateBuildingData(ByRef xml As XmlDocument, ByVal cons As String) As Boolean
Dim data As String = Be06.GetElement(xml, "COMMENTS", "id") Try
If data.Length > 0 Then
Dim id As String = GetData(data) If id = Be06.model_id Then
For i = 1 To 5
Dim parm0 As String = GetData(data) id += ";" + parm0
Next
Dim parm As String = GetData(data) id += ";" + cons
id += ";" + data
Be06.EditModel(xml, "COMMENTS", "id", id) ' Bygningsdata Return True End If End If Catch ex As Exception End Try Return False End Function
Protected Sub SaveModel()
Dim ex As Integer = CType(Session("exist"), Integer) Dim xml2 As String = CType(Session("savexmldoc"), String) Dim xml As XmlDocument = New XmlDocument
If ex > 0 Then xml = CType(Session("xmldoc"), XmlDocument) Else xml.LoadXml(xml2) End If UpdateVent(xml) UpdateSolarPanel(xml) UpdateHeating(xml) UpdateBuildingData(xml, Consumption.Text)
Dim kr As Double = CType(Session("eprice"), Double)
Dim el_price As Double = CType(Session("el_price"), Double) Dim ht As Integer = CType(Session("heating"), Double)
Inst2Page.aspx If ex < 1 Then
Dim no_change As Boolean = xml0.Equals(xml2) If no_change Then Return End If Session.Item("exist") = 2 End If Session.Item("xmldoc") = xml Dim price, el0 As Double
Dim dem As Double = Be06.GetDemand(xml, kr, el_price, price, el0) Dim std_cons = Be06.GetConsUnit(ht, dem - el0) ' forbrug i valgte enhed/m2 If Math.Abs(std_cons) < 0.001 Then std_cons = dem End If Session.Item("consump") = Consumption.Text Session.Item("consump_kr") = Consumption.Text * kr Session.Item("std_cons0") = std_cons Session.Item("cons0") = dem Session.Item("last_kwh") = dem Session.Item("last_kr0") = price Session.Item("el0") = el0 Session.Item("kr0") = price Session.Item("savexmldoc") = xml0 End Sub
Protected Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init
If Not Page.IsPostBack Then
Dim ex As Integer = CType(Session("exist"), Integer) Dim ht As Integer = Session("heating")
Dim tmp As String = ""
Be06.ShowCons(ht, Cons.Text, tmp)
Dim cons0 As String = CType(Session("consump"), String) Consumption.Text = cons0
Dim xml As XmlDocument = New XmlDocument If ex > 0 Then
xml = CType(Session("xmldoc"), XmlDocument) Else
Dim doc As String = CType(Session("savexmldoc"), String) xml.LoadXml(doc) End If InitVent(xml) InitHeating(xml) ShowSolarPanel(xml) End If End Sub
Protected Function CheckVars() As Boolean Dim ok As Boolean = True
Message.Text = ""
If Not Be06.IsNum(Loss.Text) Then Message.Text += " Røggastab" ok = False
Else
Dim ls As Double = Loss.Text If ls < 0.0 Or ls > 50.0 Then
Message.Text += " Ikke tilladt røggastab" ok = False
End If End If
If Not Be06.IsNum(Consumption.Text) Then Message.Text += " Varmeforbrug" ok = False
End If
If Not Be06.IsNum(ConsSup.Text) Then
Message.Text += " Varmeforbrug, supplerende" ok = False
Inst2Page.aspx If Not Be06.IsNum(Area.Text) Then
Message.Text += " Areal" ok = False
End If
If Not Be06.IsNum(Slope.Text) Then Message.Text += " Hældning" ok = False End If If Not ok Then Message.Text += " er udefineret." End If Return ok End Function
Protected Sub RedirSession(ByRef link As String) If CheckVars() Then
SaveModel()
Page.Response.Redirect(link) End If
End Sub
Protected Sub ButtonBack_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ButtonBack.Click
RedirSession("WinexPage.aspx") End Sub
Protected Sub ButtonNext_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ButtonNext.Click
RedirSession("WallPage.aspx") End Sub
Protected Sub ImageAbout_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles ImageAbout.Click
SaveModel()
Session.Item("PrevPage") = "Inst2Page.aspx" Page.Response.Redirect("AboutPage.aspx") End Sub
Protected Sub ImageHelp_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles ImageHelp.Click
SaveModel()
Session.Item("PrevPage") = "Inst2Page.aspx" Page.Response.Redirect("HelpPage.aspx") End Sub
Protected Sub ImageMain_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles ImageMain.Click
RedirSession("Default.aspx") End Sub
Protected Sub ImageWall0_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles ImageWall0.Click
RedirSession("EnvPage.aspx") End Sub
Protected Sub ImageWin0_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles ImageWin0.Click
RedirSession("WinexPage.aspx") End Sub
Protected Sub ImageWall1_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles ImageWall1.Click
RedirSession("WallPage.aspx") End Sub
Protected Sub ImageWin1_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles ImageWin1.Click
RedirSession("WinPage.aspx") End Sub
Inst2Page.aspx
Protected Sub ImageInst1_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles ImageInst1.Click
RedirSession("Install2Page.aspx") End Sub
Protected Sub ImageDoc_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles ImageDoc.Click
RedirSession("ResPage.aspx") End Sub
Protected Sub Boiler_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Boiler.SelectedIndexChanged
ShowBoiler(Boiler.SelectedIndex) End Sub
Protected Sub Check_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Check.Click
If CheckVars() Then SaveModel()
Dim ht As Integer = Session("heating")
Dim area As Double = CType(Session("area"), Double)
Dim cons0 As Double = CType(Session("std_cons0"), Double) cons0 = Math.Round(area * cons0, 0)
Dim unit As String = Be06.Unit(ht)
Dim cons As Double = CType(Consumption.Text, Double)
Dim dif As Double = Math.Round(100.0 * (cons - cons0) / cons0, 0) dif = Math.Abs(dif)
Message.Text = "Teoretisk varmeforbrug: " & cons0 & " " & unit & " + opgivet biobrændsel. Opgivet forbrug afviger " & dif & "%"
End If End Sub
Protected Sub ImageButton1_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles ImageButton1.Click
RedirSession("http://tools.sparolie.dk/positivliste.asp") End Sub