Exemplo n.º 1
0
        protected void SearchTransfersClick(object sender, EventArgs e)
        {
            int    protocolId = int.Parse(BaseProtocolId);
            string datasetSQL = base.GetSpecimenPatientsDatasetSQL();

            string    column    = Transfer_SearchSelection.Value;
            string    search    = Transfer_SearchValue.Value;
            DataTable transfers = da.SearchSpecimenTransfersByProtocol(protocolId, datasetSQL, column, search);

            // for specimen search, adjust UI
            if (column == Specimen.SpecimenReferenceNumber)
            {
                var results = from row in transfers.AsEnumerable()
                              group row by row["SpecimenReferenceNumber"].ToString() into g
                              let row = g.First()
                                        let result = new
                {
                    SpecimenReferenceNumber = g.Key,
                    SpecimenTransfers       = from r in g
                                              where !r.IsNull(SpecimenRequest.RequestIdentifier)
                                              select new
                    {
                        RequestIdentifier = r[SpecimenRequest.RequestIdentifier].ToString()
                    }
                }
                where result.SpecimenTransfers.Count() > 0
                select result;

                TransferSpecimenListing_Rptr.DataSource = results;
                TransferSpecimenListing_Rptr.DataBind();

                RecordCount.Text = results.Count() + " Specimen(s)";

                TransferListing_Rptr.Visible           = false;
                TransferListing_Header.Visible         = false;
                TransferSpecimenListing_Rptr.Visible   = true;
                TransferSpecimenListing_Header.Visible = true;
            }
            else
            {
                TransferListing_Rptr.DataSource = transfers;
                TransferListing_Rptr.DataBind();
                RecordCount.Text = transfers.Rows.Count + " Transfer(s)";

                TransferListing_Rptr.Visible           = true;
                TransferListing_Header.Visible         = true;
                TransferSpecimenListing_Rptr.Visible   = false;
                TransferSpecimenListing_Header.Visible = false;
            }
        }
Exemplo n.º 2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void BuildTransfers(object sender, EventArgs e)
        {
            int protocolId = int.Parse(BaseProtocolId);
            // get specimen patients dataset
            string datasetSQL = base.GetSpecimenPatientsDatasetSQL();

            // display transfers initiated or recived in mode
            string[] collectionStatusList = new string[0];
            switch (inventoryMode)
            {
            case (SpecimenInventoryMode.Collection):
                collectionStatusList = TRANSFER_COLLECTION_STATUSES;
                break;

            case (SpecimenInventoryMode.Pathology):
                collectionStatusList = TRANSFER_PATHOLOGY_STATUSES;
                break;

            case (SpecimenInventoryMode.Sequencing):
                collectionStatusList = TRANSFER_SEQUENCING_STATUSES;
                break;

            case (SpecimenInventoryMode.Analysis):
                collectionStatusList = TRANSFER_ANALYSIS_STATUSES;
                break;

            case (SpecimenInventoryMode.cBIO):
                collectionStatusList = TRANSFER_CBIO_STATUSES;
                break;

            default:
                break;
            }

            DataView transfers = da.GetSpecimenTransfersByProtocol(protocolId, datasetSQL, collectionStatusList, new int[0]).DefaultView;

            //var data = from row in transfers.Table.AsEnumerable()
            //           group row by  (int)row["SpecimenRequestId"]  into g
            //           let row = g.First()
            //           select new
            //           {
            //               SpecimenRequestId = (int)row["SpecimenRequestId"],
            //               DistributionId = (int)row["DistributionId"],
            //               CollectionId = (int)row["CollectionId"],
            //               SpecimenCount = (int)row["SpecimenCount"],
            //               RequestIdentifier = row["RequestIdentifier"].ToString(),
            //               RequestDate = row["RequestDate"],
            //               DispatchedDate = row["DispatchedDate"],
            //               DispatchedContact = row["DispatchedContact"].ToString(),
            //               DispatchedInstitution = row["DispatchedInstitution"].ToString(),
            //               ReceivedDate = row["ReceivedDate"],
            //               ReceivedContact = row["ReceivedContact"].ToString(),
            //               ReceivedInstitution = row["ReceivedInstitution"].ToString(),
            //               DispatchedTrackingNumber = row["DispatchedTrackingNumber"].ToString(),
            //               SpecimenStatuses = g.Select(r => r["SpecimenStatus"].ToString()).Distinct()
            //           };
            ////DataTable transfers = da.GetRequests("", "", "", "", "", true);

            //TransferListing.DataSource = transfers;
            //TransferListing.DataBind();
            transfers.Sort = "DispatchedDate DESC";
            TransferListing_Rptr.DataSource = transfers;
            TransferListing_Rptr.DataBind();

            RecordCount.Text = transfers.Count + " Transfer(s)";
        }