public JsonResult Upload(FilesViewModel model) { var enhetskod = String.Empty; var resultList = new List <ViewDataUploadFilesResult>(); var userName = ""; try { //Get orgcode var orgCode = String.Empty; var org = _portalService.HamtaOrgForAnvandare(User.Identity.GetUserId()); var orgtypeListForOrg = _portalService.HamtaOrgtyperForOrganisation(org.Id); var orgtypeListForSubDir = _portalService.HamtaOrgtyperForDelregister(Convert.ToInt32(model.SelectedRegisterId)); //Compare organisations orgtypes with orgtypes for current subdir foreach (var subDirOrgtype in orgtypeListForSubDir) { foreach (var orgOrgtype in orgtypeListForOrg) { if (subDirOrgtype.Typnamn == orgOrgtype.Typnamn) { if (orgOrgtype.Typnamn == "Kommun") { orgCode = _portalService.HamtaKommunKodForAnvandare(User.Identity.GetUserId()); } else if (orgOrgtype.Typnamn == "Landsting") { orgCode = _portalService.HamtaLandstingsKodForAnvandare(User.Identity.GetUserId()); } else { orgCode = _portalService.HamtaInrapporteringskodKodForAnvandare(User.Identity.GetUserId()); } } } } //var orgCodeName = orgtypeList[0].Typnamn; //if (orgCodeName == "Kommun") //{ // orgCode = _portalService.HamtaKommunKodForAnvandare(User.Identity.GetUserId()); //} //else if (orgCodeName == "Landsting") //{ // orgCode = _portalService.HamtaLandstingsKodForAnvandare(User.Identity.GetUserId()); //} //else //{ // orgCode = _portalService.HamtaInrapporteringskodKodForAnvandare(User.Identity.GetUserId()); //} //var kommunKod = _portalService.HamtaKommunKodForAnvandare(User.Identity.GetUserId()); userName = User.Identity.GetUserName(); var CurrentContext = HttpContext; if (model.SelectedUnitId != null) { enhetskod = model.SelectedUnitId; if (String.IsNullOrEmpty(orgCode)) { orgCode = enhetskod; } } //Lägg till kontroll att antal filer > 0 (kan ha stoppats av användarens webbläsare (?)) var request = CurrentContext.Request; var numFiles = request.Files.Count; if (numFiles <= 0) { throw new System.ArgumentException("Filer saknas vid uppladdning av fil."); } filesHelper.UploadAndShowResults(CurrentContext, resultList, User.Identity.GetUserId(), userName, orgCode, Convert.ToInt32(model.SelectedRegisterId), enhetskod, model.SelectedPeriod, model.RegisterList); } catch (ArgumentException e) { ErrorManager.WriteToErrorLog("FileUploadController", "Upload", e.ToString(), e.HResult, User.Identity.Name); var errorModel = new CustomErrorPageModel { Information = "Filer saknas vid uppladdning av fil.", ContactEmail = ConfigurationManager.AppSettings["ContactEmail"], }; RedirectToAction("CustomError", new { model = errorModel }); } catch (Exception e) { Console.WriteLine(e); ErrorManager.WriteToErrorLog("FileUploadController", "Upload", e.ToString(), e.HResult, User.Identity.Name); var errorModel = new CustomErrorPageModel { Information = "Ett fel inträffade vid uppladdning av fil.", ContactEmail = ConfigurationManager.AppSettings["ContactEmail"], }; RedirectToAction("CustomError", new { model = errorModel }); } JsonFiles files = new JsonFiles(resultList); bool isEmpty = !resultList.Any(); if (isEmpty) { return(Json("Error")); } else { //Save to database filelog foreach (var itemFile in resultList) { try { _portalService.SparaTillDatabasFillogg(userName, itemFile.name, itemFile.sosName, itemFile.leveransId, itemFile.sequenceNumber); } catch (Exception e) { Console.WriteLine(e); ErrorManager.WriteToErrorLog("FileUploadController", "Upload", e.ToString(), e.HResult, User.Identity.Name); var errorModel = new CustomErrorPageModel { Information = "Ett fel inträffade när filen skulle sparas till registrets logg.", ContactEmail = ConfigurationManager.AppSettings["ContactEmail"], }; RedirectToAction("CustomError", new { model = errorModel }); } } return(Json(files)); } }