First create solution

This commit is contained in:
2017-03-08 11:21:27 +01:00
commit a2fb86bacf
5508 changed files with 1082238 additions and 0 deletions
@@ -0,0 +1,381 @@
Imports System
Imports System.ComponentModel
Imports System.Collections.Generic
Imports System.Diagnostics
Imports System.Text
Imports DevExpress.ExpressApp
Imports DevExpress.ExpressApp.Actions
Imports DevExpress.Persistent.Base
Imports FarPoint.Win.Spread
Imports DevExpress.ExpressApp.SystemModule
Imports DevExpress.ExpressApp.CloneObject
Imports System.IO
Imports DevExpress.ExpressApp.Editors
Imports DevExpress.Persistent.BaseImpl
Imports DevExpress.Xpo
Imports DevExpress.Data.Filtering
Public Class InventoryVC
Inherits Nuvolar.Module.InventoryVC
Private _FpSpread As FpSpread
Dim _WaitFormClass As New WaitFormClass
Public Sub New()
MyBase.New()
InitializeComponent()
RegisterActions(components)
End Sub
Protected Overrides Sub OnActivated()
MyBase.OnActivated()
AddHandler DoWork, AddressOf _WaitFormClass.DoWork
AddHandler InitWork, AddressOf _WaitFormClass.Initwork
AddHandler FinalWork, AddressOf _WaitFormClass.Finalwork
If View.Id = "InventoryHeader_DetailView" Then
Frame.GetController(Of NewObjectViewController).Active.SetItemValue("", False)
Frame.GetController(Of CloneObjectViewController).Active.SetItemValue("", False)
Frame.GetController(Of DeleteObjectsViewController).Active.SetItemValue("", False)
AddHandler Frame.GetController(Of ModificationsController)().SaveAction.Executing, AddressOf InventoryHeader_DetailView_SaveAction_Executing
AddHandler Frame.GetController(Of ModificationsController)().SaveAndCloseAction.Executing, AddressOf InventoryHeader_DetailView_SaveAction_Executing
AddHandler Frame.GetController(Of ModificationsController)().SaveAndNewAction.Executing, AddressOf InventoryHeader_DetailView_SaveAction_Executing
Dim _InventoryHeader As InventoryHeader = TryCast(View.SelectedObjects(0), InventoryHeader)
AddHandler _InventoryHeader.Changed, AddressOf InventoryHeader_DetailView_SetWorksheetTemplateXLS_Changed
End If
If View.Id = "InventoryParameters_DetailView" Then
AddHandler Frame.GetController(Of ModificationsController)().SaveAction.Executing, AddressOf InventoryHeader_DetailView_SaveAction_Executing
AddHandler Frame.GetController(Of ModificationsController)().SaveAndCloseAction.Executing, AddressOf InventoryHeader_DetailView_SaveAction_Executing
AddHandler Frame.GetController(Of ModificationsController)().SaveAndNewAction.Executing, AddressOf InventoryHeader_DetailView_SaveAction_Executing
End If
End Sub
Protected Overrides Sub OnDeactivated()
MyBase.OnDeactivated()
RemoveHandler DoWork, AddressOf _WaitFormClass.DoWork
RemoveHandler InitWork, AddressOf _WaitFormClass.Initwork
RemoveHandler FinalWork, AddressOf _WaitFormClass.Finalwork
If View.Id = "InventoryHeader_DetailView" Then
Frame.GetController(Of NewObjectViewController).Active.SetItemValue("", True)
Frame.GetController(Of CloneObjectViewController).Active.SetItemValue("", True)
Frame.GetController(Of DeleteObjectsViewController).Active.SetItemValue("", True)
RemoveHandler Frame.GetController(Of ModificationsController)().SaveAction.Executing, AddressOf InventoryHeader_DetailView_SaveAction_Executing
RemoveHandler Frame.GetController(Of ModificationsController)().SaveAndCloseAction.Executing, AddressOf InventoryHeader_DetailView_SaveAction_Executing
RemoveHandler Frame.GetController(Of ModificationsController)().SaveAndNewAction.Executing, AddressOf InventoryHeader_DetailView_SaveAction_Executing
End If
If View.Id = "InventoryParameters_DetailView" Then
RemoveHandler Frame.GetController(Of ModificationsController)().SaveAction.Executing, AddressOf InventoryHeader_DetailView_SaveAction_Executing
RemoveHandler Frame.GetController(Of ModificationsController)().SaveAndCloseAction.Executing, AddressOf InventoryHeader_DetailView_SaveAction_Executing
RemoveHandler Frame.GetController(Of ModificationsController)().SaveAndNewAction.Executing, AddressOf InventoryHeader_DetailView_SaveAction_Executing
End If
End Sub
Protected Overrides Sub OnViewControlsCreated()
MyBase.OnViewControlsCreated()
If View.Id = "InventoryHeader_DetailView" Or View.Id = "InventoryParameters_DetailView" Then
Dim _DetailView As DetailView = TryCast(View, DetailView)
Dim _ExcelControlViewItem As ViewItem
If _DetailView IsNot Nothing Then
If _DetailView.GetItems(Of ExcelPropertyEditor).Count > 0 Then
_ExcelControlViewItem = _DetailView.GetItems(Of ExcelPropertyEditor)(0)
If _ExcelControlViewItem IsNot Nothing Then
AddHandler _ExcelControlViewItem.ControlCreated, AddressOf ExcelControlViewItem_ControlCreated
End If
End If
End If
End If
End Sub
Private Sub InventoryHeader_DetailView_SaveAction_Executing(sender As Object, e As CancelEventArgs)
Dim _FileName As String = Path.GetTempPath & "InSpread.xml"
Dim _StreamFile As New FileStream(_FileName, FileMode.Create)
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
If View.Id = "InventoryHeader_DetailView" Then
Dim _InventoryHeader As InventoryHeader = TryCast(View.SelectedObjects(0), InventoryHeader)
If _InventoryHeader IsNot Nothing Then
If _FpSpread IsNot Nothing Then
If Not String.IsNullOrEmpty(_InventoryHeader.DocumentNumber) Then
_FpSpread.Save(_StreamFile, False)
_StreamFile.Close()
Dim _StreamFile2 As New FileStream(_FileName, FileMode.Open)
_InventoryHeader.ExcelFile = New FileData(_ocur.Session)
_InventoryHeader.ExcelFile.LoadFromStream("Excel worksheet.xls", _StreamFile2)
_InventoryHeader.Save()
_StreamFile2.Close()
End If
End If
End If
End If
If View.Id = "InventoryParameters_DetailView" Then
Dim _InventoryParameters As InventoryParameters = TryCast(View.SelectedObjects(0), InventoryParameters)
If _InventoryParameters IsNot Nothing Then
If _FpSpread IsNot Nothing Then
_FpSpread.Save(_StreamFile, False)
_StreamFile.Close()
Dim _StreamFile2 As New FileStream(_FileName, FileMode.Open)
_InventoryParameters.ExcelFile = New FileData(_ocur.Session)
_InventoryParameters.ExcelFile.LoadFromStream("Excel worksheet.xls", _StreamFile2)
_InventoryParameters.Save()
_StreamFile2.Close()
End If
End If
End If
End Sub
Private Sub ExcelControlViewItem_ControlCreated(sender As Object, e As EventArgs)
Dim itemControl As Object = (CType(sender, ViewItem)).Control
_FpSpread = TryCast(itemControl, ExcelUserControl).FpSpreadControl
Dim _FileName As String = Path.GetTempPath & "OutSpread.xml"
Dim _StreamFile As New FileStream(_FileName, FileMode.Create)
If View.Id = "InventoryHeader_DetailView" Then
Dim _InventoryHeader As InventoryHeader = TryCast(View.SelectedObjects(0), InventoryHeader)
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
If Not _ocur.Session.IsNewObject(_InventoryHeader) Then
If _InventoryHeader IsNot Nothing Then
If _InventoryHeader.ExcelFile IsNot Nothing Then
_InventoryHeader.ExcelFile.SaveToStream(_StreamFile)
_StreamFile.Close()
_FpSpread.Open(_FileName)
End If
End If
End If
End If
If View.Id = "InventoryParameters_DetailView" Then
Dim _InventoryParameters As InventoryParameters = TryCast(View.SelectedObjects(0), InventoryParameters)
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
If Not _ocur.Session.IsNewObject(_InventoryParameters) Then
If _InventoryParameters IsNot Nothing Then
If _InventoryParameters.ExcelFile IsNot Nothing Then
_InventoryParameters.ExcelFile.SaveToStream(_StreamFile)
_StreamFile.Close()
_FpSpread.Open(_FileName)
End If
End If
End If
End If
End Sub
Private Sub InventoryHeader_DetailView_SetWorksheetTemplateXLS_Changed(sender As Object, e As DevExpress.Xpo.ObjectChangeEventArgs)
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _InventoryHeader As InventoryHeader = TryCast(View.SelectedObjects(0), InventoryHeader)
If _InventoryHeader.ExcelFile Is Nothing Then
If _InventoryHeader.InventoryParameters.ExcelFile IsNot Nothing Then
_InventoryHeader.ExcelFile = _InventoryHeader.InventoryParameters.ExcelFile
If _InventoryHeader.ExcelFile IsNot Nothing Then
Dim _FileName As String = Path.GetTempPath & "Temp.xls"
Dim _StreamFile As FileStream = Nothing
_StreamFile = File.Create(_FileName)
_InventoryHeader.ExcelFile.SaveToStream(_StreamFile)
If TryCast(View, DetailView).GetItems(Of ExcelPropertyEditor)(0).ExcelUserControl IsNot Nothing Then
_FpSpread = TryCast(View, DetailView).GetItems(Of ExcelPropertyEditor)(0).ExcelUserControl.FpSpreadControl
_StreamFile.Close()
_FpSpread.OpenExcel(_FileName)
End If
End If
End If
End If
End Sub
Private Sub aInventoryParameters_CreateProductsListInSpread_Execute(sender As Object, e As SimpleActionExecuteEventArgs) Handles aInventoryParameters_CreateProductsListInSpread.Execute
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _Products_Collection As New XPCollection(Of Products)(_ocur.Session, CriteriaOperator.Parse("DangerClass<>0"))
_Products_Collection.Sorting.Add(New SortProperty("ShortName", DB.SortingDirection.Ascending))
If _FpSpread IsNot Nothing Then
_FpSpread.Reset()
_FpSpread.ActiveSheet.ColumnCount = 11
_FpSpread.ActiveSheet.RowCount = 4 + _Products_Collection.Count
_FpSpread.AllowDragFill = True
_FpSpread.AllowColumnMove = True
_FpSpread.AllowRowMove = True
LoadXLSHeader()
_FpSpread.ActiveSheet.Columns(1).AllowAutoFilter = True
'_FpSpread.ActiveSheet.GroupBarInfo.Visible = True
'_FpSpread.ActiveSheet.AllowGroup = True
Dim _RowIndex As Integer = 4 '5. sor
For Each _Products As Products In _Products_Collection
_FpSpread.ActiveSheet.Cells(_RowIndex, 0).Text = _Products.Oid.ToString
_FpSpread.ActiveSheet.Cells(_RowIndex, 1).Text = _Products.ShortName.Replace(vbNewLine, " ")
_RowIndex += 1
Next
_FpSpread.Refresh()
End If
End Sub
Private Sub LoadXLSHeader()
_FpSpread.ActiveSheet.AddSpanCell(0, 0, 1, 11)
With _FpSpread.ActiveSheet.Cells(0, 0)
.Text = "A/2 adatlap: ÜZEMADATOK-VESZÉLYES ANYAGOK"
.HorizontalAlignment = CellHorizontalAlignment.Center
.VerticalAlignment = CellVerticalAlignment.Center
End With
_FpSpread.ActiveSheet.AddSpanCell(1, 0, 2, 1)
With _FpSpread.ActiveSheet.Cells(1, 0)
.Text = "Termék OID"
.HorizontalAlignment = CellHorizontalAlignment.Center
.VerticalAlignment = CellVerticalAlignment.Justify
.Row.Height = 40
End With
_FpSpread.ActiveSheet.AddSpanCell(1, 1, 2, 1)
With _FpSpread.ActiveSheet.Cells(1, 1)
.Text = "A nem nevesített veszélyes anyag megnevezése (az 1. melléklet 2. táblázat alapján)"
.HorizontalAlignment = CellHorizontalAlignment.Center
.VerticalAlignment = CellVerticalAlignment.Justify
End With
_FpSpread.ActiveSheet.AddSpanCell(1, 2, 1, 4)
With _FpSpread.ActiveSheet.Cells(1, 2)
.Text = "Nemzetközileg elfogadott egyértelmû azonosítása (CAS-szám, szükség szerint IUPAC név, kereskedelmi megnevezés, empirikus formula)"
.HorizontalAlignment = CellHorizontalAlignment.Center
.VerticalAlignment = CellVerticalAlignment.Justify
End With
_FpSpread.ActiveSheet.AddSpanCell(1, 6, 1, 3)
With _FpSpread.ActiveSheet.Cells(1, 6)
.Text = "A veszélyes anyag 1. melléklet 2. táblázat 1. oszlopa szerinti veszélyességi osztályba sorolása az R mondatok és az ADR szerinti osztályozás feltüntetésével"
.HorizontalAlignment = CellHorizontalAlignment.Center
.VerticalAlignment = CellVerticalAlignment.Justify
End With
_FpSpread.ActiveSheet.AddSpanCell(1, 9, 2, 1)
With _FpSpread.ActiveSheet.Cells(1, 9)
.Text = "Jelen lévõ maximális mennyisége (tonna)"
.HorizontalAlignment = CellHorizontalAlignment.Center
.VerticalAlignment = CellVerticalAlignment.Justify
End With
_FpSpread.ActiveSheet.AddSpanCell(1, 10, 2, 1)
With _FpSpread.ActiveSheet.Cells(1, 10)
.Text = "A besorolásnál figyelembe vett küszöbmennyiség (tonna)"
.HorizontalAlignment = CellHorizontalAlignment.Center
.VerticalAlignment = CellVerticalAlignment.Justify
End With
With _FpSpread.ActiveSheet.Cells(2, 2)
.Text = "CAS szám"
.HorizontalAlignment = CellHorizontalAlignment.Center
.VerticalAlignment = CellVerticalAlignment.Justify
.Row.Height = 40
End With
With _FpSpread.ActiveSheet.Cells(2, 3)
.Text = "IUPAC név"
.HorizontalAlignment = CellHorizontalAlignment.Center
.VerticalAlignment = CellVerticalAlignment.Justify
End With
With _FpSpread.ActiveSheet.Cells(2, 4)
.Text = "kereskedelmi megnevezés"
.HorizontalAlignment = CellHorizontalAlignment.Center
.VerticalAlignment = CellVerticalAlignment.Justify
End With
With _FpSpread.ActiveSheet.Cells(2, 5)
.Text = "empirikus formula"
.HorizontalAlignment = CellHorizontalAlignment.Center
.VerticalAlignment = CellVerticalAlignment.Justify
End With
With _FpSpread.ActiveSheet.Cells(2, 6)
.Text = "R mondatok"
.HorizontalAlignment = CellHorizontalAlignment.Center
.VerticalAlignment = CellVerticalAlignment.Justify
End With
With _FpSpread.ActiveSheet.Cells(2, 7)
.Text = "ADR osztály"
.HorizontalAlignment = CellHorizontalAlignment.Center
.VerticalAlignment = CellVerticalAlignment.Justify
End With
With _FpSpread.ActiveSheet.Cells(2, 8)
.Text = "Az 1. melléklet 2. táblázat 1. oszlopa szerinti osztályba sorolás"
.HorizontalAlignment = CellHorizontalAlignment.Center
.VerticalAlignment = CellVerticalAlignment.Justify
End With
For ik = 0 To 5
With _FpSpread.ActiveSheet.Cells(3, ik)
.Text = ik.ToString + "."
.HorizontalAlignment = CellHorizontalAlignment.Center
.VerticalAlignment = CellVerticalAlignment.Center
End With
Next
For ik = 9 To 10
With _FpSpread.ActiveSheet.Cells(3, ik)
.Text = (ik - 2).ToString + "."
.HorizontalAlignment = CellHorizontalAlignment.Center
.VerticalAlignment = CellVerticalAlignment.Center
End With
Next
_FpSpread.ActiveSheet.AddSpanCell(3, 6, 1, 3)
With _FpSpread.ActiveSheet.Cells(3, 6)
.Text = "6."
.HorizontalAlignment = CellHorizontalAlignment.Center
.VerticalAlignment = CellVerticalAlignment.Center
End With
End Sub
Private Sub aInventoryHeader_LoadSpreadFromParameters_Execute_1(sender As Object, e As SimpleActionExecuteEventArgs) Handles aInventoryHeader_LoadSpreadFromParameters.Execute
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _InventoryHeader As InventoryHeader = TryCast(View.SelectedObjects(0), InventoryHeader)
If _InventoryHeader IsNot Nothing Then
If _InventoryHeader.InventoryParameters IsNot Nothing Then
If _InventoryHeader.InventoryParameters.ExcelFile IsNot Nothing Then
_InventoryHeader.ExcelFile = _InventoryHeader.InventoryParameters.ExcelFile
End If
End If
End If
_ocur.CommitChanges()
Dim _FileName As String = Path.GetTempPath & "InSpread.xls"
Dim _StreamFile As New FileStream(_FileName, FileMode.Create)
_InventoryHeader.ExcelFile.SaveToStream(_StreamFile)
_StreamFile.Close()
_FpSpread.Open(_FileName)
_FpSpread.Refresh()
End Sub
Private Sub aInventoryHeader_UpdateInventorySpread_Execute(sender As Object, e As SimpleActionExecuteEventArgs) Handles aInventoryHeader_UpdateInventorySpread.Execute
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _InventoryHeader As InventoryHeader = TryCast(View.SelectedObjects(0), InventoryHeader)
If _FpSpread IsNot Nothing Then
_WaitFormClass.Initwork(1, 1, _FpSpread.ActiveSheet.RowCount - 1)
For ik = 4 To _FpSpread.ActiveSheet.RowCount - 1
_WaitFormClass.DoWork()
Dim _InventorySC As InventorySC = _ocur.FindObject(Of InventorySC)(CriteriaOperator.Parse("InventoryHeader=? AND Products.Oid=?", _InventoryHeader, _FpSpread.ActiveSheet.Cells(ik, 0).Text))
If _InventorySC IsNot Nothing Then
Select Case UCase(_InventorySC.Products.Units.ShortName)
Case "KG"
_FpSpread.ActiveSheet.Cells(ik, 9).Value = Format(_InventorySC.QTT / 1000, "#,##0.0000")
Case "T"
_FpSpread.ActiveSheet.Cells(ik, 9).Value = Format(_InventorySC.QTT, "#,##0.0000")
Case "L", "I"
_FpSpread.ActiveSheet.Cells(ik, 9).Value = Format(_InventorySC.QTT / 1000, "#,##0.0000")
Case Else
_FpSpread.ActiveSheet.Cells(ik, 9).Value = Format(0, "#,##0.0000")
End Select
End If
Next
_FpSpread.Refresh()
_Waitformclass.FinalWork()
End If
End Sub
End Class