예제 #1
0
        void LoadData()
        {
            string cmdText = "";

            if (doc.IsNew)
            {
                cmdText = "select top 0 * from DocumentProducts";
            }
            else
            {
                cmdText = @"
select DocumentProducts.*, StoreProducts.*, Products.Code, Products.Name
from DocumentProducts
left join StoreProducts on StoreProducts.Id=StoreProductId
left join Products on Products.Id=ProductId 
where DocumentId=@DocumentId";
            }
            using (GmConnection conn = App.CreateConnection())
            {
                GmCommand cmd = conn.CreateCommand(cmdText);
                cmd.AddInt("DocumentId", doc.Id);
                cmd.Fill(dataTable);
            }
            if (gridView.Visible)
            {
                gridView.DataSource = dataTable;
            }
        }
        public static ReportsDataSet.AnalysisRequestDataTable GetAnalysisRequestTable(ConnectionFactory factory, Config config, int patientId, int analysisId)
        {
            DataTable dataTable = new DataTable();
            string    cmdText   = @"
select Code, AnalysisTypes.Name as AnalysisTypeName, RequestDate
from Analyses
left join AnalysisTypes on AnalysisTypes.Id=AnalysisTypeId
where ";

            cmdText += analysisId == 0 ? "PatientId=@PatientId order by RequestDate" : "AnalysisId=@AnalysisId";
            using (GmConnection conn = factory.CreateConnection())
            {
                GmCommand cmd = new GmCommand(conn, cmdText);
                cmd.AddInt("PatientId", patientId);
                cmd.AddInt("AnalysisId", analysisId);
                cmd.Fill(dataTable);
            }
            ReportsDataSet.AnalysisRequestDataTable dtAnalysisRequest = new ReportsDataSet.AnalysisRequestDataTable();
            foreach (DataRow dr in dataTable.Rows)
            {
                ReportsDataSet.AnalysisRequestRow row = dtAnalysisRequest.NewAnalysisRequestRow();
                row.AnalysisCode = (string)dr["Code"];
                row.AnalysisName = (string)dr["AnalysisTypeName"];
                row.RequestDate  = ((DateTime)dr["RequestDate"]).ToString("dd.MM.yy");
                dtAnalysisRequest.AddAnalysisRequestRow(row);
            }
            return(dtAnalysisRequest);
        }
