/// <summary>
        /// Build a data grid interface for updating in bulk
        /// </summary>
        private void BuildBulkEditForm()
        {
            string            postedSpecimens = Request.Form["specimens"] + "";
            IEnumerable <int> specimenIds     = postedSpecimens.Split(',').Select(s => int.Parse(s));

            // get a list of Specimens
            List <Specimen> specimens = new List <Specimen>();

            foreach (int specimenId in specimenIds)
            {
                Specimen specimen = new Specimen();
                specimen.Get(specimenId);
                specimens.Add(specimen);
            }
            // data bind
            DataView specimenDataView = specimens.AsDataView <Specimen>();

            BulkEditGrid.DataSource = specimenDataView;
            BulkEditGrid.DataBind();

            // adjust UI
            int startIndex  = 3;                              // exclude required columns
            int endIndex    = BulkEditGrid.Columns.Count - 1; // exclude date column
            var showIndexes = EVENT_TYPE_INDEXES[InventoryMode];

            for (int i = startIndex; i < endIndex; i++)
            {
                BulkEditGrid.Columns[i].Visible = showIndexes.Contains(i);
            }
        }
        public static double CountValueOfTheFunction(FactoryController factory, Specimen specimen)
        {
            double Payouts       = 0;
            double FactoryProfit = FactoryProfitCounter(factory);

            foreach (KeyValuePair <Machines, Employees> e in specimen.Genome)
            {
                double val = 0;
                for (int i = 0; i < e.Value.VectorOfAbilities.Length; i++)
                {
                    if (e.Value.VectorOfAbilities[i] == '1')
                    {
                        val++;
                    }
                }
                if (e.Key.Special == 1)
                {
                    Payouts += (val * 5) * 1.5;
                }
                else
                {
                    Payouts += (val * 5);
                }
            }

            return(FactoryProfit - Payouts);
        }
Пример #3
0
 private void specimenfillreport()
 {
     if (txtDocno.Text != "" && DDLsubconfirmid.SelectedItem.Value != "")
     {
         if (txtDocno.Text.ToString() == "")
         {
             MessageBox("Require Document No.");
         }
         try
         {
             DataTable dt = new DataTable();
             dt = Specimen.Get_SpecimenDetailsForInvoice(Convert.ToInt32(txtDocno.Text.ToString()), Convert.ToDecimal(DDLsubconfirmid.SelectedItem.Value.ToString())).Tables[0];
             if (dt.Rows.Count > 0)
             {
                 ReportDocument CR = new ReportDocument();
                 CR.Load(Server.MapPath("Report/SpecimenReport.rpt"));
                 CR.SetDataSource(dt);
                 crtspecimen.ReportSource = CR;
             }
             //else
             //{
             //    MessageBox("No Records Found");
             //    txtDocno.Focus();
             //}
         }
         catch { }
     }
 }
Пример #4
0
        public SpecimenDTO createAndPersistDTOAsync(CreateSpecimenDTO dto)
        {
            Specimen result   = specimenFactory.create(dto);
            Document document = specimenRepository.Save(result);

            return(specimenFactory.createDTO(document));
        }
Пример #5
0
        public string EditSpecimen(DtoSpecimen dtoSpecimen)
        {
            var uniqueSpecimen = SpecimenMethods.Instance.GetSpecimenByCode(dtoSpecimen.Code);

            if (!dtoSpecimen.IsEdit)
            {
                var specimen = new Specimen()
                {
                    Code        = dtoSpecimen.Code,
                    Name        = dtoSpecimen.Name,
                    DefaultTube = new Tube()
                    {
                        Code = dtoSpecimen.DefaultTube.Code
                    }
                };
                return(SpecimenMethods.Instance.InsertSpecimen(specimen));
            }
            else
            {
                var specimen = new Specimen()
                {
                    Id          = uniqueSpecimen.Id,
                    Code        = dtoSpecimen.Code,
                    Name        = dtoSpecimen.Name,
                    DefaultTube = new Tube()
                    {
                        Code = dtoSpecimen.DefaultTube.Code
                    }
                };
                return(SpecimenMethods.Instance.UpdateSpecimen(specimen));
            }
        }
Пример #6
0
            public override IDeepCopyable CopyTo(IDeepCopyable other)
            {
                var dest = other as ItemComponent;

                if (dest != null)
                {
                    base.CopyTo(dest);
                    if (Code != null)
                    {
                        dest.Code = (Hl7.Fhir.Model.CodeableConcept)Code.DeepCopy();
                    }
                    if (Specimen != null)
                    {
                        dest.Specimen = new List <Hl7.Fhir.Model.ResourceReference>(Specimen.DeepCopy());
                    }
                    if (BodySite != null)
                    {
                        dest.BodySite = (Hl7.Fhir.Model.CodeableConcept)BodySite.DeepCopy();
                    }
                    if (StatusElement != null)
                    {
                        dest.StatusElement = (Code <Hl7.Fhir.Model.DiagnosticOrder.DiagnosticOrderStatus>)StatusElement.DeepCopy();
                    }
                    if (Event != null)
                    {
                        dest.Event = new List <Hl7.Fhir.Model.DiagnosticOrder.EventComponent>(Event.DeepCopy());
                    }
                    return(dest);
                }
                else
                {
                    throw new ArgumentException("Can only copy to an object of the same type", "other");
                }
            }
