示例#1
0
        private void SetupChildControls()
        {
            foreach (StudyStatusEnum s in  StudyStatusEnum.GetAll())
            {
                StatusListBox.Items.Add(new ListItem {
                    Text = ServerEnumDescription.GetLocalizedDescription(s), Value = s.Lookup
                });
            }

            ClearToStudyDateButton.Attributes["onclick"]   = ScriptHelper.ClearDate(ToStudyDate.ClientID, ToStudyDateCalendarExtender.ClientID);
            ClearFromStudyDateButton.Attributes["onclick"] = ScriptHelper.ClearDate(FromStudyDate.ClientID, FromStudyDateCalendarExtender.ClientID);
            ToStudyDate.Attributes["OnChange"]             = ScriptHelper.CheckDateRange(FromStudyDate.ClientID, ToStudyDate.ClientID, ToStudyDate.ClientID, ToStudyDateCalendarExtender.ClientID, "To Date must be greater than From Date");
            FromStudyDate.Attributes["OnChange"]           = ScriptHelper.CheckDateRange(FromStudyDate.ClientID, ToStudyDate.ClientID, FromStudyDate.ClientID, FromStudyDateCalendarExtender.ClientID, "From Date must be less than To Date");

            GridPagerTop.InitializeGridPager(SR.GridPagerStudySingleItem, SR.GridPagerStudyMultipleItems, StudyListGridView.TheGrid,
                                             () => StudyListGridView.ResultCount, ImageServerConstants.GridViewPagerPosition.Top);
            StudyListGridView.Pager = GridPagerTop;

            ConfirmStudySearchMessageBox.Confirmed += delegate
            {
                StudyListGridView.DataBindOnPreRender =
                    true;
                StudyListGridView.Refresh();
                if (SearchUpdatePanel.UpdateMode ==
                    UpdatePanelUpdateMode.Conditional)
                {
                    SearchUpdatePanel.Update();
                }
            };
            ConfirmStudySearchMessageBox.Cancel += delegate
            {
                StudyListGridView.DataBindOnPreRender = false;
            };

            RestoreMessageBox.Confirmed += delegate(object data)
            {
                if (data is IList <Study> )
                {
                    var studies = data as IList <Study>;
                    foreach (Study study in studies)
                    {
                        _controller.RestoreStudy(study);
                    }
                }
                else if (data is IList <StudySummary> )
                {
                    var studies = data as IList <StudySummary>;
                    foreach (StudySummary study in studies)
                    {
                        _controller.RestoreStudy(study.TheStudy);
                    }
                }
                else if (data is Study)
                {
                    var study = data as Study;
                    _controller.RestoreStudy(study);
                }

                DataBind();
                SearchUpdatePanel.Update();                 // force refresh
            };

            StudyListGridView.DataSourceCreated += delegate(StudyDataSource source)
            {
                source.Partition   = ServerPartition;
                source.DateFormats = ToStudyDateCalendarExtender.Format;

                if (!String.IsNullOrEmpty(PatientId.Text))
                {
                    source.PatientId = SearchHelper.TrailingWildCard(PatientId.Text);
                }
                if (!String.IsNullOrEmpty(PatientName.Text))
                {
                    source.PatientName = SearchHelper.NameWildCard(PatientName.Text);
                }
                if (!String.IsNullOrEmpty(AccessionNumber.Text))
                {
                    source.AccessionNumber = SearchHelper.TrailingWildCard(AccessionNumber.Text);
                }
                if (!String.IsNullOrEmpty(ToStudyDate.Text))
                {
                    source.ToStudyDate = ToStudyDate.Text;
                }
                if (!String.IsNullOrEmpty(FromStudyDate.Text))
                {
                    source.FromStudyDate = FromStudyDate.Text;
                }
                if (!String.IsNullOrEmpty(StudyDescription.Text))
                {
                    source.StudyDescription = SearchHelper.LeadingAndTrailingWildCard(StudyDescription.Text);
                }
                if (!String.IsNullOrEmpty(ReferringPhysiciansName.Text))
                {
                    source.ReferringPhysiciansName = SearchHelper.NameWildCard(ReferringPhysiciansName.Text);
                }
                if (!String.IsNullOrEmpty(ResponsiblePerson.Text))
                {
                    source.ResponsiblePerson = SearchHelper.NameWildCard(ResponsiblePerson.Text);
                }
                if (!String.IsNullOrEmpty(ResponsibleOrganization.Text))
                {
                    source.ResponsibleOrganization = SearchHelper.NameWildCard(ResponsibleOrganization.Text);
                }

                if (ModalityListBox.SelectedIndex > -1)
                {
                    var modalities = new List <string>();
                    foreach (ListItem item in ModalityListBox.Items)
                    {
                        if (item.Selected)
                        {
                            modalities.Add(item.Value);
                        }
                    }
                    source.Modalities = modalities.ToArray();
                }

                if (StatusListBox.SelectedIndex > -1)
                {
                    var statuses = new List <string>();
                    foreach (ListItem status in StatusListBox.Items)
                    {
                        if (status.Selected)
                        {
                            statuses.Add(status.Value);
                        }
                    }
                    source.Statuses = statuses.ToArray();
                }
            };

            //Set Roles
            ViewImagesButton.Roles            = AuthorityTokens.Study.ViewImages;
            ViewStudyDetailsButton.Roles      = AuthorityTokens.Study.View;
            MoveStudyButton.Roles             = AuthorityTokens.Study.Move;
            DeleteStudyButton.Roles           = AuthorityTokens.Study.Delete;
            RestoreStudyButton.Roles          = AuthorityTokens.Study.Restore;
            AssignAuthorityGroupsButton.Roles = ClearCanvas.ImageServer.Enterprise.Authentication.AuthorityTokens.Study.EditDataAccess;
        }