public AutoCorrectionContext(TextRange range)
        {
            myRange = range;

            myLines = new Lazy <IReadOnlyCollection <TextRange> >(() => DocumentOperations.GetLines(range));
            myWords = new Lazy <IReadOnlyCollection <TextRange> >(() => DocumentOperations.GetWords(range));
        }
        public void GetWords_SeparatedWithTabs_ReturnsAllWordsOfARange()
        {
            var doc = new FlowDocument();

            doc.Blocks.Add(new Paragraph(new Run("a\ttest\twith\ttabs")));
            Assert.That(DocumentOperations.GetWords(doc.Content()).Select(x => x.Text), Is.EquivalentTo(new[] { "a", "test", "with", "tabs" }));
        }
        public override void Update(ContractDraftVersion dataObject)
        {
            using (IDAL dal = this.DAL)
            {
                dal.BeginTransaction();
                try
                {
                    var documentOperations = new DocumentOperations(dal, this._resolver);
                    var photoDocumentType  = documentOperations.ReadDocumentTypeByName("Rent Contract Draft");

                    //var defaultRepositoryId = _parameterReader.ReadSystemParameter<long>("Default Document Repository Id");
                    //var defaultRepository = dal.Read<Repository>(defaultRepositoryId);

                    if (dataObject.DocumentId > 0)
                    {
                        var draftDocument = dal.Read <Document>(dataObject.DocumentId);
                        draftDocument.DocumentType = photoDocumentType.DocumentTypeId;
                        dal.Update(draftDocument);
                        //if (photoDocument.Repository != defaultRepository.RepositoryId)
                        //{
                        //    documentOperations.ChangeRepository(photoDocument, defaultRepository, false);
                        //}
                    }

                    dal.Update(dataObject);
                    dal.CommitTransaction();
                }
                catch
                {
                    dal.RollbackTransaction();
                    throw;
                }
            }
        }
示例#4
0
        public override PricePackage Create(PricePackage dataObject)
        {
            using (IDAL dal = this.DAL)
            {
                dal.BeginTransaction();
                try
                {
                    var documentOperations = new DocumentOperations(dal, this._resolver);
                    var photoDocumentType  = documentOperations.ReadDocumentTypeByName("Price Package Photo");


                    //var defaultRepositoryId = _parameterReader.ReadSystemParameter<long>("Default Document Repository Id");
                    //var defaultRepository = dal.Read<Repository>(defaultRepositoryId);

                    dataObject.PackageId = dal.Create(dataObject);

                    if (dataObject.Image.HasValue)
                    {
                        var photoDocument = dal.Read <Document>(dataObject.Image.Value);
                        photoDocument.DocumentType = photoDocumentType.DocumentTypeId;
                        dal.Update(photoDocument);
                        //documentOperations.ChangeRepository(photoDocument, defaultRepository, false);
                    }

                    dal.CommitTransaction();
                    return(dataObject);
                }
                catch
                {
                    dal.RollbackTransaction();
                    throw;
                }
            }
        }
 public DocumentController(IDmsTransactionalUnitOfWork unitOfWork)
 {
     this.unitOfWork          = unitOfWork;
     documentOperations       = new DocumentOperations(unitOfWork);
     documentTransactions     = new DocumentTransactions(unitOfWork);
     this.credentialValidator = CredentialValidationFactory.CreateDefaultInstance();
 }
示例#6
0
        public async Task Methods_Perform_Async()
        {
            var schemaGenerator = new SchemaGenerator(new MockServiceProvider());

            var schema = schemaGenerator.CreateSchema(typeof(PerformanceSchema));

            var query = @"{
                 slow1:slowCall{
                    date                   
                 }
                 slow2:slowCall{
                    date                   
                 }
                 slow3:slowCall{
                    date                   
                 }

            }";

            var stopwatch = new Stopwatch();

            stopwatch.Start();

            var result = await DocumentOperations.ExecuteOperationsAsync(schema, null, query, validate : false);

            stopwatch.Stop();


            Assert.IsTrue(stopwatch.Elapsed.TotalSeconds < 2);
            Assert.IsNull(result.Errors);
        }
