Пример #1
0
        private void butSelect_Click(object sender, EventArgs e)
        {
            int          len = lvProductAll.SelectedItems.Count;
            QuantifyMenu qm  = LqtUtil.GetComboBoxValue <QuantifyMenu>(comClass);
            IList <QuantificationMetric> templits = new List <QuantificationMetric>();

            for (int i = 0; i < len; i++)
            {
                QuantificationMetric metric = new QuantificationMetric();
                metric.ClassOfTest = qm.ClassOfTest;
                metric.CollectionSupplieAppliedTo = CollectionSupplieAppliedToEnum.Testing.ToString();
                metric.Product      = (MasterProduct)lvProductAll.SelectedItems[i].Tag;
                metric.QuantifyMenu = qm;
                metric.UsageRate    = 1;
                qm.QuantificationMetrics.Add(metric);
                templits.Add(metric);
            }

            lstSelectedPro.BeginUpdate();

            foreach (QuantificationMetric m in templits)
            {
                ListViewItem li = new ListViewItem(m.Product.ProductName)
                {
                    Tag = m
                };

                li.SubItems.Add(qm.DisplayTitle);

                lstSelectedPro.Items.Add(li);
            }

            lstSelectedPro.EndUpdate();
        }
Пример #2
0
        private void lbtRemove_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            QuantificationMetric qmetric = GetSelectedGeneralQM();

            if (qmetric != null)
            {
                if (MessageBox.Show("Are you sure you want to delete this Quantification Metric?", "Delete Quantification Metric", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    try
                    {
                        QuantifyMenu qm = qmetric.QuantifyMenu;
                        qm.QuantificationMetrics.Remove(qmetric);
                        DataRepository.SaveOrUpdateQuantifyMenu(qm);
                        PopGeneralQM();
                        lbtRemove.Enabled = false;
                        MdiParentForm.ShowStatusBarInfo("Quantification Metric was deleted successfully.");
                    }
                    catch (Exception ex)
                    {
                        new FrmShowError(new ExceptionStatus()
                        {
                            ex = ex, message = "Sorry, there are an error to delete this Quantification Metric."
                        }).ShowDialog();
                    }
                }
            }
        }
Пример #3
0
 private void AddModifiedQMenu(QuantifyMenu qmenu)
 {
     if (!_modifiedQuantifyMenus.ContainsKey(qmenu.Id))
     {
         _modifiedQuantifyMenus.Add(qmenu.Id, qmenu);
     }
 }
Пример #4
0
        private static QuantifyMenu CreateNewQMenu(MorbidityTest morbidityTest)
        {
            QuantifyMenu qmenu = new QuantifyMenu();

            qmenu.ClassOfTest   = morbidityTest.ClassOfTest;
            qmenu.InstrumentId  = morbidityTest.Instrument.Id;
            qmenu.MorbidityTest = morbidityTest;

            return(qmenu);
        }
Пример #5
0
 private bool IsQMSelectedToSave(QuantifyMenu qm)
 {
     foreach (QuantifyMenu q in _qmtosave)
     {
         if (q.Id == qm.Id)
         {
             return(true);
         }
     }
     return(false);
 }
Пример #6
0
 private static void CreateChemistryTestQM(MorbidityTest _morbidityTest)
 {
     ChemistryTestNameEnum[] chem = LqtUtil.EnumToArray <ChemistryTestNameEnum>();
     for (int i = 0; i < chem.Length; i++)
     {
         QuantifyMenu qmenuTest = CreateNewQMenu(_morbidityTest);
         qmenuTest.ChemTestName = chem[i].ToString();
         qmenuTest.Title        = String.Format("{0} Tests - {1}", chem[i], _morbidityTest.Instrument.InstrumentName);
         qmenuTest.TestType     = TestTypeEnum.Test.ToString();
         _morbidityTest.QuantifyMenus.Add(qmenuTest);
     }
 }
Пример #7
0
        private void lbtRemoveReagent_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            if ((_sListView.SelectedItems.Count > 0) && MessageBox.Show("Are you sure, do you want to remove it?", "ART-Test Reagent", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes)
            {
                QuantificationMetric metric = _sListView.SelectedItems[0].Tag as QuantificationMetric;
                QuantifyMenu         qm     = _morbidityTest.GetQuantifyMenuById(metric.QuantifyMenu.Id);
                qm.QuantificationMetrics.Remove(metric);

                DataRepository.SaveOrUpdateMorbidityTest(_morbidityTest);

                PopListView();
            }
        }
