Dim ItemDescription As String
Dim assetsarray() As assets
Private Sub PP2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim filename As String = ("My Stuff.txt")
Private Sub btnArray_Click(sender As Object, e As EventArgs) Handles btnArray.Click
Dim query = From asset In assetsarray
Let price = asset.purPrice
Let purcDate = asset.purDate
Let itemLife = asset.itemLife
Let depAmount = CalcDepreciation(price, purcDate, itemLife)
Select asset.ItemNumber, asset.ItemDescription, asset.prodCode, asset.purDate, asset.purPrice, asset.curValue _
, asset.itemLife, asset.depDate, depAmount
dgvDisplay.DataSource = query.ToList
dgvDisplay.Columns("Itemnumber").HeaderText = ("Item Number")
dgvDisplay.Columns("ItemDescription").HeaderText = ("Item Description")
dgvDisplay.Columns("prodCode").HeaderText = ("Product Code")
dgvDisplay.Columns("purDate").HeaderText = ("Purchase Date")
dgvDisplay.Columns("purPrice").HeaderText = ("Purchase Price")
dgvDisplay.Columns("curValue").HeaderText = ("Current Value")
dgvDisplay.Columns("itemLife").HeaderText = ("Item Life")
dgvDisplay.Columns("depDate").HeaderText = ("Depreciation Date")
dgvDisplay.Columns("depAmount").HeaderText = ("Depreciation Amount")
Function CalcDepreciation(price As Decimal, purdate As Date, life As Integer) As Decimal
Dim datecalc As Decimal = DateDiff("m", purdate, Date.Now)
depamount = price / life * datecalc
Private Sub btnSort_Click(sender As Object, e As EventArgs) Handles btnSort.Click
Dim sortquery = From asset In assetsarray
Let itemNumber = CStr(asset.ItemNumber)
Let itemDescription = CStr(asset.ItemDescription)
Let prodCode = CStr(asset.prodCode)
Let purDate = CStr(asset.purDate)
Let purPrice = CStr(asset.purPrice)
Let curValue = CStr(asset.curValue)
Let itemLife = CStr(asset.itemLife)
Let depDate = CStr(asset.depDate)
Let result = itemNumber & "," & itemDescription & "," & prodCode & "," & purDate & "," & purPrice & "," _
& curValue & "," & itemLife & "," & depDate
Order By asset.purDate, asset.purPrice Descending
IO.File.WriteAllLines("SortedAssets.txt", sortquery)
lstOutput.Items.Add("Sorted Records of Assets")
For Each asset In sortquery
lstOutput.Items.Add(asset)
Private Sub btnCurrentValue_Click(sender As Object, e As EventArgs) Handles btnCurrentValue.Click
Dim updatequery = From asset In assetsarray
Let itemNumber = CStr(asset.ItemNumber)
Let itemDescription = CStr(asset.ItemDescription)
Let prodCode = CStr(asset.prodCode)
Let purDate = CStr(asset.purDate)
Let purPrice = CStr(asset.purPrice)
Let curValue = CStr(asset.curValue)
Let itemLife = CStr(asset.itemLife)
Let depDate = CStr(asset.depDate)
Let NewCurrentValue = NewCurrentValue(asset.purPrice, asset.purDate, asset.depDate, asset.itemLife, asset.curValue)
Let newdepDate = NewDepDate(depDate)
Let result = itemNumber & "," & itemDescription & "," & prodCode & "," & purDate & "," & purPrice & "," _
& NewCurrentValue & "," & itemLife & "," & CStr(newdepDate)
Dim updatedarray(updatequery.Count - 1) As String
For i As Integer = 0 To updatequery.Count - 1
lstOutput.Items.Add("Updated Assets")
For Each line In updatedarray
lstOutput.Items.Add(line)
IO.File.WriteAllLines("UpdatedArray.txt", updatedarray)
Function NewCurrentValue(price, purdate, depDate, itemlife, curValue) As Decimal
Dim datecalc As Decimal = DateDiff("m", purdate, depDate)
depamount = price / itemlife * datecalc
output = price - depamount
Function NewDepDate(depdate) As Date
lastDay = DateAdd("d", -1, DateSerial(Year(Now), Month(Now), 1))
Private Sub btnFileSelect_Click(sender As Object, e As EventArgs) Handles btnFileSelect.Click
OpenFileDialog1.ShowDialog()
filename = OpenFileDialog1.FileName
Sub PopulateArray(ByRef filename)
Dim lines() As String = IO.File.ReadAllLines(filename)
ReDim assetsarray(lines.Count - 1)
For i As Integer = 0 To lines.Count - 1
assetsarray(i).ItemNumber = data(0)
assetsarray(i).ItemDescription = data(1)
assetsarray(i).prodCode = data(2)
assetsarray(i).purDate = CDate(data(3))
assetsarray(i).purPrice = CDec(data(4))
assetsarray(i).curValue = CDec(data(5))
assetsarray(i).itemLife = CInt(data(6))
assetsarray(i).depDate = CDate(data(7))