Exemplo n.º 1
0
        public IDCardToolBar(Patron patron, ApplicationPresenter presenter, UserCardDetailsViewPresenter userCardDetailsViewPresenter)
        {
            _patron = patron;
            _presenter = presenter;
            _userCardDetailsViewPresenter = userCardDetailsViewPresenter;
            InitializeComponent();

            // Check to see if user has rights to print patron
            takePictureButton.Visibility = Visibility.Hidden;
            reissueButton.Visibility = Visibility.Hidden;
            reprintButton.Visibility = Visibility.Hidden;

            if (!ApplicationPresenter.Manager.IsProxPrinter())
                readCardButton.Visibility = Visibility.Hidden;

            if (presenter.PatronIsDoNotIssue)
            {
                TemplateCombo.Visibility = Visibility.Hidden;
                takePictureButton.Visibility = Visibility.Hidden;
                return;
            }

            Session session = SecurityContextHolder.Credential as Session;

            string current_primary_role = "";
            string new_primary_role = "";

            try {current_primary_role = _patron.CurrentCard.CardRole.Primary; }
            catch (Exception e) { }

            try { new_primary_role = _patron.NewCard.CardRole.Primary; }
            catch (Exception e) { }

            foreach (Authorize authorize in session.Authorized.Authorize)
            {
                if (authorize.role == current_primary_role)
                {
                    reprintButton.Visibility = Visibility.Visible;
                }
                if (authorize.role == new_primary_role)
                {
                    if (presenter.View._camera != null && presenter.View._camera.CameraDevice != IntPtr.Zero)
                        takePictureButton.Visibility = Visibility.Visible;
                    reissueButton.Visibility = Visibility.Visible;
                    reprintButton.Visibility = Visibility.Visible;
                }
            }

            if (takePictureButton.Visibility == Visibility.Hidden && reissueButton.Visibility == Visibility.Hidden && reprintButton.Visibility == Visibility.Hidden)
            {
                TemplateCombo.Visibility = Visibility.Hidden;
                NotPrintable.Visibility = Visibility.Visible;
            }
            else
            {
                TemplateCombo.Visibility = Visibility.Visible;
                NotPrintable.Visibility = Visibility.Hidden;
            }

            foreach (EligibleCard ec in patron.NewCard.EligibleCards)
            {
                XmlCardDefinition def = LoginPresenter.DefinitionsList.Find(x => x.TemplateType.Equals("ID"));
                if (def == null)
                {
                    TemplateCombo.Visibility = Visibility.Hidden;
                    reissueButton.Visibility = Visibility.Hidden;
                    reprintButton.Visibility = Visibility.Hidden;
                }
                else
                {
                    ec.CardProject = def.TemplateFileName.Substring(0, def.TemplateFileName.IndexOf("."));
                    TemplateCombo.Items.Add(ec);
                }
            }

            if (TemplateCombo.SelectedItem == null)
                TemplateCombo.SelectedIndex = 0;

            if (patron.CurrentCard == null)
            {
                reprintButton.Visibility = Visibility.Hidden;
            }
            else
            {
                _presenter.View.menuBar.GoldPatron.Tag = _patron.Identifiers.PersonId;
                _presenter.View.menuBar.GoldPatron.Visibility = System.Windows.Visibility.Visible;
                _presenter.View.menuBar.PatronPhoto.Tag = _patron.Identifiers.PersonId;
                _presenter.View.menuBar.PatronPhoto.Visibility = System.Windows.Visibility.Visible;
            }
        }
 public UserCardDetailsViewTabsTop(Patron patron, Domain.IdCard newCard, byte[] imageBytes)
 {
     InitializeComponent();
     DataContext = new UserCardDetailsViewPresenter(this, patron, newCard, imageBytes);
 }
        public UserCardDetailsTotalTabs(Patron patron, Domain.IdCard newIdCard, byte[] imageBytes, ApplicationPresenter presenter)
        {
            try
            {
                InitializeComponent();
                UserCardDetailsViewPresenter userCardDetailsViewPresenter = new UserCardDetailsViewPresenter(this, patron, newIdCard, imageBytes);
                DataContext = userCardDetailsViewPresenter;
                bool eMail = false;

                if (presenter.PatronIsDoNotIssue)
                    this.Badges.Visibility = System.Windows.Visibility.Hidden;
                else if (patron.CurrentCard != null)
                {
                    this.Badges.Visibility = System.Windows.Visibility.Hidden;
                    Session session = SecurityContextHolder.Credential as Session;
                    foreach (Authorize authorize in session.Authorized.Authorize)
                    {
                        if (authorize.role.Equals("Badge"))
                        {
                            this.Badges.Visibility = System.Windows.Visibility.Visible;
                            badgeBox.Content = new BadgeBox(patron);
                            badgeToolBar.Content = new BadgeToolBar(patron, presenter);
                            break;
                        }
                        if (authorize.role.Equals("Email"))
                            eMail = true;
                    }
                }

                notesControl.Content = new NotesBox(patron);
                idCardToolBar.Content = new IDCardToolBar(patron, presenter, userCardDetailsViewPresenter);

                _personId = patron.Identifiers.PersonId;
                _imageBytes = imageBytes;
                if (patron.Notes.ActiveNotes != null)
                {

                    foreach (Note activeNote in patron.Notes.ActiveNotes)
                    {
                        if (activeNote.Critical == true)
                        {
                            string menuOpening = "active";
                            var NoteManger = new NoteManager(patron, menuOpening, activeNote);
                            NoteManger.Show();
                            break;
                        }
                    }
                }

                if (patron.CurrentCard == null)
                {
                    currentCard.Content = new NoCurrentCardBox();
                }
                else
                {
                    currentCard.Content = new CurrentCardInformationBox(patron, presenter);
                }

                if (newIdCard == null)
                {
                    if (patron.NewCard != null && patron.NewCard.CardRole.Secondary == "BANNED")
                        newCard.Content = new BannedBox();
                    else
                        newCard.Content = new DoNotIssueBox();
                }
                else
                {
                    newCard.Content = new NewCardInformationBox(patron);
                }

                personInformation.Content = new PersonalInformationBox(patron.Names.PreferredFirstName, patron.Identifiers.ByuId, eMail);
                residentialAddress.Content = new ResidentialAddressBox();
                permanentAddress.Content = new PermanentAddressBox();
            }
            catch (Exception x)
            {
                MessageBox.Show("EXCEPTION " + x.Message);

            }
        }