// PUT: api/Guests/5 //[ResponseType(typeof(void))] //public IHttpActionResult PutGuest(long id, Guest guest) //{ // if (!ModelState.IsValid) // { // return BadRequest(ModelState); // } // if (id != guest.ID) // { // return BadRequest(); // } // db.Entry(guest).State = EntityState.Modified; // try // { // db.SaveChanges(); // } // catch (DbUpdateConcurrencyException) // { // if (!GuestExists(id)) // { // return NotFound(); // } // else // { // throw; // } // } // return StatusCode(HttpStatusCode.NoContent); //} // POST: api/Guests //[ResponseType(typeof(Guest))] //public IHttpActionResult PostGuest(Guest guest) //{ // if (!ModelState.IsValid) // { // return BadRequest(ModelState); // } // db.Guests.Add(guest); // db.SaveChanges(); // return CreatedAtRoute("DefaultApi", new { id = guest.ID }, guest); //} // DELETE: api/Guests/5 //[ResponseType(typeof(Guest))] //public IHttpActionResult DeleteGuest(long id) //{ // Guest guest = db.Guests.Find(id); // if (guest == null) // { // return NotFound(); // } // db.Guests.Remove(guest); // db.SaveChanges(); // return Ok(guest); //} protected override void Dispose(bool disposing) { if (disposing) { db.Dispose(); } base.Dispose(disposing); }
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(); } }