Пример #7
0
 private Specimen GetRandomSpecimen()
 {
     if (EnableLookup)
     {
         if (_EtalonSpecimen == null)
         {
             _EtalonSpecimen = Lookup[UnityEngine.Random.Range(0, Lookup.Length)];
         }
         var result = new Specimen()
         {
             Angle = _EtalonSpecimen.Angle, Force = _EtalonSpecimen.Force, Parent = this
         };
         Mutate(ref result, 0.05f);
         return(result);
     }
     else
     {
         return(new Specimen()
         {
             Angle = UnityEngine.Random.Range(-Settings.MaxAngle, Settings.MaxAngle),
             Force = UnityEngine.Random.Range(MinEstimatedForce, MaxEstimatedForce),
             Parent = this
         });
     }
 }
Пример #8
0
            private void move()
            {
                for (int i = specimens.Count - 1; i >= 0; i--)
                {
                    Specimen s = specimens[i];

                    if (s.age == consts.maxAge)
                    {
                        specimens.RemoveAt(i);
                        continue;
                    }

                    s.age++;

                    int ox, oy;

                    plyr.pd.Invoke(b.getView(s.pos.x, s.pos.y), s.g, rnd, out ox, out oy);

                    Board.Position npos;
                    SpecimenState  sstate = b.move(s.pos, ox, oy, out npos);
                    s.pos = npos;

                    if (sstate == SpecimenState.Win)
                    {
                        s.score++;
                        plyr.score++;
                        resetSpecimen(s);
                    }
                    else if (sstate == SpecimenState.Dead)
                    {
                        specimens.RemoveAt(i);
                    }
                }
            }
Пример #9
0
        /// <inheritdoc/>
        public string ToDelimitedString()
        {
            CultureInfo culture = CultureInfo.CurrentCulture;

            return(string.Format(
                       culture,
                       StringHelper.StringFormatSequence(0, 19, Configuration.FieldSeparator),
                       Id,
                       SequenceNumberTestObservationMasterFile.HasValue ? SequenceNumberTestObservationMasterFile.Value.ToString(Consts.NumericFormat, culture) : null,
                       DerivedSpecimen,
                       ContainerDescription != null ? string.Join(Configuration.FieldRepeatSeparator, ContainerDescription.Select(x => x.ToDelimitedString())) : null,
                       ContainerVolume != null ? string.Join(Configuration.FieldRepeatSeparator, ContainerVolume.Select(x => x.ToString(Consts.NumericFormat, culture))) : null,
                       ContainerUnits != null ? string.Join(Configuration.FieldRepeatSeparator, ContainerUnits.Select(x => x.ToDelimitedString())) : null,
                       Specimen?.ToDelimitedString(),
                       Additive?.ToDelimitedString(),
                       Preparation?.ToDelimitedString(),
                       SpecialHandlingRequirements?.ToDelimitedString(),
                       NormalCollectionVolume?.ToDelimitedString(),
                       MinimumCollectionVolume?.ToDelimitedString(),
                       SpecimenRequirements?.ToDelimitedString(),
                       SpecimenPriorities != null ? string.Join(Configuration.FieldRepeatSeparator, SpecimenPriorities) : null,
                       SpecimenRetentionTime?.ToDelimitedString(),
                       SpecimenHandlingCode != null ? string.Join(Configuration.FieldRepeatSeparator, SpecimenHandlingCode.Select(x => x.ToDelimitedString())) : null,
                       SpecimenPreference,
                       PreferredSpecimenAttribtureSequenceId.HasValue ? PreferredSpecimenAttribtureSequenceId.Value.ToString(Consts.NumericFormat, culture) : null,
                       TaxonomicClassificationCode != null ? string.Join(Configuration.FieldRepeatSeparator, TaxonomicClassificationCode.Select(x => x.ToDelimitedString())) : null
                       ).TrimEnd(Configuration.FieldSeparator.ToCharArray()));
        }
