Ejemplo n.º 1
0
        public void BulkInsert(string compId, DbTransaction transaction, object entities)
        {
            EntityList <WebContribImp> list = entities as EntityList <WebContribImp>;

            if (list == null)
            {
                throw new InvalidValueException("Unable to cast entity list object");
            }

            System.Data.SqlClient.SqlBulkCopy bulkCopy = null;

            if (transaction != null)
            {
                System.Data.SqlClient.SqlConnection  cnx            = transaction.Connection as System.Data.SqlClient.SqlConnection;
                System.Data.SqlClient.SqlTransaction sqltransaction = transaction as System.Data.SqlClient.SqlTransaction;
                bulkCopy = new System.Data.SqlClient.SqlBulkCopy(cnx, System.Data.SqlClient.SqlBulkCopyOptions.CheckConstraints, sqltransaction); //, null);
            }
            else
            {
                bulkCopy = new System.Data.SqlClient.SqlBulkCopy(
                    ConnectionSetting.GetSqlConnection(Core.ApplicationContext.DataConnectionString, compId).ConnectionString, System.Data.SqlClient.SqlBulkCopyOptions.CheckConstraints); //, null);
            }

            bulkCopy.BulkCopyTimeout      = 360;
            bulkCopy.DestinationTableName = "tblArWebContribImp_CSI";

            DataTable  dataTable = new DataTable();
            DataColumn col0      = dataTable.Columns.Add("id", typeof(System.Int64));

            col0.AllowDBNull = false;
            DataColumn col1 = dataTable.Columns.Add("TransId", typeof(System.String));

            col1.AllowDBNull = false;
            DataColumn col2 = dataTable.Columns.Add("PmtDate", typeof(System.DateTime));

            col2.AllowDBNull = true;
            DataColumn col3 = dataTable.Columns.Add("PmtAmt", typeof(System.Decimal));

            col3.AllowDBNull = false;
            DataColumn col4 = dataTable.Columns.Add("CheckNum", typeof(System.String));

            col4.AllowDBNull = true;
            DataColumn col5 = dataTable.Columns.Add("GroupId", typeof(System.String));

            col5.AllowDBNull = true;
            DataColumn col6 = dataTable.Columns.Add("PmtMethodId", typeof(System.String));

            col6.AllowDBNull = true;
            DataColumn col7 = dataTable.Columns.Add("CcHolder", typeof(System.String));

            col7.AllowDBNull = true;
            DataColumn col8 = dataTable.Columns.Add("CcNum", typeof(System.String));

            col8.AllowDBNull = true;
            DataColumn col9 = dataTable.Columns.Add("CcExpire", typeof(System.DateTime));

            col9.AllowDBNull = true;
            DataColumn col10 = dataTable.Columns.Add("CcAuth", typeof(System.String));

            col10.AllowDBNull = true;
            DataColumn col11 = dataTable.Columns.Add("CurrencyID", typeof(System.String));

            col11.AllowDBNull = true;
            DataColumn col12 = dataTable.Columns.Add("ExchRate", typeof(System.Decimal));

            col12.AllowDBNull = false;
            DataColumn col13 = dataTable.Columns.Add("SourceCode", typeof(System.String));

            col13.AllowDBNull = true;
            DataColumn col14 = dataTable.Columns.Add("Area", typeof(System.String));

            col14.AllowDBNull = true;
            DataColumn col15 = dataTable.Columns.Add("CustName", typeof(System.String));

            col15.AllowDBNull = true;
            DataColumn col16 = dataTable.Columns.Add("Addr1", typeof(System.String));

            col16.AllowDBNull = true;
            DataColumn col17 = dataTable.Columns.Add("Addr2", typeof(System.String));

            col17.AllowDBNull = true;
            DataColumn col18 = dataTable.Columns.Add("City", typeof(System.String));

            col18.AllowDBNull = true;
            DataColumn col19 = dataTable.Columns.Add("Region", typeof(System.String));

            col19.AllowDBNull = true;
            DataColumn col20 = dataTable.Columns.Add("Country", typeof(System.String));

            col20.AllowDBNull = true;
            DataColumn col21 = dataTable.Columns.Add("PostalCode", typeof(System.String));

            col21.AllowDBNull = true;
            DataColumn col22 = dataTable.Columns.Add("spAcknowlgmnt", typeof(System.String));

            col22.AllowDBNull = true;
            DataColumn col23 = dataTable.Columns.Add("Lang", typeof(System.String));

            col23.AllowDBNull = true;
            DataColumn col24 = dataTable.Columns.Add("DntSendAcknYN", typeof(System.Boolean));

            col24.AllowDBNull = false;
            DataColumn col25 = dataTable.Columns.Add("RptExchRate", typeof(System.Decimal));

            col25.AllowDBNull = false;
            DataColumn col26 = dataTable.Columns.Add("EmailAddr", typeof(System.String));

            col26.AllowDBNull = true;
            DataColumn col27 = dataTable.Columns.Add("SendEmailYN", typeof(System.Boolean));

            col27.AllowDBNull = false;
            DataColumn col28 = dataTable.Columns.Add("ValidYN", typeof(System.Boolean));

            col28.AllowDBNull = false;
            DataColumn col29 = dataTable.Columns.Add("ImportedYN", typeof(System.Boolean));

            col29.AllowDBNull = false;
            DataColumn col30 = dataTable.Columns.Add("TravRcptHeaderID", typeof(System.Int32));

            col30.AllowDBNull = true;
            DataColumn col31 = dataTable.Columns.Add("WebId", typeof(System.Int64));

            col31.AllowDBNull = false;
            DataColumn col32 = dataTable.Columns.Add("SkipYN", typeof(System.Boolean));

            col32.AllowDBNull = true;
            DataColumn col33 = dataTable.Columns.Add("errdescr", typeof(System.String));

            col33.AllowDBNull = true;
            DataColumn col34 = dataTable.Columns.Add("GroupCountry", typeof(System.String));

            col34.AllowDBNull = true;
            DataColumn col35 = dataTable.Columns.Add("GroupState", typeof(System.String));

            col35.AllowDBNull = true;
            DataColumn col36 = dataTable.Columns.Add("GroupCity", typeof(System.String));

            col36.AllowDBNull = true;
            DataColumn col37 = dataTable.Columns.Add("GroupName", typeof(System.String));

            col37.AllowDBNull = true;
            DataColumn col38 = dataTable.Columns.Add("BillToAddr1", typeof(System.String));

            col38.AllowDBNull = true;
            DataColumn col39 = dataTable.Columns.Add("BillToAddr2", typeof(System.String));

            col39.AllowDBNull = true;
            DataColumn col40 = dataTable.Columns.Add("BillToCity", typeof(System.String));

            col40.AllowDBNull = true;
            DataColumn col41 = dataTable.Columns.Add("BillToRegion", typeof(System.String));

            col41.AllowDBNull = true;
            DataColumn col42 = dataTable.Columns.Add("BillToCountry", typeof(System.String));

            col42.AllowDBNull = true;
            DataColumn col43 = dataTable.Columns.Add("BillToPostalCode", typeof(System.String));

            col43.AllowDBNull = true;
            DataColumn col44 = dataTable.Columns.Add("CF", typeof(System.String));

            col44.AllowDBNull = true;

            bulkCopy.ColumnMappings.Add("id", "id");
            bulkCopy.ColumnMappings.Add("TransId", "TransId");
            bulkCopy.ColumnMappings.Add("PmtDate", "PmtDate");
            bulkCopy.ColumnMappings.Add("PmtAmt", "PmtAmt");
            bulkCopy.ColumnMappings.Add("CheckNum", "CheckNum");
            bulkCopy.ColumnMappings.Add("GroupId", "GroupId");
            bulkCopy.ColumnMappings.Add("PmtMethodId", "PmtMethodId");
            bulkCopy.ColumnMappings.Add("CcHolder", "CcHolder");
            bulkCopy.ColumnMappings.Add("CcNum", "CcNum");
            bulkCopy.ColumnMappings.Add("CcExpire", "CcExpire");
            bulkCopy.ColumnMappings.Add("CcAuth", "CcAuth");
            bulkCopy.ColumnMappings.Add("CurrencyID", "CurrencyID");
            bulkCopy.ColumnMappings.Add("ExchRate", "ExchRate");
            bulkCopy.ColumnMappings.Add("SourceCode", "SourceCode");
            bulkCopy.ColumnMappings.Add("Area", "Area");
            bulkCopy.ColumnMappings.Add("CustName", "CustName");
            bulkCopy.ColumnMappings.Add("Addr1", "Addr1");
            bulkCopy.ColumnMappings.Add("Addr2", "Addr2");
            bulkCopy.ColumnMappings.Add("City", "City");
            bulkCopy.ColumnMappings.Add("Region", "Region");
            bulkCopy.ColumnMappings.Add("Country", "Country");
            bulkCopy.ColumnMappings.Add("PostalCode", "PostalCode");
            bulkCopy.ColumnMappings.Add("spAcknowlgmnt", "spAcknowlgmnt");
            bulkCopy.ColumnMappings.Add("Lang", "Lang");
            bulkCopy.ColumnMappings.Add("DntSendAcknYN", "DntSendAcknYN");
            bulkCopy.ColumnMappings.Add("RptExchRate", "RptExchRate");
            bulkCopy.ColumnMappings.Add("EmailAddr", "EmailAddr");
            bulkCopy.ColumnMappings.Add("SendEmailYN", "SendEmailYN");
            bulkCopy.ColumnMappings.Add("ValidYN", "ValidYN");
            bulkCopy.ColumnMappings.Add("ImportedYN", "ImportedYN");
            bulkCopy.ColumnMappings.Add("TravRcptHeaderID", "TravRcptHeaderID");
            bulkCopy.ColumnMappings.Add("WebId", "WebId");
            bulkCopy.ColumnMappings.Add("SkipYN", "SkipYN");
            bulkCopy.ColumnMappings.Add("errdescr", "errdescr");
            bulkCopy.ColumnMappings.Add("GroupCountry", "GroupCountry");
            bulkCopy.ColumnMappings.Add("GroupState", "GroupState");
            bulkCopy.ColumnMappings.Add("GroupCity", "GroupCity");
            bulkCopy.ColumnMappings.Add("GroupName", "GroupName");
            bulkCopy.ColumnMappings.Add("BillToAddr1", "BillToAddr1");
            bulkCopy.ColumnMappings.Add("BillToAddr2", "BillToAddr2");
            bulkCopy.ColumnMappings.Add("BillToCity", "BillToCity");
            bulkCopy.ColumnMappings.Add("BillToRegion", "BillToRegion");
            bulkCopy.ColumnMappings.Add("BillToCountry", "BillToCountry");
            bulkCopy.ColumnMappings.Add("BillToPostalCode", "BillToPostalCode");
            bulkCopy.ColumnMappings.Add("CF", "CF");

            foreach (WebContribImp entity in list)
            {
                if (entity.EntityState != EntityState.Added)
                {
                    continue;
                }
                DataRow row = dataTable.NewRow();
                row["id"]               = entity.Id;
                row["TransId"]          = entity.TransId;
                row["PmtDate"]          = entity.PmtDate.HasValue ? (object)entity.PmtDate  : System.DBNull.Value;
                row["PmtAmt"]           = entity.PmtAmt;
                row["CheckNum"]         = entity.CheckNum;
                row["GroupId"]          = entity.GroupId;
                row["PmtMethodId"]      = entity.PmtMethodId;
                row["CcHolder"]         = entity.CcHolder;
                row["CcNum"]            = entity.CcNum;
                row["CcExpire"]         = entity.CcExpire.HasValue ? (object)entity.CcExpire  : System.DBNull.Value;
                row["CcAuth"]           = entity.CcAuth;
                row["CurrencyID"]       = entity.CurrencyId;
                row["ExchRate"]         = entity.ExchRate;
                row["SourceCode"]       = entity.SourceCode;
                row["Area"]             = entity.Area;
                row["CustName"]         = entity.CustName;
                row["Addr1"]            = entity.Addr1;
                row["Addr2"]            = entity.Addr2;
                row["City"]             = entity.City;
                row["Region"]           = entity.Region;
                row["Country"]          = entity.Country;
                row["PostalCode"]       = entity.PostalCode;
                row["spAcknowlgmnt"]    = entity.SpAcknowlgmnt;
                row["Lang"]             = entity.Lang;
                row["DntSendAcknYN"]    = entity.DntSendAcknYN;
                row["RptExchRate"]      = entity.RptExchRate;
                row["EmailAddr"]        = entity.EmailAddr;
                row["SendEmailYN"]      = entity.SendEmailYN;
                row["ValidYN"]          = entity.ValidYN;
                row["ImportedYN"]       = entity.ImportedYN;
                row["TravRcptHeaderID"] = entity.TravRcptHeaderId.HasValue ? (object)entity.TravRcptHeaderId  : System.DBNull.Value;
                row["WebId"]            = entity.WebId;
                row["SkipYN"]           = entity.SkipYN.HasValue ? (object)entity.SkipYN  : System.DBNull.Value;
                row["errdescr"]         = entity.Errdescr;
                row["GroupCountry"]     = entity.GroupCountry;
                row["GroupState"]       = entity.GroupState;
                row["GroupCity"]        = entity.GroupCity;
                row["GroupName"]        = entity.GroupName;
                row["BillToAddr1"]      = entity.BillToAddr1;
                row["BillToAddr2"]      = entity.BillToAddr2;
                row["BillToCity"]       = entity.BillToCity;
                row["BillToRegion"]     = entity.BillToRegion;
                row["BillToCountry"]    = entity.BillToCountry;
                row["BillToPostalCode"] = entity.BillToPostalCode;
                row["CF"]               = entity.CF;

                dataTable.Rows.Add(row);
            }

            // send the data to the server
            bulkCopy.WriteToServer(dataTable);
            // update back the state
            foreach (WebContribImp entity in list)
            {
                if (entity.EntityState != EntityState.Added)
                {
                    continue;
                }
                entity.AcceptChanges();
            }
        }
        public void BulkInsert(string compId, DbTransaction transaction, object entities)
        {
            EntityList <PartnerItemXref> list = entities as EntityList <PartnerItemXref>;

            if (list == null)
            {
                throw new InvalidValueException("Unable to cast entity list object");
            }

            System.Data.SqlClient.SqlBulkCopy bulkCopy = null;

            if (transaction != null)
            {
                System.Data.SqlClient.SqlConnection  cnx            = transaction.Connection as System.Data.SqlClient.SqlConnection;
                System.Data.SqlClient.SqlTransaction sqltransaction = transaction as System.Data.SqlClient.SqlTransaction;
                bulkCopy = new System.Data.SqlClient.SqlBulkCopy(cnx, System.Data.SqlClient.SqlBulkCopyOptions.CheckConstraints, sqltransaction); //, null);
            }
            else
            {
                bulkCopy = new System.Data.SqlClient.SqlBulkCopy(
                    ConnectionSetting.GetSqlConnection(Core.ApplicationContext.DataConnectionString, compId).ConnectionString, System.Data.SqlClient.SqlBulkCopyOptions.CheckConstraints); //, null);
            }

            bulkCopy.BulkCopyTimeout      = 360;
            bulkCopy.DestinationTableName = "tblEdPartnerItemXref";

            DataTable  dataTable = new DataTable();
            DataColumn col0      = dataTable.Columns.Add("PartnerId", typeof(System.String));

            col0.AllowDBNull = false;
            DataColumn col1 = dataTable.Columns.Add("TravItemId", typeof(System.String));

            col1.AllowDBNull = false;
            DataColumn col2 = dataTable.Columns.Add("TravUom", typeof(System.String));

            col2.AllowDBNull = false;
            DataColumn col3 = dataTable.Columns.Add("EdiUom", typeof(System.String));

            col3.AllowDBNull = false;
            DataColumn col4 = dataTable.Columns.Add("EAN", typeof(System.String));

            col4.AllowDBNull = true;
            DataColumn col5 = dataTable.Columns.Add("GTIN", typeof(System.String));

            col5.AllowDBNull = true;
            DataColumn col6 = dataTable.Columns.Add("UPC", typeof(System.String));

            col6.AllowDBNull = true;
            DataColumn col7 = dataTable.Columns.Add("SKU", typeof(System.String));

            col7.AllowDBNull = true;
            DataColumn col8 = dataTable.Columns.Add("BuyerCode", typeof(System.String));

            col8.AllowDBNull = true;
            DataColumn col9 = dataTable.Columns.Add("VendorCode", typeof(System.String));

            col9.AllowDBNull = true;
            DataColumn col10 = dataTable.Columns.Add("InternalCode", typeof(System.String));

            col10.AllowDBNull = true;
            DataColumn col11 = dataTable.Columns.Add("InternalCode1", typeof(System.String));

            col11.AllowDBNull = true;
            DataColumn col12 = dataTable.Columns.Add("InternalCode2", typeof(System.String));

            col12.AllowDBNull = true;

            bulkCopy.ColumnMappings.Add("PartnerId", "PartnerId");
            bulkCopy.ColumnMappings.Add("TravItemId", "TravItemId");
            bulkCopy.ColumnMappings.Add("TravUom", "TravUom");
            bulkCopy.ColumnMappings.Add("EdiUom", "EdiUom");
            bulkCopy.ColumnMappings.Add("EAN", "EAN");
            bulkCopy.ColumnMappings.Add("GTIN", "GTIN");
            bulkCopy.ColumnMappings.Add("UPC", "UPC");
            bulkCopy.ColumnMappings.Add("SKU", "SKU");
            bulkCopy.ColumnMappings.Add("BuyerCode", "BuyerCode");
            bulkCopy.ColumnMappings.Add("VendorCode", "VendorCode");
            bulkCopy.ColumnMappings.Add("InternalCode", "InternalCode");
            bulkCopy.ColumnMappings.Add("InternalCode1", "InternalCode1");
            bulkCopy.ColumnMappings.Add("InternalCode2", "InternalCode2");

            foreach (PartnerItemXref entity in list)
            {
                if (entity.EntityState != EntityState.Added)
                {
                    continue;
                }
                DataRow row = dataTable.NewRow();
                row["PartnerId"]     = entity.PartnerId;
                row["TravItemId"]    = entity.TravItemId;
                row["TravUom"]       = entity.TravUom;
                row["EdiUom"]        = entity.EdiUom;
                row["EAN"]           = entity.EAN;
                row["GTIN"]          = entity.GTIN;
                row["UPC"]           = entity.UPC;
                row["SKU"]           = entity.SKU;
                row["BuyerCode"]     = entity.BuyerCode;
                row["VendorCode"]    = entity.VendorCode;
                row["InternalCode"]  = entity.InternalCode;
                row["InternalCode1"] = entity.InternalCode1;
                row["InternalCode2"] = entity.InternalCode2;

                dataTable.Rows.Add(row);
            }

            // send the data to the server
            bulkCopy.WriteToServer(dataTable);
            // update back the state
            foreach (PartnerItemXref entity in list)
            {
                if (entity.EntityState != EntityState.Added)
                {
                    continue;
                }
                entity.AcceptChanges();
            }
        }