private void ResetDistributionWhenIncompatible(YellowstonePathology.Business.Client.Model.PhysicianClientDistributionListItem physicianClientDistribution)
        {
            YellowstonePathology.Business.Client.Model.Client accessionClient = YellowstonePathology.Business.Gateway.PhysicianClientGateway.GetClientByClientId(this.m_AccessionOrder.ClientId);
            YellowstonePathology.Business.ReportDistribution.Model.IncompatibleDistributionTypeCollection incompatibleDistributionTypeCollection = new Business.ReportDistribution.Model.IncompatibleDistributionTypeCollection();
            bool distributionsAreIncompatible = incompatibleDistributionTypeCollection.TypesAreIncompatible(accessionClient.DistributionType, physicianClientDistribution.DistributionType);

            if (distributionsAreIncompatible == true)
            {
                YellowstonePathology.Business.Client.Model.Client distributionClient = YellowstonePathology.Business.Gateway.PhysicianClientGateway.GetClientByClientId(physicianClientDistribution.ClientId);
                physicianClientDistribution.DistributionType = distributionClient.AlternateDistributionType;
            }
        }
        private static YellowstonePathology.Business.Client.Model.PhysicianClientDistributionListItem BuildPhysicianClientDistribution(BsonDocument clientDocument, BsonDocument physicianDocument)
        {
            YellowstonePathology.Business.Client.Model.PhysicianClientDistributionListItem result = new YellowstonePathology.Business.Client.Model.PhysicianClientDistributionListItem();
            result.ClientId = clientDocument.GetValue("ClientId").AsInt32;
            result.ClientName = Mongo.ValueHelper.GetStringValue(clientDocument.GetValue("ClientName"));
            result.LongDistance = clientDocument.GetValue("LongDistance").AsBoolean;
            result.FaxNumber = Mongo.ValueHelper.GetStringValue(clientDocument.GetValue("Fax"));
            result.DistributionType = Mongo.ValueHelper.GetStringValue(clientDocument.GetValue("DistributionType"));
            result.PhysicianId = physicianDocument.GetValue("PhysicianId").AsInt32;
            result.PhysicianName = Mongo.ValueHelper.GetStringValue(physicianDocument.GetValue("DisplayName"));

            return result;
        }
Esempio n. 3
0
        public static YellowstonePathology.Business.Client.Model.PhysicianClientDistributionList GetPhysicianClientDistributionCollection(int physicianId, int clientId)
        {
            YellowstonePathology.Business.Client.Model.PhysicianClientDistributionList result = new Client.Model.PhysicianClientDistributionList();
            string sql = "Select c.ClientId, c.ClientName, ph.PhysicianId, ph.DisplayName PhysicianName, pcd.DistributionType, " +
                         "c.Fax FaxNumber " +
                         "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.PhysicianId = ph.PhysicianId " +
                         "where pc.ClientId = @ClientId and pc.PhysicianId = @PhysicianId;";

            MySqlCommand cmd = new MySqlCommand();

            cmd.CommandText = sql;
            cmd.Parameters.AddWithValue("@PhysicianId", physicianId);
            cmd.Parameters.AddWithValue("@ClientId", clientId);
            cmd.CommandType = CommandType.Text;

            using (MySqlConnection cn = new MySqlConnection(YellowstonePathology.Properties.Settings.Default.CurrentConnectionString))
            {
                cn.Open();
                cmd.Connection = cn;
                using (MySqlDataReader dr = cmd.ExecuteReader())
                {
                    while (dr.Read())
                    {
                        string distributionType = dr["DistributionType"].ToString();
                        YellowstonePathology.Business.Client.Model.PhysicianClientDistributionListItem physicianClientDistribution = YellowstonePathology.Business.Client.Model.PhysicianClientDistributionFactory.GetPhysicianClientDistribution(distributionType);
                        YellowstonePathology.Business.Persistence.SqlDataReaderPropertyWriter          sqlDataReaderPropertyWriter = new Persistence.SqlDataReaderPropertyWriter(physicianClientDistribution, dr);
                        sqlDataReaderPropertyWriter.WriteProperties();
                        result.Add(physicianClientDistribution);
                    }
                }
            }
            return(result);
        }
        private YellowstonePathology.Business.Rules.MethodResult CanAddEpicDistribution(YellowstonePathology.Business.Client.Model.PhysicianClientDistributionListItem physicianClientDistribution)
        {
            YellowstonePathology.Business.Rules.MethodResult result = new Business.Rules.MethodResult();
            result.Success = true;
            if (this.m_PanelSetOrder.TestOrderReportDistributionCollection.DistributionTypeExists(YellowstonePathology.Business.ReportDistribution.Model.DistributionType.EPIC) == false)
            {
                List <string> clientGroupIds = new List <string>();
                clientGroupIds.Add("1");
                clientGroupIds.Add("2");

                YellowstonePathology.Business.Client.Model.ClientGroupClientCollection stVincentAndHRHGroup = YellowstonePathology.Business.Gateway.PhysicianClientGateway.GetClientGroupClientCollectionByClientGroupId(clientGroupIds);
                if (stVincentAndHRHGroup.ClientIdExists(this.m_AccessionOrder.ClientId) == true)
                {
                    if (string.IsNullOrEmpty(this.m_AccessionOrder.SvhAccount) == true || string.IsNullOrEmpty(this.m_AccessionOrder.SvhMedicalRecord) == true)
                    {
                        result.Success = false;
                        result.Message = "Unable to add an EPIC distribution as the MRN or Account No is missing.";
                    }
                    else
                    {
                        YellowstonePathology.Business.PanelSet.Model.PanelSetCollection panelSetCollection = YellowstonePathology.Business.PanelSet.Model.PanelSetCollection.GetAll();
                        YellowstonePathology.Business.PanelSet.Model.PanelSet           panelSet           = panelSetCollection.GetPanelSet(this.m_PanelSetOrder.PanelSetId);
                        if (panelSet.ResultDocumentSource != YellowstonePathology.Business.PanelSet.Model.ResultDocumentSourceEnum.YPIDatabase)
                        {
                            YellowstonePathology.Business.Client.Model.Client client = YellowstonePathology.Business.Gateway.PhysicianClientGateway.GetClientByClientId(physicianClientDistribution.ClientId);
                            physicianClientDistribution.DistributionType = client.AlternateDistributionType;
                            result.Success = true;
                        }
                    }
                }
            }
            else
            {
                result.Success = false;
                result.Message = "Only one EPIC distribution is needed.";
            }
            return(result);
        }
Esempio n. 5
0
        public UnableToAddEpicDistributionDialog(YellowstonePathology.Business.Client.Model.PhysicianClientDistributionListItem physicianClientDistributionListItem)
        {
            this.m_PhysicianClientDistributionListItem = physicianClientDistributionListItem;

            InitializeComponent();
        }