Пример #10
0
        public Dictionary <int, InstructionsHelper> GenerateData(CargoShipCollection ships, ref ContainersCollection containers)
        {
            this._ships      = ships;
            this._containers = containers;
            Dictionary <int, InstructionsHelper> Solution = new Dictionary <int, InstructionsHelper>();

            InitialFill();
            log.Debug("Initial fill");
            for (var i = 0; i < cycles; ++i)
            {
                EvaluateSpecimens();
                Crossover();
            }
            log.Debug("Mutation and crossover done");

            Specimen bestSpec = _specimens[0];

            for (var i = 0; i < _ships.Count; ++i)
            {
                Solution.Add(i, bestSpec._shipCargo[i]);
            }
            log.Debug("Solution created");

            return(Solution);
        }
Пример #11
0
        public Tuple <Specimen, Specimen> GetChildren()
        {
            var childSpecimen1 = new Specimen(Data, Child1);
            var childSpecimen2 = new Specimen(Data, Child2);

            return(Tuple.Create(childSpecimen1, childSpecimen2));
        }
Пример #12
0
        public static List<Specimen> Crossover(this Specimen current, Specimen other)
        {
            if (current.Length != other.Length)
            {
                throw new ArgumentException("Specimens must have the same length of the genome!");
            }

            int pos = RndInteger.Next(current.Length - 3) + 2;

            var child1 = default(Specimen);
            child1.Fitness = double.NaN;

            var child2 = default(Specimen);
            child2.Fitness = double.NaN;

            var child3 = default(Specimen);
            child3.Fitness = double.NaN;

            var genes1 = new double[current.Length];
            var genes2 = new double[current.Length];
            var genes3 = new double[current.Length];

            for (int i = 0; i < current.Length; i++)
            {
                genes1[i] = (i < pos) ? current.Genes[i] : other.Genes[i];
                genes2[i] = (i >= pos) ? current.Genes[i] : other.Genes[i];
                genes3[i] = 0.5 * (current.Genes[i] + other.Genes[i]);
            }

            SetGenes(ref child1, genes1);
            SetGenes(ref child2, genes2);
            SetGenes(ref child3, genes3);

            return new List<Specimen> { child1, child2, child3 };
        }
Пример #13
0
        private void AddSpecimensToCollection(int colId, string specimenIds, bool isNewCollection)
        {
            if (!string.IsNullOrEmpty(specimenIds))
            {
                char[]   delimiters = { ',' };
                string[] ids        = specimenIds.Split(new char[] { ',' });
                this.numOfSpecimensAdded = ids.GetLength(0);

                //get each specimen by id and set its collectionId
                foreach (string sId in ids)
                {
                    Specimen biz = new Specimen();
                    Specimen_SpecimenCollections bizcol = new Specimen_SpecimenCollections();

                    biz.Get(int.Parse(sId));
                    //biz[Specimen.CollectionId] = colId;
                    //biz[Specimen.SpecimenStatus] = "Unavailable: Reserved"; //bug fix
                    //biz.Save();

                    if (!SpecimenCollectionExists(int.Parse(sId), colId))
                    {
                        bizcol[Specimen_SpecimenCollections.SpecimenId]   = sId;
                        bizcol[Specimen_SpecimenCollections.CollectionId] = colId;
                        bizcol.Save();
                    }
                    BindSpecimensGrid();
                }

                LoadExistingCollection(colId, isNewCollection);
            }
        }
Пример #14
0
        /// <summary>
        /// btnNewSpecimen Click event.
        /// Clears the Page for a new Specimen.
        /// </summary>
        /// <param name="sender">Sender.</param>
        /// <param name="e">E.</param>
        public void btnNewSpecimen_Clicked(object sender, EventArgs e)
        {
            specimen = new Specimen();

            entryFieldID.Text            = "";
            entryOccurrenceNotes.Text    = "";
            entrySubstrate.Text          = "";
            pickerLifeStage.SelectedItem = null;
            switchCultivated.IsToggled   = false;
            entryIndivCount.Text         = "";

            lblStatusMessage.IsVisible = false;
            lblStatusMessage.Text      = "";

            specimen.SiteName = site.SiteName;

            if (DataFunctions.CheckExists(specimen, site.RecordNo.ToString() + "-" + AppVariables.CollectionCount.ToString()))
            {
                Title = site.RecordNo.ToString() + "-" + (AppVariables.CollectionCount + 1).ToString();
            }
            else
            {
                Title = site.RecordNo.ToString() + "-" + AppVariables.CollectionCount.ToString();
            }
        }
