Charts.vb
- Imports System.Windows.Forms.DataVisualization.Charting
- Public Class Charts
- Dim ProgramName As String = My.Application.Info.AssemblyName
- Dim DataPath As String = System.Environment.CurrentDirectory & "\UAM"
- Dim ProductPath As String = DataPath & "\Products" '
- Dim ServicesPath As String = DataPath & "\Services"
- Dim CatPath As String = DataPath & "\Categories"
- Dim StoresPath As String = DataPath & "\Stores"
- Dim CustomersPath As String = DataPath & "\Customers"
- Dim CompanyPath As String = DataPath & "\Company"
- Dim MovmentPath As String = DataPath & "\Movment"
- Dim RequestsPath As String = DataPath & "\Requests"
- Dim VendorsPath As String = DataPath & "\Vendors"
- Dim BoxPath As String = DataPath & "\Box"
- Dim YearSTR As String = Date.Now.Year
- Dim MonthSTR As String = Date.Now.Month
- Dim DaySTR As String = Date.Now.Day
- Private Shared ChartsInstance As Charts
- Public Shared Function GetInstance() As Charts
- If (ChartsInstance Is Nothing) Then
- ChartsInstance = New Charts
- End If
- Return ChartsInstance
- End Function
- Private Sub Charts_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
- LoadCalender()
- Refresher.Enabled = True
- End Sub
- Public Sub LoadCalenderYear()
- YearTXT.Items.Clear()
- Dim Addad As Integer = 0
- For Addad = 0 To My.Computer.FileSystem.GetDirectories(MovmentPath).Count - 1
- YearTXT.Items.Add(My.Computer.FileSystem.GetDirectoryInfo(My.Computer.FileSystem.GetDirectories(MovmentPath).Item(Addad)).Name)
- Next
- YearTXT.Text = YearSTR
- End Sub
- Public Sub LoadCalenderMonth()
- MonthTXT.Items.Clear()
- Dim MonthAdaad As Integer = 0
- For MonthAdaad = 0 To My.Computer.FileSystem.GetDirectories(MovmentPath & "\" & YearTXT.Text).Count - 1
- MonthTXT.Items.Add(My.Computer.FileSystem.GetDirectoryInfo(My.Computer.FileSystem.GetDirectories(MovmentPath & "\" & YearTXT.Text).Item(MonthAdaad)).Name)
- Next
- If MonthSTR.Length <= 1 Then MonthSTR = "0" & MonthSTR
- MonthTXT.SelectedIndex = MonthTXT.Items.Count - 1
- End Sub
- Public Sub LoadCalender()
- LoadCalenderYear()
- LoadCalenderMonth()
- End Sub
- Public Sub LoadCharts()
- On Error Resume Next
- Dim MonthDir As String = MovmentPath & "\" & YearTXT.Text & "\" & MonthTXT.Text '& "\" & DayTXT.Text
- Dim MoneyVAL As Double = 0
- Dim CapVAL As Double = 0
- Dim TaxVAL As Double = 0
- Dim SerVAL As Double = 0
- Dim InterVAL As Double = 0
- Dim Addad As Integer = 0
- MyChart.ChartAreas.Item(0).AxisX.LabelStyle.Interval = 1
- 'MyChart.ChartAreas.Item(0).AxisX.Title = "اليوم"
- 'MyChart.ChartAreas.Item(0).AxisY.LabelStyle.Interval = 1
- 'MyChart.ChartAreas.Item(0).AxisY.Title = "القيمة"
- MyChart.Series.Clear()
- MyChart.ResetAutoValues()
- MyChart.Titles.Clear()
- MyChart.Titles.Add("الرسم البياني لحركة شهر " & MonthTXT.Text)
- Dim MoneySeries As New Series
- Dim CapSeries As New Series
- Dim TaxSeries As New Series
- Dim SerSeries As New Series
- Dim InterSeries As New Series
- MoneySeries.Name = "مجموع أموال الصندوق"
- CapSeries.Name = "رأسمال الصندوق"
- TaxSeries.Name = "قيمة الضرائب"
- SerSeries.Name = "الخدمات"
- InterSeries.Name = "الأرباح"
- For Addad = 0 To My.Computer.FileSystem.GetDirectories(MonthDir).Count - 1
- Dim WDir As String = ""
- Dim DayVAL As String = ""
- WDir = My.Computer.FileSystem.GetDirectories(MonthDir).Item(Addad)
- DayVAL = Val(My.Computer.FileSystem.GetDirectoryInfo(WDir).Name)
- MoneyVAL = Val(My.Computer.FileSystem.ReadAllText(WDir & "\money.dat", System.Text.Encoding.GetEncoding(0)))
- CapVAL = Val(My.Computer.FileSystem.ReadAllText(WDir & "\capital.dat", System.Text.Encoding.GetEncoding(0)))
- TaxVAL = Val(My.Computer.FileSystem.ReadAllText(WDir & "\tax.dat", System.Text.Encoding.GetEncoding(0)))
- SerVAL = Val(My.Computer.FileSystem.ReadAllText(WDir & "\service.dat", System.Text.Encoding.GetEncoding(0)))
- InterVAL = Val(My.Computer.FileSystem.ReadAllText(WDir & "\inter.dat", System.Text.Encoding.GetEncoding(0)))
- MoneySeries.Points.AddXY(DayVAL, MoneyVAL)
- CapSeries.Points.AddXY(DayVAL, CapVAL)
- TaxSeries.Points.AddXY(DayVAL, TaxVAL)
- SerSeries.Points.AddXY(DayVAL, SerVAL)
- InterSeries.Points.AddXY(DayVAL, InterVAL)
- MoneySeries.ToolTip = "بتاريخ #VALX/" & MonthTXT.Text & "/" & YearTXT.Text & " بلغت قيمة المال : #VAL"
- CapSeries.ToolTip = "بتاريخ #VALX/" & MonthTXT.Text & "/" & YearTXT.Text & " بلغت قيمة رأس المال : #VAL"
- TaxSeries.ToolTip = "بتاريخ #VALX/" & MonthTXT.Text & "/" & YearTXT.Text & " بلغت قيمة الضرائب : #VAL"
- SerSeries.ToolTip = "بتاريخ #VALX/" & MonthTXT.Text & "/" & YearTXT.Text & " بلغت قيمة الخدمات : #VAL"
- InterSeries.ToolTip = "بتاريخ #VALX/" & MonthTXT.Text & "/" & YearTXT.Text & " بلغت قيمة الأرباح : #VAL"
- Next
- MyChart.Series.Add(MoneySeries)
- MyChart.Series.Add(CapSeries)
- MyChart.Series.Add(TaxSeries)
- MyChart.Series.Add(SerSeries)
- MyChart.Series.Add(InterSeries)
- End Sub
- Private Sub YearTXT_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles YearTXT.SelectedIndexChanged
- LoadCalenderMonth()
- End Sub
- Private Sub MonthTXT_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MonthTXT.SelectedIndexChanged
- LoadCharts()
- ChartsViewer()
- End Sub
- Private Sub ViewCharts_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ViewCharts.SelectedIndexChanged
- ChartsViewer()
- End Sub
- Public Sub ChartsViewer()
- On Error Resume Next
- ' MyChart.Hide()
- Dim Addad As Integer = 0
- For Addad = 0 To MyChart.Series.Count - 1
- If ViewCharts.SelectedIndex = 0 Then MyChart.Series.Item(Addad).ChartType = SeriesChartType.Area
- If ViewCharts.SelectedIndex = 1 Then MyChart.Series.Item(Addad).ChartType = SeriesChartType.Bar
- If ViewCharts.SelectedIndex = 2 Then MyChart.Series.Item(Addad).ChartType = SeriesChartType.BoxPlot
- If ViewCharts.SelectedIndex = 3 Then MyChart.Series.Item(Addad).ChartType = SeriesChartType.Bubble
- If ViewCharts.SelectedIndex = 4 Then MyChart.Series.Item(Addad).ChartType = SeriesChartType.Candlestick
- If ViewCharts.SelectedIndex = 5 Then MyChart.Series.Item(Addad).ChartType = SeriesChartType.Column
- If ViewCharts.SelectedIndex = 6 Then MyChart.Series.Item(Addad).ChartType = SeriesChartType.Doughnut
- If ViewCharts.SelectedIndex = 7 Then MyChart.Series.Item(Addad).ChartType = SeriesChartType.ErrorBar
- If ViewCharts.SelectedIndex = 8 Then MyChart.Series.Item(Addad).ChartType = SeriesChartType.FastLine
- If ViewCharts.SelectedIndex = 9 Then MyChart.Series.Item(Addad).ChartType = SeriesChartType.FastPoint
- If ViewCharts.SelectedIndex = 10 Then MyChart.Series.Item(Addad).ChartType = SeriesChartType.Funnel
- 'If ViewCharts.SelectedIndex = 11 Then MyChart.Series.Item(Addad).ChartType = SeriesChartType.Kagi
- If ViewCharts.SelectedIndex = 11 Then MyChart.Series.Item(Addad).ChartType = SeriesChartType.Line
- If ViewCharts.SelectedIndex = 12 Then MyChart.Series.Item(Addad).ChartType = SeriesChartType.Pie
- If ViewCharts.SelectedIndex = 13 Then MyChart.Series.Item(Addad).ChartType = SeriesChartType.Point
- 'If ViewCharts.SelectedIndex = 15 Then MyChart.Series.Item(Addad).ChartType = SeriesChartType.PointAndFigure
- If ViewCharts.SelectedIndex = 14 Then MyChart.Series.Item(Addad).ChartType = SeriesChartType.Polar
- If ViewCharts.SelectedIndex = 15 Then MyChart.Series.Item(Addad).ChartType = SeriesChartType.Pyramid
- If ViewCharts.SelectedIndex = 16 Then MyChart.Series.Item(Addad).ChartType = SeriesChartType.Radar
- If ViewCharts.SelectedIndex = 17 Then MyChart.Series.Item(Addad).ChartType = SeriesChartType.Range
- If ViewCharts.SelectedIndex = 18 Then MyChart.Series.Item(Addad).ChartType = SeriesChartType.RangeBar
- If ViewCharts.SelectedIndex = 19 Then MyChart.Series.Item(Addad).ChartType = SeriesChartType.RangeColumn
- 'If ViewCharts.SelectedIndex = 22 Then MyChart.Series.Item(Addad).ChartType = SeriesChartType.Renko
- If ViewCharts.SelectedIndex = 20 Then MyChart.Series.Item(Addad).ChartType = SeriesChartType.Spline
- If ViewCharts.SelectedIndex = 21 Then MyChart.Series.Item(Addad).ChartType = SeriesChartType.SplineArea
- If ViewCharts.SelectedIndex = 22 Then MyChart.Series.Item(Addad).ChartType = SeriesChartType.SplineRange
- If ViewCharts.SelectedIndex = 23 Then MyChart.Series.Item(Addad).ChartType = SeriesChartType.StackedArea
- If ViewCharts.SelectedIndex = 24 Then MyChart.Series.Item(Addad).ChartType = SeriesChartType.StackedArea100
- If ViewCharts.SelectedIndex = 25 Then MyChart.Series.Item(Addad).ChartType = SeriesChartType.StackedBar
- If ViewCharts.SelectedIndex = 26 Then MyChart.Series.Item(Addad).ChartType = SeriesChartType.StackedBar100
- If ViewCharts.SelectedIndex = 27 Then MyChart.Series.Item(Addad).ChartType = SeriesChartType.StackedColumn
- If ViewCharts.SelectedIndex = 28 Then MyChart.Series.Item(Addad).ChartType = SeriesChartType.StackedColumn100
- If ViewCharts.SelectedIndex = 29 Then MyChart.Series.Item(Addad).ChartType = SeriesChartType.StepLine
- If ViewCharts.SelectedIndex = 30 Then MyChart.Series.Item(Addad).ChartType = SeriesChartType.Stock
- If ViewCharts.SelectedIndex = 31 Then MyChart.Series.Item(Addad).ChartType = SeriesChartType.ThreeLineBreak
- Next
- 'MyChart.Show()
- End Sub
- Private Sub Refresher_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Refresher.Tick
- If ThreeDCHK.Checked = True Then
- MyChart.ChartAreas.Item(0).Area3DStyle.Enable3D = True
- Else
- MyChart.ChartAreas.Item(0).Area3DStyle.Enable3D = False
- End If
- If ViewCharts.DroppedDown = True Then
- ChartsViewer()
- Else
- Refresher.Interval = 5000
- LoadCharts()
- ChartsViewer()
- End If
- End Sub
- Private Sub CancelBTN_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CancelBTN.Click
- StartUp.CloseTabs()
- End Sub
- Private Sub ViewCharts_DropDown(ByVal sender As Object, ByVal e As System.EventArgs) Handles ViewCharts.DropDown
- Refresher.Interval = 100
- End Sub
- Private Sub ThreeDCHK_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ThreeDCHK.CheckedChanged
- If ThreeDCHK.Checked = True Then
- MyChart.ChartAreas.Item(0).Area3DStyle.Enable3D = True
- Else
- MyChart.ChartAreas.Item(0).Area3DStyle.Enable3D = False
- End If
- End Sub
- Private Sub MyChart_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyChart.Click
- '"بتاريخ #VALX/" & MonthTXT.Text & "/" & YearTXT.Text & " بلغت قيمة المال : #VAL"
- If DateLBL.Text <> "" Then
- StartUp.OpenNewTab(ListSell.GetInstance)
- ListSell.GetInstance.YearTXT.Text = YearTXT.Text
- ListSell.GetInstance.MonthTXT.Text = MonthTXT.Text
- ListSell.GetInstance.DayTXT.Text = DateLBL.Text
- End If
- End Sub
- Private Sub MyChart_GetToolTipText(ByVal sender As Object, ByVal e As System.Windows.Forms.DataVisualization.Charting.ToolTipEventArgs) Handles MyChart.GetToolTipText
- On Error Resume Next
- DateLBL.Text = e.Text.Chars(7) & e.Text.Chars(8)
- TipLBL.Text = e.Text
- If TipLBL.Text.Contains("بتاريخ") = False Then DateLBL.Text = ""
- If DateLBL.Text.Contains("/") = True Then
- DateLBL.Text = DateLBL.Text.Replace("/", "")
- DateLBL.Text = "0" & DateLBL.Text
- End If
- End Sub
- End Class