Пример #8
0
        private void SearchSelectedPro()
        {
            if (_selectedPro == null)
            {
                _selectedPro = new List <int>();
            }
            else
            {
                _selectedPro.Clear();
            }

            QuantifyMenu qm = LqtUtil.GetComboBoxValue <QuantifyMenu>(comClass);

            foreach (QuantificationMetric m in qm.QuantificationMetrics)
            {
                _selectedPro.Add(m.Product.Id);
            }
        }
Пример #9
0
        private void SaveRapidTests()
        {
            for (int i = 0; i <= 2; i++)
            {
                DataRepository.SaveOrUpdateRapidTestSpec(_scrtest[i]);
                if (_scrtest[i].Product != null && DataRepository.GetQuantifyMenuByProductId(_scrtest[i].Product.Id) == null)
                {
                    QuantifyMenu qmenu = new QuantifyMenu();
                    qmenu.ClassOfTest = ClassOfMorbidityTestEnum.RapidTest.ToString();
                    qmenu.TestType    = TestTypeEnum.Test.ToString();
                    qmenu.ProductId   = _scrtest[i].Product.Id;
                    qmenu.Title       = "Screening - " + _scrtest[i].Product.ProductName;
                    DataRepository.SaveOrUpdateQuantifyMenu(qmenu);
                }
                DataRepository.SaveOrUpdateRapidTestSpec(_contest[i]);
                if (_contest[i].Product != null && DataRepository.GetQuantifyMenuByProductId(_contest[i].Product.Id) == null)
                {
                    QuantifyMenu qmenu = new QuantifyMenu();
                    qmenu.ClassOfTest = ClassOfMorbidityTestEnum.RapidTest.ToString();
                    qmenu.TestType    = TestTypeEnum.Test.ToString();
                    qmenu.ProductId   = _contest[i].Product.Id;
                    qmenu.Title       = "Confirmatory -  " + _contest[i].Product.ProductName;
                    DataRepository.SaveOrUpdateQuantifyMenu(qmenu);
                }
                DataRepository.SaveOrUpdateRapidTestSpec(_tietest[i]);
                if (_tietest[i].Product != null && DataRepository.GetQuantifyMenuByProductId(_tietest[i].Product.Id) == null)
                {
                    QuantifyMenu qmenu = new QuantifyMenu();
                    qmenu.ClassOfTest = ClassOfMorbidityTestEnum.RapidTest.ToString();
                    qmenu.TestType    = TestTypeEnum.Test.ToString();
                    qmenu.ProductId   = _tietest[i].Product.Id;
                    qmenu.Title       = "Tie-Breaker - " + _tietest[i].Product.ProductName;
                    DataRepository.SaveOrUpdateQuantifyMenu(qmenu);
                }
            }
            _paramNegative.ParmValue   = comBothnegative.Text;
            _paramPositive.ParmValue   = comBothpostive.Text;
            _paramDiscordant.ParmValue = comDiscordant.Text;

            DataRepository.SaveOrUpdateForlabParameter(_paramNegative);
            DataRepository.SaveOrUpdateForlabParameter(_paramPositive);
            DataRepository.SaveOrUpdateForlabParameter(_paramDiscordant);
            _edited = false;
        }