Пример #15
0
 private void fillcutomerreport()
 {
     if (txtfromDate.Text != "" && txttoDate.Text != "" && DDLSalesman.SelectedItem.Value != "")
     {
         string from = txtfromDate.Text.Split('/')[1] + "/" + txtfromDate.Text.Split('/')[0] + "/" + txtfromDate.Text.Split('/')[2];
         string To   = txttoDate.Text.Split('/')[1] + "/" + txttoDate.Text.Split('/')[0] + "/" + txttoDate.Text.Split('/')[2];
         fdate = Convert.ToDateTime(from);
         tdate = Convert.ToDateTime(To);
         if (fdate > tdate)
         {
             MessageBox("From Date is Greater than ToDate");
             txtfromDate.Focus();
         }
         else
         {
             try
             {
                 DataTable dt = new DataTable();
                 dt = Specimen.Get_Customer_SalesmanwiseBooks(DDLSalesman.SelectedItem.Value.ToString(), Convert.ToDateTime(from), Convert.ToDateTime(To)).Tables[0];
                 ReportDocument CR = new ReportDocument();
                 CR.Load(Server.MapPath("Report/Salesmen_Customerwise_Report.rpt"));
                 CR.SetDataSource(dt);
                 crystalreportviewer1.ReportSource = CR;
             }
             catch { }
         }
     }
 }
Пример #16
0
    protected void btnPrint_Click(object sender, EventArgs e)
    {
        ((Button)(sender)).Enabled = false;
        SpecimenConfirmQtyDetails _objSpecimenConfirmQtyDetails = new SpecimenConfirmQtyDetails();
        Specimen _objspecimen = new Specimen();


        try
        {
            _objSpecimenConfirmQtyDetails.IsPrintInvoice = true;
            _objSpecimenConfirmQtyDetails.CreatedBy      = Session["UserName"].ToString();
            _objSpecimenConfirmQtyDetails.SubDocId       = Convert.ToDecimal(((Button)(sender)).CommandArgument.Trim());
            _objSpecimenConfirmQtyDetails.Save_Specimen_PrintInvoiceDetails();
            ((Button)(sender)).BackColor = System.Drawing.Color.Red;
            ((Button)(sender)).ForeColor = System.Drawing.Color.White;
            ((Button)(sender)).Enabled   = true;
            ScriptManager.RegisterClientScriptBlock(Page, Page.GetType(), "window", "f_open_window_max('print/PrintInvoiceReport.aspx?d=" + txtDocno.Text.Trim() + "&sd=" + ((Button)(sender)).CommandArgument.Trim() + "')", true);
        }


        catch (Exception ex)
        {
            MessageBox(ex.Message.ToString());
            ((Button)(sender)).Enabled = true;
        }
        //}
    }
Пример #17
0
        public int UpdateSpecimenCondition(int specimenId, string condition)
        {
            Specimen biz = new Specimen();

            biz.Get(specimenId);
            string notes = biz[Specimen.SpecimenNotes].ToString();

            if (!string.IsNullOrEmpty(condition) && GetSpecimenCondition(notes) != condition)
            {
                string updatedNotes = notes;
                bool   found        = false;
                foreach (string conditionValue in conditions)
                {
                    if (updatedNotes.Contains(conditionValue))
                    {
                        updatedNotes = updatedNotes.Replace(conditionValue, condition);
                        found        = true;
                        break;
                    }
                }
                if (found == false)
                {
                    updatedNotes = updatedNotes + (updatedNotes == "" ? "" : " ") + condition;
                }

                if (notes != updatedNotes)
                {
                    biz[Specimen.SpecimenNotes] = updatedNotes;
                    biz.Save();
                }
            }
            return((int)biz[Specimen.SpecimenId]);
        }
Пример #18
0
        public static Specimen GetSpecimen(Patient patient, Organization orderOrganization)
        {
            var specimen = new Specimen
            {
                Id         = Guid.NewGuid().ToString(),
                Collection = new Specimen.SpecimenCollectionComponent
                {
                    Collected = new Date(DateTime.Today.ToString(CultureInfo.CurrentCulture))
                },
                Type      = new CodeableConcept(Systems.BIOMATERIAL, Guid.NewGuid().ToString()),
                Container = new List <Specimen.SpecimenContainerComponent>
                {
                    new Specimen.SpecimenContainerComponent
                    {
                        Identifier = new List <Identifier>
                        {
                            new Identifier(Systems.ORGANIZATIONS, GetCodeBySystem(Systems.ORGANIZATIONS))
                            {
                                Assigner = FhirHelper.CreateReference(orderOrganization)
                            }
                        },
                        Type = new CodeableConcept(Systems.CONTAINER_TYPE, Guid.NewGuid().ToString())
                    }
                },
                Subject = FhirHelper.CreateReference(patient)
            };

            return(specimen);
        }
Пример #19
0
 protected void btnemployee_Click(object sender, EventArgs e)
 {
     Rptrpending.DataSource = Specimen.Get_PendingDocNo("salesman", System.DateTime.Now, System.DateTime.Now, Convert.ToInt32(strFY), DDLEmployee.SelectedValue.ToString());
     Rptrpending.DataBind();
     pnlconfirm.Visible = true;
     pnlDetails.Visible = false;
     upOrderNO.Update();
 }