示例#7
0
 public override IReturns <IDocumentsOperations, Task <AzureOperationResponse <long> > > Setup()
 {
     return(DocumentOperations
            .Setup(x => x.CountWithHttpMessagesAsync(
                       It.IsAny <SearchRequestOptions>(),
                       It.IsAny <Dictionary <string, List <string> > >(),
                       It.IsAny <CancellationToken>())));
 }
示例#8
0
 public override IReturns <IDocumentsOperations, Task <AzureOperationResponse <DocumentSearchResult <object> > > > Setup()
 {
     return(DocumentOperations
            .Setup(x => x.SearchWithHttpMessagesAsync <object>(
                       It.IsAny <string>(),
                       It.IsAny <SearchParameters>(),
                       It.IsAny <SearchRequestOptions>(),
                       It.IsAny <Dictionary <string, List <string> > >(),
                       It.IsAny <CancellationToken>())));
 }
示例#9
0
        public AutoCorrectionResult TryUndo(TextPointer pos)
        {
            var word = DocumentOperations.GetWordAt(pos);

            if (word.Text == CopyrightSymbol)
            {
                word.Text = "(c)";
                return(new AutoCorrectionResult(true));
            }

            return(new AutoCorrectionResult(false));
        }
示例#10
0
        public async void OperationLimit_WhenNotExceeded_Runs()
        {
            var schemaGenerator = new SchemaGenerator(new MockServiceProvider());
            var schema          = schemaGenerator.CreateSchema(typeof(EchoSchema));

            var query = @"{
                  testRequest {value}
                  t2:testRequest {value}
                }";

            await DocumentOperations.ExecuteOperationsAsync(schema, null, query, maxOperationNodes : 2);
        }
示例#11
0
        public async void OperationLimit_WhenExceeded_Throws()
        {
            var schemaGenerator = new SchemaGenerator(new MockServiceProvider());
            var schema          = schemaGenerator.CreateSchema(typeof(EchoSchema));

            var query = @"{
                  testRequest {value}
                  t2:testRequest {value}
                }";

            await Assert.ThrowsExceptionAsync <InvalidOperationException>(() =>
                                                                          DocumentOperations.ExecuteOperationsAsync(schema, null, query, maxOperationNodes: 1));
        }
示例#12
0
        public AutoCorrectionResult TryUndo(TextPointer pos)
        {
            var wordRange = DocumentOperations.GetWordAt(pos);
            var symbol    = Symbols.FirstOrDefault(x => x.UniCode == wordRange.TextOnly());

            if (symbol != null)
            {
                wordRange.Text = symbol.Ascii;
                return(new AutoCorrectionResult(true));
            }

            return(new AutoCorrectionResult(false));
        }
示例#13
0
            public async Task DoesNotWrapIndexBatchException()
            {
                DocumentOperations
                .Setup(x => x.IndexWithHttpMessagesAsync(
                           It.IsAny <IndexBatch <object> >(),
                           It.IsAny <SearchRequestOptions>(),
                           It.IsAny <Dictionary <string, List <string> > >(),
                           It.IsAny <CancellationToken>()))
                .ThrowsAsync(new IndexBatchException(new DocumentIndexResult(new List <IndexingResult>())));

                await Assert.ThrowsAsync <IndexBatchException>(
                    () => Target.IndexAsync(new IndexBatch <object>(Enumerable.Empty <IndexAction <object> >())));
            }
        public void GetLines_When_ReturnsAllLinesOfARange()
        {
            var lines = DocumentOperations.GetLines(new TextRange(myDocument.ContentStart, myDocument.ContentEnd))
                        .Select(l => l.Text)
                        .ToList();

            var expected = new[] {
                "Here is some text to test parsing",
                "a second line would be helpful.",
                string.Empty,
                "A third is even better."
            };

            Assert.That(lines, Is.EquivalentTo(expected));
        }
