Esempio n. 1
0
        private void lbtAddins_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            FrmSelectInstrument frm = new FrmSelectInstrument(_site.SiteInstruments);

            frm.ShowDialog();

            if (frm.DialogResult == DialogResult.OK)
            {
                List <TestingArea> TaInSelectedIns = new List <TestingArea>();

                foreach (Instrument i in frm.SelectedInstruments)
                {
                    SiteInstrument si = new SiteInstrument();
                    si.Instrument        = i;
                    si.Quantity          = 1;
                    si.TestRunPercentage = 100;
                    _site.SiteInstruments.Add(si);
                    TaInSelectedIns.Add(i.TestingArea);
                }

                //AddTestingAreaInDemography(TaInSelectedIns);


                PopInstruments();

                if (OnDataUsageEdit != null)
                {
                    OnDataUsageEdit(this, new EventArgs());
                }
            }
        }
Esempio n. 2
0
        private void SaveInstrument()
        {
            instcount = 0;
            IList <SiteInstrument> resultin = new List <SiteInstrument>();

            result = DataRepository.GetAllSite();
            try
            {
                foreach (SiteInstrumentImportData rd in _siteinstrumentdata)
                {
                    if (!rd.IsExist && !rd.HasError)
                    {
                        SiteInstrument sitein = new SiteInstrument();
                        ForlabSite     site   = DataRepository.GetSiteByName(rd.SiteName);
                        if (site == null)
                        {
                            rd.HasError = true;
                        }
                        Instrument Inst = DataRepository.GetInstrumentByName(rd.InstrumentName);
                        sitein.Site              = site;
                        sitein.Instrument        = Inst;
                        sitein.Quantity          = rd.Quantity;
                        sitein.TestRunPercentage = rd.PecentRun;
                        //   DataRepository.SaveOrUpdateSite(site);

                        foreach (ForlabSite sitei in result)
                        {
                            if (sitei.SiteName == rd.SiteName && !sitei.SiteInstruments.Contains(sitein))
                            {
                                sitein.Site = sitei;
                                sitei.SiteInstruments.Add(sitein);
                                instcount++;
                            }
                        }
                    }
                }
                //  SaveAll();
                // MessageBox.Show(instcount + " Site Instrument are imported successfully.", "Importing", MessageBoxButtons.OK, MessageBoxIcon.Information);
                // this.DialogResult = System.Windows.Forms.DialogResult.OK;
                //this.Close();
            }
            catch
            {
                MessageBox.Show("Error: Unable to import Site Instrument data.", "Importing", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            finally
            {
                // DataRepository.CloseSession();
            }
        }
Esempio n. 3
0
        private TestsAndControls DoByondForcastCalc(SiteInstrument ins, int noofTestdays, int currentQuarter)
        {
            double           testRunpercent = Convert.ToDouble(ins.TestRunPercentage) / 100d;
            TestsAndControls ctc            = new TestsAndControls(13);

            ctc.TestsonInstrumentForecastPeriod = 0;
            ctc.TestsonInstrumentBufferStock    = SubtotalBufferTestBeyondForecast() * testRunpercent;

            //Samples Referred from Elsewhere
            ctc.SampleReferredTestsForecastPeriod = 0;
            ctc.SampleReferredTestsBufferStock    = _vlTestsReceivedFromReferringSitesBeyondForecast * testRunpercent;

            double noofControls = ins.Instrument.MaxTestBeforeCtrlTest;

            if (noofControls > 0)
            {
                ctc.ControlsPerNoOfTests       = 0;
                ctc.ControlsPerNoOfTestsBuffer = (ctc.TestsonInstrumentBufferStock / noofControls);
            }

            noofControls = ins.Instrument.DailyCtrlTest;
            double controlTest = ((noofControls / (1 - _vlAdditionalTestsDuetoWastage)) * testRunpercent) * noofTestdays;

            ctc.ControlsPerDay       = 0;
            ctc.ControlsPerDayBuffer = controlTest * PeriodInfo.NumberofBufferMonthsBeyondForecast;

            noofControls              = ins.Instrument.WeeklyCtrlTest;
            controlTest               = ((noofControls / (1 - _vlAdditionalTestsDuetoWastage)) * testRunpercent) * 4;
            ctc.ControlsPerWeek       = 0;
            ctc.ControlsPerWeekBuffer = controlTest * PeriodInfo.NumberofBufferMonthsBeyondForecast;

            noofControls               = ins.Instrument.MonthlyCtrlTest;
            controlTest                = ((noofControls / (1 - _vlAdditionalTestsDuetoWastage)) * testRunpercent) * 1;
            ctc.ControlsPerMonth       = 0;
            ctc.ControlsPerMonthBuffer = controlTest * PeriodInfo.NumberofBufferMonthsBeyondForecast;

            noofControls = ins.Instrument.QuarterlyCtrlTest;
            controlTest  = ((noofControls / (1 - _vlAdditionalTestsDuetoWastage)) * testRunpercent);

            int quarter = 0;

            if (currentQuarter == 12)
            {
                quarter = 2;
            }
            else if (currentQuarter == 11)
            {
                quarter = 1;
            }
            else if (currentQuarter == 10)
            {
                quarter = 0;
            }

            ctc.ControlsPerQuarter       = 0;
            ctc.ControlsPerQuarterBuffer = Math.Round((PeriodInfo.NumberofBufferMonthsBeyondForecast - quarter) / 3d) * controlTest;

            noofControls = ins.Instrument.MaxTestBeforeCtrlTest;
            if (noofControls > 0)
            {
                ctc.SampleReferredControlsPerNoOfTests       = 0;
                ctc.SampleReferredControlsPerNoOfTestsBuffer = ctc.SampleReferredTestsBufferStock / noofControls;
            }

            return(ctc);
        }
Esempio n. 4
0
        private ChemistryTestsAndControls DoByondForcastCalc(SiteInstrument ins, int noofTestdays, int currentQuarter)
        {
            double testRunpercent         = Convert.ToDouble(ins.TestRunPercentage) / 100d;
            ChemistryTestsAndControls ctc = new ChemistryTestsAndControls(13);

            foreach (ChemistrySymptomDirectedTest csdt in _chemMonthlyOutputs[12].ChemSymptomDirectedTest)
            {
                ChemistryTestOnInstrument cti = new ChemistryTestOnInstrument();
                cti.TestId = csdt.TestId;
                cti.TestsonInstrumentForecastPeriod = 0;
                cti.TestsonInstrumentBufferStock    = SubtotalBufferTestBeyondForecast(csdt.TestId) * testRunpercent;

                //Samples Referred from Elsewhere
                cti.SampleReferredTestsForecastPeriod = 0;
                cti.SampleReferredTestsBufferStock    = _testsReceivedFromReferringSitesBeyondForecast.GetChemTestValue(csdt.TestId) * testRunpercent;

                ctc.ChemTestsOnInstrument.Add(cti);
            }

            double noofControls = ins.Instrument.MaxTestBeforeCtrlTest;

            if (noofControls > 0)
            {
                ctc.ControlsPerNoOfTests       = 0;
                ctc.ControlsPerNoOfTestsBuffer = (TotalChemistrySamplesBeyoundForecast() / noofControls);
            }

            noofControls = ins.Instrument.DailyCtrlTest;
            double controlTest = ((noofControls / (1 - _chemAdditionalTestsDuetoWastage)) * testRunpercent) * noofTestdays;

            ctc.ControlsPerDay       = 0;
            ctc.ControlsPerDayBuffer = controlTest * PeriodInfo.NumberofBufferMonthsBeyondForecast;

            noofControls              = ins.Instrument.WeeklyCtrlTest;
            controlTest               = ((noofControls / (1 - _chemAdditionalTestsDuetoWastage)) * testRunpercent) * 4;
            ctc.ControlsPerWeek       = 0;
            ctc.ControlsPerWeekBuffer = controlTest * PeriodInfo.NumberofBufferMonthsBeyondForecast;

            noofControls               = ins.Instrument.MonthlyCtrlTest;
            controlTest                = ((noofControls / (1 - _chemAdditionalTestsDuetoWastage)) * testRunpercent) * 1;
            ctc.ControlsPerMonth       = 0;
            ctc.ControlsPerMonthBuffer = controlTest * PeriodInfo.NumberofBufferMonthsBeyondForecast;

            noofControls = ins.Instrument.QuarterlyCtrlTest;
            controlTest  = ((noofControls / (1 - _chemAdditionalTestsDuetoWastage)) * testRunpercent);

            int quarter = 0;

            if (currentQuarter == 12)
            {
                quarter = 2;
            }
            else if (currentQuarter == 11)
            {
                quarter = 1;
            }
            else if (currentQuarter == 10)
            {
                quarter = 0;
            }

            ctc.ControlsPerQuarter       = 0;
            ctc.ControlsPerQuarterBuffer = ((PeriodInfo.NumberofBufferMonthsBeyondForecast - quarter) / 3) * controlTest;

            ctc.TotalSamplesFP = 0;
            ctc.TotalSamplesBS = TotalChemistrySamplesBeyoundForecast() * testRunpercent;

            ctc.SampleReferredTotalSamplesFP = 0;
            ctc.SampleReferredTotalSamplesBS = _testsReceivedFromReferringSitesBeyondForecast.TotalSamples * testRunpercent;

            ctc.SampleReferredControlsPerNoOfTests = 0;
            noofControls = ins.Instrument.MaxTestBeforeCtrlTest;
            if (noofControls > 0)
            {
                ctc.SampleReferredControlsPerNoOfTestsBuffer = ctc.SampleReferredTotalSamplesBS / noofControls;
            }
            return(ctc);
        }