public static List<YellowstonePathology.Business.Client.Model.PhysicianClientDistributionView> GetPhysicianClientDistributionsV2(string physicianClientId)
        {
            List<YellowstonePathology.Business.Client.Model.PhysicianClientDistributionView> result = new List<YellowstonePathology.Business.Client.Model.PhysicianClientDistributionView>();
            SqlCommand cmd = new SqlCommand();
            cmd.CommandText = "Select pcd.*, c.ClientId, c.ClientName, ph.PhysicianId, ph.ObjectId as ProviderId, ph.DisplayName [PhysicianName], c.DistributionType " +
                "from tblPhysicianClient pc " +
                "join tblPhysicianClientDistribution pcd on pc.PhysicianClientId = pcd.PhysicianClientId " +
                "join tblPhysicianClient pc2 on pcd.DistributionId = pc2.PhysicianClientId " +
                "join tblClient c on pc2.ClientId = c.ClientId " +
                "join tblPhysician ph on pc2.ProviderId = ph.ObjectId " +
                "where pc.PhysicianClientId = @PhysicianClientId ";
            cmd.CommandType = CommandType.Text;
            cmd.Parameters.Add("@PhysicianClientId", SqlDbType.VarChar).Value = physicianClientId;

            using (SqlConnection cn = new SqlConnection(YellowstonePathology.Business.BaseData.SqlConnectionString))
            {
                cn.Open();
                cmd.Connection = cn;
                using (SqlDataReader dr = cmd.ExecuteReader())
                {
                    while (dr.Read())
                    {
                        YellowstonePathology.Business.Client.Model.PhysicianClientDistribution physicianClientDistribution = new YellowstonePathology.Business.Client.Model.PhysicianClientDistribution();
                        YellowstonePathology.Business.Persistence.SqlDataReaderPropertyWriter sqlDataReaderPropertyWriter = new Persistence.SqlDataReaderPropertyWriter(physicianClientDistribution, dr);
                        sqlDataReaderPropertyWriter.WriteProperties();
                        YellowstonePathology.Business.Client.Model.PhysicianClientDistributionView physicianClientDistributionView = new YellowstonePathology.Business.Client.Model.PhysicianClientDistributionView(physicianClientDistribution);
                        sqlDataReaderPropertyWriter = new Persistence.SqlDataReaderPropertyWriter(physicianClientDistributionView, dr);
                        sqlDataReaderPropertyWriter.WriteProperties();
                        result.Add(physicianClientDistributionView);
                    }
                }
            }
            return result;
        }
예제 #2
0
        public static List <YellowstonePathology.Business.Client.Model.PhysicianClientDistributionView> GetPhysicianClientDistributions(int physicianClientId)
        {
            List <YellowstonePathology.Business.Client.Model.PhysicianClientDistributionView> result = new List <YellowstonePathology.Business.Client.Model.PhysicianClientDistributionView>();

            YellowstonePathology.Business.Mongo.Server server = new Business.Mongo.TestServer(YellowstonePathology.Business.Mongo.MongoTestServer.LISDatabaseName);
            MongoCollection physicianClientCollection         = server.Database.GetCollection <BsonDocument>("PhysicianClient");
            MongoCollection physicianCollection = server.Database.GetCollection <BsonDocument>("Physician");
            MongoCollection clientCollection    = server.Database.GetCollection <BsonDocument>("Client");
            MongoCollection physicianClientDistributionCollection = server.Database.GetCollection <BsonDocument>("PhysicianClientDistribution");
            MongoCursor     physicianClientDistributionCursor     = physicianClientDistributionCollection.FindAs <BsonDocument>(Query.EQ("PhysicianClientID", BsonValue.Create(physicianClientId)));

            foreach (BsonDocument physicianClientDistributionDocument in physicianClientDistributionCursor)
            {
                BsonDocument physicianClientDocument = physicianClientCollection.FindOneAs <BsonDocument>(Query.EQ("PhysicianClientId", physicianClientDistributionDocument.GetValue("DistributionID")));
                BsonDocument clientDocument          = clientCollection.FindOneAs <BsonDocument>(Query.EQ("ClientId", physicianClientDocument.GetValue("ClientId")));
                BsonDocument physicianDocument       = physicianCollection.FindOneAs <BsonDocument>(Query.EQ("PhysicianId", physicianClientDocument.GetValue("PhysicianId")));

                YellowstonePathology.Business.Client.Model.PhysicianClientDistribution physicianClientDistribution = (YellowstonePathology.Business.Client.Model.PhysicianClientDistribution)Mongo.BSONObjectBuilder.Build(physicianClientDistributionDocument, typeof(YellowstonePathology.Business.Client.Model.PhysicianClientDistribution));

                YellowstonePathology.Business.Client.Model.PhysicianClientDistributionView physicianClientDistributionView = new YellowstonePathology.Business.Client.Model.PhysicianClientDistributionView(physicianClientDistribution);
                physicianClientDistributionView.ClientId         = clientDocument.GetValue("ClientId").AsInt32;
                physicianClientDistributionView.ClientName       = Mongo.ValueHelper.GetStringValue(clientDocument.GetValue("ClientName"));
                physicianClientDistributionView.DistributionType = Mongo.ValueHelper.GetStringValue(clientDocument.GetValue("DistributionType"));
                physicianClientDistributionView.PhysicianId      = physicianDocument.GetValue("PhysicianId").AsInt32;
                physicianClientDistributionView.PhysicianName    = Mongo.ValueHelper.GetStringValue(physicianDocument.GetValue("DisplayName"));

                result.Add(physicianClientDistributionView);
            }
            return(result);
        }