public ActionResult Upload(HttpPostedFileBase upload, [Bind(Include = "DataTable,Account,AccountId,PreTransactions")] AppModels.TransactionsUpload transactionsUpload) { if (ModelState.IsValid) { if (upload != null && upload.ContentLength > 0) { if (upload.FileName.EndsWith(".csv")) { Stream stream = upload.InputStream; DataTable csvTable = new DataTable(); using (CsvReader csvReader = new CsvReader(new StreamReader(stream), true)) { csvTable.Load(csvReader); } transactionsUpload.DataTable = csvTable; //TODO Need to make all amounts have cents transactionsUpload.TransactionTempsCollection = Utilities.TransactionUtils.GetTransactions(csvTable, (int)transactionsUpload.AccountId); foreach (var transact in transactionsUpload.TransactionTempsCollection) { db.TransactionTemps.Add(transact); } db.SaveChanges(); //ViewBag.AccountId = new SelectList(db.Accounts, "Id", "Name", transactionsUpload.AccountId); //ViewBag.AllocationBaseId = new SelectList(db.Allocations, "Id", "Name", transactionsUpload.AllocationId); return(View("Index")); } else { ModelState.AddModelError("File", "This file format is not supported"); return(View()); } } else { ModelState.AddModelError("File", "Please Upload Your file"); } } return(View()); }
public ActionResult Upload() { AppModels.TransactionsUpload transactionUpload = new AppModels.TransactionsUpload(); return(View(transactionUpload)); }