Пример #20
0
        public async Task <bool> RemoveSpecimenAsync(Specimen specimen)
        {
            var result = await _httpClient.DeleteAsync($"/api/specimen/{specimen.SpecimenId}");

            _ = await ReadResult(result);

            return(true);
        }
Пример #21
0
 /// <summary>
 /// Initializes a new instance of the <see cref="T:collnotes.SpecimenPage"/> class.
 /// Create Constructor. Takes the Site to add a Specimen under as an argument.
 /// </summary>
 /// <param name="site">Site.</param>
 public SpecimenPage(Site site)
 {
     specimen  = new Specimen();
     this.site = site;
     InitializeComponent();
     Title             = (AppVariables.CollectionCount > 0) ? site.RecordNo.ToString() + "-" + (AppVariables.CollectionCount + 1).ToString() : Title = site.RecordNo.ToString() + "-1";
     btnBack.IsVisible = userIsEditing;
 }
Пример #22
0
 private void SetPopulation()
 {
     if ((CDTimeLeft - Time.fixedDeltaTime - 2.5f * Settings.DampAngleTime) < 0 && _PlannedSpecimen == null)
     {
         _PlannedSpecimen = GetNextPlanned();
         SetSpecimen(_PlannedSpecimen);
     }
 }
Пример #23
0
 public void BindCrist()
 {
     if (txtfromDate.Text != "" || txttoDate.Text != "")
     {
         if (txtBook.Text != "")
         {
             string from      = txtfromDate.Text.Split('/')[1] + "/" + txtfromDate.Text.Split('/')[0] + "/" + txtfromDate.Text.Split('/')[2];
             string To        = txttoDate.Text.Split('/')[1] + "/" + txttoDate.Text.Split('/')[0] + "/" + txttoDate.Text.Split('/')[2];
             string BookCode  = txtBook.Text.Split(':')[0].Trim();
             string bookCode2 = "null";
             // bookname = txtBook.Text.Split(':')[2].Trim();
             fdate = Convert.ToDateTime(from);
             tdate = Convert.ToDateTime(To);
             if (fdate > tdate)
             {
                 MessageBox("From Date is Greater than ToDate");
                 txtfromDate.Focus();
             }
             else
             {
                 DataTable dt = new DataTable();
                 dt = Specimen.Get_SpecimenDetailsForInvoice_Bookwise(bookCode2, BookCode, Convert.ToDateTime(from), Convert.ToDateTime(To)).Tables[0];
                 ReportDocument CR = new ReportDocument();
                 CR.Load(Server.MapPath("Report/BookWiseReport.rpt"));
                 cryBookwise.SeparatePages = false;
                 CR.SetDataSource(dt);
                 cryBookwise.ReportSource = CR;
             }
         }
         else
         {
             string from     = txtfromDate.Text.Split('/')[1] + "/" + txtfromDate.Text.Split('/')[0] + "/" + txtfromDate.Text.Split('/')[2];
             string To       = txttoDate.Text.Split('/')[1] + "/" + txttoDate.Text.Split('/')[0] + "/" + txttoDate.Text.Split('/')[2];
             string BookCode = "null";
             //txtBook.Text.Split(':')[0].Trim();
             string bookCode2 = "null";
             // bookname = txtBook.Text.Split(':')[2].Trim();
             fdate = Convert.ToDateTime(from);
             tdate = Convert.ToDateTime(To);
             if (fdate > tdate)
             {
                 MessageBox("From Date is Greater than ToDate");
                 txtfromDate.Focus();
             }
             else
             {
                 DataTable dt = new DataTable();
                 dt = Specimen.Get_SpecimenDetailsForInvoice_Bookwise(bookCode2, BookCode, Convert.ToDateTime(from), Convert.ToDateTime(To)).Tables[0];
                 ReportDocument CR = new ReportDocument();
                 CR.Load(Server.MapPath("Report/BookWiseReport.rpt"));
                 cryBookwise.SeparatePages = false;
                 CR.SetDataSource(dt);
                 cryBookwise.ReportSource = CR;
             }
         }
     }
 }
Пример #24
0
 private IEnumerable <Specimen> GetSpecimens(IEnumerable <int> specimenIds)
 {
     foreach (int specimenId in specimenIds)
     {
         Specimen specimen = new Specimen();
         specimen.Get(specimenId);
         yield return(specimen);
     }
 }
Пример #25
0
 public void BindEmployee()
 {
     DDLEmployee.Items.Clear();
     //DDLCustomer.DataSource = DCMaster.Get_Customer_PendingDocNo("Customer");
     //DDLEmployee.DataSource = Specimen.Get_PedingDocNo_Employee(Convert.ToInt32(strFY));
     DDLEmployee.DataSource = Specimen.Get_PedingDocNo_Employee(Convert.ToInt32(strFY));
     DDLEmployee.DataBind();
     DDLEmployee.Items.Insert(0, new ListItem("- Select Employee -", "0"));
 }
