public IHttpActionResult AcesPiesContents() { try { var stagingFilesContents = new ExtPartMappingTool.Models.ProcessFiles.Response.StagingDirectoryContent(); Models.ProcessFiles.Response.PipelineStatus pipelineStatus; NetworkCredential NCredentials = GetNetworkCredential(); using (new NetworkConnection(GetFileStoreHost(), NCredentials)) { //The Host Directroy DirectoryInfo stagingDirectoryInfo = Directory.CreateDirectory(GetFileStoreHost()); //Individual Aces and Pies Directory DirectoryInfo directoryAces = stagingDirectoryInfo.CreateSubdirectory(_Aces); DirectoryInfo directoryPies = stagingDirectoryInfo.CreateSubdirectory(_Pies); if (AcesPiesIsEmptyCheck()) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotFound) { ReasonPhrase = "Pies and Aces in Production are both empty" }); } //Get Name Files/Contents. var fileNamesAces = directoryAces.EnumerateFiles().Select(x => x.Name).ToList(); var fileNamesPies = directoryPies.EnumerateFiles().Select(x => x.Name).ToList(); stagingFilesContents.FileNamesAces = fileNamesAces; stagingFilesContents.FileNamesPies = fileNamesPies; pipelineStatus = CheckPipelineStatus(); AssertStep(pipelineStatus, Models.Types.ProcessFilesStages.ProductionInit); return(Ok(stagingFilesContents)); } } catch (HttpResponseException ex) { throw; } catch (Exception ex) { throw; } }
public IHttpActionResult AcesPiesContents() { try { var stagingFilesContents = new ExtPartMappingTool.Models.ProcessFiles.Response.StagingDirectoryContent(); Models.ProcessFiles.Response.PipelineStatus pipelineStatus; DirectoryInfo stagingDirectoryInfo = Directory.CreateDirectory(GetFileData()); //Individual Aces and Pies Directory DirectoryInfo directoryAces = stagingDirectoryInfo.CreateSubdirectory(_Aces); DirectoryInfo directoryPies = stagingDirectoryInfo.CreateSubdirectory(_Pies); if (AcesPiesIsEmptyCheck(true)) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotFound) { ReasonPhrase = "Pies and Aces in Staging are both empty" }); } //Get Name Files/Contents. var fileNamesAces = directoryAces.EnumerateFiles().Select(x => x.Name).ToList(); var fileNamesPies = directoryPies.EnumerateFiles().Select(x => x.Name).ToList(); stagingFilesContents.FileNamesAces = fileNamesAces; stagingFilesContents.FileNamesPies = fileNamesPies; pipelineStatus = CheckPipelineStatus(); if (pipelineStatus.Active == false) { if (!Helpers.ProcessFilePipelineTracker.InitiateFiles(fileNamesAces, fileNamesPies, true)) { //if not successfull then we have no record and should not continue. throw new Exception(); } } else if (pipelineStatus.ActiveStage != Models.Types.ProcessFilesStages.StagingInit) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotFound) { ReasonPhrase = "Process pipeline is already in use." }); } //before returning, initiate record of a pipline process in db return(Ok(stagingFilesContents)); /* * NetworkCredential NCredentials = GetNetworkCredential(); * using (new NetworkConnection(GetFileStoreHost(), NCredentials)) * { * //The Host Directroy * DirectoryInfo stagingDirectoryInfo = Directory.CreateDirectory(GetFileStoreHost()); * * //Individual Aces and Pies Directory * DirectoryInfo directoryAces = stagingDirectoryInfo.CreateSubdirectory(_Aces); * DirectoryInfo directoryPies = stagingDirectoryInfo.CreateSubdirectory(_Pies); * * * if (AcesPiesIsEmptyCheck(true)) * { * throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotFound) * { * ReasonPhrase = "Pies and Aces in Staging are both empty" * }); * } * * //Get Name Files/Contents. * var fileNamesAces = directoryAces.EnumerateFiles().Select(x => x.Name).ToList(); * var fileNamesPies = directoryPies.EnumerateFiles().Select(x => x.Name).ToList(); * * stagingFilesContents.FileNamesAces = fileNamesAces; * stagingFilesContents.FileNamesPies = fileNamesPies; * * * pipelineStatus = CheckPipelineStatus(); * if(pipelineStatus.Active == false) * { * if (!Helpers.ProcessFilePipelineTracker.InitiateFiles(fileNamesAces, fileNamesPies, true)) * { * //if not successfull then we have no record and should not continue. * throw new Exception(); * } * } * else if(pipelineStatus.ActiveStage != Models.Types.ProcessFilesStages.StagingInit) * { * throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotFound) * { * ReasonPhrase = "Process pipeline is already in use." * }); * } * //before returning, initiate record of a pipline process in db * * * return Ok(stagingFilesContents); * }*/ } catch (System.ComponentModel.Win32Exception ex) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotFound) { ReasonPhrase = "> from AcesPiesContents: " + ex.Message }); } catch (HttpResponseException ex) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotFound) { ReasonPhrase = "> from AcesPiesContents: " + ex.Response.ReasonPhrase }); //throw; } catch (Exception ex) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotFound) { ReasonPhrase = "> from AcesPiesContents: " + ex.Message }); //throw; } }