예제 #3
0
        void LoadData()
        {
            string cmdText = @"
select DocumentProducts.*, StoreProducts.*, Products.Code, Products.Name
from DocumentProducts
left join StoreProducts on StoreProducts.Id=StoreProductId
left join Products on Products.Id=ProductId 
where DocumentId=@DocumentId";

            using (GmConnection conn = App.CreateConnection())
            {
                GmCommand cmd = conn.CreateCommand(cmdText);
                cmd.AddInt("DocumentId", doc.Id);
                cmd.Fill(dataTable);
            }
            gridView.DataSource  = dataTable;
            chkCompleted.Checked = doc.completed;
            if (doc.completed)
            {
                Control[] controls = { btnAdd, btnRemove, btnOk, dpDate };
                foreach (Control ctl in controls)
                {
                    ctl.Enabled = false;
                }
                chkCompleted.Enabled    = false;
                ucSelectProduct.Enabled = false;
            }
        }
        public static ReportsDataSet.AnalysisResultDataTable GetAnalysisResultTable(ConnectionFactory factory, Config config, int patientId, int analysisId)
        {
            DataTable dataTable = new DataTable();
            string    cmdText   = @"
select Code, AnalysisTypes.Name as AnalysisTypeName, ExecutionDate, AnalysisData, HandbookGroupId
from Analyses
left join AnalysisTypes on AnalysisTypes.Id=AnalysisTypeId
where ExecutionDate is not null and ";

            cmdText += analysisId == 0 ? "PatientId=@PatientId order by ExecutionDate" : "AnalysisId=@AnalysisId";
            using (GmConnection conn = factory.CreateConnection())
            {
                GmCommand cmd = new GmCommand(conn, cmdText);
                cmd.AddInt("PatientId", patientId);
                cmd.AddInt("AnalysisId", analysisId);
                cmd.Fill(dataTable);
            }
            ReportsDataSet.AnalysisResultDataTable dtAnalysisResult = new ReportsDataSet.AnalysisResultDataTable();
            foreach (DataRow dr in dataTable.Rows)
            {
                AnalysisData ad = AnalysisData.DeserializeString(dr["AnalysisData"] as string);
                ReportsDataSet.AnalysisResultRow row = dtAnalysisResult.NewAnalysisResultRow();
                row.AnalysisCode  = (string)dr["Code"];
                row.AnalysisName  = (string)dr["AnalysisTypeName"];
                row.ExecutionDate = ((DateTime)dr["ExecutionDate"]).ToString("dd.MM.yy");
                HandbookGroup hg = config.GetHandbookGroup((string)dr["HandbookGroupId"]);
                row.Result = ad.GetText(hg);
                dtAnalysisResult.AddAnalysisResultRow(row);
            }
            return(dtAnalysisResult);
        }
        int LoadData()
        {
            reportsDataSet.PatientsPrescriptions.Clear();
            doc.documentData.prescriptionTypes.Clear();
            foreach (PrescriptionType prescriptionType in lbPrescriptionTypes.CheckedItems)
            {
                doc.documentData.prescriptionTypes.Add(prescriptionType.Id);
            }
            doc.date = dpDate.Value.Date;
            if (doc.documentData.prescriptionTypes.Count == 0)
            {
                return(0);
            }
            string cmdText = @"
SELECT        Wards.Number AS WardNumber, Prescriptions.PatientId, Passports.Surname + ' ' + Passports.Name AS PatientName, 
                         PrescriptionTypes.Name AS PrescriptionTypeName, Products.Name AS ProductName, Prescriptions.Dose, BaseUnits.Name AS BaseUnitName, 
                         Prescriptions.Multiplicity
FROM            Prescriptions LEFT OUTER JOIN
                         StoreProducts ON StoreProducts.Id = Prescriptions.StoreProductId LEFT OUTER JOIN
                         Products ON Products.Id = StoreProducts.ProductId LEFT OUTER JOIN
                         BaseUnits ON BaseUnits.Id = Products.BaseUnitId LEFT OUTER JOIN
                         PrescriptionTypes ON PrescriptionTypes.Id = Prescriptions.PrescriptionTypeId LEFT OUTER JOIN
                         Patients ON Patients.Id = Prescriptions.PatientId LEFT OUTER JOIN
                         Wards ON Wards.Id = Patients.WardId LEFT OUTER JOIN
                         Passports ON Passports.Id = Patients.PassportId 
WHERE (Prescriptions.StartDate <= @EndDate) AND (@StartDate <= Prescriptions.EndDate)";

            cmdText += string.Format(" and PrescriptionTypeId in ({0})", CollectionUtils.GetCommaSeparatedList(doc.documentData.prescriptionTypes));
            if (hasWatching)
            {
                cmdText += string.Format(" and PatientId in ({0})", CollectionUtils.GetCommaSeparatedList(doc.documentData.patients));
            }
            else
            {
                cmdText += " and (DischargeDate is null)";
            }
            cmdText += " ORDER BY WardNumber, Prescriptions.PatientId";

            using (GmConnection conn = App.CreateConnection())
            {
                GmCommand cmd = conn.CreateCommand(cmdText);
                cmd.AddDateTime("StartDate", doc.date);
                cmd.AddDateTime("EndDate", doc.date + TimeSpan.FromDays(1));
                cmd.Fill(reportsDataSet.PatientsPrescriptions);
            }
            return(reportsDataSet.PatientsPrescriptions.Rows.Count);
        }