Пример #26
0
        //used to update specimen status on deleting collection
        private void UpdateSpecimenStatus(int specId, string status)
        {
            Specimen bizSpec = new Specimen();

            bizSpec.Get(specId);

            bizSpec[Specimen.SpecimenStatus] = status;
            bizSpec.Save();
        }
        public async Task <ActionResult> DeleteConfirmed(int id)
        {
            Specimen specimen = await db.GetByIdAsync(id);

            db.Remove(specimen);
            await db.SaveChangesAsync();

            return(RedirectToAction("Index"));
        }
Пример #28
0
            public ManGenome cross(GameConstants consts, Random rnd, Specimen other)
#endif
            {
#if testGenome
                return(new TestGenome(consts, rnd, g, other.g));
#else
                return(new ManGenome(consts, rnd, g, other.g));
#endif
            }
Пример #29
0
 // hurt all the specimen of the specie by a given amount
 public void HurtSpecimens()
 {
     FreakOut();
     foreach (GameObject specimenObject in agents)
     {
         Specimen specimen = specimenObject.GetComponent <Specimen>();
         specimen.TakeDamage(HurtDamage);
     }
 }
Пример #30
0
            private void addSpecimen(ManGenome g)
#endif
            {
                Specimen s = new Specimen(g, consts);

                resetSpecimen(s);
                s.computeFitness();
                specimens.Add(s);
            }
Пример #31
0
 protected void Page_Load(object sender, EventArgs e)
 {
     if (!Page.IsPostBack)
     {
         Cleardata();
         Rptrpending.DataSource = Specimen.Get_ApprovedDocNo();
         Rptrpending.DataBind();
     }
 }
 public override void Visit(Specimen.Model.SpecimenOrder specimenOrder)
 {
     if (specimenOrder.AliquotOrderCollection.Exists(this.m_AliquotOrder.AliquotOrderId) == true)
     {
         while (this.m_AliquotOrder.TestOrderCollection.Count != 0)
         {
             RemoveTestOrderVisitor removeTestOrderVisitor = new RemoveTestOrderVisitor(m_AliquotOrder.TestOrderCollection[0].TestOrderId);
             this.m_AccessionOrder.TakeATrip(removeTestOrderVisitor);
         }
         specimenOrder.AliquotOrderCollection.Remove(this.m_AliquotOrder);
     }
 }
Пример #33
0
        public Specimen Execute(Specimen specimen)
        {
            var toBeChanged =
                specimen.Problem.Lines.Select(line => specimen.Random.NextDouble())
                    .Select(rolled => rolled < _chance ? 1 : 0)
                    .ToList();

            for (var i = 0; i < specimen.Problem.Lines.Count; i++)
            {
                if (toBeChanged[i] != 1) continue;
                var busses = specimen.Distribution.Sum();
                var max = specimen.Problem.NumberOfBuses - busses;
                var min = -(specimen.Distribution[i] - 1);
                if (min < max)
                {
                    specimen.Distribution[i] += specimen.Random.Next(min, max);
                }
            }
            specimen.CalculateSpecimentValue();
            return specimen;
        }
Пример #34
0
        public static Specimen Mutate(this Specimen spec)
        {
            if (spec.Genes == null || spec.Genes.Length == 0)
            {
                throw new ArgumentException("Genes array cannot be empty!");
            }

            var mutated = new Specimen();
            SetGenes(ref mutated, spec.Genes);

            for (int i = 0; i < spec.Genes.Length; i++)
            {
                if (UniteRandom.Sample() <= Specimen.MutationRate)
                {
                    mutated.Genes[i] = GeneRandom.Sample();
                }
            }

            return mutated;
        }
Пример #35
0
        private void BuildAliquotOrderLeftSide(Specimen.Model.SpecimenOrder specimenOrder, XElement specimenOrderElement)
        {
            List<XElement> aliquotOrderElements = (from item in specimenOrderElement.Elements("AliquotOrderCollection")
                                                   select item).ToList<XElement>();
            foreach (XElement aliquotOrderElement in aliquotOrderElements.Elements("AliquotOrder"))
            {
                YellowstonePathology.Business.Test.AliquotOrder aliquotOrder = new Test.AliquotOrder();
                YellowstonePathology.Business.Persistence.XmlPropertyWriter xmlPropertyWriter = new Persistence.XmlPropertyWriter(aliquotOrderElement, aliquotOrder);
                xmlPropertyWriter.Write();

                BuildAliquotOrderTestOrder(aliquotOrder, aliquotOrderElement);
                BuildAliquotOrderSlideOrderCollection(aliquotOrder, aliquotOrderElement);
                specimenOrder.AliquotOrderCollection.Add(aliquotOrder);
            }
        }