Пример #10
0
        private void DoQuantification()
        {
            //DOES THIS SITE RECEIVE Chemistry SUPPLIES?
            if (ArtSite.ForecastVCT)
            {
                double value;
                foreach (QuantifyMenu qm in _platformObject.GeneralQuantifyMenus)
                {
                    value = 0;
                    if (qm.Title == GeneralQuantifyMenuEnum.Total_Rapid_Tests.ToString())
                    {
                        value = _s1 + _s2 + _s3 + _c1 + _c2 + _c3 + _t1 + _t2 + _t3;
                    }
                    else if (qm.Title == GeneralQuantifyMenuEnum.Total_Screenings.ToString())
                    {
                        value = _s1 + _s2 + _s3;
                    }
                    if (qm.Title == GeneralQuantifyMenuEnum.Total_Confirmatory_Tests.ToString())
                    {
                        value = _c1 + _c2 + _c3;
                    }
                    if (qm.Title == GeneralQuantifyMenuEnum.Total_Tie_Breaker_Tests.ToString())
                    {
                        value = _t1 + _t2 + _t3;
                    }
                    if (qm.Title == GeneralQuantifyMenuEnum.Total_Screenings_Plus_Confirmatory.ToString())
                    {
                        value = _s1 + _s2 + _s3 + _c1 + _c2 + _c3;
                    }
                    if (qm.Title == GeneralQuantifyMenuEnum.Total_Screenings_Plus_Tie_Breaker.ToString())
                    {
                        value = _s1 + _s2 + _s3 + _t1 + _t2 + _t3;
                    }
                    if (qm.Title == GeneralQuantifyMenuEnum.Total_Confirmatory_Plus_Tie_Breaker.ToString())
                    {
                        value = _c1 + _c2 + _c3 + _t1 + _t2 + _t3;
                    }

                    if (value > 0)
                    {
                        QMenuWithValue qval = new QMenuWithValue();
                        qval.QuantifyMenuId   = qm.Id;
                        qval.SiteValue        = value;
                        qval.ReferalSiteValue = 0;
                        _listOfQMenuWithValue.Add(qval);
                    }
                }

                for (int i = 1; i <= 3; i++)
                {
                    int prodcutId = RTestAlgorithm.GetProductId(TestingSpecificationGroup.Screening, i);
                    if (prodcutId > 0)
                    {
                        QuantifyMenu   pqm  = _platformObject.GetQuantifyMenuByProductId(prodcutId);
                        QMenuWithValue qval = new QMenuWithValue();
                        qval.QuantifyMenuId   = pqm.Id;
                        qval.ReferalSiteValue = 0;

                        if (i == 1)
                        {
                            qval.SiteValue = _s1;
                        }
                        else if (i == 2)
                        {
                            qval.SiteValue = _s2;
                        }
                        else
                        {
                            qval.SiteValue = _s3;
                        }
                        _listOfQMenuWithValue.Add(qval);
                    }

                    prodcutId = RTestAlgorithm.GetProductId(TestingSpecificationGroup.Confirmatory, i);
                    if (prodcutId > 0)
                    {
                        QuantifyMenu   pqmC  = _platformObject.GetQuantifyMenuByProductId(prodcutId);
                        QMenuWithValue qvalC = new QMenuWithValue();
                        qvalC.QuantifyMenuId   = pqmC.Id;
                        qvalC.ReferalSiteValue = 0;

                        if (i == 1)
                        {
                            qvalC.SiteValue = _c1;
                        }
                        else if (i == 2)
                        {
                            qvalC.SiteValue = _c2;
                        }
                        else
                        {
                            qvalC.SiteValue = _c3;
                        }
                        _listOfQMenuWithValue.Add(qvalC);
                    }

                    prodcutId = RTestAlgorithm.GetProductId(TestingSpecificationGroup.Tie_Breaker, i);
                    if (prodcutId > 0)
                    {
                        QuantifyMenu   pqmT  = _platformObject.GetQuantifyMenuByProductId(prodcutId);
                        QMenuWithValue qvalT = new QMenuWithValue();
                        qvalT.QuantifyMenuId   = pqmT.Id;
                        qvalT.ReferalSiteValue = 0;

                        if (i == 1)
                        {
                            qvalT.SiteValue = _t1;
                        }
                        else if (i == 2)
                        {
                            qvalT.SiteValue = _t2;
                        }
                        else
                        {
                            qvalT.SiteValue = _t3;
                        }
                        _listOfQMenuWithValue.Add(qvalT);
                    }
                }

                foreach (QMenuWithValue qm in _listOfQMenuWithValue)
                {
                    IList <QuantificationMetric> list = _platformObject.GetQuanMetricByQuanMenuId(qm.QuantifyMenuId);

                    foreach (QuantificationMetric r in list)
                    {
                        PrimeryQuantifyedReagent pqr = new PrimeryQuantifyedReagent();
                        pqr.ProductId = r.Product.Id;
                        pqr.UnitCost  = r.Product.GetActiveProductPrice(DateTime.Now).Price;
                        pqr.PackSize  = r.Product.GetActiveProductPrice(DateTime.Now).PackSize;
                        pqr.Unit      = r.Product.BasicUnit;

                        double testperpack   = r.Product.GetActiveProductPrice(DateTime.Now).PackSize / r.UsageRate;
                        double valueofmetric = r.CollectionSupplieAppliedTo == CollectionSupplieAppliedToEnum.Collection.ToString() ? qm.SiteValue : qm.TotalValue;
                        if (ArtSite.Site.CD4RefSite > 0 && r.CollectionSupplieAppliedTo == CollectionSupplieAppliedToEnum.Testing.ToString())
                        {
                            valueofmetric = 0;
                        }
                        pqr.Value           = testperpack > 0 ? valueofmetric / testperpack : 0;
                        pqr.MinimumQuantity = r.Product.MinimumPackSize;
                        _lstPrimaryQuanReagents.AddPrimeryQR(pqr);
                    }
                }
            }
        }
