예제 #1
0
        public override void UpdateDocument(MongoCollection <BsonDocument> collection, BsonDocument document)
        {
            var       errorRepository = new ErrorRepository(collection.Database, null, null, null);
            BsonValue id = document.GetDocumentId();

            if (id == null || !id.IsObjectId)
            {
                return;
            }

            Error error = errorRepository.GetById(id.ToString());

            if (error == null)
            {
                return;
            }

            if (document.Contains("sig"))
            {
                document.Remove("sig");
            }

            var signatureFactory = new ErrorSignatureFactory();
            // updates the document to set the IsSignatureTarget
            ErrorSignature signature = signatureFactory.GetSignature(error);

            errorRepository.Update(error);
        }
        public void ShouldFindById(int id)
        {
            var fakeContext = new FakeContext("FindById");

            fakeContext.FillWith <Error>();

            using (var context = new CentralErrosContext(fakeContext.FakeOptions))
            {
                var expected = context.Errors.
                               Where(x => x.Id == id).
                               SingleOrDefault();

                var service = new ErrorRepository(context);
                var actual  = service.GetById(id);

                Assert.Equal(expected, actual, new ErrorIdComparer());
            }
        }
예제 #3
0
        public override void UpdateDocument(MongoCollection<BsonDocument> collection, BsonDocument document) {
            var errorRepository = new ErrorRepository(collection.Database, null, null, null);
            BsonValue id = document.GetDocumentId();
            if (id == null || !id.IsObjectId)
                return;

            Error error = errorRepository.GetById(id.ToString());
            if (error == null)
                return;

            if (document.Contains("sig"))
                document.Remove("sig");

            var signatureFactory = new ErrorSignatureFactory();
            // updates the document to set the IsSignatureTarget
            ErrorSignature signature = signatureFactory.GetSignature(error);
            errorRepository.Update(error);
        }