Beispiel #1
0
        private static List <YellowstonePathology.Business.Test.PanelSetOrderView> GetCasesWithQualifyingScheduledDistributionTime(BsonValue currentDate)
        {
            List <YellowstonePathology.Business.Test.PanelSetOrderView> result = new List <Test.PanelSetOrderView>();

            YellowstonePathology.Business.Mongo.Server transferServer = new Business.Mongo.TestServer(YellowstonePathology.Business.Mongo.MongoTestServer.LISDatabaseName);
            MongoCollection collection = transferServer.Database.GetCollection <BsonDocument>("AccessionOrder");

            MongoCursor accessionOrderCursor = collection.FindAs <BsonDocument>(Query.ElemMatch("PanelSetOrderCollection", Query.And(Query.EQ("Final", BsonValue.Create(true)),
                                                                                                                                     Query.LTE("TestOrderReportDistributionCollection.ScheduledDistributionTime", currentDate))));


            foreach (BsonDocument accessionOrderDocument in accessionOrderCursor)
            {
                BsonArray panelSetOrders = accessionOrderDocument.GetValue("PanelSetOrderCollection").AsBsonArray;
                foreach (BsonDocument panelSetOrderDocument in panelSetOrders)
                {
                    if (panelSetOrderDocument.GetValue("Final").AsBoolean == true)
                    {
                        BsonArray testOrderReportDistributions = panelSetOrderDocument.GetValue("TestOrderReportDistributionCollection").AsBsonArray;
                        foreach (BsonDocument testOrderReportDistributionDocument in testOrderReportDistributions)
                        {
                            if (testOrderReportDistributionDocument.GetValue("ScheduledDistributionTime").IsBsonNull == false &&
                                testOrderReportDistributionDocument.GetValue("ScheduledDistributionTime") <= currentDate)
                            {
                                YellowstonePathology.Business.Test.PanelSetOrderView panelSetOrderView = (YellowstonePathology.Business.Test.PanelSetOrderView)Mongo.BSONObjectBuilder.Build(panelSetOrderDocument, typeof(YellowstonePathology.Business.Test.PanelSetOrderView));
                                result.Add(panelSetOrderView);
                            }
                        }
                    }
                }
            }

            return(result);
        }
Beispiel #2
0
        public static List <YellowstonePathology.Business.Test.PanelSetOrderView> GetCasesToSchedule()
        {
            List <YellowstonePathology.Business.Test.PanelSetOrderView> result = new List <Test.PanelSetOrderView>();

            YellowstonePathology.Business.Mongo.Server transferServer = new Business.Mongo.TestServer(YellowstonePathology.Business.Mongo.MongoTestServer.LISDatabaseName);
            MongoCollection collection = transferServer.Database.GetCollection <BsonDocument>("AccessionOrder");

            MongoCursor cursor = collection.FindAs <BsonDocument>(Query.ElemMatch("PanelSetOrderCollection", Query.And(Query.EQ("Final", BsonValue.Create(true)),
                                                                                                                       Query.EQ("ScheduledPublishTime", BsonNull.Value), Query.EQ("Published", BsonValue.Create(false)))));

            foreach (BsonDocument accessionOrders in cursor)
            {
                BsonArray panelSetOrders = accessionOrders.GetValue("PanelSetOrderCollection").AsBsonArray;
                foreach (BsonDocument panelSetOrderDocument in panelSetOrders)
                {
                    if (panelSetOrderDocument.GetValue("Final").AsBoolean == true &&
                        panelSetOrderDocument.GetValue("Published").AsBoolean == false &&
                        panelSetOrderDocument.GetValue("ScheduledPublishTime").IsBsonNull)
                    {
                        YellowstonePathology.Business.Test.PanelSetOrderView panelSetOrderView = (YellowstonePathology.Business.Test.PanelSetOrderView)Mongo.BSONObjectBuilder.Build(panelSetOrderDocument, typeof(YellowstonePathology.Business.Test.PanelSetOrderView));
                        result.Add(panelSetOrderView);
                    }
                }
            }
            return(result);
        }
Beispiel #3
0
        public static YellowstonePathology.Business.Test.PanelSetOrderView GetCaseToSchedule(string reportNo)
        {
            YellowstonePathology.Business.Test.PanelSetOrderView result         = null;
            YellowstonePathology.Business.Mongo.Server           transferServer = new Business.Mongo.TestServer(YellowstonePathology.Business.Mongo.MongoTestServer.LISDatabaseName);
            MongoCollection collection     = transferServer.Database.GetCollection <BsonDocument>("AccessionOrder");
            BsonDocument    bsonDocument   = collection.FindOneAs <BsonDocument>(Query.EQ("PanelSetOrderCollection.ReportNo", BsonValue.Create(reportNo)));
            BsonArray       panelSetOrders = bsonDocument.GetValue("PanelSetOrderCollection").AsBsonArray;

            foreach (BsonDocument panelSetOrderDocument in panelSetOrders)
            {
                if (panelSetOrderDocument.GetValue("ReportNo").AsString == reportNo)
                {
                    result = (YellowstonePathology.Business.Test.PanelSetOrderView)Mongo.BSONObjectBuilder.Build(panelSetOrderDocument, typeof(YellowstonePathology.Business.Test.PanelSetOrderView));
                    break;
                }
            }
            return(result);
        }
 public void GetCaseToScheduleTest()
 {
     YellowstonePathology.Business.Test.PanelSetOrderView panelSetOrderView = YellowstonePathology.Business.Gateway.AccessionOrderGatewayMongo.GetCaseToSchedule("14-218.S");
     Assert.AreEqual(panelSetOrderView.ReportNo, "14-218.S");
 }