Пример #11
0
        public static void CreateQuantifyMenus(MorbidityTest morbidityTest)
        {
            QuantifyMenu qmenuTest = CreateNewQMenu(morbidityTest);

            qmenuTest.Title = BuildTestName(morbidityTest.Instrument.InstrumentName, morbidityTest.ClassOfTestEnum);
            if (morbidityTest.ClassOfTestEnum != ClassOfMorbidityTestEnum.Chemistry)
            {
                qmenuTest.TestType = TestTypeEnum.Test.ToString();
                morbidityTest.QuantifyMenus.Add(qmenuTest);
            }
            else
            {
                qmenuTest.TestType = TestTypeEnum.SamplesRunOn.ToString();
                morbidityTest.QuantifyMenus.Add(qmenuTest);
                CreateChemistryTestQM(morbidityTest);
            }

            QuantifyMenu qmenuCon = CreateNewQMenu(morbidityTest);

            qmenuCon.Title    = String.Format("{0} Controls - {1}", morbidityTest.ClassOfTest, morbidityTest.Instrument.InstrumentName);
            qmenuCon.TestType = TestTypeEnum.ControlTest.ToString();
            qmenuCon.Duration = TestingDurationEnum.TotalControl.ToString();
            morbidityTest.QuantifyMenus.Add(qmenuCon);

            QuantifyMenu qmenuPertest = CreateNewQMenu(morbidityTest);

            qmenuPertest.Title    = String.Format("{0} Controls Per Test-{1}", morbidityTest.ClassOfTest, morbidityTest.Instrument.InstrumentName);
            qmenuPertest.TestType = TestTypeEnum.ControlTest.ToString();
            qmenuPertest.Duration = TestingDurationEnum.PerTest.ToString();
            morbidityTest.QuantifyMenus.Add(qmenuPertest);

            QuantifyMenu qmenuDaily = CreateNewQMenu(morbidityTest);

            qmenuDaily.Title    = String.Format("{0} Daily Controls-{1}", GetTestShortName(morbidityTest.ClassOfTestEnum), morbidityTest.Instrument.InstrumentName);
            qmenuDaily.TestType = TestTypeEnum.ControlTest.ToString();
            qmenuDaily.Duration = TestingDurationEnum.Daily.ToString();
            morbidityTest.QuantifyMenus.Add(qmenuDaily);

            QuantifyMenu qmenuWeekly = CreateNewQMenu(morbidityTest);

            qmenuWeekly.Title    = String.Format("{0} Weekly Controls-{1}", GetTestShortName(morbidityTest.ClassOfTestEnum), morbidityTest.Instrument.InstrumentName);
            qmenuWeekly.TestType = TestTypeEnum.ControlTest.ToString();
            qmenuWeekly.Duration = TestingDurationEnum.Weekly.ToString();
            morbidityTest.QuantifyMenus.Add(qmenuWeekly);

            QuantifyMenu qmenuMonth = CreateNewQMenu(morbidityTest);

            qmenuMonth.Title    = String.Format("{0} Monthly Controls-{1}", GetTestShortName(morbidityTest.ClassOfTestEnum), morbidityTest.Instrument.InstrumentName);
            qmenuMonth.TestType = TestTypeEnum.ControlTest.ToString();
            qmenuMonth.Duration = TestingDurationEnum.Monthly.ToString();
            morbidityTest.QuantifyMenus.Add(qmenuMonth);

            QuantifyMenu qmenuQua = CreateNewQMenu(morbidityTest);

            qmenuQua.Title    = String.Format("{0} Quarterly Controls-{1}", GetTestShortName(morbidityTest.ClassOfTestEnum), morbidityTest.Instrument.InstrumentName);
            qmenuQua.TestType = TestTypeEnum.ControlTest.ToString();
            qmenuQua.Duration = TestingDurationEnum.Quarterly.ToString();
            morbidityTest.QuantifyMenus.Add(qmenuQua);

            QuantifyMenu qmenuPerins = CreateNewQMenu(morbidityTest);

            qmenuPerins.Title    = String.Format("Per Instrument-{0}", morbidityTest.Instrument.InstrumentName);
            qmenuPerins.TestType = TestTypeEnum.PerInstrument.ToString();
            morbidityTest.QuantifyMenus.Add(qmenuPerins);

            QuantifyMenu qmenuPerday = CreateNewQMenu(morbidityTest);

            qmenuPerday.Title    = String.Format("Per Day-{0}", morbidityTest.Instrument.InstrumentName);
            qmenuPerday.TestType = TestTypeEnum.PerDay.ToString();
            morbidityTest.QuantifyMenus.Add(qmenuPerday);
        }