Пример #36
0
        public void SpecimenWorking()
        {
            //Prepare
            var spec = new Specimen()
            {
                AccessionNumber = "TestAccession",
                CollectionEventID = 1,

            };

            //Execute
            var id = _target.InsertSpecimen(spec, TestResources.Credentials);

            //Assert
            //Nothing to assert
        }
Пример #37
0
 public static string GetNextSpecimenOrderId(Specimen.Model.SpecimenOrderCollection specimenOrderCollection, string masterAccessionNo)
 {
     string result = string.Empty;
     int largestId = 0;
     foreach (Specimen.Model.SpecimenOrder specimenOrder in specimenOrderCollection)
     {
         OrderIdParser orderIdParser = new OrderIdParser(specimenOrder.SpecimenOrderId);
         int? specimenOrderNo = orderIdParser.SpecimenOrderNo;
         if (specimenOrderNo.Value > largestId) largestId = specimenOrderNo.Value;
     }
     return masterAccessionNo + "." + (largestId + 1).ToString();
 }
        public AccessionOrderDataSheetDataSpecimenOrder(Specimen.Model.SpecimenOrder specimenOrder, ClientOrder.Model.ClientOrderCollection clientOrderCollection)
        {
            string specimenNumber = specimenOrder.SpecimenNumber.ToString();
            string specimenDescription = specimenOrder.Description;
            this.m_Description = specimenNumber + ". " + specimenDescription;

            this.m_CollectionTime = string.Empty;
            if (specimenOrder.CollectionDate.HasValue == true)
            {
                YellowstonePathology.Business.Helper.DateTimeJoiner dateTimeJoiner = new Business.Helper.DateTimeJoiner(specimenOrder.CollectionDate.Value, specimenOrder.CollectionTime);
                this.m_CollectionTime = dateTimeJoiner.DisplayString;
            }
            else if (specimenOrder.CollectionTime.HasValue == true)
            {
                YellowstonePathology.Business.Helper.DateTimeJoiner dateTimeJoiner = new Business.Helper.DateTimeJoiner(specimenOrder.CollectionTime.Value, specimenOrder.CollectionTime);
                this.m_CollectionTime = dateTimeJoiner.DisplayString;
            }

            this.m_ReceivedIn = string.IsNullOrEmpty(specimenOrder.ClientFixation) == false ? specimenOrder.ClientFixation : string.Empty;
            this.m_ProcessedIn = string.IsNullOrEmpty(specimenOrder.LabFixation) == false ? specimenOrder.LabFixation : string.Empty;
            this.m_AccessionTime = specimenOrder.AccessionTime.HasValue ? specimenOrder.AccessionTime.Value.ToShortDateString() + " " + specimenOrder.AccessionTime.Value.ToShortTimeString() : string.Empty;
            this.m_Verified = specimenOrder.Verified.ToString();
            this.m_VerifiedById = specimenOrder.VerifiedById.ToString();
            this.m_VerifiedDate = specimenOrder.VerifiedDate.HasValue ? specimenOrder.VerifiedDate.Value.ToShortDateString() + " " + specimenOrder.VerifiedDate.Value.ToShortTimeString() : string.Empty;

            List<ClientOrder.Model.ClientOrderDetail> clientOrderDetails = (from co in clientOrderCollection
                                                                            from cod in co.ClientOrderDetailCollection
                                                                            where cod.ContainerId == specimenOrder.ContainerId
                                                                            select cod).ToList<ClientOrder.Model.ClientOrderDetail>();
            if (clientOrderDetails.Count > 0)
            {
                ClientOrder.Model.ClientOrderDetail clientOrderDetail = clientOrderDetails[0];
                string clientSpecimenNumber = clientOrderDetail.SpecimenNumber.ToString();
                string clientDescription = clientOrderDetail.Description;
                this.m_ClientDescription = clientSpecimenNumber + ". " + clientDescription;

                this.m_AccessionedAsDescription = clientOrderDetail.DescriptionToAccession;
                this.m_AccessionedAsNumberedDescription = clientSpecimenNumber + ". " + this.m_AccessionedAsDescription;
                this.m_SpecialInstructions = string.IsNullOrEmpty(clientOrderDetail.SpecialInstructions) == false ? clientOrderDetail.SpecialInstructions : string.Empty;

                //this.m_SpecialInstructions = clientOrderDetail.OrderType;
                this.m_OrderType = string.IsNullOrEmpty(clientOrderDetail.OrderType) == false ? clientOrderDetail.OrderType : string.Empty;
                this.m_CallbackNumber = string.IsNullOrEmpty(clientOrderDetail.CallbackNumber) == false ? clientOrderDetail.CallbackNumber : string.Empty;

                if (clientOrderDetail.CollectionDate.HasValue)
                {
                    this.m_CollectionDate = clientOrderDetail.CollectionDate.HasValue ? clientOrderDetail.CollectionDate.Value.ToShortDateString() + " " + clientOrderDetail.CollectionDate.Value.ToShortTimeString() : string.Empty;
                }

                this.m_SpecimenNumberMatchStatus = string.IsNullOrEmpty(clientOrderDetail.SpecimenNumberMatchStatus) == false ? clientOrderDetail.SpecimenNumberMatchStatus : string.Empty;
                this.m_SpecimenDescriptionMatchStatus = string.IsNullOrEmpty(clientOrderDetail.SpecimenDescriptionMatchStatus) == false ? clientOrderDetail.SpecimenDescriptionMatchStatus : string.Empty;
                this.m_OrderedBy = clientOrderDetail.OrderedBy;
                this.m_OrderTime = clientOrderDetail.OrderTime.HasValue ? clientOrderDetail.OrderTime.Value.ToShortDateString() + " " + clientOrderDetail.OrderTime.Value.ToShortTimeString() : string.Empty;
                this.m_Accessioned = clientOrderDetail.Accessioned.ToString();
            }
            else
            {
                this.m_Description = "None";
                this.m_AccessionedAsDescription = string.Empty;
                this.m_AccessionedAsNumberedDescription = string.Empty;
                this.m_SpecialInstructions = string.Empty;
                this.m_OrderType = string.Empty;
                this.m_CallbackNumber = string.Empty;
                this.m_CollectionDate = string.Empty;
                this.m_SpecimenNumberMatchStatus = string.Empty;
                this.m_SpecimenDescriptionMatchStatus = string.Empty;
                this.m_OrderedBy = string.Empty;
                this.m_OrderTime = string.Empty;
                this.m_Accessioned = string.Empty;
            }
        }
