using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.Globalization; using System.Linq; using System.Reflection; 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.ExpressApp.Xpo; using DevExpress.Persistent.Base; using DevExpress.Persistent.BaseImpl; using DevExpress.Persistent.Validation; using DevExpress.PivotGrid.Criteria; using DevExpress.Xpo; using MySql.Data.MySqlClient; namespace Nuvolar.Module.BusinessObjects.Migration { // For more typical usage scenarios, be sure to check out https://documentation.devexpress.com/eXpressAppFramework/clsDevExpressExpressAppViewControllertopic.aspx. public partial class Migration_VC : ViewController { public Migration_VC() { InitializeComponent(); // Target required Views (via the TargetXXX properties) and create their Actions. } 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 aMigrateBaseObjects_Execute(object sender, SimpleActionExecuteEventArgs e) { MigrationParameters _MigrationParameters = View.SelectedObjects[0] as MigrationParameters; XPObjectSpace _ocur = View.ObjectSpace as XPObjectSpace; if (_MigrationParameters.SQLType == eSQLType.MSSQL) { //Sync_XPObjectType_MSSQL_MySQL(_ocur); //Sync_HCategory_ChartOfAccounts_MSSQL_MySQL(_ocur); //Sync_ChartOfAccounts_MSSQL_MySQL(_ocur); //Sync_ChartOfAccountsYear_MSSQL_MySQL(_ocur); Sync_HCategory_Controlling_MSSQL_MySQL(_ocur); //Sync_Controlling_MSSQL_MySQL(_ocur); } } private void Sync_XPObjectType_MSSQL_MySQL(XPObjectSpace _ocur) { MakeObjectType(_ocur); MakeObjectType(_ocur); MakeObjectType(_ocur); MakeObjectType(_ocur); MakeObjectType(_ocur); } private void MakeObjectType(XPObjectSpace _ocur) { XPObjectType _XPObjectType = _ocur.FindObject(CriteriaOperator.Parse("TypeName = ?", typeof(T).FullName)); if (_XPObjectType == null) { Assembly a = typeof(T).Assembly; _XPObjectType = _ocur.CreateObject(); _XPObjectType.TypeName = typeof(T).FullName; _XPObjectType.AssemblyName = a.FullName.Split(',')[0]; } _ocur.CommitChanges(); } private int GetObjectTypeOID(XPObjectSpace _ocur) { int _return = -1; XPObjectType _XPObjectType = _ocur.FindObject(CriteriaOperator.Parse("TypeName = ?", typeof(T).FullName)); if (_XPObjectType != null) { _return = _XPObjectType.Oid; } return _return; } private void Sync_HCategory_ChartOfAccounts_MSSQL_MySQL(XPObjectSpace _ocur) { MigrationParameters _MigrationParameters = View.SelectedObjects[0] as MigrationParameters; _ocur.Session.ExecuteNonQuery("SET FOREIGN_KEY_CHECKS=0"); string _ConnectionStringMSSQL = string.Format(" User ID={0}; " + " Password={1};" + " Pooling=false;" + " Data Source={2};" + " Initial Catalog={3}", _MigrationParameters.SQLUser, _MigrationParameters.SQLPassword, _MigrationParameters.SQLServer, _MigrationParameters.SQLDatabase); SqlConnection _SqlConnection = new SqlConnection(_ConnectionStringMSSQL); MySqlConnection _MySqlConnection = new MySqlConnection(Nuvolar.Module.GeneralFunction.GLOBAL_ConnectionString.Replace("XpoProvider=MySql;", "")); _SqlConnection.Open(); _MySqlConnection.Open(); if (_SqlConnection.State == ConnectionState.Open) { int _ObjectType_OID = GetObjectTypeOID(_ocur); string _SQL = " select t1.* " + " from HCategory t1" + " where oid in (select Oid from ChartOfAccounts) and t1.GCRecord is null"; SqlCommand _SqlCommand = new SqlCommand(_SQL, _SqlConnection); SqlDataReader _SqlDataReader = _SqlCommand.ExecuteReader(); if (_SqlDataReader.HasRows) { while (_SqlDataReader.Read()) { string _MySQL = "SELECT count(*) FROM HCategory WHERE Oid=@Oid"; using (MySqlCommand _MySqlCommand = new MySqlCommand() { CommandText = _MySQL, Connection = _MySqlConnection }) { _MySqlCommand.Parameters.Add(new MySqlParameter() { ParameterName = "@Oid", DbType = DbType.Guid, Value = _SqlDataReader["Oid"] }); object _Found = _MySqlCommand.ExecuteScalar(); if (_Found != null) { double _F; IsNumeric(_Found, out _F); if (_F == 0) { _MySQL = " SET FOREIGN_KEY_CHECKS=0;" + " INSERT INTO HCategory (Oid,Parent,Name,ObjectType)" + " SELECT @Oid,@Parent,@Name,@ObjectType;"; using (MySqlCommand _MySqlCommand_Insert = new MySqlCommand() { CommandText = _MySQL, Connection = _MySqlConnection }) { _MySqlCommand_Insert.Parameters.Add(new MySqlParameter() { ParameterName = "@Oid", DbType = DbType.Guid, Value = _SqlDataReader["Oid"] }); _MySqlCommand_Insert.Parameters.Add(new MySqlParameter() { ParameterName = "@Parent", DbType = DbType.Guid, Value = _SqlDataReader["Parent"] }); _MySqlCommand_Insert.Parameters.Add(new MySqlParameter() { ParameterName = "@Name", DbType = DbType.String, Value = _SqlDataReader["Name"] }); _MySqlCommand_Insert.Parameters.Add(new MySqlParameter() { ParameterName = "@ObjectType", DbType = DbType.Int64, Value = _ObjectType_OID }); _MySqlCommand_Insert.ExecuteNonQuery(); } } else // Ha már VAN { _MySQL = " SET FOREIGN_KEY_CHECKS=0;" + " UPDATE HCategory SET Name=@Name," + " Parent=@Parent " + " WHERE Oid=@Oid"; using (MySqlCommand _MySqlCommand_Update = new MySqlCommand() { CommandText = _MySQL, Connection = _MySqlConnection }) { _MySqlCommand_Update.Parameters.Add(new MySqlParameter() { ParameterName = "@Oid", DbType = DbType.Guid, Value = _SqlDataReader["Oid"] }); _MySqlCommand_Update.Parameters.Add(new MySqlParameter() { ParameterName = "@Parent", DbType = DbType.Guid, Value = _SqlDataReader["Parent"] }); _MySqlCommand_Update.Parameters.Add(new MySqlParameter() { ParameterName = "@Name", DbType = DbType.String, Value = _SqlDataReader["Name"] }); _MySqlCommand_Update.ExecuteNonQuery(); } } } } } } } _SqlConnection.Close(); _MySqlConnection.Close(); _ocur.Session.ExecuteNonQuery("SET FOREIGN_KEY_CHECKS=1"); } private void Sync_HCategory_Controlling_MSSQL_MySQL(XPObjectSpace _ocur) { MigrationParameters _MigrationParameters = View.SelectedObjects[0] as MigrationParameters; _ocur.Session.ExecuteNonQuery("SET FOREIGN_KEY_CHECKS=0"); string _ConnectionStringMSSQL = string.Format(" User ID={0}; " + " Password={1};" + " Pooling=false;" + " Data Source={2};" + " Initial Catalog={3}", _MigrationParameters.SQLUser, _MigrationParameters.SQLPassword, _MigrationParameters.SQLServer, _MigrationParameters.SQLDatabase); SqlConnection _SqlConnection = new SqlConnection(_ConnectionStringMSSQL); MySqlConnection _MySqlConnection = new MySqlConnection(Nuvolar.Module.GeneralFunction.GLOBAL_ConnectionString.Replace("XpoProvider=MySql;", "")); _SqlConnection.Open(); _MySqlConnection.Open(); if (_SqlConnection.State == ConnectionState.Open) { int _ObjectType_OID = GetObjectTypeOID(_ocur); string _SQL = " select t1.* " + " from HCategory t1" + " where oid in (select Oid from Controlling) and t1.GCRecord is null"; SqlCommand _SqlCommand = new SqlCommand(_SQL, _SqlConnection); SqlDataReader _SqlDataReader = _SqlCommand.ExecuteReader(); if (_SqlDataReader.HasRows) { while (_SqlDataReader.Read()) { string _MySQL = "SELECT count(*) FROM HCategory WHERE Oid=@Oid"; using (MySqlCommand _MySqlCommand = new MySqlCommand() { CommandText = _MySQL, Connection = _MySqlConnection }) { _MySqlCommand.Parameters.Add(new MySqlParameter() { ParameterName = "@Oid", DbType = DbType.Guid, Value = _SqlDataReader["Oid"] }); object _Found = _MySqlCommand.ExecuteScalar(); if (_Found != null) { double _F; IsNumeric(_Found, out _F); if (_F == 0) { _MySQL = " SET FOREIGN_KEY_CHECKS=0;" + " INSERT INTO HCategory (Oid,Parent,Name,ObjectType)" + " SELECT @Oid,@Parent,@Name,@ObjectType;"; using (MySqlCommand _MySqlCommand_Insert = new MySqlCommand() { CommandText = _MySQL, Connection = _MySqlConnection }) { _MySqlCommand_Insert.Parameters.Add(new MySqlParameter() { ParameterName = "@Oid", DbType = DbType.Guid, Value = _SqlDataReader["Oid"] }); _MySqlCommand_Insert.Parameters.Add(new MySqlParameter() { ParameterName = "@Parent", DbType = DbType.Guid, Value = _SqlDataReader["Parent"] }); _MySqlCommand_Insert.Parameters.Add(new MySqlParameter() { ParameterName = "@Name", DbType = DbType.String, Value = _SqlDataReader["Name"] }); _MySqlCommand_Insert.Parameters.Add(new MySqlParameter() { ParameterName = "@ObjectType", DbType = DbType.Int64, Value = _ObjectType_OID }); _MySqlCommand_Insert.ExecuteNonQuery(); } } else // Ha már VAN { _MySQL = " SET FOREIGN_KEY_CHECKS=0;" + " UPDATE HCategory SET Name=@Name," + " Parent=@Parent " + " WHERE Oid=@Oid"; using (MySqlCommand _MySqlCommand_Update = new MySqlCommand() { CommandText = _MySQL, Connection = _MySqlConnection }) { _MySqlCommand_Update.Parameters.Add(new MySqlParameter() { ParameterName = "@Oid", DbType = DbType.Guid, Value = _SqlDataReader["Oid"] }); _MySqlCommand_Update.Parameters.Add(new MySqlParameter() { ParameterName = "@Parent", DbType = DbType.Guid, Value = _SqlDataReader["Parent"] }); _MySqlCommand_Update.Parameters.Add(new MySqlParameter() { ParameterName = "@Name", DbType = DbType.String, Value = _SqlDataReader["Name"] }); _MySqlCommand_Update.ExecuteNonQuery(); } } } } } } } _SqlConnection.Close(); _MySqlConnection.Close(); _ocur.Session.ExecuteNonQuery("SET FOREIGN_KEY_CHECKS=1"); } private void Sync_ChartOfAccounts_MSSQL_MySQL(XPObjectSpace _ocur) { MigrationParameters _MigrationParameters = View.SelectedObjects[0] as MigrationParameters; _ocur.Session.ExecuteNonQuery("SET FOREIGN_KEY_CHECKS=0"); string _ConnectionStringMSSQL = string.Format(" User ID={0}; " + " Password={1};" + " Pooling=false;" + " Data Source={2};" + " Initial Catalog={3}", _MigrationParameters.SQLUser, _MigrationParameters.SQLPassword, _MigrationParameters.SQLServer, _MigrationParameters.SQLDatabase); SqlConnection _SqlConnection = new SqlConnection(_ConnectionStringMSSQL); MySqlConnection _MySqlConnection = new MySqlConnection(Nuvolar.Module.GeneralFunction.GLOBAL_ConnectionString.Replace("XpoProvider=MySql;", "")); _SqlConnection.Open(); _MySqlConnection.Open(); if (_SqlConnection.State == ConnectionState.Open) { string _SQL = " select t1.* " + " from ChartOfAccounts t1 left join HCategory t2 on" + " t1.Oid=t2.Oid" + " WHERE t2.GCRecord is null"; SqlCommand _SqlCommand = new SqlCommand(_SQL, _SqlConnection); SqlDataReader _SqlDataReader = _SqlCommand.ExecuteReader(); if (_SqlDataReader.HasRows) { while (_SqlDataReader.Read()) { string _MySQL = "SELECT count(*) FROM ChartOfAccounts WHERE Oid=@Oid"; using (MySqlCommand _MySqlCommand = new MySqlCommand() { CommandText = _MySQL, Connection = _MySqlConnection }) { _MySqlCommand.Parameters.Add(new MySqlParameter() { ParameterName = "@Oid", DbType = DbType.Guid, Value = _SqlDataReader["Oid"] }); object _Found = _MySqlCommand.ExecuteScalar(); if (_Found != null) { double _F; IsNumeric(_Found, out _F); if (_F == 0) { _MySQL = " SET FOREIGN_KEY_CHECKS=0;" + " INSERT INTO ChartOfAccounts (Oid,AccountYear,AccountNumber,IsParent,ChartOfAccounts_Parent,ChartOfAccounts1," + " ChartOfAccounts2,ChartOfAccounts3,ChartOfAccounts4,ChartOfAccounts5,ChartOfAccounts6,ChartOfAccounts7,ChartOfAccounts8)" + " SELECT @Oid,@AccountYear,@AccountNumber,@IsParent,@ChartOfAccounts_Parent,@ChartOfAccounts1," + " @ChartOfAccounts2,@ChartOfAccounts3,@ChartOfAccounts4,@ChartOfAccounts5,@ChartOfAccounts6,@ChartOfAccounts7,@ChartOfAccounts8;"; using (MySqlCommand _MySqlCommand_Insert = new MySqlCommand() { CommandText = _MySQL, Connection = _MySqlConnection }) { _MySqlCommand_Insert.Parameters.Add(new MySqlParameter() { ParameterName = "@Oid", DbType = DbType.Guid, Value = _SqlDataReader["Oid"] }); _MySqlCommand_Insert.Parameters.Add(new MySqlParameter() { ParameterName = "@AccountYear", DbType = DbType.Int64, Value = _SqlDataReader["AccountYear"] }); _MySqlCommand_Insert.Parameters.Add(new MySqlParameter() { ParameterName = "@AccountNumber", DbType = DbType.String, Value = _SqlDataReader["AccountNumber"] }); _MySqlCommand_Insert.Parameters.Add(new MySqlParameter() { ParameterName = "@IsParent", DbType = DbType.Boolean, Value = _SqlDataReader["IsParent"] }); _MySqlCommand_Insert.Parameters.Add(new MySqlParameter() { ParameterName = "@ChartOfAccounts_Parent", DbType = DbType.Guid, Value = _SqlDataReader["ChartOfAccounts_Parent"] }); _MySqlCommand_Insert.Parameters.Add(new MySqlParameter() { ParameterName = "@ChartOfAccounts1", DbType = DbType.Guid, Value = _SqlDataReader["ChartOfAccounts1"] }); _MySqlCommand_Insert.Parameters.Add(new MySqlParameter() { ParameterName = "@ChartOfAccounts2", DbType = DbType.Guid, Value = _SqlDataReader["ChartOfAccounts2"] }); _MySqlCommand_Insert.Parameters.Add(new MySqlParameter() { ParameterName = "@ChartOfAccounts3", DbType = DbType.Guid, Value = _SqlDataReader["ChartOfAccounts3"] }); _MySqlCommand_Insert.Parameters.Add(new MySqlParameter() { ParameterName = "@ChartOfAccounts4", DbType = DbType.Guid, Value = _SqlDataReader["ChartOfAccounts4"] }); _MySqlCommand_Insert.Parameters.Add(new MySqlParameter() { ParameterName = "@ChartOfAccounts5", DbType = DbType.Guid, Value = _SqlDataReader["ChartOfAccounts5"] }); _MySqlCommand_Insert.Parameters.Add(new MySqlParameter() { ParameterName = "@ChartOfAccounts6", DbType = DbType.Guid, Value = _SqlDataReader["ChartOfAccounts6"] }); _MySqlCommand_Insert.Parameters.Add(new MySqlParameter() { ParameterName = "@ChartOfAccounts7", DbType = DbType.Guid, Value = _SqlDataReader["ChartOfAccounts7"] }); _MySqlCommand_Insert.Parameters.Add(new MySqlParameter() { ParameterName = "@ChartOfAccounts8", DbType = DbType.Guid, Value = _SqlDataReader["ChartOfAccounts8"] }); _MySqlCommand_Insert.ExecuteNonQuery(); } } else // Ha már VAN { //_MySQL = " SET FOREIGN_KEY_CHECKS=0;" + // " UPDATE HCategory SET Name=@Name," + // " Parent=@Parent " + // " WHERE Oid=@Oid"; //using (MySqlCommand _MySqlCommand_Update = new MySqlCommand() { CommandText = _MySQL, Connection = _MySqlConnection }) //{ // _MySqlCommand_Update.Parameters.Add(new MySqlParameter() { ParameterName = "@Oid", DbType = DbType.Guid, Value = _SqlDataReader["Oid"] }); // _MySqlCommand_Update.Parameters.Add(new MySqlParameter() { ParameterName = "@Parent", DbType = DbType.Guid, Value = _SqlDataReader["Parent"] }); // _MySqlCommand_Update.Parameters.Add(new MySqlParameter() { ParameterName = "@Name", DbType = DbType.String, Value = _SqlDataReader["Name"] }); // _MySqlCommand_Update.ExecuteNonQuery(); //} } } } } } } _SqlConnection.Close(); _MySqlConnection.Close(); _ocur.Session.ExecuteNonQuery("SET FOREIGN_KEY_CHECKS=1"); } private void Sync_ChartOfAccountsYear_MSSQL_MySQL(XPObjectSpace _ocur) { MigrationParameters _MigrationParameters = View.SelectedObjects[0] as MigrationParameters; _ocur.Session.ExecuteNonQuery("SET FOREIGN_KEY_CHECKS=0"); string _ConnectionStringMSSQL = string.Format(" User ID={0}; " + " Password={1};" + " Pooling=false;" + " Data Source={2};" + " Initial Catalog={3}", _MigrationParameters.SQLUser, _MigrationParameters.SQLPassword, _MigrationParameters.SQLServer, _MigrationParameters.SQLDatabase); SqlConnection _SqlConnection = new SqlConnection(_ConnectionStringMSSQL); MySqlConnection _MySqlConnection = new MySqlConnection(Nuvolar.Module.GeneralFunction.GLOBAL_ConnectionString.Replace("XpoProvider=MySql;", "")); _SqlConnection.Open(); _MySqlConnection.Open(); if (_SqlConnection.State == ConnectionState.Open) { string _SQL = " select t1.* " + " from ChartOfAccountsYear t1 " + " WHERE t1.GCRecord is null"; SqlCommand _SqlCommand = new SqlCommand(_SQL, _SqlConnection); SqlDataReader _SqlDataReader = _SqlCommand.ExecuteReader(); if (_SqlDataReader.HasRows) { while (_SqlDataReader.Read()) { string _MySQL = "SELECT count(*) FROM ChartOfAccountsYear WHERE Oid=@Oid"; using (MySqlCommand _MySqlCommand = new MySqlCommand() { CommandText = _MySQL, Connection = _MySqlConnection }) { _MySqlCommand.Parameters.Add(new MySqlParameter() { ParameterName = "@Oid", DbType = DbType.Guid, Value = _SqlDataReader["Oid"] }); object _Found = _MySqlCommand.ExecuteScalar(); if (_Found != null) { double _F; IsNumeric(_Found, out _F); if (_F == 0) { _MySQL = " SET FOREIGN_KEY_CHECKS=0;" + " INSERT INTO ChartOfAccountsYear (Oid,AccountYear,IsClosed)" + " SELECT @Oid,@AccountYear,@IsClosed;"; using (MySqlCommand _MySqlCommand_Insert = new MySqlCommand() { CommandText = _MySQL, Connection = _MySqlConnection }) { _MySqlCommand_Insert.Parameters.Add(new MySqlParameter() { ParameterName = "@Oid", DbType = DbType.Guid, Value = _SqlDataReader["Oid"] }); _MySqlCommand_Insert.Parameters.Add(new MySqlParameter() { ParameterName = "@AccountYear", DbType = DbType.Int64, Value = _SqlDataReader["AccountYear"] }); _MySqlCommand_Insert.Parameters.Add(new MySqlParameter() { ParameterName = "@IsClosed", DbType = DbType.Boolean, Value = _SqlDataReader["IsClosed"] }); _MySqlCommand_Insert.ExecuteNonQuery(); } } else // Ha már VAN { //_MySQL = " SET FOREIGN_KEY_CHECKS=0;" + // " UPDATE HCategory SET Name=@Name," + // " Parent=@Parent " + // " WHERE Oid=@Oid"; //using (MySqlCommand _MySqlCommand_Update = new MySqlCommand() { CommandText = _MySQL, Connection = _MySqlConnection }) //{ // _MySqlCommand_Update.Parameters.Add(new MySqlParameter() { ParameterName = "@Oid", DbType = DbType.Guid, Value = _SqlDataReader["Oid"] }); // _MySqlCommand_Update.Parameters.Add(new MySqlParameter() { ParameterName = "@Parent", DbType = DbType.Guid, Value = _SqlDataReader["Parent"] }); // _MySqlCommand_Update.Parameters.Add(new MySqlParameter() { ParameterName = "@Name", DbType = DbType.String, Value = _SqlDataReader["Name"] }); // _MySqlCommand_Update.ExecuteNonQuery(); //} } } } } } } _SqlConnection.Close(); _MySqlConnection.Close(); _ocur.Session.ExecuteNonQuery("SET FOREIGN_KEY_CHECKS=1"); } private void Sync_Controlling_MSSQL_MySQL(XPObjectSpace _ocur) { MigrationParameters _MigrationParameters = View.SelectedObjects[0] as MigrationParameters; _ocur.Session.ExecuteNonQuery("SET FOREIGN_KEY_CHECKS=0"); string _ConnectionStringMSSQL = string.Format(" User ID={0}; " + " Password={1};" + " Pooling=false;" + " Data Source={2};" + " Initial Catalog={3}", _MigrationParameters.SQLUser, _MigrationParameters.SQLPassword, _MigrationParameters.SQLServer, _MigrationParameters.SQLDatabase); SqlConnection _SqlConnection = new SqlConnection(_ConnectionStringMSSQL); MySqlConnection _MySqlConnection = new MySqlConnection(Nuvolar.Module.GeneralFunction.GLOBAL_ConnectionString.Replace("XpoProvider=MySql;", "")); _SqlConnection.Open(); _MySqlConnection.Open(); if (_SqlConnection.State == ConnectionState.Open) { string _SQL = " select t1.* " + " from Controlling t1 left join HCategory t2 on" + " t1.Oid=t2.Oid" + " WHERE t2.GCRecord is null"; SqlCommand _SqlCommand = new SqlCommand(_SQL, _SqlConnection); SqlDataReader _SqlDataReader = _SqlCommand.ExecuteReader(); if (_SqlDataReader.HasRows) { while (_SqlDataReader.Read()) { string _MySQL = "SELECT count(*) FROM Controlling WHERE Oid=@Oid"; using (MySqlCommand _MySqlCommand = new MySqlCommand() { CommandText = _MySQL, Connection = _MySqlConnection }) { _MySqlCommand.Parameters.Add(new MySqlParameter() { ParameterName = "@Oid", DbType = DbType.Guid, Value = _SqlDataReader["Oid"] }); object _Found = _MySqlCommand.ExecuteScalar(); if (_Found != null) { double _F; IsNumeric(_Found, out _F); if (_F == 0) { _MySQL = " SET FOREIGN_KEY_CHECKS=0;" + " INSERT INTO Controlling (Oid,IsActive,IsCOCRequired,COCAboveAmount," + " IsParent,Controllingdirection,IsReinvoiceReason,ReinvoiceDescription,TechnicalContractLimit," + " Controlling1,Controlling2,Controlling3,Controlling4,Controlling5,IsAdvancePayment," + " IsEstateStatistics,RequireCars,RequireHRPerson,RequirePhones)" + " SELECT @Oid,@IsActive,@IsCOCRequired,@COCAboveAmount," + " @IsParent,@Controllingdirection,@IsReinvoiceReason,@ReinvoiceDescription,@TechnicalContractLimit," + " @Controlling1,@Controlling2,@Controlling3,@Controlling4,@Controlling5,@IsAdnavcePayment," + " @IsEstateStatistics,@RequireCars,@RequireHRPerson,@RequirePhones;"; using (MySqlCommand _MySqlCommand_Insert = new MySqlCommand() { CommandText = _MySQL, Connection = _MySqlConnection }) { _MySqlCommand_Insert.Parameters.Add(new MySqlParameter() { ParameterName = "@Oid", DbType = DbType.Guid, Value = _SqlDataReader["Oid"] }); _MySqlCommand_Insert.Parameters.Add(new MySqlParameter() { ParameterName = "@IsCOCRequired", DbType = DbType.Boolean, Value = _SqlDataReader["IsCOCRequired"] }); _MySqlCommand_Insert.Parameters.Add(new MySqlParameter() { ParameterName = "@IsParent", DbType = DbType.Boolean, Value = _SqlDataReader["IsParent"] }); _MySqlCommand_Insert.Parameters.Add(new MySqlParameter() { ParameterName = "@IsActive", DbType = DbType.Boolean, Value = true }); _MySqlCommand_Insert.Parameters.Add(new MySqlParameter() { ParameterName = "@IsReinvoiceReason", DbType = DbType.Boolean, Value = _SqlDataReader["IsReinvoiceReason"] }); _MySqlCommand_Insert.Parameters.Add(new MySqlParameter() { ParameterName = "@IsAdvancePayment", DbType = DbType.Boolean, Value = _SqlDataReader["IsAdvancePayment"] }); _MySqlCommand_Insert.Parameters.Add(new MySqlParameter() { ParameterName = "@IsEstateStatistics", DbType = DbType.Boolean, Value = _SqlDataReader["IsEstateStatistics"] }); _MySqlCommand_Insert.Parameters.Add(new MySqlParameter() { ParameterName = "@RequireCars", DbType = DbType.Boolean, Value = _SqlDataReader["RequireCars"] }); _MySqlCommand_Insert.Parameters.Add(new MySqlParameter() { ParameterName = "@RequireHRPerson", DbType = DbType.Boolean, Value = _SqlDataReader["RequireHRPerson"] }); _MySqlCommand_Insert.Parameters.Add(new MySqlParameter() { ParameterName = "@RequirePhones", DbType = DbType.Boolean, Value = _SqlDataReader["RequirePhones"] }); _MySqlCommand_Insert.Parameters.Add(new MySqlParameter() { ParameterName = "@COCAboveAmount", DbType = DbType.Double, Value = _SqlDataReader["COCAboveAmount"] }); _MySqlCommand_Insert.Parameters.Add(new MySqlParameter() { ParameterName = "@Controllingdirection", DbType = DbType.Int64, Value = _SqlDataReader["Controllingdirection"] }); _MySqlCommand_Insert.Parameters.Add(new MySqlParameter() { ParameterName = "@ReinvoiceDescription", DbType = DbType.String, Value = _SqlDataReader["ReinvoiceDescription"] }); _MySqlCommand_Insert.Parameters.Add(new MySqlParameter() { ParameterName = "@TechnicalContractLimit", DbType = DbType.Double, Value = _SqlDataReader["TechnicalContractLimit"] }); for (int i = 1; i < 6; i++) { _MySqlCommand_Insert.Parameters.Add(new MySqlParameter() { ParameterName = "@Controlling" + i, DbType = DbType.Guid, Value = _SqlDataReader["Controlling" + i] }); } _MySqlCommand_Insert.ExecuteNonQuery(); } } else // Ha már VAN { //_MySQL = " SET FOREIGN_KEY_CHECKS=0;" + // " UPDATE HCategory SET Name=@Name," + // " Parent=@Parent " + // " WHERE Oid=@Oid"; //using (MySqlCommand _MySqlCommand_Update = new MySqlCommand() { CommandText = _MySQL, Connection = _MySqlConnection }) //{ // _MySqlCommand_Update.Parameters.Add(new MySqlParameter() { ParameterName = "@Oid", DbType = DbType.Guid, Value = _SqlDataReader["Oid"] }); // _MySqlCommand_Update.Parameters.Add(new MySqlParameter() { ParameterName = "@Parent", DbType = DbType.Guid, Value = _SqlDataReader["Parent"] }); // _MySqlCommand_Update.Parameters.Add(new MySqlParameter() { ParameterName = "@Name", DbType = DbType.String, Value = _SqlDataReader["Name"] }); // _MySqlCommand_Update.ExecuteNonQuery(); //} } } } } } } _SqlConnection.Close(); _MySqlConnection.Close(); _ocur.Session.ExecuteNonQuery("SET FOREIGN_KEY_CHECKS=1"); } private bool IsNumeric(object Expression, out double retNum) { bool isNum = Double.TryParse(Convert.ToString(Expression), NumberStyles.Any, NumberFormatInfo.InvariantInfo, out retNum); return isNum; } } }