Files
2017-12-27 19:23:10 +01:00

106 lines
4.0 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using DevExpress.Data.Filtering;
using DevExpress.ExpressApp;
using DevExpress.ExpressApp.Actions;
using DevExpress.ExpressApp.Editors;
using DevExpress.ExpressApp.Layout;
using DevExpress.ExpressApp.Model.NodeGenerators;
using DevExpress.ExpressApp.SystemModule;
using DevExpress.ExpressApp.Templates;
using DevExpress.ExpressApp.Utils;
using DevExpress.Persistent.Base;
using DevExpress.Persistent.Validation;
using DevExpress.Xpo;
using Microsoft.VisualBasic.FileIO;
using System.IO;
using System.Reflection;
using System.Windows.Forms;
using static System.Windows.Forms.VisualStyles.VisualStyleElement;
using DevExpress.ExpressApp.Xpo;
namespace Nuvolar.Module.Win.CSharp.Controllers
{
// For more typical usage scenarios, be sure to check out https://documentation.devexpress.com/eXpressAppFramework/clsDevExpressExpressAppViewControllertopic.aspx.
public partial class GIROInfo_VC : ViewController
{
public GIROInfo_VC()
{
InitializeComponent();
// Target required Views (via the TargetXXX properties) and create their Actions.
this.aGIROInfo_ImportCSV.TargetObjectType = typeof(GIROInfo);
this.aGIROInfo_ImportCSV.TargetViewType = ViewType.ListView;
}
protected override void OnActivated()
{
base.OnActivated();
// Perform various tasks depending on the target View.
}
protected override void OnViewControlsCreated()
{
base.OnViewControlsCreated();
// Access and customize the target View control.
}
protected override void OnDeactivated()
{
// Unsubscribe from previously subscribed events and release other references and resources.
base.OnDeactivated();
}
private void aGIROInfo_ImportCSV_Execute(object sender, SimpleActionExecuteEventArgs e)
{
XPObjectSpace _onew = Application.CreateObjectSpace() as XPObjectSpace;
OpenFileDialog _OpenFileDialog = new OpenFileDialog();
Nuvolar.Module.Win.WaitFormClass _WaitFormClass = new WaitFormClass();
_OpenFileDialog.Filter = "csv Files (*.csv)|*.csv";
_OpenFileDialog.FilterIndex = 1;
if (_OpenFileDialog.ShowDialog() == DialogResult.OK && (!String.IsNullOrEmpty(_OpenFileDialog.FileName)))
{
StreamReader _textStreamReader = new StreamReader(_OpenFileDialog.FileName,Encoding.UTF8);
string _StrBuffer;
_StrBuffer = _textStreamReader.ReadToEnd();
using (TextFieldParser parser = new TextFieldParser(new StringReader(_StrBuffer)))
{
parser.TextFieldType = Microsoft.VisualBasic.FileIO.FieldType.Delimited;
parser.SetDelimiters(";");
_WaitFormClass.Initwork(1, 1, 4840);
while (!parser.EndOfData)
{
try
{
string[] columns = parser.ReadFields();
GIROInfo _GIROInfo = _onew.FindObject<GIROInfo>(CriteriaOperator.Parse("GIROID=?",columns[0]));
if (_GIROInfo == null)
{
_GIROInfo = _onew.CreateObject<GIROInfo>();
}
_GIROInfo.GIROID = columns[0];
_GIROInfo.ShortName = columns[2];
_GIROInfo.Address = columns[3];
_onew.CommitChanges();
_WaitFormClass.DoWork();
}
catch (Exception)
{
throw;
_WaitFormClass.FinalWork();
}
}
_WaitFormClass.FinalWork();
}
}
}
}
}