Пример #39
0
        public static bool IsSimilar(this Specimen spec1, Specimen spec2)
        {
            var diff = 0.0;
            for (int i = 0; i < spec1.Length; i++)
            {
                diff += Math.Abs(spec1.Genes[i] - spec2.Genes[i]);
            }

            return diff <= SimilarityThreshold;
        }
Пример #40
0
        public static void GenerateGenes(ref Specimen spec)
        {
            if (spec.Length <= 0)
            {
                throw new ArgumentException("Specimen Genes Length must be greater that zero!");
            }

            double min = Specimen.MinGeneValue;
            double max = Specimen.MaxGeneValue;

            var genes = new double[spec.Length];

            for (int i = 0; i < spec.Length; i++)
            {
                genes[i] = GeneRandom.Sample();
            }

            spec.Genes = genes;
        }
Пример #41
0
        private void BuildAliquotOrderLeftSide(Specimen.Model.SpecimenOrder specimenOrder, XElement specimenOrderElement)
        {
            List<XElement> aliquotOrderElements = (from item in specimenOrderElement.Elements("AliquotOrderCollection")
                                                   select item).ToList<XElement>();

            specimenOrder.AliquotOrderCollection.RemoveDeleted(aliquotOrderElements.Elements("AliquotOrder"));
            foreach (XElement aliquotOrderElement in aliquotOrderElements.Elements("AliquotOrder"))
            {
                string aliquotOrderId = aliquotOrderElement.Element("AliquotOrderId").Value;
                YellowstonePathology.Business.Test.AliquotOrder aliquotOrder = null;
                if (specimenOrder.AliquotOrderCollection.Exists(aliquotOrderId) == true)
                {
                    aliquotOrder = specimenOrder.AliquotOrderCollection.Get(aliquotOrderId);
                }
                else
                {
                    aliquotOrder = new Test.AliquotOrder();
                    specimenOrder.AliquotOrderCollection.Add(aliquotOrder);
                }

                YellowstonePathology.Business.Persistence.XmlPropertyWriter xmlPropertyWriter = new Persistence.XmlPropertyWriter(aliquotOrderElement, aliquotOrder);
                xmlPropertyWriter.Write();

                BuildAliquotOrderTestOrder(aliquotOrder, aliquotOrderElement);
                BuildAliquotOrderSlideOrderCollection(aliquotOrder, aliquotOrderElement);
            }
        }
Пример #42
0
        public static void SetGenes(ref Specimen spec, double[] genes)
        {
            if (genes == null || genes.Length == 0)
            {
                throw new ArgumentException("Genes array cannot be empty!");
            }

            spec.Genes = new double[genes.Length];
            genes.CopyTo(spec.Genes, 0);
            spec.Length = genes.Length;
        }