/// <summary> /// Called when [changed end diff]. /// </summary> /// <param name="source">The source.</param> /// <param name="e">The <see cref="FileSystemEventArgs"/> instance containing the event data.</param> private static void OnChangedEndDiff(object source, FileSystemEventArgs e) { try { String directoryDiffResult = globalRoutes.DiffresultRoute; String directoryEnd = globalRoutes.DiffEndRoute; NameConstructor nameConstructor = new NameConstructor(); ConvertParametersForDiff convertParametersForDiff = nameConstructor.ParseDiffName(e.Name); if (File.Exists(directoryEnd + convertParametersForDiff.PartnerDiffName)) { WorkConsoleDiffDocs(directoryEnd + convertParametersForDiff.OriginalDiffName, directoryEnd + convertParametersForDiff.ModifiedDiffName, directoryDiffResult + convertParametersForDiff.DiffResult); } } catch (Exception ex) { LogError(ex); } }
public HttpResponseMessage Post() { Byte[] fileStreamOriginal = null; Byte[] fileStreamModified = null; String originalExtension = ""; String modifiedExtension = ""; String originalName = ""; String modifiedName = ""; HttpResponseMessage resultError = new HttpResponseMessage(); MediaTypeHeaderValue content = Request.Content.Headers.ContentType; if (content == null) { resultError = new HttpResponseMessage(HttpStatusCode.NotAcceptable); // 406 resultError.Content = new StringContent("Not Acceptable MediaType"); resultError.Content.Headers.ContentType = new MediaTypeHeaderValue("text/plain"); return(resultError); } if (Request.Content.Headers.ContentType.MediaType != "multipart/form-data") { resultError = new HttpResponseMessage(HttpStatusCode.NotAcceptable); // 406 resultError.Content = new StringContent("Not Acceptable MediaType"); resultError.Content.Headers.ContentType = new MediaTypeHeaderValue("text/plain"); return(resultError); } if (Request.Content != null) { MultipartFormDataParser parser = new MultipartFormDataParser(Request.Content.ReadAsStreamAsync().Result); foreach (var currentFile in parser.Files) { if (currentFile.Name == "original") { fileStreamOriginal = ToByteArray(currentFile.Data); if (fileStreamOriginal == null) { resultError = new HttpResponseMessage(HttpStatusCode.UnsupportedMediaType); // 415 resultError.Content = new StringContent("Unable to handle the supplied document(s)"); resultError.Content.Headers.ContentType = new MediaTypeHeaderValue("text/plain"); return(resultError); } originalExtension = currentFile.ContentType; originalName = currentFile.FileName; } else if (currentFile.Name == "modified") { fileStreamModified = ToByteArray(currentFile.Data); if (fileStreamModified == null) { resultError = new HttpResponseMessage(HttpStatusCode.UnsupportedMediaType); // 415 resultError.Content = new StringContent("Unable to handle the supplied document(s)"); resultError.Content.Headers.ContentType = new MediaTypeHeaderValue("text/plain"); return(resultError); } modifiedExtension = currentFile.ContentType; modifiedName = currentFile.FileName; } } } else { resultError = new HttpResponseMessage(HttpStatusCode.UnsupportedMediaType); // 415 resultError.Content = new StringContent("Unable to handle the supplied document(s)"); resultError.Content.Headers.ContentType = new MediaTypeHeaderValue("text/plain"); return(resultError); } NameConstructor nameConstructor = new NameConstructor(); ConvertParametersForDiff convertParametersForDif = nameConstructor.CenereateDiffDocName(originalName, modifiedName, originalExtension, modifiedExtension); String originalDiffName = convertParametersForDif.OriginalDiffName; String originalInput = String.Format("{1}{0}", originalDiffName, globalRoutes.DiffStartRoute); String modifiedDiffName = convertParametersForDif.ModifiedDiffName; String modifiedInput = String.Format("{1}{0}", modifiedDiffName, globalRoutes.DiffStartRoute); String diffResult = convertParametersForDif.DiffResultEnd; String diffResultOutput = String.Format("{1}{0}", diffResult, globalRoutes.DiffresultRoute); OutputDirecroy = diffResultOutput; if (fileStreamModified == null || fileStreamOriginal == null) { resultError = new HttpResponseMessage(HttpStatusCode.UnsupportedMediaType); // 415 resultError.Content = new StringContent("Unable to handle the supplied document(s)"); resultError.Content.Headers.ContentType = new MediaTypeHeaderValue("text/plain"); return(resultError); } String originalExstension = GetExt(originalName); if (originalExstension != "html" && originalExstension != "htm" && originalExstension != "docx" && originalExstension != "pdf") { resultError = new HttpResponseMessage(HttpStatusCode.UnsupportedMediaType); // 415 resultError.Content = new StringContent("Unable to handle the supplied document(s)"); resultError.Content.Headers.ContentType = new MediaTypeHeaderValue("text/plain"); return(resultError); } String modifExstention = GetExt(modifiedName); if (modifExstention != "html" && modifExstention != "htm" && modifExstention != "docx" && modifExstention != "pdf") { resultError = new HttpResponseMessage(HttpStatusCode.UnsupportedMediaType); // 415 resultError.Content = new StringContent("Unable to handle the supplied document(s)"); resultError.Content.Headers.ContentType = new MediaTypeHeaderValue("text/plain"); return(resultError); } //before save parse html and save images if (GetExt(originalName) == "html" || GetExt(originalName) == "htm") { ParseHtmlAndCreateInages(originalInput, fileStreamOriginal, originalDiffName); } else { SaveFile(originalInput, fileStreamOriginal); } //before save parse html and save images if (GetExt(modifiedName) == "html" || GetExt(modifiedName) == "htm") { ParseHtmlAndCreateInages(modifiedInput, fileStreamModified, modifiedDiffName); } else { SaveFile(modifiedInput, fileStreamModified); } Stream resultStream = null; HttpResponseMessage result = new HttpResponseMessage(); try { resultStream = Work(diffResult); result = new HttpResponseMessage(HttpStatusCode.OK); result.Content = new StreamContent(resultStream); result.Content.Headers.ContentType = new MediaTypeHeaderValue("text/html"); } catch (Exception ex) { result = new HttpResponseMessage(HttpStatusCode.UnsupportedMediaType); // 415 result.Content = new StringContent("Unable to handle the supplied document(s)"); result.Content.Headers.ContentType = new MediaTypeHeaderValue("text/plain"); LogError(ex); } return(result); }