示例#15
0
        public static void QueryOperationsSuccess(GraphQL.Types.Schema schema, string query, string expected, string variables = null, bool compareBoth = true)
        {
            var result2 = DocumentOperations.ExecuteOperationsAsync(schema, null, query, variables?.ToInputs()).Result;

            var writtenResult2 = JsonConvert.SerializeObject(result2.Data);
            var queryResult    = CreateQueryResult(expected);
            var expectedResult = JsonConvert.SerializeObject(queryResult.Data);

            var errors = result2.Errors?.FirstOrDefault();
            //for easy debugging
            var allTypes = schema.AllTypes;

            Assert.Null(errors?.Message);
            Assert.Equal(expectedResult, writtenResult2);
        }
示例#16
0
            public async Task DoesNotRetryOnNullReferenceException()
            {
                DocumentOperations
                .Setup(x => x.IndexWithHttpMessagesAsync(
                           It.IsAny <IndexBatch <object> >(),
                           It.IsAny <SearchRequestOptions>(),
                           It.IsAny <Dictionary <string, List <string> > >(),
                           It.IsAny <CancellationToken>()))
                .ThrowsAsync(new NullReferenceException());

                var ex = await Assert.ThrowsAsync <NullReferenceException>(
                    () => Target.IndexAsync(new IndexBatch <object>(Enumerable.Empty <IndexAction <object> >())));

                Assert.Equal(1, DocumentOperations.Invocations.Count);
            }
 public IEnumerable <Overtech.DataModels.Warehouse.GatheringPalletPhoto> ListPalletPhoto(long storeOrderId, long?gatheringPalletId)
 {
     using (IDAL dal = this.DAL)
     {
         List <Overtech.DataModels.Warehouse.GatheringPalletPhoto> palletPhotos = this.listPalletPhotoByStoreId(dal, storeOrderId, gatheringPalletId);
         var documentOp = new DocumentOperations(dal, _resolver);
         for (int i = 0; i < palletPhotos.Count; i++)
         {
             IUniParameter prmDocumentId = dal.CreateParameter("DocumentId", palletPhotos[i].Photo);
             var           tmpDocument   = dal.Read <Overtech.DataModels.Document.Document>("DOC_SEL_DOCUMENT_SP", prmDocumentId);
             palletPhotos[i].PhotoContent = System.Text.Encoding.ASCII.GetString(documentOp.GetDocumentBody(tmpDocument));
         }
         return(palletPhotos);
     }
 }
