public string HamtaKommunKodForAnvandare(string userId) { var orgId = _portalRepository.GetUserOrganisationId(userId); var kommunKod = _portalRepository.GetKommunKodForOrganisation(orgId); return(kommunKod); }
public void UploadAndShowResults(HttpContextBase ContentBase, List <ViewDataUploadFilesResult> resultList, string userId, string userName, string kommunKod, int selectedRegisterId, string selectedUnitId, string selectedPeriod, List <RegisterInfo> registerList) { var httpRequest = ContentBase.Request; //System.Diagnostics.Debug.WriteLine(Directory.Exists(tempPath)); //Kolla vilket register filen/filerna hör till och skapa mapp om det behövs var slussmapp = registerList.Where(x => x.Id == selectedRegisterId).Select(x => x.Slussmapp).Single(); var fileName = httpRequest.Files[0].FileName; var periodInFileName = String.Empty; //Period tas från filnamnet pga problem med selectedPeriod från klienten 4 april 2018 //Använd regular expression istf hårdkodning - 20180917 var filkravList = _portalRepository.GetFileRequirementsAndExpectedFilesForSubDirectory(selectedRegisterId); foreach (var filkrav in filkravList) { //hämta regexper var forvantadFilList = filkrav.AdmForvantadfil; //kontrollera om inkommande fil matchar regexp foreach (var forvFil in forvantadFilList) { Regex expression = new Regex(forvFil.Regexp, RegexOptions.IgnoreCase); Match match = expression.Match(fileName); if (match.Success) { periodInFileName = match.Groups[2].Value; //periodInFileName = match.Groups["period"].Value; } } } //var period = GetPeriodFromFilename(httpRequest.Files[0]); if (periodInFileName == "") { throw new ApplicationException("Felaktig period i filnamnet, " + httpRequest.Files[0].FileName); } else if (!_portalService.HamtaGiltigaPerioderForDelregister(selectedRegisterId).Contains(periodInFileName)) //Kontrollera om vald period är ok { throw new ApplicationException("Period i filnamnet inte inom godkänt intervall. " + httpRequest.Files[0].FileName); } //Hämta forvantadlevid beroende på vald period var forvantadLevId = _portalRepository.GetExpextedDeliveryIdForSubDirAndPeriod(selectedRegisterId, periodInFileName); //var forvantadLevId = registerList.Where(x => x.Id == selectedRegisterId).Select(x => x.ForvantadLevransId).Single(); StorageRoot = StorageRoot + slussmapp + "\\"; String fullPath = Path.Combine(StorageRoot); Directory.CreateDirectory(fullPath); //hämta ett leveransId och skapa hashAddOn till filnamnet var orgId = _portalRepository.GetUserOrganisationId(userId); var orgenhetsId = 0; //Om leverans för stadsdelar, hämta organisationsenhetsid if (!String.IsNullOrWhiteSpace(selectedUnitId)) { orgenhetsId = _portalRepository.GetOrganisationsenhetsId(selectedUnitId, orgId); } var levId = _portalRepository.GetNewLeveransId(userId, userName, orgId, selectedRegisterId, orgenhetsId, forvantadLevId, "Levererad"); var hash = GetHashAddOn(kommunKod, levId); var headers = httpRequest.Headers; if (string.IsNullOrEmpty(headers["X-File-Name"])) { UploadWholeFile(ContentBase, resultList, hash, levId, selectedUnitId); } //Om inga filer kunde sparas, rensa levid if (!resultList.Any()) { _portalRepository.DeleteDelivery(levId); } //TODO - Test EncryptDecrypt //var krypteradUtfil = "C:\\Socialstyrelsen\\KrypteringTest\\krypteradUtfil.txt"; //var dekrypteradUtfil = "C:\\Socialstyrelsen\\KrypteringTest\\dekrypteradUtfil.txt"; //var storKrypteradUtfil = "C:\\Socialstyrelsen\\KrypteringTest\\storKrypteradUtfil.txt"; //var storDekrypteradUtfil = "C:\\Socialstyrelsen\\KrypteringTest\\storDekrypteradUtfil.txt"; //EncryptDecrypt.AES_Encrypt("C:\\Socialstyrelsen\\KrypteringTest\\testfil.txt", krypteradUtfil); //EncryptDecrypt.AES_Decrypt("C:\\Socialstyrelsen\\KrypteringTest\\krypteradUtfil.txt", dekrypteradUtfil); //EncryptDecrypt.AES_Encrypt("C:\\Socialstyrelsen\\KrypteringTest\\Ekb_0330_201707_20170815T1011.txt", storKrypteradUtfil); //EncryptDecrypt.AES_Decrypt("C:\\Socialstyrelsen\\KrypteringTest\\storKrypteradUtfil.txt", storDekrypteradUtfil); }