public HttpResponseMessage Compare(CompareRequest compareRequest)
 {
     try
     {
         // check formats
         if (comparisonService.CheckFiles(compareRequest))
         {
             // compare
             CompareResultResponse  result   = comparisonService.Compare(compareRequest);
             JsonSerializerSettings settings = new JsonSerializerSettings();
             settings.ContractResolver = new LowercaseContractResolver();
             string json          = JsonConvert.SerializeObject(result, Formatting.Indented, settings);
             var    compareResult = JsonConvert.DeserializeObject(json);
             return(Request.CreateResponse(HttpStatusCode.OK, compareResult));
         }
         else
         {
             return(Request.CreateResponse(HttpStatusCode.OK, new Resources().GenerateException(new Exception("Document types are different"))));
         }
     }
     catch (Exception ex)
     {
         return(Request.CreateResponse(HttpStatusCode.InternalServerError, new Resources().GenerateException(ex)));
     }
 }
Ejemplo n.º 2
0
        private static CompareResultResponse GetCompareResultResponse(ChangeInfo[] changes, string resultGuid)
        {
            CompareResultResponse compareResultResponse = new CompareResultResponse();

            compareResultResponse.SetChanges(changes);

            List <PageDescriptionEntity> pages = LoadDocumentPages(resultGuid, "", true).GetPages();

            compareResultResponse.SetPages(pages);
            compareResultResponse.SetGuid(resultGuid);
            return(compareResultResponse);
        }
Ejemplo n.º 3
0
        private CompareResultResponse CompareTwoDocuments(CompareRequest compareRequest)
        {
            // to get correct coordinates we will compare document twice
            // this is a first comparing to get correct coordinates of the insertions and style changes
            string extension = Path.GetExtension(compareRequest.guids[0].GetGuid());
            string guid      = Guid.NewGuid().ToString();
            //save all results in file
            string resultGuid = Path.Combine(globalConfiguration.Comparison.GetResultDirectory(), guid + extension);

            Comparer compareResult = CompareFiles(compareRequest, resultGuid);

            ChangeInfo[] changes = compareResult.GetChanges();

            CompareResultResponse compareResultResponse = GetCompareResultResponse(changes, resultGuid);

            compareResultResponse.SetExtension(extension);
            return(compareResultResponse);
        }
Ejemplo n.º 4
0
        public CompareResultResponse Compare(CompareRequest compareRequest)
        {
            CompareResultResponse compareResultResponse = CompareTwoDocuments(compareRequest);

            return(compareResultResponse);
        }