示例#18
0
 public IEnumerable <Overtech.DataModels.Reconciliation.ZetImage> ListZetImages(long reconciliationId)
 {
     using (IDAL dal = this.DAL)
     {
         IUniParameter prmReconId = dal.CreateParameter("ReconciliationId", reconciliationId);
         List <Overtech.DataModels.Reconciliation.ZetImage> zetImages = dal.List <Overtech.DataModels.Reconciliation.ZetImage>("RCL_SEL_ZETIMAGE_SP", prmReconId).ToList();
         var documentOp = new DocumentOperations(dal, _resolver);
         for (int i = 0; i < zetImages.Count; i++)
         {
             IUniParameter prmDocumentId = dal.CreateParameter("DocumentId", zetImages[i].Document);
             var           tmpDocument   = dal.Read <Overtech.DataModels.Document.Document>("DOC_SEL_DOCUMENT_SP", prmDocumentId);
             zetImages[i].Photo = System.Text.Encoding.ASCII.GetString(documentOp.GetDocumentBody(tmpDocument));
         }
         return(zetImages);
     }
 }
        private bool deletePhotoDocument(long documentId, IDAL dal)
        {
            try
            {
                IUniParameter prmDocId = dal.CreateParameter("DocumentId", documentId);
                Document      doc      = dal.Read <Overtech.DataModels.Document.Document>("DOC_SEL_DOCUMENT_SP", prmDocId);

                var documentOp = new DocumentOperations(dal, _resolver);
                documentOp.DeleteDocument(doc);
                return(true);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
示例#20
0
        public AutoCorrectionResult TryApply(AutoCorrectionInput input)
        {
            bool success = false;

            foreach (var wordRange in DocumentOperations.GetWords(input.Range))
            {
                if (wordRange.Text == "(c)")
                {
                    wordRange.Text = CopyrightSymbol;

                    success = true;
                }
            }

            return(new AutoCorrectionResult(success));
        }
示例#21
0
            public async Task DoesNotHandleNotFoundException()
            {
                DocumentOperations
                .Setup(x => x.IndexWithHttpMessagesAsync(
                           It.IsAny <IndexBatch <object> >(),
                           It.IsAny <SearchRequestOptions>(),
                           It.IsAny <Dictionary <string, List <string> > >(),
                           It.IsAny <CancellationToken>()))
                .ThrowsAsync(new CloudException
                {
                    Response = new HttpResponseMessageWrapper(new HttpResponseMessage(HttpStatusCode.NotFound), string.Empty),
                });

                await Assert.ThrowsAsync <CloudException>(
                    () => Target.IndexAsync(new IndexBatch <object>(Enumerable.Empty <IndexAction <object> >())));
            }
示例#22
0
        public async void BasicExample_WithoutInt_Fails()
        {
            var schemaGenerator = new SchemaGenerator(new MockServiceProvider());
            var schema          = schemaGenerator.CreateSchema(typeof(EchoStateSchema));

            var query = @"
                mutation SetState{
                    set(request:{decimal:24.15}){
                        decimal
                    }
                }
            ";

            var result = await DocumentOperations.ExecuteOperationsAsync(schema, null, query);

            Assert.IsTrue(result.Errors.Any());
        }
示例#23
0
        private void updateDataObjectDocument(DataModels.OverStoreMain.OverStoreTask dataObject, IDAL dal)
        {
            var documentOperations  = new DocumentOperations(dal, this._resolver);
            var documentType        = documentOperations.ReadDocumentTypeByName("Task");
            var tempDocumentTypeId  = _parameterReader.ReadSystemParameter <long>("TempDocumentType");
            var defaultRepositoryId = _parameterReader.ReadSystemParameter <long>("Default Document Repository Id");
            var defaultRepository   = dal.Read <Repository>(defaultRepositoryId);

            foreach (var document in dataObject.DocumentList)
            {
                if (document.DocumentType == tempDocumentTypeId)
                {
                    document.DocumentType = documentType.DocumentTypeId;
                    dal.Update(document);
                    documentOperations.ChangeRepository(document, defaultRepository, false);
                }
            }
        }
示例#24
0
        public async void OperationLimit_WhenNotExceededWithMutations_Runs()
        {
            var schemaGenerator = new SchemaGenerator(new MockServiceProvider());
            var schema          = schemaGenerator.CreateSchema(typeof(EchoStateSchema));

            var query = @"
                mutation SetState{
                    setState (request:Open){
                        state
                    }
                }
                query GetState{
                    getState{
                        state
                    }
                }
            ";

            await DocumentOperations.ExecuteOperationsAsync(schema, null, query, maxOperationNodes : 2);
        }
        private long insertPalletPhotoDocument(Overtech.DataModels.Warehouse.GatheringPalletPhoto palletPhoto, IDAL dal)
        {
            try
            {
                var documentOp       = new DocumentOperations(dal, _resolver);
                var tmpOrganizastion = palletPhoto.Organization;
                var tmpEvent         = palletPhoto.Event;
                var documentTypeId   = documentOp.ReadDocumentTypeByName("Gathering Pallet Photo").DocumentTypeId;
                var tmpFilename      = "palletPhoto_" + palletPhoto.GatheringPalletPhotoId.ToString() + "_" + DateTime.Now.ToShortDateString();
                var tmpExtension     = "png";
                var tmpPhoto         = System.Text.Encoding.ASCII.GetBytes(palletPhoto.PhotoContent);

                var tmpDocumentId = documentOp.CreateDocument(tmpOrganizastion, tmpEvent, null, null, documentTypeId, tmpFilename, tmpExtension, tmpPhoto);
                return(tmpDocumentId);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
示例#26
0
        public async void OperationLimit_WhenExceededWithMutations_Throws()
        {
            var schemaGenerator = new SchemaGenerator(new MockServiceProvider());
            var schema          = schemaGenerator.CreateSchema(typeof(EchoStateSchema));

            var query = @"
                mutation SetState{
                    setState (request:Open){
                        state
                    }
                }
                query GetState{
                    getState{
                        state
                    }
                }
            ";

            await Assert.ThrowsExceptionAsync <InvalidOperationException>(() =>
                                                                          DocumentOperations.ExecuteOperationsAsync(schema, null, query, maxOperationNodes: 1));
        }
        public Overtech.DataModels.Warehouse.GatheringPalletPhoto GetPhotoByIndex(long storeOrderId, int photoIndex, long?gatheringPalletId)
        {
            using (IDAL dal = this.DAL)
            {
                var photoList = this.listPalletPhotoByStoreId(dal, storeOrderId, gatheringPalletId);
                if (photoList.Count() == 0)
                {
                    return(null);
                }
                int photoIndexMod = photoIndex % photoList.Count();

                Overtech.DataModels.Warehouse.GatheringPalletPhoto selectedPalletPhoto = photoList[photoIndexMod];

                var           documentOp    = new DocumentOperations(dal, _resolver);
                IUniParameter prmDocumentId = dal.CreateParameter("DocumentId", selectedPalletPhoto.Photo);
                var           tmpDocument   = dal.Read <Overtech.DataModels.Document.Document>("DOC_SEL_DOCUMENT_SP", prmDocumentId);
                selectedPalletPhoto.PhotoContent = System.Text.Encoding.ASCII.GetString(documentOp.GetDocumentBody(tmpDocument));

                return(selectedPalletPhoto);
            }
        }
示例#28
0
        public static void QuerySuccess(GraphQL.Types.Schema schema, string query, string expected, string variables = null, bool compareBoth = true)
        {
            var exec    = new DocumentExecuter(new GraphQLDocumentBuilder(), new DocumentValidator(), new ComplexityAnalyzer());
            var result  = exec.ExecuteAsync(schema, null, query, null, variables?.ToInputs()).Result;
            var result2 = DocumentOperations.ExecuteOperationsAsync(schema, null, query, variables?.ToInputs()).Result;

            var writtenResult  = JsonConvert.SerializeObject(result.Data);
            var writtenResult2 = JsonConvert.SerializeObject(result2.Data);
            var queryResult    = CreateQueryResult(expected);
            var expectedResult = JsonConvert.SerializeObject(queryResult.Data);

            var errors  = result.Errors?.FirstOrDefault();
            var errors2 = result2.Errors?.FirstOrDefault();
            //for easy debugging
            var allTypes = schema.AllTypes;

            Assert.IsNull(errors?.Message);
            Assert.IsNull(errors2?.Message);
            Assert.AreEqual(expectedResult, writtenResult);
            Assert.AreEqual(expectedResult, writtenResult2);
        }
示例#29
0
        public async Task LargeLists_Perform_UnderThreshold()
        {
            var schemaGenerator = new SchemaGenerator(new MockServiceProvider());

            var schema = schemaGenerator.CreateSchema(typeof(PerformanceSchema));

            var query = @"{
                  testList{
                    date
                    enum
                    value
                    nullValue
                    decimalValue
                    timeSpan
                    byteArray
                    stringValue
                    values{
                        value{
                            complicatedResponse{
                            echo
                            data
                            }
                        }
                    }
                 }
            }";

            var stopwatch = new Stopwatch();

            stopwatch.Start();

            var result = await DocumentOperations.ExecuteOperationsAsync(schema, null, query, validate : false);

            stopwatch.Stop();

            _output.WriteLine($"Total Milliseconds: {stopwatch.ElapsedMilliseconds}");

            Assert.True(stopwatch.Elapsed.TotalSeconds < 2);
            Assert.Null(result.Errors);
        }
示例#30
0
        public bool DeleteZetImageDocument(long documentId)
        {
            using (IDAL dal = this.DAL)
            {
                dal.BeginTransaction();
                try
                {
                    IUniParameter prmDocId = dal.CreateParameter("DocumentId", documentId);
                    Document      doc      = dal.Read <Overtech.DataModels.Document.Document>("DOC_SEL_DOCUMENT_SP", prmDocId);

                    var documentOp = new DocumentOperations(dal, _resolver);
                    documentOp.DeleteDocument(doc);

                    dal.CommitTransaction();
                    return(true);
                }
                catch
                {
                    dal.RollbackTransaction();
                    throw;
                }
            }
        }