Пример #12
0
 public static void DeleteQuantifyMenu(QuantifyMenu mtest)
 {
     DaoFactory.GetDaoFactory().CreateQuantifyMenuDao().Delete(mtest);
 }
Пример #13
0
 public static void SaveOrUpdateQuantifyMenu(QuantifyMenu mtest)
 {
     DaoFactory.GetDaoFactory().CreateQuantifyMenuDao().SaveOrUpdate(mtest);
 }
Пример #14
0
        private IList <ImportQVariableData> GetDataRow(DataSet ds)
        {
            DataRepository.CloseSession();

            int rowno = 0;
            IList <ImportQVariableData> rdlist = new List <ImportQVariableData>();
            double usagerate;

            _modifiedQuantifyMenus = new Dictionary <int, QuantifyMenu>();
            _listofQmenus          = null;

            foreach (DataRow dr in ds.Tables[0].Rows)
            {
                rowno++;
                if (!DatarowValueToDouble(dr[1], out usagerate))
                {
                    usagerate = 1;
                }

                ImportQVariableData rd = new ImportQVariableData(Convert.ToString(dr[0]), usagerate, Convert.ToString(dr[2]), Convert.ToString(dr[3]), rowno);
                rdlist.Add(rd);
            }

            foreach (ImportQVariableData rd in rdlist)
            {
                if (!string.IsNullOrEmpty(rd.ProductName))
                {
                    rd.Product = DataRepository.GetProductByName(rd.ProductName);
                    if (rd.Product != null)
                    {
                        if (!string.IsNullOrEmpty(rd.QuantifyMenu))
                        {
                            QuantifyMenu qm = GetQuantifyMenuByTitle(rd.QuantifyMenu);
                            if (qm != null)
                            {
                                if (qm.IsProductSelected(rd.Product.Id))
                                {
                                    rd.IsExist          = true;
                                    rd.ErrorDescription = "Already this quantification variable is existed";
                                }
                                else
                                {
                                    QuantificationMetric qmetric = new QuantificationMetric();
                                    qmetric.ClassOfTest = qm.ClassOfTest;
                                    qmetric.CollectionSupplieAppliedTo = rd.AppliedTo;
                                    qmetric.Product      = rd.Product;
                                    qmetric.QuantifyMenu = qm;
                                    qmetric.UsageRate    = rd.UsageRate;

                                    qm.QuantificationMetrics.Add(qmetric);
                                    AddModifiedQMenu(qm);
                                }
                            }
                            else
                            {
                                rd.HasError         = true;
                                rd.ErrorDescription = "Error: unable to found Quantification variable";
                            }
                        }
                        else
                        {
                            rd.HasError         = true;
                            rd.ErrorDescription = "Error: Quantify according to is empty";
                        }
                    }
                    else
                    {
                        rd.HasError         = true;;
                        rd.ErrorDescription = "Error: unable to found a Product";
                    }
                }
                else
                {
                    rd.HasError         = true;
                    rd.ErrorDescription = "Error: Product name is empty";
                }
            }

            return(rdlist);
        }