public virtual void SetUp() { fixture = new Fixture(); fixture.Customize(new AutoNSubstituteCustomization()); // some fake GUIDs UploadTokens.Init( "C14A3DB5-BEE5-4612-9F9C-62972B2C6C83", "72DCCD9B-B71B-4B73-8A06-EC137C44F49E", "161A6F24-66F6-41F9-BC7D-8BA8A949159A", "4AF854D9-647E-4DB0-9219-AD78D64C058D"); }
public UploadTokens UploadTokens2(HttpPostedFileBase file) { //Token tokensVM = new TokensVM(); var transactions = _db.Database.BeginTransaction(); try { string cs = ConfigurationManager.ConnectionStrings["conUploading"].ConnectionString; DataTable dt = new DataTable(); dt.Columns.Add("ID"); dt.Columns.Add("GuestId"); dt.Columns.Add("Token"); dt.Columns.Add("IsUsed"); dt.Columns.Add("TokenStatus"); dt.Columns.Add("DateLocked"); dt.Columns.Add("DateUsed"); dt.Columns.Add("IsLocked"); dt.Columns.Add("ScoresUrl"); dt.Columns.Add("Lang"); dt.Columns.Add("IsArchived"); StreamReader reader = new StreamReader(file.InputStream); string line; int counter = 0; while ((line = reader.ReadLine()) != null) { string[] split = line.Split('\t'); if (split[0] != "") { DataRow dr = dt.NewRow(); dr["GuestId"] = DBNull.Value; dr["Token"] = split[0].ToString(); dr["IsUsed"] = DBNull.Value; dr["TokenStatus"] = DBNull.Value; dr["DateLocked"] = DBNull.Value; dr["DateUsed"] = DBNull.Value; dr["IsLocked"] = DBNull.Value; dr["ScoresUrl"] = DBNull.Value; dr["Lang"] = DBNull.Value; dr["IsArchived"] = DBNull.Value; dt.Rows.Add(dr); } } using (SqlConnection connection = new SqlConnection(cs)) { // make sure to enable triggers // more on triggers in next post SqlBulkCopy bulkCopy = new SqlBulkCopy ( connection, SqlBulkCopyOptions.TableLock | SqlBulkCopyOptions.FireTriggers | SqlBulkCopyOptions.UseInternalTransaction, null ); // set the destination table name bulkCopy.DestinationTableName = "Tokens"; bulkCopy.BatchSize = 10000; connection.Open(); // write the data in the "dataTable" bulkCopy.WriteToServer(dt); connection.Close(); } // reset //dt.Clear(); transactions.Commit(); UploadTokens uploadTokens = new UploadTokens("", true, counter); return(uploadTokens); } catch (Exception ex) { transactions.Rollback(); throw ex; } finally { _db.Dispose(); } }