public IActionResult UploadComplete(UploadViewModel model) { if (!ModelState.IsValid) { return(View(model)); } bool setTypes = false; List <Catagory> new_catagories = new List <Catagory>(); var webRoot = _env.WebRootPath; for (int i = 0; i < model.Items.Length; i++) { var item = model.Items[i]; if (item.Name.ToLower() != "error") { var filepath = HttpContext.Session.GetString("file-" + i); var filename = string.Format(@"{0}.py", DateTime.Now.Ticks); var file = Path.Combine(webRoot, "lib/Python/" + filename); using (var temp = new FileStream(filepath, FileMode.Open)) using (var stream = new FileStream(file, FileMode.Create)) { temp.CopyToAsync(stream); } var catagory = DatabaseConnector.GetCatagories().FirstOrDefault(x => x.CatagoryName == item.Catagory); if (catagory == null) { catagory = new Catagory() { CatagoryName = item.Catagory, CatagoryType = DatabaseConnector.GetCatagoryTypes().FirstOrDefault(x => x.CatTypeName.ToLower() == "unknown").CatTypeID }; catagory.CatagoryID = DatabaseConnector.AddCatagory(catagory); DatabaseConnector.PushChanges(); setTypes = true; new_catagories.Add(catagory); } var questiontype = new QuestionTypes() { Class = filename, Type_Name = item.Name, Catagory = catagory.CatagoryID }; questiontype.TypeID = DatabaseConnector.AddQesutionType(questiontype); } } DatabaseConnector.PushChanges(); if (setTypes) { return(View(new UploadCompleteViewModel() { Catagories = new_catagories.ToArray(), Types = DatabaseConnector.GetCatagoryTypes().Where(x => x.CatTypeName.ToLower() != "unknown").ToArray() })); } return(RedirectToAction("index")); }